[英]Translate Form Error Messages
自alpha以來,我一直在使用ZF2,所以我不是一個全新的人。 但是,為了不打擾我當前的項目,我安裝了一個新的SkeletonApp,它正在運行。 我已經添加了英語和德語所需的翻譯,它們的工作正常。 但是,格式錯誤消息不會被翻譯成德語或任何其他語言。
我已經閱讀了該手冊,但僅介紹了如何基於工廠設置翻譯,並且沒有關於如何在module.config.php中進行設置的詳細信息。 就像在ZF1中一樣,ZF2也有一個resources / language文件夾,其中包含所有已翻譯的表單驗證錯誤消息。 我想用那些! 這就是我的問題所在。 我不知道如何添加配置以使其與我所有的表格一起使用。
在我的基於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
就像我上面提到的那樣,確實可以將我的文本從英語翻譯成德語,依此類推。
我缺少什么使我的表格錯誤翻譯? 感謝您就此情況提供的任何指導。
這兩個源使用相同的文本域,而gettext源具有更高的優先級。 這意味着它將從gettext源加載您的語言環境,然后停止,因為已經加載了語言環境+文本域組合。
解決方案:每個源使用不同的文本域。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.