针对strings.xml的Android Serbian拉丁语和黑山值文件夹

时间:2016-05-31 04:53:36

标签: android localization locale

我正在尝试为塞尔维亚拉丁语(srpski)和黑山语(包括西里尔语和拉丁语)翻译strings.xml。我在值文件夹中包含了Serbian Cyrillic(српски)作为values-sr。它工作正常。但对于塞尔维亚拉丁语和黑山,我无法决定什么应该是值文件夹的名称。我在SO中经历了很多帖子

How to change locale to use Latin Serbian (instead of Cyrillic Serbian)

What should be the values folder name for Serbian (Latin,Serbia) (sr-rs-latn) language?

但他们没有多大帮助。

我从https://github.com/championswimmer/android-locales了解到,值文件夹应为:

塞尔维亚语(西里尔语)sr - >的值-SR-R_#Cyrl

塞尔维亚语(西里尔语,黑山语)sr ME - >的值-SR-rME_#Cyrl

塞尔维亚语(西里尔文,塞尔维亚)sr RS - >的值-SR-rRS_#Cyrl

塞尔维亚语(拉丁语)sr - >的值-SR-R_#LATN

塞尔维亚语(拉丁语,黑山语)sr ME - >的值-SR-rME_#LATN

塞尔维亚语(拉丁语,塞尔维亚)sr RS - >的值-SR-rRS_#LATN

但是如果我尝试在Android studio中创建类似values-sr-rRS_#Latn的文件夹,则会抛出错误“Invalid directory”。然后我开始进行一些分析。

  1. 在Nexus 9 Marshmallow中,使用Locale.getAvailableLocales()的可用语言环境列表列出了所有塞尔维亚语言。所以他们得到了支持。

    SR
    SR __#Cyrl
    sr_BA_#Cyrl
    sr_ME_#Cyrl
    sr_RS_#Cyrl
    sr_XK_#Cyrl
    SR __#LATN
    sr_BA_#LATN
    sr_ME_#LATN sr_RS_#LATN
    sr_XK_#Latn

  2. 在Nexus 9的设置屏幕中,我可以看到只能更改为塞尔维亚语西里尔语(српски)的选项,而在联想瑜伽选项卡中,我看到选项只能更改为塞尔维亚拉丁语(srpski)。当我在两个设备中进行调试时,我发现两者都有 sr 作为语言代码, RS 作为区域代码,脚本代码为空白。那么如何在app中包含值文件夹以及如何映射?

  3. 我应该为values-sr-ZZ创建值文件夹,还是为我需要的语言创建一些东西,并在代码中检查脚本代码?

  4. 但如果是这种情况,在Google Play游戏和设置应用的资源文件夹中,我发现他们只有一个值-sr文件夹。那么他们如何处理值-sr-r_#Latn和values-sr-rME_#Latn和values-sr-rME_#Cyrl。

  5. 有人可以指导我吗?

1 个答案:

答案 0 :(得分:4)

我刚刚成功使用:

  

值-B + SR + LATN

另请参阅Android build error for values-b+sr+Latn如果您无法通过无效目录问题