Lig*_*uff 14 android localization
默认情况下,Android一直在西里尔语中显示塞尔维亚语,但自7.0以来,用户可以选择西里尔语和拉丁语.应用程序(主要来自Google)通常会将Cyrillic字符串sr和拉丁字符串放入b+sr+Latn.然而,b+sr+Latn与使用破折号(例如sr-rRS-port)的通常惯例非常不同.
b代表什么?语法是什么,我还可以用它来指定什么?
Lig*_*uff 14
它是BCP 47语言标签.它以b开头,后跟语言,脚本,区域和变体.
BCP 47文件
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- 匈牙利语和匈牙利语符文
b+en+Cyrl+US- 美国英语和西里尔语
b+hy+Piqd+DE- 德语亚美尼亚语和克林贡语
(但支持非常有限) )
另请参阅:
ISO 639-3语言列表
ISO 15924脚本列表
ISO 3166-1 alpha-2国家/地区列表
从 Android 7.0 开始支持“b+”前缀。在语言标签列表中添加前缀“b+”告诉 Android 剩余的标签是 BCP 47 语言标签。
其他答案正确地提到了这个文档,它定义了这些标签:https://tools.ietf.org/html/bcp47
然而,在该文档中没有找到“b+”的使用。Android 文档中阐明了“b+”背后的具体含义:
要使用 BCP 47 语言标签,请将 b+ 和两个字母的 ISO 639-1 语言代码连接起来,后面可以选择附加由 + 分隔的子标签。
来源:https://developer.android.com/guide/topics/resources/providing-resources
代码中的其他参考:
BCP 47 语言标签。BCP-47 标签使用 + 而不是 - 作为分隔符,并具有前缀 b+。因此,BCP-47 标签“zh-Hans-CN”将被写为“b+zh+Hans+CN”。