我有一個來自世界各地的許多人的網站。整個事情是UTF-8,所以人們可以自由地提交內容並以他們希望的任何語言發言 - 從希臘語到英語。基於瀏覽器和URL組合的自動檢測語言文件與PHP
現在,用戶無法控制的唯一內容是用於導航和註冊說明等內置網站語言。這些字符串在語言文件中,但很容易翻譯。
因此,現在我需要知道如何構建一個系統,該系統將嘗試自動檢測用戶首選語言,同時仍然允許更改該語言。
最簡單的方法做到這一點is to checkAccept-Language
標題users browser sends。大多數瀏覽器將以用戶所需的語言進行安裝 - 即使這樣他們也可以在設置中更改語言。
The problem is網吧用戶可能想要更改這些設置,但無法或用戶可能無法勝任網絡甚至不瞭解他們。在另一個國家的某臺計算機上拍攝一位愚蠢的美國遊客。 (我可以笑他們,因爲我是一個)。
所以這些人需要更好的方式改變語言包裝他們不能重寫瀏覽器。爲了回答這個問題,我想我可以實現一個基於URL的系統,如site.com/en_us/...
或site.com/fr_ca/...
。
好吧,這裏是我將如何想象它的工作。
- 新UserA即將到來。
- 我的網站沒有發現任何區域設置cookie
- 着眼於和解析接受語言頭
- 檢查現有郎目錄(以確保我支持fr_ca!)
- 套與語言Cookie作爲fr_ca
重定向用戶
site.com/fr_ca
用戶A現在加載
site.com/fr_ca
- 我的網站發現區域的cookie
- 區域設置cookie的URL區域設置相匹配
- 用戶必須要這個區域
繼續加載頁面
用戶B獲取鏈接,從用戶A指向
site.com/fr_ca
- 用戶B加載頁面,我的網站沒有發現區域的cookie
這裏是我在哪裏丟失的下一步做什麼
- 我的網站發現用戶B的瀏覽器說EN_US所以它重定向他們 或
- 我的網站創建一個區域的cookie fr_ca,用戶將要訪問EN_US改變這種狀況。
這似乎是一個非常穩固的方式來處理語言檢測,所以我知道是否說註冊或註冊?
這是一個簡單的CSS修復,可以通過語言環境啓用 - 所以我不認爲這是一個問題。 – Xeoncross 2009-11-12 20:23:04