2010-12-07 62 views

回答

1

根據存儲在會話中的值,您可以更改引導程序中的de默認應用程序語言環境。如果你想添加一種新語言,這樣你可以獲得更多的靈活性,如果你所有的代碼都是基於本地用戶而構建的,你只需要創建一個新的翻譯文件。這也將減少日期/時間和金錢的顯示過程,因爲這些也是基於語言環境的。

法語的語言環境,即:fr_FR目錄或fr_CA(法語加拿大法語法國) 英語語言環境ID:EN_US或en_UK(英語美國或英國聯合KINDOM)

,然後,如果你要顯示的錢,當地將設置好的貨幣符號(但不會做價格轉換)(即fr_FR - >€和fr_CA - > $)

您可以根據用戶的地理位置基於他的IP地址

2

您無法在GET中存儲信息,而且您需要將URL改寫成如下所示www.domain.com/lang/de但它對於使您的應用程序搜索引擎友好非常有用。

爲了您的答案,我將使用您所謂的GET + Cookies。

數據庫 - 您將需要一個表格,或者如果您已經爲您的用戶創建了表格,則至少需要一個字段。

會話用戶應該設置他們是語言每次它有點無聊!

2

GET方法將要求用戶每次都去首頁,即使他有直接鏈接到裏面的東西。否則你不能使用get,否則你將不得不將它包含在每一個鏈接中。會話方法將過期並忘記用戶。該數據庫很好,但用戶將不得不登錄,然後用他自己的語言查看網站。我認爲最好的做法是使用cookie。

+1

那麼,在Zend Framework中使用GET並不是很難,因爲它包含一個路由器類,它的c一個很容易配置。 – 2010-12-07 14:56:51

+0

是的,但仍然。我想你會希望網絡應用在下次訪問時記住用戶的選擇。 GET自己會強制用戶每次選擇一種語言。您需要在某處存儲語言代碼(即「en」)。最好的地方是一個cookie - 即使他離開網站,它仍然保留在用戶電腦上。 – DreamWave 2010-12-07 14:59:55

1

嗯......

  1. 用自定義路線設置在ZF - 你可能可以省略「郎」部分。 它也很容易配置和良好的搜索引擎優化。
  2. 會話設置#1好辦法,當用戶返回到您的網站
  3. 數據庫存儲的設置#2和#1時,在用自己的喜好 用戶登錄設置的好方法。

還有一種嘗試執行初始設置的好方法是使用Zend_Locale通過操作系統/瀏覽器設置來檢測用戶語言。但是,如果你這樣做,你應該總是讓用戶覆蓋你的檢測值(並保存在會話或數據庫設置)

這是完全取決於你的東西。你很難找到一個「標準」。

3

Cookie方法可能會變成真正煩人的公共機器(網吧等)。

對於最好的搜索引擎優化結果,你應該設置你的不同語言的網址,但我通常也會將選定的語言存儲在會話中。當然這會在瀏覽器關閉時過期,但是當用戶訪問該網站時,我總是檢查Accept-Language標題,並根據該標題確定開始語言。

如果您有類似自動登錄功能的東西,您也可以將所選語言保存在數據庫中。

相關問題