2013-05-30 71 views
0

我在ZF2中使用翻譯器時遇到問題。即它只接受內聯字符串而不是Php變量。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

您需要指定一個「文本域」,無論是默認或當你調用翻譯方法。如果這樣做,那麼確保$ msg1實際上有一個字符串。

http://framework.zend.com/manual/2.0/en/modules/zend.i18n.translating.html

$ translator->翻譯($消息,$ textDomain,$區域);

該消息是要翻譯的消息的ID。如果加載程序轉換中不存在 或爲空,則會返回原始消息ID 。文本域參數是您在添加翻譯時指定的 。如果省略,則使用默認文本域 。區域設置參數通常不會在此上下文中使用,默認情況下,區域設置取自 轉換程序中設置的區域設置。

+0

謝謝@Rijidael。爲什麼我們需要文本域?$ textDomain的期望值是什麼? –