ホームページ >バックエンド開発 >PHPチュートリアル >Cakephp で i18n を実装する方法

Cakephp で i18n を実装する方法

WBOY
WBOYオリジナル
2016-06-13 13:26:12882ブラウズ

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)
>


i18n タスクの実行後。 、default という名前のファイルが applocale ディレクトリに生成されるはずです。このファイルを applocalechsLC_MESSAGES ディレクトリにコピーします。
pot ファイル編集ツールを使用してエントリを翻訳します。 Poedit
を使用し、次のコードを appconfigcore.php に追加することをお勧めします。

Configure::write('Config.language', 'chs');


これで、単純なプロジェクト文化が完成しました。

紙面の都合上、詳細の多くは完全には紹介できません。ご質問がある場合は、cakephp のヘルプドキュメントを参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。