【发布时间】:2012-12-06 01:22:46
【问题描述】:
当您想在 Android 中添加特定于语言环境的资源时,您必须将语言的小写 ISO-3166-1 代码添加到资源文件夹的名称中。到目前为止一切顺利。
现在我想将Catalan 和Basque 字符串添加到我的应用程序中。根据 ISO 列表,我必须添加 values-ca 和 values-eu。但这真的有用吗?
编辑:在您的应用中使用自定义语言选择器,您可以提供对语言的支持,即使它们不在设备的设置菜单中。我已经在 GitHub 上提供了用于此目的的库: https://github.com/delight-im/Android-Languages
我不知道 Android 是否支持所有 ISO 代码,以及是否会显示这些“次要”语言。如果 Android 不支持这些语言,可能设备甚至不会将此语言识别为其默认语言环境,而只会使用 es 表示西班牙语。
有人可以帮忙吗?
【问题讨论】:
-
看到这个stackoverflow.com/questions/3615587/localization-android和这个stackoverflow.com/questions/7973023/…。我认为
ca可以从Gingerbread获得,我认为basque语言不一样。 -
谢谢!加泰罗尼亚语似乎从 Android 2.3 开始得到官方支持,是的。但是巴斯克语似乎根本不被支持(官方)。因此我的问题是:你能使用 Android 本身没有被翻译成的语言吗?
-
我自己还没有这样做,但请查看文档developer.android.com/reference/java/util/Locale.html 中
Locale类的文档,看看您是否无法构建自己的。 -
Locale类在后台拉取字符串并确定您的应用程序以哪种语言显示?我对此表示怀疑。 -
不完全正确 - 许多设备在设置菜单中提供有限的语言选择,但实际上可以使用诸如LocaleSwitch 之类的应用程序设置为任何系统区域设置它应该很容易测试Jorge 的建议是否正确,通过在 LocaleSwitch 中添加自定义语言环境,然后添加资源文件夹来查看系统是否自动执行。 Gingerbread 对加泰罗尼亚语的“支持”可能仅引用自 2.3 以来包含的 android.R 值。
标签: android localization