2011-07-13 15 views
3

私は、ビューの2.xがローカリゼーションで悪いので、私のビューの1つの中でcustomfiel PHPコードを使用して文字列を翻訳します。私は次のPHPコードを使用しています:t()関数は文字列を翻訳インターフェイスに追加しません

しかし、文字列は "translate interface"セクションには現れません。

ご協力いただきありがとうございます。

ルーカス

答えて

0

局在データベースがt()機能(およびJavaScriptでDrupal.t())のインスタンスを探して、ソースコードをスキャンすることによって構築されます。

Drupal管理領域のテキストボックスに問題のコードが入力されている場合、そのコードはソースコードには含まれていないため、ローカライゼーションプロセスでは選択されません。

この理由(および他の理由)のために、できるだけ少ないコードを管理テキストボックスに入れてください。同じことを達成するには、通常は別の方法がありますが、そうでない場合でもコードを最小限に抑える必要があります。単一行の関数呼び出し以外は何もしないことがベストプラクティスです。 、あなたのモジュールやテーマに関数コードを書いてください。そうすれば、ローカリゼーションを実行するときに解析されます。

5

ローカライゼーションスクリプトが何もスキャンしていないので、受け入れられた回答はです。です。この文字列は、非標準言語で初めてt()関数を通過するとすぐにtranslateインターフェイスに登録されます。

したがって、あなたが書いているコードが(データベースから解釈される)ソースに存在するかどうかは関係ありません。明らかに、コードが所属するファイルにコードを保持するのがよいでしょう。

This blog postは、文字列を翻訳インターフェイスに取り込むために必要なことを記述しています。

関連する問題