2013-11-03 48 views
3

我使用i18n表格,並且有2種語言,英語(默認)和意大利語。當我使用意大利語版本時,我得到了所有意大利語翻譯的行,沒有翻譯的地方我什麼也沒得到。如何在沒有意大利語翻譯的情況下獲得英文文本?Cakephp i18n如果翻譯不可用,如何獲得默認語言的內容

i18n Table

當我有Config.language == ITA,並試圖顯示$這個 - > Career->找到( '所有');爲這一行我得到空的標題和正文。有沒有什麼簡單的方法來獲得英語的比賽?

謝謝!

回答

6

您需要將模型的語言環境設置爲所需語言環境的數組。默認情況下它被設置爲當前的Config.language

$this->Career->locale = array('ita', 'eng'); 
$this->Career->find('all'); 

這將返回所有記錄。如果意大利語翻譯不存在,則會提供英語翻譯。

+3

將'Model-> locale'設置爲數組解決了一堆問題! (例如,使用數組允許沒有特定翻譯的記錄可以「回退」到列表中的下一個記錄。)[The book](http://book.cakephp.org/2.0/en /core-libraries/behaviors/translate.html)應該多談這個。這個答案就像是解決方案的聖盃:如果可以的話,我會不止一次地加註。 – beporter

+0

當我找到答案時,我真的很高興,但這似乎不起作用。如果我將'locale'設置爲單個值'eng'或'pol',它工作正常,但是當我設置$ this-> locale = ['eng','pol'];它似乎被忽略,沒有翻譯結果,只是來自模型表的數據。 –

相關問題