[英]Ionic3 with Cordova application crash randomly in some android 11
[英]How can I get language of the android device in Ionic3, Cordova and Angular4 application?
我想從使用 Ionic3、Cordova 和 Angular4 開發的應用程序中獲取 android 設備語言。
我怎么才能得到它?
您可以使用cordova-plugin-globalization ,它也提供了一個ionic-native wrapper 。 它提供了許多有用的方法,但您可能正在尋找getPreferredLanguage()
或getLocaleName()
。
安裝:
ionic cordova plugin add cordova-plugin-globalization
npm install --save @ionic-native/globalization
示例:
import { Globalization } from '@ionic-native/globalization';
constructor(private globalization: Globalization) {
this.globalization.getPreferredLanguage()
.then(res => console.log(res))
.catch(e => console.log(e));
}
window.navigator.language
為我工作,沒有插件。 我沒有檢查結果與全球化插件的比較結果如何,但我得到的結果如下:Android:“en-us”、“es-us”和 iOS:“en-US”和“es-XL”
另請參閱https://stackoverflow.com/a/4079798/431296 - window.navigator.userLanguage
未在 Android 或 iOS 上定義,所以我沒有包含它
跟進 David 的回答,不推薦使用全球化 API。
由於 iOS、Android 和 Windows 設備現在支持ECMA 國際化 API ,因此不再需要此插件。 * 從這個插件遷移到ECMA 國際化 API在這篇Cordova 博客文章中進行了解釋。
如果你使用 ngx-translate,
import { TranslateService } from '@ngx-translate/core';
constructor(private translate: TranslateService) {
console.log(this.translate.getBrowserLang());
}
在設備和瀏覽器上工作正常。 它為我返回“en”或“de”。
離子 4
在 Ionic 中,我們稱之為全球化執行特定於用戶的區域設置、語言和時區的操作。
安裝:終端
ionic cordova plugin add cordova-plugin-globalization
npm install @ionic-native/globalization
用法:任何組件或服務文件。
import { Globalization } from '@ionic-native/globalization/ngx';
constructor(private global: Globalization) { }
...
this.global.getPreferredLanguage()
.then(res => console.log(res))
.catch(e => console.log(e));
對於帶電容器的 ionic 5:
npm install @capacitor/device
npx cap sync
在代碼中:
import { Device } from '@capacitor/device';
console.log((await Device.getLanguageCode()).value); // en-US
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.