私はアルファ版からZF2を使用しているので、まったく新しいわけではありません。ただし、現在のプロジェクトを邪魔しないように、新しいSkeletonAppをセットアップして、機能しています。英語とドイツ語の両方に必要な翻訳を追加しましたが、期待どおりに機能しています。ただし、フォームエラーメッセージはドイツ語やその他の言語に翻訳されていません。
マニュアルを読みましたが、ファクトリに基づいて翻訳をセットアップする方法のみをカバーしており、module.config.php内でセットアップする方法に関する詳細はありません。ZF1と同様に、ZF2にも、すでに翻訳されているすべてのフォーム検証エラーメッセージを含むresources/languagesフォルダーがあります。それらを使いたい!そして、これが私の問題です。すべてのフォームでこれを機能させるための構成を追加する方法がわかりません。
SkeletonAppに基づく私のmodule.config.phpファイルでは、すでに翻訳がサポートされていたので、これが機能すると仮定して、その構成を取得し、別の配列を追加しました。
'translator' => array(
'locale' => 'en_US',
'translation_file_patterns' => array(
array(
'type' => 'gettext',
'base_dir' => __DIR__ . '/../language',
'pattern' => '%s.mo'
),
array(
'type' => 'phparray',
'base_dir' => __DIR__ . '/../resources/languages',
'pattern' => '%s.php'
)
)
),
しかし、これは役に立たなかった。私のコントローラーには、次のようにロケールを設定するeventManagerがあります。
$ self-> getServiceLocator()-> get('translator')-> setLocale('en_US'); //ドイツ語の場合はde_DEに変更
上記のようにこれを行うと、テキストが英語からドイツ語などに翻訳されます。
フォームエラーを翻訳するために何が欠けていますか?この状況について共有できるガイダンスをありがとうございます。