Jump to content

Manual:语言/BCP-47

From mediawiki.org
This page is a translated version of the page Manual:Language/BCP-47 and the translation is 100% complete.

IETF BCP-47是语言代码的一种标准。 它允许使用多种不同的子标签组合(包括私用子标签),以支持按语言(ISO 639)进行识别,还可以选择按书写系统(ISO 15924)、地区/国家(ISO 3166)和/或方言进行识别。

MediaWiki内部语言代码 的范围较小:它们是ISO 639-3639-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

参见