私はVisual Studio Code(Typescript)でAngular 2 Appで作業していますが、翻訳用のUser Languageを読んでいます。window.navigator.userLanguageがIDEに見つかりません
「navigate.languageは」
(少なくとも...、クロームのための)動作しますが、私はIE用のnavigate.userLanguageをコーディングすることはできません - 私のIDEは、この.userLanguageが存在しないことを私に伝えます。
何かをインポートまたは定義する必要がありますか? AppComponent.tsで
コード:
public translatedText: string;
public supportedLanguages: any[];
public userLang = navigator.language; // this one works fine
//しかし、それは次のようになります。 //パブリックuserLang = navigator.language || navigator.userLanguage;
constructor(private _translate: TranslateService) { }
ngOnInit() {
// standing data
this.supportedLanguages = [
{ display: 'English', value: 'en' },
{ display: 'Español', value: 'es' },
{ display: '华语', value: 'zh' },
{ display: 'Deutsch', value: 'de' },
];
this.subscribeToLangChanged(); // subscribe to language changes
// set language
this._translate.setDefaultLang('en'); // set English as default
this._translate.enableFallback(true); // enable fallback
// set current language
this.selectLang(this.userLang);
}
isCurrentLang(lang: string) {
// check if the selected lang is current lang
return lang === this._translate.currentLang;
}
selectLang(lang: string) {
// set current lang;
this._translate.use(lang);
}
refreshText() {
// refresh translation when language change
this.translatedText = this._translate.instant('hello world');
}
subscribeToLangChanged() {
// refresh text
// please unsubribe during destroy
return this._translate.onLangChanged.subscribe(x => this.refreshText());
}
ngOnDestroy() {
this._translate.onLangChanged.unsubscribe();
}
}
助けを希望; O) ベスト、ニック
コードをテストしましたか? intllisenseは実際にはすべてのjavascriptプロパティで機能しません。このプロパティはIEコンソールで正常に動作します。 – TigOldBitties
ありがとう!あなたが正しいです - それは私が探していただけでなく、 "デCH"と戻って来るので動作しないように見えた... – Nik