Extension:CLDR/en

Category:Extensions with invalid or missing type/enCategory:Extensions with unknown license/en
MediaWiki extensions manual
CLDR
Release status: stableCategory:Stable extensions/en
Description Provides functions to localize the names of languages, countries, currencies, and time units based on their language code.
Author(s)
Latest version 4.17.0 (Continous updates)
MediaWiki 1.30+Category:Extensions with manual MediaWiki version
Database changes No
Composer mediawiki/cldrCategory:Extensions supporting Composer/en
License GPL-2.0-or-later, data variant of BSD 3-clauses
Download Included in Language Extension Bundle or Category:Extensions in Wikimedia version control/en
README
Example Translatewiki.net
master
Public wikis using 6,625 (Ranked 63rd)
Translate the CLDR extension if it is available at translatewiki.net
Category:All extensions/en

The CLDR extension contains local language names for different languages, countries, currencies, and time units extracted from CLDR data. See translatewiki:CLDR for information.

Installation

  • Download and move the extracted cldr folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/cldr
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'cldr' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

If you download from git, change the file from CLDR to cldr.

Updating data

The CLDR extension comes with data pre-populated in the language files, but if you want to get the latest data from the Unicode Consortium, you'll need to download it from the CLDR site and then run a rebuild script.

Download newest data from CLDR site:

http://www.unicode.org/cldr/repository_access.html

Example (from within the cldr directory):

wget https://www.unicode.org/Public/cldr/latest/core.zip
unzip core.zip -d core
php rebuild.php

Usage and parameters

Language names

CLDR defines the class LanguageNames which has a static method, getNames(). LanguageNames::getNames accepts three parameters:

  1. code – the ISO 639 (see Manual:Language#Language code for details) code of the preferred language to return the list in
  2. fbMethod – fallback method, it should be set to one of the following:
    • LanguageNames::FALLBACK_NATIVE - Missing entries fallback to the native name (default)
    • LanguageNames::FALLBACK_NORMAL - Missing entries fallback through the fallback chain
  3. list – which languages to return. Should be set to one of the following:
    • LanguageNames::LIST_MW_SUPPORTED - Only languages that have localization in MediaWiki
    • LanguageNames::LIST_MW - All languages that are in Names.php (default)
    • LanguageNames::LIST_MW_AND_CLDR - All languages that are either in MediaWiki or in CLDR

Example

The language names are best access with MediaWiki core functions:

// Japanisch
$name = Language::fetchLanguageName( 'ja', 'de', 'all' );


Country names

CLDR defines the class CountryNames which has a static method, getNames(). CountryNames::getNames accepts one parameter:

  1. code - the ISO 639 code of the preferred language to return the list in

Example

The following example sets a variable to the list of all countries in CLDR in French.

if ( is_callable( array( 'CountryNames', 'getNames' ) ) ) {
    $countries = CountryNames::getNames( 'fr' );
}


See also

Category:Extensions used on Wikimedia/en#CLDR/en Category:Localisation extensions/en
Category:All extensions/en Category:Extensions in Wikimedia version control/en Category:Extensions included in Fandom/en Category:Extensions included in Miraheze/en Category:Extensions included in ProWiki/en Category:Extensions included in WikiForge/en Category:Extensions supporting Composer/en Category:Extensions used on Wikimedia/en Category:Extensions with invalid or missing type/en Category:Extensions with manual MediaWiki version Category:Extensions with unknown license/en Category:GetHumanTimestamp extensions/en Category:LanguageGetTranslatedLanguageNames extensions/en Category:Localisation extensions/en Category:Stable extensions/en