【发布时间】:2013-01-26 03:21:31
【问题描述】:
如果我想翻译整个应用程序(带有按钮名称和标签,以及长文本),是否最好只制作一个不同的应用程序?或者有没有我可以使用的翻译api?
我问的原因是我试着去 Goolge Play 商店用不同的语言搜索它,它基本上不明白我想要什么。那么对于不同的语言有不同的 Goolge Play 界面吗?或者我需要打开一些设置?
这通常是如何工作的? 谢谢!
【问题讨论】:
标签: android internationalization
如果我想翻译整个应用程序(带有按钮名称和标签,以及长文本),是否最好只制作一个不同的应用程序?或者有没有我可以使用的翻译api?
我问的原因是我试着去 Goolge Play 商店用不同的语言搜索它,它基本上不明白我想要什么。那么对于不同的语言有不同的 Goolge Play 界面吗?或者我需要打开一些设置?
这通常是如何工作的? 谢谢!
【问题讨论】:
标签: android internationalization
使用文件中的所有字符串而不是硬编码方式。文件的名称是 values 文件夹中的 strings.xml,对于另一种语言,您需要做的是创建 values-ru values-ch 等文件夹并将您的 strings.xml 放入文件夹中。并更改值。这是解释您的解决方案的快速方法。对于扩展,详细的解决方案在这里:http://developer.android.com/guide/topics/resources/localization.html
【讨论】:
多语言支持很容易为 android 完成。使用语言代码的后缀为该语言创建一个新的值目录。对于德语:
values-de或法语:values-fr,而不是将您的string.xml复制到其中并翻译每个条目。这就是你所需要的。
Android 在运行时根据这些 android 设备所在的区域或用户语言偏好选择本地化。
看这里::
http://developer.android.com/guide/topics/resources/localization.html
【讨论】:
您不想制作应用程序的多个版本。通常,这是通过为您要使用的每个翻译使用特定于语言环境的字典来完成的,因此您可以在适当的参考数据库中引用一个元素,而不是在您的应用程序中硬编码字符串,这基本上是所有您在应用程序中使用的字符串。
以下是我找到的一些专门针对 Android 开发的信息:http://developer.android.com/guide/topics/resources/localization.html
至于翻译,自然语言处理还远远不足以自动提供良好的翻译,尤其是在没有上下文的情况下。您可以尝试使用一些统计方法的 Google 翻译 API (https://developers.google.com/translate/),但即使这样也可能会给您带来错误的翻译(我确定您可能使用过 Google 或其他服务翻译一些东西,然后出来的东西你可以肯定是不准确的)。您可以将其用作将应用程序转换为不同语言的第一步,如果您的应用程序是开源的(或者即使不是),请询问用户关于各种翻译准确性的输入。
希望这会有所帮助。
【讨论】: