wikimedia / bcp-47-code
表示具有BCP 47代码的语言的简单界面
v2.0.0
2023-09-29 18:43 UTC
Requires
- php: >=7.4.3
Requires (Dev)
- mediawiki/mediawiki-codesniffer: 41.0.0
- mediawiki/mediawiki-phan-config: 0.12.1
- mediawiki/minus-x: 1.1.1
- ockcyp/covers-validator: 1.6.0
- php-parallel-lint/php-console-highlighter: 1.0.0
- php-parallel-lint/php-parallel-lint: 1.3.2
- phpunit/phpunit: 9.5.28
- wikimedia/update-history: 1.0.1
README
Bcp47Code
表示具有BCP 47代码的语言的简单界面。
此库抽象了MediaWiki(或您的代码)中“语言”对象的详细信息,并仅公开将此不透明对象转换为可互操作的标准BCP 47代码的能力,这是在HTML和HTTP中使用的标准。
BCP 47标准最初是RFC 4647,现在由基于IANA语言注册表的IETF维护。
关于此库的更多文档可以在mediawiki.org上找到。
使用方法
use Wikimedia\Bcp47Code\Bcp47Code; class YourCode { public function generateHtml(Bcp47Code $language, $content) { return "<html><body lang='" . $language->toBcp47() . "'>" . "$content</body></html>"; } }
运行测试
composer install
composer test
历史记录
此库最初在MediaWiki 1.40中引入,作为一种将内部MediaWiki语言类以可由外部库(如[Parsoid])使用的方式抽象的方法,同时也通过使用此不透明界面对象,使BCP 47用户(如HTML和HTTP处理程序)与核心之间的接口强类型且清晰。这避免了表示“MediaWiki内部语言代码”的字符串(区分大小写,通常是小写)和表示“BCP 47代码”的字符串(不区分大小写,通常是混合大小写)之间的混淆。