Die Sprache hängt davon ab, wo sie gesprochen wird (doh!), Daher spiegeln Sprach- und Gebietsschema-Codes diese Realität wider. zh
ist der grundlegende Sprachcode, aber da es zwei Hauptformen davon gibt, gibt es zh_Hans
und zh_Hant
, aber es sind immer noch nur Sprachcodes, keine Gebietsschemas.
Standortspezifisch
Um vollständig zu spezifizieren , welche Sprache in einer verwendet wird , insbesondere Lage, hat die Landesvorwahl noch nachgestellt werden, so machen zh_Hans_HK
und zh_Hant_HK
für vereinfachtes und traditionelles Chinesisch, jeweils sowohl als in Hong Kong gesprochen.
Tatsächlich ist in vielen Ländern häufig etwas Spezifischeres als der Ländercode erforderlich, was jedoch die Komplexität und Wartung von Datenbanken wie CLDR sowie die Support-Infrastruktur, die in diese Datenbanken eingespeist werden kann, wie die Extraktion von IP-zu-Standort-Details, exponentiell erhöht ist nicht allgemein verfügbar oder genau genug.
Text behoben
Wenn der Code nur angeben soll, welche festen Zeichenfolgen in der Benutzeroberfläche verwendet werden sollen, oder sogar ganze Seiten auf einer Site, ist ein Ländersuffix nicht wirklich erforderlich, es sei denn, es gibt mehr als einige Stellen, an denen die Sprache variiert signifikant genug (standortbezogene Informationen), um sich die Mühe zu machen, einen ganzen separaten Ressourcensatz zu erstellen.
Je größer der Ressourcensatz ist, desto wahrscheinlicher ist es, dass ein auf dem Gebietsschema basierender Sprachcode [in diesem Zusammenhang nur ein Sprachattribut anstelle eines echten Gebietsschemas, sodass Sie ihn so nennen können, wie Sie möchten!] Erforderlich ist, aber zumindest Sie muss das nur bei Bedarf tun.
On-the-Fly-Werte
Wenn Sie jedoch bestimmte Variablenwerte wie Datum, Uhrzeit, Währungen und Zahlen im laufenden Betrieb formatieren möchten, werden Gebietsschemas wichtig, da alle Tools, die solche Funktionen unterstützen (wie diejenigen, die auf Unicode-CLDR-Daten basieren), diese erwarten. Das Gebietsschema für diese muss eine separate Einstellung zu dem Code sein, für den eine intern generierte UI-Sprache verwendet werden soll, es sei denn, Sie möchten für jedes bekannte Gebietsschema einen Ressourcensatz erstellen und diese ad nauseum verwalten!
Browser-Sprachwerkzeuge
Beachten Sie, dass die Sprachwerkzeuge des Browsers das Feld entsprechend diesem Gebietsschema überprüfen, wenn Sie das Gebietsschema für eine Webseite angeben, die wie in Eingabefeldern bearbeitet werden kann, und die Rechtschreibprüfung in Attributen oder CSS für das Feld aktiviert wurde.
Kriterien
Sie müssen sich darüber im Klaren sein, was der Ressourcensatz bereitstellt. Beachten Sie also Folgendes:
- Feste Saiten? Nur Sprache.
- Formatieren im laufenden Betrieb? Gebietsschema.
- Rechtschreibprüfung in der Anzeigeumgebung? Gebietsschema.
- Ganze Seiten / Unterwebsite? Nur Sprache, sonst Gebietsschema (als Sprachvariante), wenn wesentlich andere Inhalte erforderlich sind.
Tabellenkalkulation zur Minimierung des Wartungsaufwands
Ich verwende eine Tabelle, um UI-Zeichenfolgen zu speichern, in denen jeder Sprachcode einen übergeordneten Code hat, sodass die Zelle für ihre Version einer Zeichenfolge eine Formel hat, die ihre Zeichenfolge vom übergeordneten Code erhält. Um eine benutzerdefinierte Zeichenfolge für diese Sprache und Zeichenfolge zu erstellen, überschreibe ich einfach die Zellenformel mit dem genauen Text. Dies minimiert den Ressourcenaufwand. Am Ende führe ich ein Makro aus, das für jede Sprache eine vollständige Ressourcendatei generiert.