2

ZF 1.12 を使用してアプリケーションを構築しています。アプリは、ポーランド語と英語の 2 つの言語で利用できます。翻訳には gettext アダプターを使用していますが、かなりうまく機能します。しかし!インターフェイスとメッセージ全体を既に翻訳しましたが、翻訳方法がわからないのは検証エラーだけです。問題は、フォームの検証中に translate() に渡されるすべてのエラーが純粋な文字列ではない変数であるため、コードから抽出できないことです。もちろん、すべてのエラーを文字列として別のファイルを作成するか、-a オプションを指定して xgettext を使用して Zend_Validate パッケージのすべての文字列を変換できますが、よりスマートなソリューションを探しています...誰かそのようなソリューションを持っていますか? よろしくお願いします。

4

1 に答える 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 に答える