2015-04-24 33 views

回答

2

有很多方法自動檢測用戶區域,但我不知道任何完美的解決方案。全部取決於您的確切要求。例如,可以使用navigator.language || navigator.browserLanguage。例如,您將獲得像"en-US"這樣的字符串。 The old demothe feature request演示了navigator.language || navigator.browserLanguage的用法。

用戶仍然可以在Web瀏覽器的設置另一種語言的首選項:

enter image description here

等網頁瀏覽器將包含在HTTP請求到服務器Accept-Language頭:

Accept-Language: de,en-GB;q=0.8,en;q=0.6,en-US;q=0.4,ru;q=0.2,ja;q=0.2 

設置可以在用戶使用的不同網頁瀏覽器中有所不同

enter image description here

因此,我建議您爲用戶提供一些可能性(例如<select>元素)以手動進行選擇。

檢測到語言後,您需要驗證相應的語言是否已經加載。您可以測試是否已在$.jgrid.localesif ($.jgrid.locales[locale] !== undefined))中定義了相應的語言屬性。如果未定義,則必須動態加載相應的JavaScript文件。您可以額外測試$.jgrid.defaults.locale的值。該值將在每個區域設置文件中設置。因此,$.jgrid.defaults.locale爲您提供有關上次加載的區域設置文件以及有關免費jqGrid的默認區域設置的信息。在創建網格時,仍然可以明確指定locale。有關其他信息,請參見the article