Manual:Pywikibot/国際化
Appearance
| Pywikibot |
|---|
|
このページでは、Pywikibotにおける「i18n」システムの仕組みについて分かりやすく解説します。
利用者向け
i18nサブモジュールは、ボットを運用する上で極めて重要です。英語版のウィキで動かすかどうかにかかわらず、Pywikibotを利用するなら避けては通れません。 インストールする場合は、以下のコマンドを実行してください。
$ cd scripts
$ git clone https://gerrit.wikimedia.org/r/pywikibot/i18n.git
もし
--recursive オプションを付けて Pywikibot をクローンした場合、あるいは Nightly 版をダウンロードした場合は、i18n サブモジュールは既に含まれています。そのため、別途インストール作業を行う必要はありません。SVNを使用している場合は、常に以下のコマンドを使用して、サブモジュールを個別に設定・更新する必要があります。
$ cd scripts
$ svn co https://github.com/wikimedia/pywikibot-i18n/trunk i18n
i18nファイルは scripts/i18n フォルダ内に保存されているJSON形式のファイルで、言語やスクリプト(実行スクリプト)ごとに分類されています。例えば、category.py に関するペルシャ語のi18nフレーズは以下の場所にあります。
scripts --> i18n --> category --> fa.json
国際化の変更や追加
もし、特定のスクリプトについて自分の言語の翻訳を変更・追加したい場合は、translatewiki.net を利用してください。変更内容は、1〜2週間ほど待ってから i18n サブモジュールを更新することで反映されます。 i18n サブモジュールを更新するには、以下のコマンドを実行してください。
$ cd scripts
$ cd i18n
$ git pull
または、ルートディレクトリで以下を実行します。
$ git pull --recurse-submodules
反映を待てない場合は手動で変更することも可能ですが、おすすめはしません。次回のアップデート時にエラー(競合)が発生する原因になる可能性があるためです。
開発者向け
I18nクラスは pywikibot フォルダ内の i18n.py にあります。関連ドキュメントについては、こちらのドキュメントを参照してください。 簡単な例を挙げます。
>>> from pywikibot import i18n
>>> print(i18n.twtranslate('es', 'pywikibot-enter-new-text'))
Escribe el nuevo texto:
>>> print(i18n.twtranslate('arz', 'featured-good'))
بوت: %(page)s هي مقالة جيدة # arz(エジプト・アラビア語)の翻訳が存在しないため、代わりに ar(アラビア語)のi18nが返されました。
言語コードの代わりに、site オブジェクトを直接渡すことも可能です。
>>> import pywikibot
>>> print(pywikibot.i18n.twtranslate(pywikibot.Site('el'), 'featured-good'))
Ρομπότ: το %(page)s είναι καλό άρθρο
- ご使用の Pywikibot のセットアップにさらなるヘルプが必要な場合は、IRC チャンネル #pywikibot 接続 または pywikibot@ メーリング リストにお問い合わせください。