Jump to content

Extension:CLDR

From mediawiki.org
This page is a translated version of the page Extension:CLDR and the translation is 100% 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
使用中の公開ウィキ 6,625 (Ranked 63rd)
translatewiki.net で翻訳を利用できる場合は、CLDR 拡張機能の翻訳にご協力ください

CLDR拡張機能は、 CLDRから抽出した様々な言語、国、通貨、時間単位のローカル名を提供します。 情報については translatewiki:CLDR を参照してください。

インストール

  • ダウンロードして、ファイルをextensions/フォルダー内のcldrという名前のディレクトリ内に配置します。
    開発者とコード寄稿者は、上記の代わりに以下を使用してGitからインストールします:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/cldr
  • 以下のコードを LocalSettings.php ファイルの末尾に追加します:
    wfLoadExtension( 'cldr' );
    
  • Yes 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

git からダウンロードする場合は、ファイルを CLDR から cldr に変更します。

データの更新

CLDR 拡張機能には、言語ファイルにあらかじめ入力されたデータが付いていますが、Unicode コンソーシアムから最新のデータを取得する場合は、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 は、static メソッド getNames() を持つクラス LanguageNames を定義します。 LanguageNames::getNames は以下の3つのパラメーターを受け取ります:

  1. code - 一覧を返す条件として選択した言語のISO 639コード(コードの詳細はマニュアル:言語#言語コードを参照)
  2. fbMethod - 代替方式は以下のいずれかに必ず設定:
    • LanguageNames::FALLBACK_NATIVE - 原語名の代替が欠落した項目(規定)
    • LanguageNames::FALLBACK_NORMAL - 一連の代替と対比して抽出された代替が欠落した項目
  3. list - 値を返す言語の設定。 以下のいずれかを条件として必ず選択:
    • LanguageNames::LIST_MW_SUPPORTED - MediaWiki でローカライズ済みの言語に限定
    • LanguageNames::LIST_MW - Names.php (既定値) に掲載されたすべての言語
    • LanguageNames::LIST_MW_AND_CLDR - MediaWiki もしくは CLDR に収載されたすべての言語

言語名はMediaWikiのコア機能でのアクセスが推奨されます:

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

国名

CLDR は、static メソッド CountryNames を持つクラス CountryNames を定義します。 CountryNames::getNames は以下の1つのパラメーターを受け取ります:

  1. code - 選択した言語のISO 639コードに一致する一覧を返す

次の例では変数にCLDRの国のリストをフランス語で指定しています。

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


関連項目