AngularJS translate: Dynamische Daten formatieren

8

Mit AngularJS und angular-translate versuche ich ein Datum als Parameter in einen übersetzten Text einzufügen.

Die grundlegende Aufgabe wird durch das Übersetzungspaket dokumentiert:

%Vor%

damit in einer lokalisierten json-Datei:

%Vor%

Das gibt mir:

(englisch) Dies ist das Datum: 2015-04-29T00: 00: 00.

(dänisch) Dette 2015-04-29T00: 00: 00 er hatoen.

Das Problem: Ich möchte das Datum formatieren, um der Sprache (oder Kultur, aber für jetzt die Sprache wird gut genug) zu entsprechen.

Das gewünschte Ergebnis ist:

(englisch) Dies ist das Datum: 29.04.2015.

(dänisch) Dette 29-04-2015 er hatoen.

Ich hatte auf eine Syntax in dieser Richtung gehofft:

%Vor%

Oder vielleicht:

%Vor%

mit

%Vor%

Gibt es eine Möglichkeit, das gewünschte Ergebnis zu erzielen, vorzugsweise ohne das Datum innerhalb des Controllers zu formatieren (Logik und Ansicht getrennt zu halten)?

    
Thomas Jørgensen 29.04.2015, 08:05
quelle

1 Antwort

12

Angenommen, Sie haben folgende angular-translate Übersetzungen:

%Vor%

Dann können Sie in einer Ansicht Folgendes tun:

%Vor%

Wobei today im Controller definiert ist, d. h .:

%Vor%

Wenn Sie angular-locale_* mit der korrekten Ländereinstellung geladen haben, werden die Daten in einer länderspezifischen Sprache formatiert .

Hier ist eine Demo .

Nachdem gesagt wurde, dass der Lokalisierungsmechanismus in eckige ( ngLocale ) eingebaut ist, ist sehr begrenzt und wann Es kommt zu Daten, die Sie mit moment.js

erreichen können     
miensol 29.04.2015, 09:09
quelle