我正在本地化我的应用程序,其中一种支持的语言/地区是西班牙语-419。Android不支持命名约定values-es-r419,但它接受values-en-rGB。我应该使用什么名称才能使它工作?
发布于 2012-01-20 14:31:00
我不知道r419从哪里来。我唯一能想到的就是LCID,但是419是给俄罗斯人的,或者是country code,但是没有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
参考文献:
更新:
因此,419显然来自BCP 47为IETF语言标记所采用的UN M.49 standard。谷歌的documentation on alternative resources says
该语言由两个字母的ISO639-1语言代码定义,后跟两个字母的ISO3166-1-alpha-2区域代码(前面有小写的"r")。
很明显(仅通过"r“),您可以看到这些不是标准的IETF语言标记。不幸的是,我相信这也意味着你不能找到一个相当于419的合适的两个字母的区域。您还可以检查official ISO list。上面没有,只有两个国家的字母标签。显然,very common不支持3位数的标签。
我能想到的唯一解决方案是为es
提供一个默认设置,然后为es
国家的细分提供一个更具体的设置。您可以为您认为与419匹配的每个地区(如es-rAR
)提供资源,但是查看该列表,我认为做相反的事情会更容易,使用es
为拉丁美洲西班牙语提供资源,然后为西班牙的es-rES
提供资源。由于es-rES
比es
更具体,因此应该优先使用它(如果区域设置匹配)。
发布于 2017-02-17 03:03:22
Android7.0(API24级)带来了更强大的资源解析,并自动找到更好的回退。但是,为了加快解析速度并提高可维护性,您应该以最常见的父方言存储资源。例如,如果您之前将西班牙语资源存储在
values-es-rUS
目录中,请将其移动到包含拉丁美洲西班牙语的values-b+es+419
目录中。
来源:https://developer.android.com/guide/topics/resources/multilingual-support.html
我们在应用程序中提供语言选择,所以为了在新旧手机上都能很好地工作,我们在values-es-rUS
西班牙语(Estados Unidos)和values-b+es+419
西班牙语(拉丁语)中保留了重复的资源。
发布于 2014-10-30 04:18:21
es-r419 = es-rUS.
将文件夹名称更改为values-es-rUS
,以与运行时用户选项保持一致。
在使用谷歌翻译服务时,当您请求翻译成拉丁美洲的西班牙语时,您将收到返回的es-r419
文件夹。
在查看AOSP源代码时,或者在settings->language and input->language
中,您将看到西班牙语和西班牙语(美国)。
在运行时,选择language =西班牙语(美国),您将不会看到从values-es-r419
中拉出的字符串,当然,您会看到从values-es-rUS
中拉出的字符串
https://stackoverflow.com/questions/8937284
复制相似问题