Tar*_*nfx 14 android localization
我正在本地化我的应用程序,其中一个支持的语言/区域是Espanol-419.Android不支持命名约定值-es-r419但它确实接受values-en-rGB.我应该使用什么名称来使其起作用?
kab*_*uko 12
我不知道r419来自哪里.我唯一能想到的就是LCID,但419是俄语或国家代码,但419没有任何内容.以下是西班牙语的区域代码列表,也许你想要的是这里:
es-ar Spanish - Argentina
es-bo Spanish - Bolivia
es-cl Spanish - Chile
es-co Spanish - Colombia
es-cr Spanish - Costa Rica
es-do Spanish - Dominican Republic
es-ec Spanish - Ecuador
es-sv Spanish - El Salvador
es-gt Spanish - Guatemala
es-hn Spanish - Honduras
es-mx Spanish - Mexico
es-ni Spanish - Nicaragua
es-pa Spanish - Panama
es-py Spanish - Paraguay
es-pe Spanish - Peru
es-pr Spanish - Puerto Rico
es-es Spanish - Spain (Traditional)
es-uy Spanish - Uruguay
es-ve Spanish - Venezuela
Run Code Online (Sandbox Code Playgroud)
参考文献:
更新:
显然419来自BCP 47为IETF语言标签采用的UN M.49标准.谷歌关于替代资源的文档说:
该语言由两个字母的ISO 639-1语言代码定义,可选地后跟两个字母的ISO 3166-1-alpha-2区域代码(以小写"r"开头).
显然(仅通过"r")您可以看到这些不是标准的IETF语言标记.不幸的是,我相信这也意味着您将无法找到相当于419的合适的双字母区域.您还可以查看官方的ISO列表.它不在那里,国家只有两个字母标签.显然,不支持3位数标签是很常见的.
我能想到的唯一解决方案是为国家es细分提供默认设置,然后提供更具体的设置es.您可以为es-rAR您认为与419匹配的每个区域(例如)提供资源,但是查看该列表,我认为相反的做法更容易,并且用于es为拉丁美洲西班牙语提供资源,然后提供资源es-rES对于西班牙 至于es-rES是不是更具体的es,应该优先考虑(如果该区域设置相匹配).
es-r419 = es-rUS.
Run Code Online (Sandbox Code Playgroud)
更改文件夹名称以values-es-rUS与运行时用户选项保持一致.
使用Google翻译服务时,当您请求为拉丁美洲语翻译西班牙语时,您将收到es-r419返回的文件夹.
在查看AOSP来源时,settings->language and input->language您会看到西班牙语和西班牙语(美国).
在运行时,选择语言=西班牙语(美国),你不会看到拉出的字符串values-es-r419,当然你会看到拉出的字符串values-es-rUS
Android 7.0(API级别24)带来了更强大的资源解析度,并自动找到了更好的后备。但是,为了加快分辨率并提高可维护性,您应该将资源存储在最常见的父方言中。例如,如果您以前将西班牙文资源存储在
values-es-rUS目录中,请将它们移动到values-b+es+419包含拉丁美洲西班牙文的目录中。
来源:https : //developer.android.com/guide/topics/resources/multilingual-support.html
我们提供了应用内语言选择功能,因此为了在新旧手机上正常工作,我们在values-es-rUSEspañol(Estados Unidos)和values-b+es+419Español(Latinoamérica)中保留了重复的资源
| 归档时间: |
|
| 查看次数: |
7874 次 |
| 最近记录: |