Was ist eine gute definition für die Sprache code-und Gebietsschema-codes?
en_GB
und en-GB
?
ISO 639-1
(Sprache) und ISO 3166
(Land) Kombination ?
- Gute Frage, es ist schön, wenn Menschen streng über standards.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Systeme für die Gebietsschema-IDS. Viele von Ihnen sind ähnlich auf den ersten Blick, aber nicht, wenn Sie tiefer gehen:
Einige Beispiele (Serbisch-Serbien mit lateinischer Schrift, Japanisch-Japan, die mit dem radikalen Sortierung):
Denken Sie daran, wie verschiedene Wege zu reden, Farben (RGB, CMYB, HSV, Pantone, etc.)
So
-
vs._
macht keinen Sinn, es sei denn, Sie geben an, was das ist die Umgebung, die Sie verwenden. Verwenden-
und Java wird es nicht verstehen, verwenden Sie_
und Windows wird es nicht verstehen.Intensivstation (und Systeme bauen auf die Oberseite) übernehmen Sie sowohl
-
und_
, aber produzieren die_
Stil.Es ist keine ISO, die sich über die Kombination von Sprache-Land. Aber es sind ISOs, die für die verschiedenen Teile (Sprache, Land, Skript).
Die genaue version der ISO hängt auch davon ab, das system verwendet für die Gebietsschema-IDS.
In der Regel sollten Sie akzeptieren sowohl
_
und-
, und generieren nur ein ("sei liberal in dem, was Sie akzeptieren und streng in dem, was Sie ausstrahlen") (wie IPS).Wenn Sie die Kommunikation mit Systemen arbeiten, die eine andere Art der Gebietsschema-id, die Sie haben, um anzeigen zu/von Ihrem system. Das wird Sie zwingen, zu verwenden
_
oder-
.Einige der Zuordnungen lossy - (es gibt keine Methode zu geben, Alternative Kalender in Windows, Linux, oder Alternative Sortierung oder scripts in Java, die älter als 7, etc.) und "round-tripping" kann nicht möglich sein (ähnlich wie Konvertierungen von RGB-CMYK).
Zusatz: Dinge unterscheiden sich nicht nur zwischen den Systemen, aber Sie können sich mit der Zeit ändern. Zum Beispiel Java 7 Unterstützung für sr_RS und für Skripts, Windows hält das hinzufügen der Unterstützung für weitere Sprachen, neue Länder geschaffen (Sudan split, Russland, Serbien) oder verschwinden (Ost-Deutschland, U. S. S. R, Jugoslawien) und so weiter.
Für die interne Repräsentation möchten Sie vielleicht wählen Sie die leistungsstärkste vertreten kann alles, und das ist UTS-35 /BCP 47 (auch von CLDR und ICU).
Ein Gebietsschema ist eine Kombination von Sprache und region (meist eines Landes).
Den separator ca
_
oder-
, aber empfehlenswert ist dash.Wahrscheinlich sind Sie auf der Suche für BCP-47-Norm, die Sprachcodes aus ISO 639-1 und region/country codes von ISO 3166-1 alpha-2 (in der Regel in GROSSBUCHSTABEN geschrieben).
Finden Sie mehr Informationen über Sie hier http://blog.i18n.ro/simplified-locale-codes/
Es fallen für das Internet, das in RFC 3066 und bezeichnet "en-GB" nicht "de_de"
Kommt es auf Technik. Zum Beispiel in Java Locale.Großbritannien wird Ihnen de_de-code (wenn Sie Pflege genug, um
toString()
). Dies ist, was würde man zwischen den Modulen (es sei denn, Sie übergeben, Beton-Art), und das ist, was Sie schreiben würde, die in Konfigurationsdateien (d.h. faces-context.xml).In .Net auf der anderen Seite, Sie würde sicherlich en-GB.
en-GB form ist definitiv mehr verbreitet und in den meisten Fällen ist dies die form, die Sie verwenden sollten.
Den verschiedenen ist offensichtlich: der separator ist 🙂 Ansonsten gibt es keinen Unterschied (in der Bedeutung, spezifische Technologie könnte zu verhängen einige Einschränkungen auf die Gebietsschema-Kennung).
Gibt es keine ISO-normativen Dokument behandelt, Sprache und Land-Kombination, pro sich meiner Kenntnis. In der Software-Internationalisierung ist Teil der Locale-Modell.