0

ZendFramework2フォームの翻訳について質問がありました。現在、フォームのエラーメッセージを英語からイタリア語(私の言語)に翻訳できません。

module.config.phpを次のように設定しようとしました:

//...
'translator' => array(
    'locale' => 'it_IT',
    'translation_file_patterns' => array(
        array(
            'type' => 'phparray',
            'base_dir' => __DIR__. '/../language/form_errors',
            'pattern' => '%s.php'
        )
    ),
),

そして、ファイルは現在Translatorクラスにロードされています。問題は、フォームエラーのインデックス(またはメッセージ)を書き込んでも、フォームメッセージを変換しないことです。

return array(
'Skeleton Application' => 'Applicazione Scheletro',
"IS_EMPTY" => 'Il valore non può essere vuoto'
);

ただし、$ translator-> translate('Skeleton Application')を使用すると、魅力のように機能します...ヒントはありますか?

アドバイスありがとうございます。

4

2 に答える 2

3

これは、英語のエラー メッセージを翻訳する必要があるためです。これは「IS_EMPTY」ではなく、「この入力は必須であり、空にすることはできません」のようなものです。

gettext 翻訳を使用することをお勧めします。それでもかなり高速ですが、ソースから翻訳文字列を翻訳および取得するための強力なツールがいくつか提供されます (たとえば、PoEdit)。

于 2012-09-06T14:29:18.843 に答える
2

すべての検証メッセージはすでに翻訳されています。翻訳ファイルはディレクトリ「resources/languages/」にあります。

これを見てください: http://packages.zendframework.com/docs/latest/manual/en/modules/zend.validator.messages.html

于 2012-10-25T08:17:03.760 に答える