簡體   English   中英

翻譯表單錯誤消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM