Extension:CLDR
|
CLDR Release status: stable |
|||
|---|---|---|---|
| Implementation | Parser function | ||
| Description | Provides functions to localize the names of languages, countries, and currencies based on their language code. | ||
| Author(s) | Niklas Laxström, Kaldari | ||
| Last version | 3.0.0 (CLDR 2.0.1) (2011-02-02) | ||
| MediaWiki | 1.12+ | ||
| Database changes | no | ||
| License | GPL 2.0 | ||
| Download | Included in Language Extension Bundle README CHANGELOG |
||
| Example | Translatewiki.net | ||
|
|||
| Check usage and version matrix | |||
The CLDR extension contains local language names for different languages, countries, and currencies extracted from CLDR data; see translatewiki:CLDR for information.
Contents |
Download [edit]
You can download the extension directly from the MediaWiki source code repository (browse code). You can get:
- One of the extensions tags
Not all extensions have tags. Some extensions have tags for each release, in which case those tags have the same stability as the release. To download a tag
- Go to the tags list
- Click the name of the tag you want to download
- Click "snapshot"
- The latest version of one of the extensions branches
Each extension has a master branch containing the latest code (might be unstable). Extensions can have further branches as well.
- Go to the branches list
- Click the branch name
- Click "snapshot"
- A snapshot made during the release of a MediaWiki version.
This might be unstable and is not guaranteed to work with the associated MediaWiki version.
After you've got the code, save it into the extensions/cldr directory of your wiki.
If you are familiar with git and have shell access to your server, you can obtain the extension, with all its tags and branches, as follows:
cd extensions
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/cldr.git
Installation [edit]
- Download the files from Git or download a snapshot. Choose the version that matches your version of MediaWiki.
- Create a directory
cldrin your$IP/extensionsdirectory. - Extract the files to this
$IP/extensions/cldrdirectory. - Add
to the bottom of LocalSettings.php.require_once( "$IP/extensions/cldr/cldr.php" );
- Installation can now be verified through Special:Version of your wiki.
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:
- code - the ISO 639 code of the preferred language to return the list in
- 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
- 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 following example sets a variable to the list of all languages in MediaWiki and CLDR in English.
if ( is_callable( array( 'LanguageNames', 'getNames' ) ) ) { $languages = LanguageNames::getNames( 'en' , LanguageNames::FALLBACK_NORMAL, LanguageNames::LIST_MW_AND_CLDR ); } else { // If we need to display something, use this as fallback $languages = Language::getLanguageNames( false ); }
Country names [edit]
CLDR defines the class CountryNames which has a static method, getNames(). CountryNames::getNames accepts one parameter:
- 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:
- 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' ); }
See also [edit]
| This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page. |