Jump to content

Manual:Pywikibot/国際化

From mediawiki.org
This page is a translated version of the page Manual:Pywikibot/i18n and the translation is 100% complete.

このページでは、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@ メーリング リストにお問い合わせください。