多语言应用:最好的方式?

Gel*_*ude 11 android localization android-resources

这是拥有多语言应用程序的最佳方式?我应该创建一组用我的语言编写的字符串,然后使用谷歌api,即时在线翻译?任何代码示例?并且,如何获取用户的语言以及如何将此信息传递给api?

Don*_*nut 22

我不相信你的字符串的即时翻译; 即使是最好的自动翻译器也会产生不准确的输出.此外,通过以这种方式处理翻译,您可以添加相当多的复杂性,开销和依赖性(例如,具有网络连接).

拥有"multilangauge app"(如你所说)的问题是众所周知的,解决它的过程称为国际化和本地化.通常,当您使用框架或编程语言时,您可以查找与此主题相关的现有包/库 - 这几乎是其他人花费大量时间构建良好机制来促进这一点.

Android也不例外; 它是在内置本地化支持的情况下开发的.Android开发人员文档有一关于本地化的综合指南,您应该查看一下.您仍然需要以某种方式翻译您的文本,但是已经为您准备了很多关于如何向用户提供特定于语言环境的消息的"基础".

最后一点 - Android文档还提供了一个名为" Hello,L10n " 的教程,它将向您介绍创建本地化应用程序的基础知识.希望这可以帮助!


Ted*_*opp 7

这里可以有两个非常不同的目标:

  • 一个可以在不同Android平台上运行的应用程序,每个平台都设置为使用不同语言的区域设置
  • 在单个平台上运行的应用程序,允许用户在应用程序中选择不同的语言,而无需更改平台区域设置

前一个问题得到了很好的支持,正如其他人所指出的那样,在文档中进行了讨论.后者得不到很好的支持(见这里,这里这里).

根据手机上安装的区域设置,在应用程序中支持多种语言也可能会遇到字体问题.您可能必须使用应用程序打包自己的字体(例如,请参见此处).即使这样,如果字体渲染引擎不支持该语言,也可能会出现问题(对阿拉伯语和泰语等复杂脚本有很多抱怨).