2016-12-29 198 views
1

我想實現一些機制來爲我的Cordova應用程序自動選擇UI語言。該應用程序也是從網絡(即瀏覽器)提供的。科爾多瓦/ Phonegap全球化與navigator.language

從我所看到的,我可以使用科爾多瓦全球化API插件(here),或者似乎Android和iOS都支持navigator.language,它提供了設備語言。

是否有任何理由我應該選擇使用內置瀏覽器/ Web視圖屬性的Cordova插件?

謝謝!

+0

從我發現沒有任何理由使用插件,而不是'navigator.language'屬性 – LuckyStarr

+0

感謝您的評論。你是否在意詳細說明?你有沒有找到任何具體的資源,或者你正在討論你的經驗?我在問,因爲我和他們一起玩,並沒有發現重大差異,也許你有... –

回答

1

一系列在真實設備上的搜索和測試,我可以說,這兩種方法來檢索設備的語言後都或多或少相同的異常有兩個小的差異:

  • 的iOS設備用戶可以單獨選擇設備的語言和區域。例如,它可以選擇語言italian,但可以選擇爲區域USA。在這種情況下,插件將返回字符串it-USnavigator.language屬性將返回字符串it-IT(在iOS 11上測試)。如果你必須知道這種語言,這不是一個大問題。
  • 在Android上,有一個bug,因爲其中navigator.language不會立即更新。只有在應用程序被終止後,新設置纔可用。這個插件不會遭受這個bug。解決方法是使用正確更新(在Android 5.0.2上測試)的navigator.languages屬性。

如果您必須知道您使用navigator對象所提供的信息而沒有任何問題。