NumberFormatter :: SPELLOUT spellout-ordinal in Russisch und Italienisch

8

Dieser Code funktioniert für englische, spanische und deutsche Ordnungsnummern, aber mit russischen oder italienischen Ordnungsnummern funktioniert es nicht.

'ru-RU' , 'it-IT' funktionieren auch nicht

Ich bekomme zum Beispiel auf Russisch für 2 - & gt; два (das ist die Kardinalzahl), aber ich möchte die Ordnungszahl und das wäre hier 2 - & gt; второй.

Ich bekomme zum Beispiel in Italienisch für 2 - & gt; fällig (das ist die Kardinalzahl), aber ich möchte die Ordnungszahl und das wäre hier 2 - & gt; zweite.

Aktualisierung:

Ich fand eine Lösung mit Werken in Französisch, Spanisch, Deutsch und einigen anderen Sprachen:

Masken-Ordinalzahlen: %spellout-ordinal-maskuline

weibliche Ordnungszahlen: %spellout-ordinal-feminine

russische und italienische Version funktioniert nicht und ich habe schon versucht mit -Maskulin / -Feminin

%Vor%     
Grischa 18.06.2014, 09:47
quelle

2 Antworten

11

NumberFormatter verwendet die ICU-Formatierung.

Wie Sie hier nachlesen können: Ссылка

... Russisch (ru) hat folgende Formatierung zur Verfügung:

  • Buchstabieren-Kardinal-Weiblich (scf)
  • spellout-cardinal-maskulin (scm)
  • Buchstabieren-Kardinal-Neutrum (scne)
  • Spellout-Nummerierung (sn)
  • Spellout-Nummerierungsjahr (sny)

... und Italienisch (it) :

  • Buchstabieren-Kardinal-Weiblich (scf)
  • spellout-cardinal-maskulin (scm)
  • Spellout-Nummerierung (sn)
  • Spellout-Nummerierungsjahr (sny)
  • spellout-ordinal-feminin (sof)
  • spellout-ordinal-maskulin (som)

Deshalb können Sie das Ordnungsformat für (ru) und den folgenden Code nicht festlegen:

%Vor%

Wird gedruckt:

%Vor%

Wie Sie (wahrscheinlich) wollen.

BEARBEITEN:

Informationen zur verwendeten Formatierung mit Verweisen auf die Intensivstation: Ссылка

Getestet mit PHP 5.4.x und ICU version = & gt; 51.2; ICU-Datenversion = & gt; 51.2. Sie können den Shell-Befehl verwenden:

%Vor%

Um zu überprüfen, welche Version von ICU Sie haben.

Für die neueste ICU-Version sollten Sie das php-intl-Paket installieren / updaten: Ссылка

EDIT 2:

Ich habe eine Erweiterung für NumberFormatter erstellt (bisher mit polnischen Ordinalzahlen). Fühlen Sie sich frei, weitere Sprachen beizutragen: Ссылка

    
Arius 10.01.2015, 22:40
quelle
2

Nur eine Empfehlung, ich bin mir nicht sicher, ob das funktioniert oder Apache-Dienste zu diesem Zeitpunkt geöffnet haben, während ich am College bin, aber hast du versucht, ru-RU für Russland zu setzen. In PHP stelle ich meine Sprachcodes persönlich als "en-GB"

Ссылка

Hier ist eine Liste, die ich im Internet mit einigen gefunden habe, um Ihnen zu helfen.

    
user2558741 18.06.2014 09:58
quelle

Tags und Links