Angular2 und webpack - i18n-Plugin vs ng2-translate

8

Ich möchte eine Web-Anwendung mit angular2 erstellen und diese mit webpack bündeln. Was ist der beste Weg, um mehrere Sprachen zur Verfügung zu stellen:

i18n-plugin: Ссылка

oder

ng2-translate: Ссылка

    
circy 14.09.2016, 19:54
quelle

5 Antworten

9

Ich habe es mit Webpack mit dem Kochbuch arbeiten. Die xliff-Datei muss wie folgt in ts konvertiert werden:

%Vor%

Dann in der main.ts muss es hinzugefügt werden

%Vor%

und in den Bootstrap-Schritt eingefügt:

%Vor%     
Stefanie Knoth 02.12.2016 10:34
quelle
8

Wenn Sie angular-cli verwenden, können Sie folgende Schritte ausführen:

  

Bitte beachten Sie, dass Ihre App AOT compatibe sein muss, also sollten Sie sie mit --aot switch erstellen können:

%Vor%
  1. Extrahieren Sie Nachrichten mit dem ng xi18n -Befehl mit dem Speicherort für die angegebene Übersetzungsdatei:

    %Vor%
  2. Sie erhalten src/i18n/messages.xlf Datei. Kopieren Sie diese Datei und übersetzen Sie die Nachrichten in die Sprachen, die Sie benötigen:

    %Vor%
  3. Dienen / bauen Sie Ihre App mit dem ng serve / ng build -Befehl auf (ändern Sie das Gebietsschema entsprechend):

    %Vor%
lukk 28.02.2017 11:00
quelle
6

falls jemand sich noch fragt, wie man die angular 2-Lokalisierung mit dem webpack loader verwenden kann, habe ich das mitgelieferte Provider angular 2-Kochbuch modifiziert;

Zuerst Erstelle i18n.provider.ts

%Vor%

Beachten Sie die Änderungen:

  1. Ich habe die jxjs-Bibliothek verwendet, um beobachtbare / Versprechen
  2. zu erstellen
  3. Ich habe XMLHttpRequest verwendet, um die Localezationsdateien
  4. zu erhalten

Sekunde in den main.ts Dateien ändern Sie das Bootstrapping das gleiche wie in eckigen Kochbuch

erwähnt %Vor%     
M.Nour Berro 12.04.2017 12:09
quelle
3

Angular 2 Final hat i18n native Unterstützung Ссылка

Überprüfen Sie eine andere Antwort Ссылка mit Beispielen und einigen Details zur Verwendung.

ng2-translate ist im Vergleich zur nativen Implementierung zu ausführlich. Auch der Autor von ng2-translate leistet einen großen Beitrag zu angular 2 i18n Dokumentation

    
Andrei Zhytkevich 04.10.2016 13:24
quelle
0

Eine leicht modifizierte Version von @ M.Nour Berros Antwort.

Ich habe diese Änderung vorgenommen, da synchrone xhrs veraltet sind und möglicherweise die Unterstützung später entfernt wird.

%Vor%     
M22an 13.10.2017 06:16
quelle