【问题标题】:Android Serbian latin and Montenegro values folder for strings.xml用于 strings.xml 的 Android 塞尔维亚语拉丁语和黑山语值文件夹
【发布时间】:2016-05-31 04:53:35
【问题描述】:

我正在尝试为塞尔维亚拉丁语 (srpski) 和黑山语(西里尔语和拉丁语)翻译 strings.xml。我在 values 文件夹中包含了塞尔维亚西里尔字母 (српски) 作为 values-sr。它工作正常。但是对于塞尔维亚拉丁语和黑山语,我无法决定 values 文件夹的名称应该是什么。我在 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 了解到 values 文件夹应该是:

塞尔维亚语(西里尔文)sr --> values-sr-r_#Cyrl

塞尔维亚(西里尔文,黑山)sr ME --> values-sr-rME_#Cyrl

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

塞尔维亚(拉丁)sr --> values-sr-r_#Latn

塞尔维亚语(拉丁语、黑山) sr ME --> values-sr-rME_#Latn

塞尔维亚语(拉丁语、塞尔维亚语)sr RS --> values-sr-rRS_#Latn

但是,如果我尝试在 Android Studio 中创建类似 values-sr-rRS_#Latn 的文件夹,则会引发错误“目录无效”。然后我开始了一些分析。

  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 的设置屏幕中,我可以看到仅更改为塞尔维亚西里尔字母 (српски) 的选项,而在 Lenovo Yoga 选项卡中,我看到仅更改为塞尔维亚拉丁语 (srpski) 的选项。当我在这两个设备中调试时,我发现它们都有 sr 作为语言代码和 RS 作为区域代码并且脚本代码是空白的。那么如何在 app 中同时包含 values 文件夹及其映射方式?

  3. 我是否应该为我需要的语言创建 values-sr-ZZ 之类的值文件夹并在代码中检查脚本代码?

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

有人可以指导我吗?

【问题讨论】:

  • Jesi uspio rijesiti ovo?

标签: android localization locale


【解决方案1】:

我刚刚使用成功:

值-b+sr+Latn

如果您无法解决无效目录问题,请参阅Android build error for values-b+sr+Latn

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多