This page is a translated version of the page Extension:CLDR and the translation is 68% complete.
MediaWiki扩展手册
CLDR
发行状态: 稳定版
描述 提供根据语言代码本地化语言、国家、货币和时间单位名称的功能。
作者
最新版本 4.15.0 (持续更新)
MediaWiki 1.30+
数据库更改
Composer mediawiki/cldr
许可协议 GPL-2.0-or-later, data variant of BSD 3-clauses
下載 包含在语言扩展包中
README
示例 Translatewiki.net
master
正在使用的公开wiki数 6,625 (Ranked 63rd)
前往translatewiki.net翻譯CLDR扩展

CLDR 扩展包含从 CLDR 数据中提取的不同语言、国家、货币和时间单位的本地语言名称。 参见 translatewiki:CLDR 以获取更多信息。

安装

  • 下载文件,并将解压后的cldr文件夹移动到extensions/目录中。
    开发者和代码贡献人员应从Git安装扩展,输入:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/cldr
  • 将下列代码放置在您的LocalSettings.php 的底部:
    wfLoadExtension( 'cldr' );
    
  •   完成 – 在您的wiki上导航至Special:Version,以验证已成功安装扩展。

如果您从 git 下载,请将文件从 CLDR 更改为 cldr。

更新数据

CLDR 扩展附带语言文件中预填充的数据,但如果您想从 Unicode Consortium 获取最新数据,则需要从 CLDR 站点下载它,然后运行重构建脚本。

从 CLDR 站点下载最新数据:

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

示例(来自 cldr 目录):

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

用法和参数

语言名称

CLDR定义了带有一个静态函数getNames()的类LanguageNames。 LanguageNames::getNames接受三个参数:

  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

示例

The language names are best access with MediaWiki core functions:

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

国家名称

CLDR定义了带有一个静态函数getNames()的类CountryNamesCountryNames::getNames接受一个参数:

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

以下示例将一个变量设为CLDR中以法语列出的所有国家的列表。

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


参见