Extension:CLDR

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manualManual:Extensions
Crystal Clear action run.png
CLDR

Release status:Extension status stable

ImplementationTemplate:Extension#type Parser function
DescriptionTemplate:Extension#description Provides functions to localize the names of languages, countries, currencies, and time units based on their language code.
Author(s)Template:Extension#username Niklas Laxström, Ryan Kaldari
Latest versionTemplate:Extension#version 4.2.0 (CLDR 29) (2016-03-22)
MediaWikiTemplate:Extension#mediawiki 1.25+
Database changesTemplate:Extension#needs-updatephp No
ComposerComposer mediawiki/cldr
LicenseTemplate:Extension#license GPL-2.0+, data variant of BSD 3-clauses
Download Included in Language Extension Bundle or
README
ExampleTemplate:Extension#example Translatewiki.net
Hooks usedTemplate:Extension#hook
LanguageGetTranslatedLanguageNames

Translate the CLDR extension if it is available at translatewiki.net

Check usage and version matrix;

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[edit]

  • Download and place the file(s) in a directory called cldr in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
wfLoadExtension( 'cldr' );
  • YesY Done - Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Updating data[edit]

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 http://www.unicode.org/Public/cldr/latest/core.zip
unzip core.zip -d core
php rebuild.php

Usage and parameters[edit]

Language names[edit]

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

  1. code - the ISO 639 (see here for details) code of the preferred language to return the list in
  2. fbMethod - fallback method. Should be set to one of the following:
    • LanguageNames::FALLBACK_NATIVE (default): Missing entries fallback to the native name
    • 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 (default): All languages that are in Names.php
    • LanguageNames::LIST_MW_AND_CLDR: All languages that are either in MediaWiki or in CLDR

Example[edit]

The language names are best access with MediaWiki core functions:

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

Country names[edit]

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[edit]

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' );
}

Currency names[edit]

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

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

Example[edit]

The following example sets a variable to the list of all currencies in CLDR in German.

if ( is_callable( array( 'CurrencyNames', 'getNames' ) ) ) {
    $currencies = CurrencyNames::getNames( 'de' );
}

Note Note: CLDR includes a very large number of currencies, including many that are no longer in use.


See also[edit]