2013-10-21 19 views
0

在類方法參數中使用gettext字符串我有一個挑戰。他們沒有翻譯。任何其他(可以說靜態的)字符串都可以毫無問題地翻譯出來,gettext就像它們的魅力一樣。php類方法參數中的gettext字符串

這是不工作的翻譯的例子:

$myClass->myMethod(_('string to be translated')); 

方法定義:

public function myMethod (arg1) { 
    echo arg1; 
} 

它總是隻顯示在第一頁加載設置翻譯。無論多少次我切換語言,或刷新他的頁面。我也嘗試將字符串作爲變量傳遞。不幸的是它不工作:

$var = _('string to be translated'); 
$myClass->myMethod($var); 

謝謝你的提示! :)

回答

0

在您的locales-File中是否有翻譯?你只使用系統區域設置還是你自己的文件?

+0

感謝您的關注。是的,字符串已被挑選翻譯成pot文件,並且它們被翻譯成合適的mo文件。如果將瀏覽器首選語言切換爲應用程序支持的語言,我會看到翻譯。這意味着,翻譯本身是可以的。當我改變語言時,他們只是沒有改變。只有靜態翻譯運作良好。 – user873162

+0

但是,這並不意味着在這個特定的語言是否翻譯是可用的,如果其他語言的工作? – nPoday

+0

可能,現在,我只有一種翻譯可用。我肯定,那個翻譯就在那裏。正如我所說,我已經能夠看到翻譯,但我無法切換到另一個。任何其他靜態文本的作品完美。我能夠在兩種語言之間切換。我想這與php緩存有關。我已經重新啓動Apache,但它沒有幫助。 – user873162

相關問題