Ich renne kürzlich auf ein Problem - in einigen Teilen meiner eckigen Anwendung muss ich das Datum in dem folgenden Format anzeigen: MMMM yyyy
, sowie in einigen Komponenten des Angular UI Bootstrap Rahmen.Umgang mit Monat Namen Flexion - Angular date localisation
Das grundlegende Problem ist, dass in einigen Sprachen der Monat im Nominativ und Genitiv anders geschrieben wird. In meinem Fall wäre das Polnisch, Ukrainisch und Russisch.
Wie es standardmäßig scheint MMMM
steht für Monatsname im Genitiv, was im Allgemeinen Sinn macht.
Obwohl ich bemerkt habe, dass in Winkel locale-Dateien für Russian und Polish Sprache gibt es eine Eigenschaft ist STANDALONEMONTH
der, wie ich sehe, steht für Monatsnamen in Nominativ. (obwohl Datei für Ukrainian diesen Teil fehlt)
Obwohl ich bin mir nicht ganz sicher, wie man auf denen zu nehmen. Mein grundlegender Vorschlag wäre, mit einem Dekorateur für die dateFilter
zu gehen.
So ist die Frage - ob es eine Standardmethode ist für Monatsnamen Einbiegung in Winkeln Handhabung oder dieses Problem zu umgehen, die häufig verwendet wird, so dass die Bibliotheken von Drittanbietern, die $locale
mit dem entsprechenden Monatsnamen verwenden würden.
Beispiel
date: '2016-01-20'
en-us:
'dd MMMM yyyy' -> '20 January 2016'
'MMMM yyyy' -> 'January 2016'
uk-ua:
'dd MMMM yyyy' -> '20 січня 2016' // genitive case - it is fine
'MMMM yyyy' -> 'січня 2016' // wrong: should be 'січень 2016'
pl-pl:
'dd MMMM yyyy' -> '20 stycznia 2016' // genitive case - it is fine
'MMMM yyyy' -> 'stycznia 2016' // wrong: should be 'styczeń 2016'
Wie Sie sehen - für ukrainische und polnische der Name des Monats sollte in diesen beiden Fällen ein anderes Ende haben. Sowohl für Polnisch als auch für Russisch gibt es einen passenden Monatsnamen in eckigen Länderdateien (STANDALONEMONTH
). Obwohl ich mir nicht ganz sicher bin, ob sie irgendwo benutzt werden - konnte ich keine Verwendung finden, oder vielleicht vermisse ich etwas.
Nicht wirklich klar, warum, wenn Sie richtige '$ locale' Ressourcen enthalten haben, sehen Sie nicht die richtigen Werte. Eine Demo würde wahrscheinlich helfen – charlietfl
@charlietfl Ich bekomme richtige Werte. In gewisser Weise natürlich. Du hast Recht, ich füge Beispiele hinzu. Vielen Dank. – danyloid
ich bin selbst mit diesen Sprachnuancen persönlich nicht vertraut. Ich könnte mir aber vorstellen, dass viele andere in diese Situation geraten sind. Hast du github Probleme auf diesem Thema überprüft? – charlietfl