速记翻译机

问题描述 投票:0回答:4

我正在为iPhone开发一个新的应用程序,该应用程序必须支持两种语言。法语和佛兰芒语。

如果我将实现我的数据库,并在两种语言上存储相同的数据,这将是一个数据冗余的问题,这不是数据库的目的。

所以,我在想一个即时翻译器,例如,DB上的默认语言和数据都是法语,如果用户选择弗拉芒语,所有从数据库中检索的数据(法语)将在显示给用户之前被翻译成弗拉芒语。

这是一个好办法吗,如果是,iOS SDK上有翻译器吗,是最佳方案吗?

等待您的建议。提前感谢。

xcode ios5
4个回答
3
投票

补充一下Dr.Kameleon的回答,我建议你在数据库中存储两种语言。2种语言的相同内容是不同的内容。但我也建议你要有一个正确的、人工的翻译,而不是使用任何专业级应用的自动翻译。


3
投票

你为什么不尝试一些像谷歌翻译这样的API公开的服务呢?

提示一下。 我不认为谷歌的服务还在对外开放(显然是因为广泛的滥用,但我认为Altavista有类似的替代方案


更新 。

未(亲自)测试。

还有一个访问脚本的例子 Altavista的BabelFish是一个很好的选择。 翻译服务。

http:/code.activestate.comrecipes64937-babelizer-api-for-simple-access-to-babelfishaltavi。


2
投票

这取决于你在优化什么。 两次存储信息并不像一开始看起来那么糟糕。 在很多情况下,为了计算效率,在数据库中存储冗余信息是值得的,例如,这很可能是其中之一。

  • 用两种语言存储数据的主要成本是......好吧,你要用两种语言存储数据。 这意味着你需要两倍的空间来存储你的文本块。 如果你有足够多的文本,存储空间实际上是一个问题,那么这显然是一个问题。 如果你没有,那就真的不是问题了。

在另一方面,存储两者有一些好处。

  • 准确性。 没有一个自动翻译器会像一个相当有能力的人类翻译一样,在拿出高质量的翻译。 当然,如果你没有雇佣人类翻译,而只是依靠机器翻译,那么这就不是什么问题了。

  • 速度。 自动翻译对于大型文档的处理时间并不完全是小事。 花在翻译上的CPU周期是没有花在其他事情上的周期,而且因为这些周期必须花在请求和响应之间,所以无论如何都会让你的延迟变差。 如果你有足够的CPU周期,而且你要放出的文本块相对较小,那问题就不那么严重了。

  • 安全性和可靠性。 如果你打算使用外部服务来为你运行这些翻译,突然间,你的服务就会依赖该服务来运行,任何时候你到外面去做任何事情,你都会打开一两个潜在的安全漏洞(这些漏洞有多严重取决于你如何做,但它们会在那里。 另外,如果您打算在内部运行翻译,您必须保持翻译服务的正常运行,这可能不涉及安全问题,但会涉及额外的维护。

所以......虽然您的案例有可能只想用一种语言保存(特别是如果您有大量的文本需要处理,它是以小块形式出现的,而您并不关心它的安全性)。 那么多关于你的弗拉芒语用户的用户体验)也很有可能不是。

© www.soinside.com 2019 - 2024. All rights reserved.