android - b 代表什么,b+sr+Latn 背后的语法是什么?

标签 android localization

默认情况下,Android 始终以西里尔字母显示塞尔维亚语,但从 7.0 开始,用户可以在西里尔字母和拉丁字母之间进行选择。应用程序(主要来自 Google)通常将西里尔字符串放在 sr 中,将拉丁字符串放在 b+sr+Latn 中。但是,b+sr+Latn 与通常使用破折号的约定(例如 sr-rRS-port)有很大不同。

b 代表什么?语法是什么,我还能用它指定什么?

最佳答案

这是一个 BCP 47 语言标签。它以 b 开头,后跟语言、脚本、区域和变体。
BCP 47 documentation

b+sr+Latn 将是带有拉丁脚本的塞尔维亚语。
b+sr+Latn+RS 在塞尔维亚是塞尔维亚语,带有拉丁字母。

同样适用于阿塞拜疆语:
b+az+Latn – 拉丁字母
b+az+Cyrl – 西里尔字母
b+az+Arab – 阿拉伯文字

但实际上您可以进行任何可能的组合:
b+ja+Hrkt – 只有平假名和片假名的日语
b+ru+Latn – 带有拉丁脚本的俄语
b+hu+Hung – 带有匈牙利 rune 脚本的匈牙利语
b+en+Cyrl+US – 使用西里尔字母的美式英语
b+hy+Piqd+DE – 使用克林贡文字的德语亚美尼亚语
(但支持将非常有限)

另见:
ISO 639-3 language list
ISO 15924 script list
ISO 3166-1 alpha-2 country list

关于android - b 代表什么,b+sr+Latn 背后的语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44970638/

相关文章:

android - findViewById 在自定义 View 中查找 subview

android - ActionBarSherlock:在极少数设备上出现 java.lang.IllegalStateException

jsf - JSF ResourceBundle中的EL变量

当设备语言为 en_US 时,Android 7.0 Nougat 会选择默认字符串

javascript - 使用 Discord.JS 进行本地化和临时回复?

java - 池回收错误 2 个 Sprite 同时碰撞到一个 Sprite

android - 如何在 Android 中定义随 Gradle 测试配置而变化的静态字符串值?

运行时的 Wpf 本地化不会影响日期格式

c# - 如何在 C# 中使用逗号和连词本地化或字符串格式化单词列表?

android - apkbuilder 在将 powermock 添加到 android 测试项目时发现重复文件