2012-01-27 14 views
1

私はKohana 3.2でWebアプリケーションを開発しています。 メッセージファイルやビューなどで__()関数を使用します。アプリを複数の言語で利用できるようにしたいからです。Kohana翻訳ファイル

翻訳しなければならないすべての文字列を高速かつ簡単に収集する方法はありますか?たとえば、私のためにこれを行うことができるコードエディタ(ウィンドウ上)?

__()関数を呼び出すために使用されるすべてのファイルからすべての文字列を含むリストが必要です。 この問題をどのように処理するのか、またはあなたが提案するものは?

ありがとうございました!

+1

私は以前、似たような問題を抱えていましたが、これが私の解決策でした:http://stackoverflow.com/questions/6245944/translating-kohana-modules-in-a-convenient-way – jannej

答えて

4

モジュールまたはアプリケーションフォルダからすべての__()囲まれた文字列を収集し、適切な言語配列を出力するための単純なドロップインモジュール(kohana-i18nget、kohana-i18nget on github)があります(必要なすべての言語を設定ファイル)をi18nフォルダにコピーします。

既存の翻訳キーはそのまま保持されます。コマンドラインを経由して、プロジェクトのルートから呼び出されます。

php index.php --uri=i18nget/generate/mymodule/mymodule 
or 
php index.php --uri=i18nget/generate/application/application 

最初のコマンドは/国際化/をMyModuleというするのmymoduleで見つかった文字列の言語ファイルを生成し、第二は、アプリケーション/国際化/

でアプリケーションフォルダのファイルを生成します

また、ソースファイルで使用されていない孤立したトランスレーションキーも指摘しています。

1

Kohanaは独自のシステムを使用して翻訳を処理しています。詳しくはhereをご覧ください。残念ながら、PHPファイルから文字列を抽出するためのツールは提供していませんので、手動で行う必要があります。

自動文字列抽出が必要な場合は、gettextなどのより完全なソリューションを検討し、Poeditを使用して文字列を抽出する必要があります。

0

また、これらの文字列を抽出するために、いくつかのシェルスクリプトを使用することができます。

grep -or "__\((.*)\)" .

アプリのフォルダから。