Manual:语言/BCP-47
Appearance
IETF BCP-47是语言代码的一种标准。 它允许使用多种不同的子标签组合(包括私用子标签),以支持按语言(ISO 639)进行识别,还可以选择按书写系统(ISO 15924)、地区/国家(ISO 3166)和/或方言进行识别。
MediaWiki内部语言代码的范围较小:它们是ISO 639-3和639-1的子集(参见 Names.php),此外还有自定义标签,如qqx和通过$wgExtraLanguageNames注册的可能添加项。
另一个区别是BCP-47代码不区分大小写,可以混合大小写,而MediaWiki内部代码区分大小写,通常为小写。
MediaWiki对BCP-47的支持
- MediaWiki提供了多种将语言代码转换为符合BCP47标准的代码的方法。 这种规范化通常用于HTML的
lang属性。 - 默认情况下,MediaWiki内部代码支持BCP-47代码的子集,尤其是在主要语言的标签选择方面(ISO 639)。
- MediaWiki还允许站点管理员通过将额外的BCP-47代码添加到
$wgExtraLanguageNames配置设置中来注册这些代码。 不支持混合大小写的标签,但如有必要,您可以使用LanguageCode::bcp47()(见下文)来获取规范化的版本。 - MediaWiki不提供对BCP-47代码的验证,但可以使用
LanguageCode::isWellFormedLanguageTag()来检查格式是否正确。
MediaWiki核心中的资源
PHP
- Bcp47Code是MediaWiki (1.40+) 使用的维基媒体库,用于提供一个简单的接口,表示可以用BCP-47代码表示的语言对象。 它在Parsoid和MediaWiki核心之间使用,以便允许Parsoid操作核心Language对象,而不会将这些对象的完整细节暴露给Parsoid。
- LanguageCode类包含各种用于返回BCP-47版本的语言代码的方法。
bcp47()– 接受一个语言代码,并返回规范化的IETF BCP-47标签。
API
参见API:语言信息
Wikitext
自1.43版本起,wiki用户可以使用解析器函数{{#bcp47:...}}来检索给定语言代码的BCP-47版本。
另见下文的Scribunto。
扩展
提供一个Lua函数mw.language:toBcp47Code,用于返回给定语言对象的标准BCP-47语言代码,以便在HTML中使用。
参见 https://www.semantic-mediawiki.org/wiki/Help:Special_property_Language_code
对BCP-47有广泛的支持。 例如: d:Lexeme:L1011590