3

Cake php アプリがあり、翻訳機能を使用しています<?php __('msg'); ?>。私は app/config/bootstrap.php 行を追加しましたConfigure::write('Config.language', 'eng');- デフォルト言語として英語が必要です。

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

次に、アプリ フォルダーで Windows コンソールを開き、「cake i18n extract」と入力しました。いくつかのプロンプトが表示されました。アプリ ディレクトリをスキャンして、Locale ディレクトリに出力することを選択しました。

私のフォルダー app/Locale での i18n 手順の後、いくつかのファイルが表示されました。

cake.pot
cake_dev.pot
default.pot

app/Locale/eng には何もありません

そのため、default.pot を app/Locale/eng/LC_MESSAGES にコピーしていくつかの翻訳を追加しましたが、ウェブサイトで開くと、__('') 関数の代わりに何も出力されません...

これを正しく設定するには?

4

1 に答える 1

3

:) 作成したばかりの .pot ファイルから各 lang の .po ファイルを作成する必要があります.. poeditを使用してそれを行うことをお勧めします

Poedit で、 に移動し、ケーキ ベイクによって生成されたファイルFile->New Catalog from POT fileを選択します。default.potいくつかの情報を尋ねられ、翻訳するすべてのテキストが表示され、1 つが完成したら、次の場所に保存します。app/Locale/eng/LC_MESSAGES/default.po

コードでこれらの文字列の一部を追加/削除/変更する場合は、ベイクを再度実行してテキストを抽出する必要があります。.pot ファイルを更新し、Poedit で .po ファイルを開いてそこに移動Catalog->Update from POTすると、翻訳する必要があるすべての新しい行が表示されます。以前の翻訳

お役に立てれば

于 2012-05-07T11:02:52.673 に答える