ZF 1.12 を使用してアプリケーションを構築しています。アプリは、ポーランド語と英語の 2 つの言語で利用できます。翻訳には gettext アダプターを使用していますが、かなりうまく機能します。しかし!インターフェイスとメッセージ全体を既に翻訳しましたが、翻訳方法がわからないのは検証エラーだけです。問題は、フォームの検証中に translate() に渡されるすべてのエラーが純粋な文字列ではない変数であるため、コードから抽出できないことです。もちろん、すべてのエラーを文字列として別のファイルを作成するか、-a オプションを指定して xgettext を使用して Zend_Validate パッケージのすべての文字列を変換できますが、よりスマートなソリューションを探しています...誰かそのようなソリューションを持っていますか? よろしくお願いします。
1 に答える
0
配列を使ってみることができると思います。すべてのエラーがtranslate()
関数に渡されると言う場合は、次のような配列を使用できます。
array(
'type_of_error_1' => array(
0 => array('language' => 'en', 'message' => 'In English for type_error_1'),
1 => array('language' => 'po', 'message' => 'In Polish for type_error_1'),
),
'type_of_error_2' => array(
0 => array('language' => 'en', 'message' => 'In English for type_error_2'),
1 => array('language' => 'po', 'message' => 'In Polish for type_error_2'),
),
...
);
あらゆる種類のエラーのメッセージを正しい言語で表示します。
于 2013-01-29T12:41:46.003 に答える