我在視圖中使用<?php echo __("this is my string"); ?>
來顯示多種語言的文本。我創建了德語的.po文件目錄:CakePHP 2.1 .po文件/翻譯不起作用
=>應用程序/地點/ GER/LC_MESSAGES/default.po
MSGID 「這是我的字符串」
msgstr「死IST MEINE zeichenkette」
當我添加Configure::write('Config.language','ger');
我AppController.php beforeFilter功能文本仍然‘這是我的字符串’。即使我用不同的msgstr爲英文創建.po,文本仍然保持不變。
我必須更改特定設置才能激活翻譯嗎?
我有一個跟進的問題:我添加Configure::write('Config.language','eng');
到core.php中設置我的默認語言,但現在我不能改變的價值,即使我嘗試在重寫它AppController.php beforeFilter有:
Configure::write('Config.language', 'deu'); //'de' also doesn't work
CakeSession::write('Config.language', 'deu'); //'de' also doesn't work
如果我更改了它core.php中工作完全正常,但一旦設置在core.php中的價值,我不能改變它。
解決方法:啊,我忘了在所有控制器的beforeFilter函數裏面加上parent::beforeFilter();
。
其他信息:
- 如果要定義一個默認的語言(你通常會),加
Configure::write('Config.language', 'eng');
到core.php中
感謝與L10n.php文件提示,我會用於未來的參考。 – 2012-04-06 22:27:20
謝謝,看看cakePhp的核心,幫助我理解。 – 2012-04-06 22:35:17