最近在做 MTR APPS 比賽用的程式時,考慮會用到 i18n (國際化) ,那首先就是要知道 APPS 用戶平常用什麼語言去瀏覽網頁,Javascript 的 Navigator Object 提供了幾個 method, 分別是:
- navigator.language (顯示當前瀏覽器語言)
- navigator.userLanguage (顯示當前OS系統自定語言)
- navigator.browserLanguage (顯示當前瀏覽器語言)
- navigator.systemLanguage (顯示當前OS系統預設語言)
IE6 IE7 IE8 | Firefox Chrome Safari | |
navigator.language | undefined | zh-TW |
navigator.userLanguage | zh-hk | undefined |
navigator.browserLanguage | zh-tw | undefined |
navigator.systemLanguage | zh-hk | undefined |
幾個主要 Browser 都支援不一,而且大小寫又沒有統一,那麼辦?
我想到的方法是:(navigator.language || navigator.browserLanguage).toLowerCase()
不知道有沒有更好的方法呢?
好像在 Android 的 browser 上,出現的格式又不一樣 .....
沒有留言:
張貼留言