Cakephp で i18n を実装するにはどうすればよいですか?
Cakephp を使用して i18n を実装する方法について、インターネット上にはこれ以上詳細な中国語情報がないようです。たまたま昨日コード内のプロンプトについて中国語を勉強することになったので少し経験したので簡単にまとめました。
中国語のcakephpには次の手順があります:
1. コード内で__()関数を使用します。
次に示すように、進行中の翻訳が必要な場合は __() 関数を使用します。
__('This is the string i need to translation', true);
2 番目のパラメータを true に設定すると、対応する翻訳されたエントリがあれば翻訳されたエントリが出力され、そうでない場合は未翻訳のエントリが出力されます。
2、i18n タスクを実行します
コードに __() 関数がある場合、i18n タスクを実行してコードをスキャンできます。
i18n タスクの機能は、ソース コード内のすべての __() 関数をスキャンし、__() 内の文字列の翻訳インデックスを作成し、これらのインデックスを .pot ファイルに保存することです。
では、i18n タスクを実行するにはどうすればよいでしょうか?
プロジェクトの app ディレクトリに入るコマンドライン
Windows プラットフォームの場合は、環境変数の PATH に php の bin パスが含まれていることを確認し、cake ディレクトリに Cakeconsole も存在することを確認してください。環境変数の PATH で
コマンド Cake i18n を実行します。このとき、次のプロンプトが表示されます。
--------------------------------------- I18n Shell --------------------------------------- [E]xtract POT file from sources [I]nitialize i18n database table [H]elp [Q]uit What would you like to do? (E/I/H/Q) >
Configure::write('Config.language', 'chs');