ホームページ  >  記事  >  バックエンド開発  >  Cakephp で i18n を実装するにはどうすればよいですか?

Cakephp で i18n を実装するにはどうすればよいですか?

黄舟
黄舟オリジナル
2016-12-20 09:26:411074ブラウズ

cakephp を使用して i18n を実装する方法については、インターネット上にこれ以上詳細な中国語情報がないようです。たまたま昨日、コード内のプロンプトについて中国語を勉強することになったので、少し経験したので簡単にまとめました。

中国語のcakephpには次の手順があります:

1. コード内で__()関数を使用します。

以下に示すように、継続的な翻訳が必要な場合は __() 関数を使用します。

Php コード

__('これは翻訳する必要がある文字列です', true);

__('これは私が翻訳する必要がある文字列です);翻訳する必要があります', true);

2 番目のパラメーターを true に設定すると、対応する翻訳されたエントリがあれば翻訳されたエントリが出力され、そうでない場合は未翻訳のエントリが出力されます。

2. i18n タスクを実行します

コードに __() 関数がある場合、i18n タスクを実行してコードをスキャンできます。

i18n のタスクは、ソース コード内のすべての __() 関数をスキャンし、__() 内の文字列の翻訳インデックスを作成し、これらのインデックスを .pot ファイルに保存することです。

では、i18n タスクを実行するにはどうすればよいでしょうか?

コマンドラインでプロジェクトのappディレクトリを入力してください

Windowsプラットフォームの場合は、環境変数のPATHにphpのbinパスが含まれていることを確認し、cakeディレクトリ内のcakeconsoleも存在することを確認してください。環境変数のPATH

コマンドcake i18nを実行すると、次のプロンプトが表示されるので、Eを選択してください

---------------------- ---------- ----------
I18n シェル
------------------------------------- -------------- --
[E]ソースから POT ファイルを抽出
[I]i18n データベース テーブルを初期化
[H]elp
[Q]uit
何をしたいですか? (E/I/H/Q)
>

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

次のコードを appconfigcore.php に追加します:

Php コード

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

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


さて、これで簡単な中国文化プロジェクトは完了です。

紙面の都合上、詳しくは紹介しきれなかった部分も多くあります。ご質問がある場合は、cakephp のヘルプドキュメントを参照してください。

上記は、Cakephp で i18n を実装する方法の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

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