为Android设备添加语言支持

时间:2016-11-11 16:20:23

标签: android localization

我有一个应用程序,我想在几个欧洲国家/地区运营 - 德国,波兰,捷克共和国。我们将在一些运行Lollipop 5.02的三星Galaxy Tab 4平板电脑上发货。

当我转到设置...语言和输入时,我们设备上显示的唯一语言选择是英语,西班牙语,法语,中文和韩语。但是这个S.O.问题显示更长的列表"支持"操作系统中的语言:What is the list of supported languages/locales on Android?

...那么 正是 是否意味着语言被支持"在Android?

https://developer.android.com/training/basics/supporting-devices/languages.html中,它们似乎只是在字符串资源文件中添加内容,但我不知道如何更新设置或可用字体。如何添加"支持"语言到设置...语言和输入中的选项(以及相关的字形等)?有没有办法从我们的应用程序以编程方式执行此操作?

我可以在Google Play上看到声称可以为设备添加语言支持的应用,但是如果SO SO Question(上面)中列出的所有语言都已经支持"他们在做什么?语言支持是否被视为Android Universe中应用程序或操作系统的属性?

1 个答案:

答案 0 :(得分:1)

  

那么在Android中“支持”语言究竟意味着什么呢?

就操作系统本身而言,这意味着设备制造商可以使用字符串和其他特定于语言环境的资源。通常,这也意味着Android开源项目(AOSP)中当前维护的应用程序也支持相同的语言。

意味着设备制造商被迫包含这些资源。设备制造商通常会删除不必要的资源,其中“不必要的”由他们分发特定设备的市场决定。

  

我们将在一些运行Lollipop 5.02的三星Galaxy Tab 4平板电脑上发货。

您的设备选择的部分决策标准应该是“它是否支持我想要的语言?”。例如,在德国购买的Galaxy Tab 4比在希腊,佐治亚州(共和国)或佐治亚州(美国州)购买的Galaxy Tab 4更有可能支持德语。

总的来说,从我看到的情况来看,Nexus / Pixel设备可以最好地支持AOSP提供的所有语言。

  

如何在“设置...语言和输入”中为选项(以及关联的字形等)添加“支持”语言?

安装具有这些资源的自定义ROM。或者,创建自己的具有这些资源的自定义ROM。

原则上,在root设备上,您可能可以添加资源,但您不仅需要提供标准的Android资源,还需要提供设备制造商可能添加的其他资源,无论是核心操作系统还是预先添加安装的应用程序。这部分充其量是困难的。

  

有没有办法从我们的应用程序以编程方式执行此操作?

没有

  

在Android Universe中,语言支持是否被视为应用程序或操作系统的属性?

两者。或者,更准确地说:

  • Google确定哪些语言适用于Android作为开源操作系统。

  • 设备制造商确定他们将在给定设备上支持哪种语言。如今,这通常是AOSP支持的语言的一个子集,或者至多是所有AOSP支持的语言。设备制造商过去常常为Android所缺乏但与制造商希望支持的市场相关的语言创建自己的翻译。我的猜测是,现在这种情况不太常见,尽管它可能在某种程度上仍然存在。

  • 应用程序开发人员根据字符串翻译及其应用程序独有的相关区域设置资源,确定自己的应用程序将支持哪些语言。

从用户的角度来看,相关部分是其设备支持的内容与其所需应用支持的内容的交集。