我正在使用ZF 1.12构建一个应用程序。应用程序将提供两种语言-波兰语和英语。对于翻译,我使用的是gettext适配器,它工作得很好。但!我已经翻译了整个界面和消息,唯一不知道如何翻译的就是验证错误。问题是,在表单验证期间,传递给translate()的所有错误都是变量,而不是纯字符串,所以我无法从代码中提取它们。当然,我可以创建单独的文件,将所有错误作为字符串,或者使用带有-a选项的xgettext来翻译Zend_Validate包中的所有字符串,但我正在寻找更智能的解决方案……有谁有这样的解决方案吗?我会很好的,提前谢谢。
发布于 2013-01-29 20:41:46
我认为你可以尝试使用数组。如果您说所有的错误都被传递给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'),
),
...
);并以正确的语言显示任何类型的错误的消息。
https://stackoverflow.com/questions/14577420
复制相似问题