我在ZF2中使用翻译时遇到问题。即它只接受内联字符串而不接受Php变量。
完成并在“更新”后显示.PO文件中的翻译词,当我提供内联字符串翻译时
$translator = $this->getServiceLocator()->get('translator');
$translator->translate("message to translate") ;
但我想翻译保存在PHP变量中的字符串。在“更新”之后,它没有在.PO文件中显示翻译词。请参阅下面的代码。
$translator = $this->getServiceLocator()->get('translator');
$msg1="message to translate";
$translator->translate($msg1) ;
此代码来自我的一个控制器操作。
请咨询
答案 0 :(得分:0)
您需要指定“文本域”,默认或调用translate方法时。如果这样做,那么确保$ msg1实际上有一个字符串。
http://framework.zend.com/manual/2.0/en/modules/zend.i18n.translating.html
$ translator-> translate($ message,$ textDomain,$ locale);
邮件是要翻译的邮件的ID。如果没有 存在于加载程序翻译中或为空,即原始消息ID 将被退回。 text domain参数是您指定的参数 添加翻译时。如果省略,则默认文本域为 用过的。 locale参数通常不会在此上下文中使用, 默认情况下,语言环境取自在中设置的语言环境 翻译。