我在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) ;
这段代码来自我的一个控制器动作。
请建议
您需要指定一个'文本域',要么是默认的,要么是在调用translate方法时指定。如果这样做了,那么确保$msg1实际上有一个字符串。
http://framework.zend.com/manual/2.0/en/modules/zend.i18n.translating.html$translator->translate($message, $textDomain, $locale);
消息是要翻译的消息的ID。如果没有存在于加载器翻译或为空的原始消息ID将被归还。文本域参数是您指定的参数添加翻译时。如果省略,则默认文本域为使用。locale参数通常不会在此上下文中使用,缺省情况下,区域设置取自翻译。