2016-07-21 3 views
3
私が使用しようとしています

で働いていない翻訳の異なる言語でのuserNameを表示するにはNG2を、翻訳します。IEの特定:パイプは角2 RC4

マイLoginComponentは、以下のいずれかのように見えます:

import { Component } from '@angular/core'; 
import {TranslateService, TranslatePipe} from 'ng2-translate/ng2-translate'; 

@Component({ 
    selector: 'login-app', 
    templateUrl: './app/components/html/login.component.html', 
    pipes: [TranslatePipe] 
}) 

export class LoginComponent { 
    userName: string; 

    constructor(private _translate: TranslateService) { 

     this.initializeTranslateServiceConfig(); 
    } 

    initializeTranslateServiceConfig() { 
     var userLang = navigator.language || navigator.userLanguage; 
     this._translate.use(userLang); 
    } 
} 

マイテンプレートlogin.component.htmlは私が異なってい

<label for="userName">{{"User Name" | translate}}</label> 

ユーザ名を表示するラベルを持っています。 jsonファイルを使用して翻訳をサポートします。

は今、私はクロム、FirefoxとIE11の言語設定を変更しています。 ChromeとFirefoxでは完全に機能しますが、IE11では機能しません。 :(

は、誰もが問題と可能な解決策何ができるかを教えていただけますか?

おかげで、

Debopam

答えて

0

をangular2用のInternet Explorerで動作するようにあなたがシムパッケージを含める必要があなたのindex.htmlを

ダウンロード&は、あなたのHTMLに次のスクリプトを追加します。

<script src="node_modules/angular2/es6/dev/src/testing/shims_for_IE.js"></script> 

は、この情報がお役に立てば幸いです。

+0

私はAngular2 RC4を使用しています。 ** "es6-shim"を追加してください:** package.json **の "0.35.1" **は私のためにファイルをダウンロードしませんでした。 –

+0

あなたはそれを外部からダウンロードできます@DebopamChanda –

1

オペレーティングシステムの自然言語、お使いのブラウザに設定されていない言語を返しnavigator.userLanguage MSDNのドキュメントに基づいています。 (Link) は、ブラウザの言語設定を変更すると、この値に影響を与えません。

他のブラウザはnavigator.languageをサポートしていますが、MDNに記載されているように、一部の欠点もあります。すべてがユーザーの優先言語を返すわけではないためです。 (Link

実際には、言語を識別するために、Accept-Language HTTP-Headerを返すサーバー側API呼び出しを使用しています。