2012-05-07 15 views
1

私はケーキのPHPアプリを持っており、私は翻訳機能<?php __('msg'); ?>を使用しています。 私のapp/config/bootstrap.php私は行を追加しましたConfigure::write('Config.language', 'eng'); - 私は英語をデフォルト言語にします。i18nコンソールタスク - どのように使用するのですか?

私はフォルダapp/Locale/eng/LC_MESSAGESを作成しました。

私はアプリケーションフォルダにWindowsコンソールを開き、「cake i18n extract」とタイプしました。いくつかのプロンプトがありました。アプリケーションディレクトリをスキャンしてLocaleディレクトリに出力することを選択しました。

は私のフォルダアプリで国際化手順の後/ロケールのいくつかのファイルが現れた:

cake.pot 
cake_dev.pot 
default.pot 

アプリ/ロケールでは何も/ ENGだから私はちょうどdefault.potアプリ/ロケール/ ENGにコピー

/LC_MESSAGESといくつかの翻訳を追加しましたが、私がウェブサイトで開くと、__( '')関数の代わりに何も表示されません...

正しく設定するには?

答えて

3

:)あなたがちょうど作成した.POTファイルから各LANGのための.poファイルを作成する必要があります。.. 私が選択し、Poeditで

は、File->New Catalog from POT fileに行くことをやってpoeditを使用することをお勧めケーキベークによって生成されたdefault.potファイル。いくつかの情報を入力すると、すべてのテキストが翻訳されて表示されます。完成したものをapp/Locale/eng/LC_MESSAGES/default.po

に追加してください。これらの文字列をコードに追加/削除/変更すると、実行する必要がありますテキストを抽出するために再度焼く。 .potファイルが更新され、Poeditで.poファイルを開き、Catalog->Update from POTに移動すると、翻訳が必要な新しい行がすべて表示されます。また、翻訳を試みることもあります。あなたの過去の翻訳

希望これはまだ何も

+0

役立ちます - 関数は、まだ何も示していない私は、ロケール/ ENG/LC_MESSAGESにdefault.po(もdefault.mo登場)を作成し、いくつかの翻訳を追加しましたが、__(「」)を。 Configure :: read( 'Config.language')に「eng」と書かれているので、何が間違っていますか? – user606521

+2

あなたの例を読んで私はあなたが '<?php __(" msg ")?>'それは '<?php echo __(" msg ");?> – pleasedontbelong

関連する問題