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