2013-01-09 79 views
1

我有一些麻煩,在CakePHP的1.3的本地代碼(也適用於2.0)CakePHP的國際化的本地代碼

我使用的3個字母代碼的語言,但部分代碼是不可用的。例如,我想爲澳大利亞設置aus。如文檔所述

三個字符的語言環境代碼符合ISO 639-2標準,但如果您創建區域語言環境(en_US,en_GB等),cake將在適當的情況下使用它們。

aus存在於ISO 639-2中,但不適用於CakePHP。它保存了i18n記錄,但是當顯示內容時需要英文版本。當放置ISO標準中不可用的代碼時,也會發生同樣的情況。我也嘗試了基於位置的代碼en_AU,結果是一樣的。

我能夠使任何代碼工作,無論它是否符合ISO標準。這是因爲網站管理員可以訪問網站中的語言,我希望允許他使用任何字母組合作爲該語言的代碼。

還怎麼去設置代碼爲澳大利亞

+3

你如何設置語言?使用'Configure :: write('Config.language','en-au')'? (注意破折號/ https://github.com/cakephp/cakephp/blob/2.3/lib/Cake/I18n/L10n.php)。該文件夾然後將是「en_au」 – mark

+0

像這樣,它的作品。謝謝 –

回答

1

你需要告訴蛋糕,你使用的是什麼語言,您的翻譯。 您可以使用一般的三字母代碼(如eng)或更多位置特定的代碼(如en-US)。

你的情況:

Configure::write('Config.language', 'en-au') 

注意破折號(https://github.com/cakephp/cakephp/blob/2.3/lib/Cake/I18n/L10n.php)。

文件夾,然後將「EN_AU」在/APP/Locale/