VOOZH about

URL: https://gerrit.wikimedia.org/g/mediawiki/libs/Bcp47Code/

⇱ mediawiki/libs/Bcp47Code - Gitiles


gerrit.wikimedia.org / mediawiki / libs / Bcp47Code
Clone this repo:

Branches

  1. c646fcd build: Updating mediawiki/mediawiki-codesniffer to 51.0.0 by libraryupgrader · 8 weeks ago main
  2. 76a84b2 Declare strict types on all php files by Umherirrender · 3 months ago
  3. a5cf34c build: Updating mediawiki/mediawiki-phan-config to 0.20.0 by libraryupgrader · 4 months ago
  4. 15015c0 build: Updating composer dependencies by libraryupgrader · 4 months ago
  5. 3c162c5 Bump version in HISTORY.md after release by C. Scott Ananian · 5 months ago

👁 Latest Stable Version
👁 License

Bcp47Code

Simple interface representing languages which have a BCP 47 code.

This abstracts the details of a "language" object in MediaWiki (or your code) and exposes only the ability to convert this opaque object to an interoperable BCP 47 code, which is the standard used in HTML and HTTP.

The BCP 47 standard was originally RFC 4647, and is now maintained by the IETF based on the IANA language registry.

Additional documentation about this library can be found on mediawiki.org.

Usage

useWikimedia\Bcp47Code\Bcp47Code;classYourCode{publicfunction generateHtml(Bcp47Code $language, $content){return"<html><body lang='". $language->toBcp47()."'>"."$content</body></html>";}}

Running tests

composer install
composer test

History

This library was first introduced in MediaWiki 1.40 as a way to abstract the internal MediaWiki Language class in a way that could be used by external libraries such as [Parsoid], as well as making the interfaces between BCP 47 users (such as HTML and HTTP handlers) and core strongly typed and clear by using this opaque interface object. This avoids confusion between strings representing "MediaWiki internal language codes" (case-sensitive, usually lower-case) and strings representing "BCP 47 codes" (case-insensitive, often mixed-case).