This document is for CakePHP's development version, which can be significantly different
from previous releases.
You may want to read
current stable release documentation instead.
CakePHP の国際化機能は、 po files を翻訳のソースとして使います。POファイルは Poedit のようなツールで簡単に編集できます。
CakePHP の i18n コマンドは、手軽に potファイル(poテンプレートファイル)を生成します。 翻訳者は、これらのテンプレートファイルを使ってアプリケーションの翻訳作業を行ないます。 翻訳が更新された pot ファイルは既存の翻訳とマージされます。
extract
コマンドを使って、既存のアプリケーションのために
POT ファイルを生成することができます。
このコマンドはアプリケーション全体から
__()
形式の関数をスキャンし、メッセージ文字列を
抽出します。アプリケーション中のユニークな文字列は
それぞれひとつの POT ファイルの中にマージされます。
.. code-block:: console
bin/cake i18n extract
上記は、抽出シェルを実行します。 このコマンドの結果は、
resources/locales/default.pot ファイルになります。
pot ファイルは、 po ファイルを作成するためのテンプレート
として使用します。もし、手動で pot ファイルから po ファイルを
作成するなら、 Plural-Forms
ヘッダー行を正しく設定してください。
特定のプラグインで使用される POT ファイルを生成することができます。
bin/cake i18n extract --plugin <Plugin>
これにより、プラグインで使用される必要な POT ファイルが生成されます。
複数ディレクトリから文字列の抽出が必要なこともあるでしょう。
例えば、アプリケーションの config
ディレクトリー内の
いくつかの文字列を定義している場合、 src
ディレクトリと
同様にこのディレクトリーからも文字列を抽出したくなる
はずです。
それには --paths
オプションを使用することができます。
そのオプションに抽出する絶対パスをカンマ区切りリストで
渡します。
bin/cake i18n extract --paths /var/www/app/config,/var/www/app/src
除外したいフォルダーをカンマ区切りで指定します。指定された値に含まれるパスは無視されます。
bin/cake i18n extract --exclude vendor,tests
--overwrite
を追加することで、 POT ファイルが存在しても警告されず、
デフォルトで上書きされます。
bin/cake i18n extract --overwrite
デフォルトで、抽出シェルスクリプトは CakePHP コアライブラリー中で使われているメッセージを
抽出するかどうか訊ねます。 --extract-core
に yes か no を設定することで、
デフォルトの動作を指定できます。
bin/cake i18n extract --extract-core yes
// または
bin/cake i18n extract --extract-core no