2011-05-24 93 views
12

我需要設置的CodeIgniter是一個真正的多語言網站。我已經搜索,但我找不到解決方案。如何爲一個真正的多語言網站設置CodeIgniter?

我測試過這種方法,但它無法正常工作。 (http://codeigniter.com/wiki/Category%3AInternationalization%3A%3AInternationalization_Views_i18n /)

有人可以給我一個關於使用什麼設置,以獲得CI中一個真正的多語言環境的線索?

最好的問候,

+2

**一個真正的多語言網站?**你是什麼意思是什麼呢? – 2011-05-24 14:40:07

+0

對不起,我英語不好。我需要這樣的URI:www.mysite.com/en/controller,www.mysite.com/pt/controller,www.mysite.com/de/controller – 2011-05-24 14:41:45

+0

他真的意味着國際化(i18n)。這個問題是否有幫助:http://stackoverflow.com/questions/1328420/the-best-way-to-make-codeigniter-website-multi-language-calling-from-lang-arrays/1328437#1328437 – 2011-05-24 14:54:54

回答

11

https://github.com/EllisLab/CodeIgniter/wiki/CodeIgniter-2.1-internationalization-i18n

如果實現了這一點,您的網址將包含語言代碼。您可以將語言部分保存在語言目錄中。使用函數lang();

加載語言文件和處理這些問題是在這裏解釋: http://ellislab.com/codeigniter/user-guide/libraries/language.html

助手: http://ellislab.com/codeigniter/user-guide/helpers/language_helper.html

最簡單的方法是有一些全球性的語言文件,你自動加載。我建議爲每個控制器創建一個語言文件。所以你只加載你需要的部分,而不是加載所有的語言文件。

0

從我學到的東西。建立你自己的庫和模塊來處理它們是一個關鍵。本地支持方面我還沒有取得太大的成功,因爲有時候它有點棘手。但基本的是,你有你的默認網站加載的選項,選擇你選擇的語言,在站點內回聲變量,而不是靜態文本。然後將這些變量存儲在可稱爲語言包的內容中。每種語言包有相同的變量,但是每種語言包含翻譯後的版本。隨着代碼點火器可能更困難,然後只是附加了一下您的網址的識別任何給定的其他語言,即:mydomain.com/en/ mydomain.com/it/ mydomain.com/fr/並具有基於語言負荷關閉這樣的URL,但是您可以使用CI的內置會話支持來存儲應顯示哪種語言。而基於關閉該顯示器的我知道已選定的語言,那不是一對答案如何做到這一點的超級死了,但是這是我將如何處理它,我應該永遠得到一個項目,我想多語言支持。

+0

請勿使用語言cookie(會話)處理多種語言並扣留sme URL。在搜索引擎優化的手段,這將是重複的內容 – 2014-05-16 13:36:10