wikimedia/bcp-47-code

表示具有BCP 47代码的语言的简单界面

v2.0.0 2023-09-29 18:43 UTC

This package is auto-updated.

Last update: 2024-09-13 12:33:25 UTC


README

Latest Stable Version License

Bcp47Code

表示具有BCP 47代码的语言的简单界面。

此库抽象了MediaWiki(或您的代码)中“语言”对象的详细信息,并仅公开将此不透明对象转换为可互操作的标准BCP 47代码的能力,这是在HTMLHTTP中使用的标准。

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代码”的字符串(不区分大小写,通常是混合大小写)之间的混淆。