IETF-Sprach-Tag - IETF language tag

Ein IETF BCP 47-Sprach-Tag ist ein standardisierter Code oder Tag, der verwendet wird, um menschliche Sprachen in der Internetprogrammierung zu identifizieren, wie sie von Computerstandards wie HTTP , HTML , XML und PNG verwendet werden . Die Tag-Struktur wurde von der Internet Engineering Task Force (IETF) in Best Current Practice (BCP) 47 standardisiert ; die Subtags werden von der IANA Language Subtag Registry verwaltet . Um Sprachvarianten für Länder , Regionen oder Schriftsysteme zu unterscheiden , kombinieren IETF-Sprach-Tags Untertags aus anderen Standards wie ISO 639 , ISO 15924 , ISO 3166-1 und UN M.49 .

Insbesondere steht das Tag en für Englisch ; es-419 für lateinamerikanisches Spanisch ; rm-sursilv für Sursilvan ; gsw-u-sd-chzh für Zürich Deutsch ; nan-Hant-TW für Min Nan-Chinesisch, wie es in Taiwan mit traditionellen Han-Schriftzeichen gesprochen wird .

Geschichte

IETF-Sprach-Tags wurden erstmals in RFC 1766 definiert, herausgegeben von Harald Tveit Alvestrand , veröffentlicht im März 1995. Die Tags verwendeten zweibuchstabige ISO-639-Sprachcodes und zweibuchstabige ISO-3166-Ländercodes und ermöglichten die Registrierung ganzer Tags, die Varianten oder Skript-Untertags von drei bis acht Buchstaben.

Im Januar 2001 wurde dies durch RFC 3066 aktualisiert, das die Verwendung von ISO 639-2- Drei-Buchstaben-Codes hinzufügte, Untertags mit Ziffern erlaubte und das Konzept der Sprachbereiche von HTTP/1.1 übernahm, um den Abgleich von Sprach-Tags zu erleichtern.

Die nächste Überarbeitung der Spezifikation erfolgte im September 2006 mit der Veröffentlichung von RFC 4646 (dem Hauptteil der Spezifikation), herausgegeben von Addison Philips und Mark Davis und RFC 4647 (der sich mit dem Matching-Verhalten befasst). RFC 4646 führte ein strukturierteres Format für Sprach-Tags ein, fügte die Verwendung von ISO 15924 vierbuchstabigen Skriptcodes und UN M.49 dreistelligen geografischen Regionscodes hinzu und ersetzte das alte Register von Tags durch ein neues Register von Subtags. Die geringe Anzahl zuvor definierter Tags, die nicht der neuen Struktur entsprachen, wurde übernommen, um die Kompatibilität mit RFC 3066 aufrechtzuerhalten.

Die aktuelle Version der Spezifikation, RFC 5646, wurde im September 2009 veröffentlicht. Der Hauptzweck dieser Überarbeitung bestand darin, dreibuchstabige Codes aus ISO 639-3 und 639-5 in die Language Subtag Registry zu integrieren, um die Interoperabilität zu erhöhen zwischen ISO 639 und BCP 47.

Syntax von Sprach-Tags

Jedes Sprach-Tag besteht aus einem oder mehreren "Unter-Tags", die durch Bindestriche (-) getrennt sind. Jeder Untertag besteht nur aus einfachen lateinischen Buchstaben oder Ziffern.

Mit Ausnahme von Sprach-Tags für den privaten Gebrauch, die mit einem x- Präfix beginnen, und Grandfathered-Sprach-Tags (einschließlich derer, die mit einem i- Präfix beginnen und die zuvor in der alten Language Tag Registry registriert wurden), treten Untertags in der folgenden Reihenfolge auf:

  • Ein einzelnes primäres Sprach-Subtag basierend auf einem zweibuchstabigen Sprachcode aus ISO 639-1 (2002) oder einem dreibuchstabigen Code aus ISO 639-2 (1998), ISO 639-3 (2007) oder ISO 639-5 (2008 .). ) oder im BCP 47-Verfahren registriert und aus fünf bis acht Buchstaben zusammengesetzt;
  • Bis zu drei optionale Subtags für erweiterte Sprache, bestehend aus jeweils drei Buchstaben, getrennt durch Bindestriche; (Es gibt derzeit kein erweitertes Sprach-Subtag, das in der Language Subtag Registry ohne ein entsprechendes und bevorzugtes primäres Sprach-Subtag registriert ist. Diese Komponente der Sprach-Tags wird aus Gründen der Abwärtskompatibilität und zur Berücksichtigung zukünftiger Teile von ISO 639 beibehalten.)
  • Ein optionales Skript-Untertag , basierend auf einem aus vier Buchstaben bestehenden Skriptcode von ISO 15924 (normalerweise in Titel-Fall geschrieben );
  • Ein optionaler Regions-Subtag basierend auf einem zweibuchstabigen Ländercode aus ISO 3166-1 alpha-2 (normalerweise in Großbuchstaben geschrieben) oder einem dreistelligen Code aus UN M.49 für geografische Regionen;
  • Optionale Varianten-Subtags , getrennt durch Bindestriche, die jeweils aus fünf bis acht Buchstaben bestehen oder aus vier Zeichen beginnend mit einer Ziffer; (Varianten-Subtags sind bei der IANA registriert und keinem externen Standard zugeordnet.)
  • Optionale Erweiterungs-Subtags , getrennt durch Bindestriche, die jeweils aus einem einzelnen Zeichen bestehen, mit Ausnahme des Buchstabens x , und einem Bindestrich gefolgt von einem oder mehreren Subtags von jeweils zwei bis acht Zeichen, getrennt durch Bindestriche;
  • Ein optionales Sub-Tag für den privaten Gebrauch , bestehend aus dem Buchstaben x und einem Bindestrich, gefolgt von Sub-Tags von jeweils einem bis acht Zeichen, getrennt durch Bindestriche.

Bei Subtags wird die Groß-/Kleinschreibung nicht beachtet , aber die Spezifikation empfiehlt die Verwendung derselben Groß-/Kleinschreibung wie in der Language Subtag Registry, wobei Regions- Subtags GROSSBUCHSTABEN , script-Subtags Title Case und alle anderen Subtags Kleinbuchstaben sind . Diese Großschreibung folgt den Empfehlungen der zugrunde liegenden ISO-Normen.

Optionale Skript- und Regions-Untertags werden vorzugsweise weggelassen, wenn sie einem Sprach-Tag keine Unterscheidungsinformationen hinzufügen. Zum Beispiel wird es gegenüber es-Latn bevorzugt , da von Spanisch erwartet wird, dass es in lateinischer Schrift geschrieben wird; ja wird gegenüber ja-JP bevorzugt , da sich Japanisch, wie es in Japan verwendet wird, nicht wesentlich von Japanisch unterscheidet, wie es anderswo verwendet wird.

Nicht alle Sprachregionen können mit einem gültigen Regions-Subtag dargestellt werden: Die subnationalen Regionaldialekte einer Primärsprache werden als Subtags-Varianten registriert. Zum Beispiel ist das Subtag valencia Variant für den valencianischen Dialekt des Katalanischen in der Language Subtag Registry mit dem Präfix ca registriert . Da dieser Dialekt fast ausschließlich in Spanien gesprochen wird, kann der Regions-Subtag ES normalerweise weggelassen werden.

IETF-Sprach-Tags wurden in vielen Anwendungen als Gebietsschemabezeichner verwendet . Es kann für diese Anwendungen erforderlich sein, ihre eigene Strategie zum Definieren, Kodieren und Abgleichen von Gebietsschemas festzulegen, wenn die in RFC 4647 beschriebene Strategie nicht ausreicht.

Die Verwendung, Interpretation und Übereinstimmung von IETF-Sprach-Tags ist derzeit in RFC 5646 und RFC 4647 definiert. Die Language Subtag Registry listet alle derzeit gültigen öffentlichen Subtags auf. Subtags für den privaten Gebrauch werden nicht in die Registry aufgenommen, da sie implementierungsabhängig sind und privaten Vereinbarungen zwischen Dritten unterliegen, die sie verwenden. Diese privaten Vereinbarungen fallen nicht in den Anwendungsbereich von BCP 47.

Bezug zu anderen Normen

Obwohl einige Arten von Subtags von ISO- oder UN- Kernstandards abgeleitet sind , folgen sie diesen Standards nicht unbedingt, da sich die Bedeutung von Sprach-Tags im Laufe der Zeit ändern könnte. Insbesondere bleibt ein Subtag, das von einem von ISO 639 , ISO 15924 , ISO 3166 oder UN M.49 zugewiesenen Code abgeleitet ist, ein gültiger (wenn auch veralteter) Subtag, selbst wenn der Code aus dem entsprechenden Kernstandard entfernt wird. Wenn die Norm dem zurückgezogenen Code später eine neue Bedeutung zuweist, behält das entsprechende Subtag trotzdem seine alte Bedeutung.

Diese Stabilität wurde in RFC 4646 eingeführt.

ISO 639-3 und ISO 639-1

RFC 4646 definierte das Konzept eines "erweiterten Sprach-Subtags" (manchmal auch als extlang bezeichnet ), obwohl zu dieser Zeit keine solchen Subtags registriert wurden.

RFC 5645 und RFC 5646 fügten für alle Sprachen, die noch nicht in der Registry vorhanden waren, Untertags für die Primärsprache hinzu, die den ISO 639-3- Codes entsprechen . Außerdem wurden Codes für Sprachen, die von bestimmten Makrosprachen umfasst sind, als erweiterte Sprach-Subtags registriert. Gebärdensprachen wurden auch als Extlangs mit dem Präfix sgn registriert . Diese Sprachen können entweder mit dem Subtag für die eingeschlossene Sprache allein ( cmn für Mandarin) oder mit einer Sprache-Extlang-Kombination ( zh-cmn ) dargestellt werden. Die erste Option wird für die meisten Zwecke bevorzugt. Die zweite Option heißt "extlang form" und ist neu in RFC 5646.

Ganze Tags, die vor RFC 4646 registriert wurden und jetzt als "großvater" oder "redundant" klassifiziert werden (je nachdem, ob sie der neuen Syntax entsprechen), werden zugunsten des entsprechenden ISO 639-3-basierten Sprachuntertags, falls vorhanden, als veraltet markiert . Um einige Beispiele aufzulisten, wird nan für Min Nan Chinese gegenüber zh-min-nan bevorzugt ; hak wird gegenüber i-hak und zh-hakka für Hakka-Chinesisch bevorzugt ; und ase wird gegenüber sgn-US für die amerikanische Gebärdensprache bevorzugt .

ISO 639-5 und ISO 639-2

ISO 639-5 definiert Sprachsammlungen mit Alpha-3-Codes anders als sie ursprünglich in ISO 639-2 codiert waren (einschließlich eines Codes, der bereits in ISO 639-1 vorhanden ist). Insbesondere sind die Sprachsammlungen jetzt alle in ISO 639-5 als inklusiv definiert, anstatt einige von ihnen exklusiv zu definieren. Dies bedeutet, dass Sprachsammlungen einen breiteren Umfang als zuvor haben, in einigen Fällen, in denen sie Sprachen umfassen könnten, die bereits in ISO 639-2 separat kodiert wurden.

Der ISO 639-2-Code afa war beispielsweise früher mit dem Namen "Afro-Asiatic (Other)" verbunden, wobei Sprachen wie Arabisch, die bereits einen eigenen Code hatten, ausgenommen waren. In ISO 639-5 heißt diese Sammlung „Afro-Asiatic Languages“ und umfasst alle diese Sprachen. ISO 639-2 änderte die exklusiven Namen im Jahr 2009, um den inklusiven ISO 639-5-Namen zu entsprechen.

Um zu vermeiden, dass Implementierungen beschädigt werden, die möglicherweise noch von der älteren (exklusiven) Definition dieser Sammlungen abhängen, definiert ISO 639-5 ein Gruppierungstypattribut für alle Sammlungen, die bereits in ISO 639-2 kodiert waren (ein solcher Gruppierungstyp ist für die neuen nicht definiert). Sammlungen nur in ISO 639-5 hinzugefügt).

BCP 47 definiert eine "Scope"-Eigenschaft, um untergeordnete Tags für Sprachsammlungen zu identifizieren. Es definiert jedoch keine bestimmte Sammlung als inklusiv oder exklusiv und verwendet nicht das ISO 639-5-Gruppierungstypattribut, obwohl die Beschreibungsfelder in der Language Subtag Registry für diese Subtags mit den ISO 639-5 (inklusive) Namen übereinstimmen. Infolgedessen können BCP 47-Sprach-Tags, die ein primäres Sprach-Sub-Tag für eine Sammlung enthalten, mehrdeutig sein, ob die Sammlung einschließend oder ausschließend sein soll.

ISO 639-5 definiert nicht genau, welche Sprachen Mitglieder dieser Sammlungen sind; nur die hierarchische Klassifizierung von Sammlungen wird unter Verwendung der inklusiven Definition dieser Sammlungen definiert. Aus diesem Grund empfiehlt RFC 5646 für die meisten Anwendungen die Verwendung von Untertags für Sprachsammlungen nicht, obwohl sie immer noch gegenüber Untertags bevorzugt werden, deren Bedeutung noch weniger spezifisch ist, wie beispielsweise "Mehrere Sprachen" und "Unbestimmt".

Im Gegensatz dazu ist die Klassifizierung einzelner Sprachen innerhalb ihrer Makrosprache sowohl in ISO 639-3 als auch in der Language Subtag Registry standardisiert.

ISO 15924, ISO/IEC 10646 und Unicode

Script-Subtags wurden erstmals bei der Veröffentlichung von RFC 4646 der Language Subtag Registry aus der Liste der in ISO 15924 definierten Codes hinzugefügt . Sie werden im Sprach-Tag nach primären und erweiterten Unter-Tags codiert, jedoch vor anderen Arten von Unter-Tags, einschließlich Regions- und Varianten-Untertags.

Einige Untertags für die primäre Sprache sind mit einer Eigenschaft namens "Suppress-Script" definiert, die die Fälle anzeigt, in denen normalerweise ein einzelnes Skript für die Sprache standardmäßig angenommen werden kann, auch wenn es mit einem anderen Skript geschrieben werden kann. In diesem Fall ist es vorzuziehen, das Skript-Untertag wegzulassen, um die Wahrscheinlichkeit eines erfolgreichen Abgleichs zu erhöhen. Zur Unterscheidung kann bei Bedarf noch ein anderes Skript-Untertag angehängt werden. Zum Beispiel wird yi in den meisten Kontexten gegenüber yi-Hebr bevorzugt , da das hebräische Skript-Untertag für die jiddische Sprache angenommen wird.

Als weiteres Beispiel kann zh-Hans-SG als äquivalent zu zh-Hans angesehen werden , da der Regionalcode wahrscheinlich nicht signifikant ist; die in Singapur verwendete Schriftform des Chinesischen verwendet die gleichen vereinfachten chinesischen Schriftzeichen wie in anderen Ländern, in denen Chinesisch geschrieben wird. Das Skript-Untertag wird jedoch beibehalten, da es von Bedeutung ist.

Beachten Sie, dass ISO 15924 einige Codes für Skriptvarianten enthält (z. B. Hans und Hant für vereinfachte und traditionelle Formen chinesischer Zeichen), die in Unicode und ISO/IEC 10646 vereinheitlicht sind . Diese Skript - Varianten werden am häufigsten für bibliografische Zwecke codieren, sind aber nicht immer signifikant aus linguistischer Sicht (zB LATF und Latg Skript - Codes für die Fraktur und Gälisch Varianten des lateinischen Schrift, die mit regelmäßigen lateinischen Buchstaben meist codiert werden in Unicode und ISO/IEC 10646). Sie können gelegentlich in Sprach-Tags nützlich sein, um orthografische oder semantische Unterschiede aufzudecken, mit unterschiedlichen Analysen von Buchstaben, diakritischen Zeichen und Digraphen/Trigraphen als Standard-Graphem-Cluster oder Unterschieden in den Regeln für die Groß-/Kleinschreibung.

ISO 3166-1 und UN M.49

Aus zwei Buchstaben bestehende Regions-Subtags basieren auf Codes, die in ISO 3166-1 zugewiesen oder "ausnahmsweise reserviert" sind . Wenn die ISO 3166 Maintenance Agency einen Code, der zuvor einem anderen Land zugewiesen worden war, neu zuordnen würde, würde der diesem Code entsprechende vorhandene BCP 47-Untertag seine Bedeutung behalten und ein neuer Regions-Untertag auf der Grundlage von UN M.49 würde registriert für das neue Land. UN M.49 ist auch die Quelle für numerische Regions-Subtags für geografische Regionen, beispielsweise 005für Südamerika. Die UN M.49-Codes für Wirtschaftsregionen sind nicht zulässig.

Regionsuntertags werden verwendet, um die Vielfalt einer Sprache anzugeben, "wie sie in" einer bestimmten Region verwendet wird. Sie sind angemessen, wenn die Sorte regionaler Natur ist und können durch die Identifizierung der beteiligten Länder angemessen erfasst werden, z. B. bei der Unterscheidung zwischen britischem Englisch ( en-GB ) und amerikanischem Englisch ( en-US ). Wenn der Unterschied in Schrift oder Schrift besteht, wie bei vereinfachten und traditionellen chinesischen Schriftzeichen, sollte er mit einem Skript-Untertag anstelle eines Regions-Untertags ausgedrückt werden; in diesem Beispiel sollten zh-Hans und zh-Hant anstelle von zh-CN und zh-HK verwendet werden .

Wenn für eine Sprache, die als regionale Varietät betrachtet werden könnte, ein eigenes Sprach-Subtag existiert, ist es oft vorzuziehen, das spezifischere Sub-Tag anstelle einer Sprach-Region-Kombination zu verwenden. Zum Beispiel kann ar-DZ ( Arabisch, wie es in Algerien verwendet wird ) besser als arq für Algerisch gesprochenes Arabisch ausgedrückt werden .

Erweiterungen

Erweiterungs-Untertags (nicht zu verwechseln mit erweiterten Sprach-Untertags ) ermöglichen das Anhängen zusätzlicher Informationen an ein Sprach-Tag, die nicht unbedingt dazu dienen, eine Sprache zu identifizieren. Eine Verwendung für Erweiterungen besteht darin, Gebietsschemainformationen wie Kalender und Währung zu codieren.

Erweiterungsuntertags bestehen aus mehreren durch Bindestriche getrennten Zeichenfolgen, beginnend mit einem einzelnen Zeichen (außer x ), das als Singleton bezeichnet wird . Jede Erweiterung wird in ihrem eigenen IETF RFC beschrieben , der eine Registrierungsstelle identifiziert, die die Daten für diese Erweiterung verwaltet. IANA ist für die Zuweisung von Singletons verantwortlich.

Ab Januar 2014 wurden zwei Verlängerungen zugewiesen.

Erweiterung T (transformierter Inhalt)

Mit der Erweiterung T kann ein Sprach-Tag Informationen darüber enthalten, wie die mit Tags versehenen Daten transliteriert, transkribiert oder anderweitig transformiert wurden. Das Tag en-t-jp könnte beispielsweise für Inhalte in Englisch verwendet werden, die aus dem japanischen Original übersetzt wurden. Zusätzliche Teilzeichenfolgen können anzeigen, dass die Übersetzung maschinell oder in Übereinstimmung mit einem veröffentlichten Standard durchgeführt wurde.

Die Erweiterung T ist in RFC 6497, veröffentlicht im Februar 2012, beschrieben. Die Registrierungsstelle ist das Unicode Consortium .

Erweiterung U (Unicode-Gebietsschema)

Die Erweiterung U ermöglicht die Einbettung einer Vielzahl von Gebietsschemaattributen aus dem Common Locale Data Repository (CLDR) in Sprach-Tags. Zu diesen Attributen gehören Länderunterteilungen, Kalender- und Zeitzonendaten, Sortierreihenfolge, Währung, Zahlensystem und Tastaturkennung.

Einige Beispiele sind:

Die Erweiterung U ist in RFC 6067, veröffentlicht im Dezember 2010, beschrieben. Die Registrierungsstelle ist das Unicode Consortium .

Siehe auch

Verweise

Externe Links

  • BCP 47 Language Tags – aktuelle Spezifikation (enthält zwei RFCs, RFC 5646 und RFC 4647, die zu unterschiedlichen Zeitpunkten separat veröffentlicht, aber in einem einzigen Dokument verkettet sind)
    • (auch mit Verweis auf den zugehörigen Informations-RFC 5645, der den vorherigen Informations-RFC 4645 ergänzt, sowie auf andere individuelle Registrierungsformulare, die von anderen für jede Sprache, die zwischen diesen BCP 47-Revisionen im Register hinzugefügt oder geändert wurde, separat veröffentlicht wurden)
  • Language Subtag Registry – verwaltet von IANA
  • Sprache Subtag Registry Search – Untertags finden und Einträge in der Registry anzeigen
  • Sprach-Tags in HTML und XML – vom W3C
  • Language Tags – von der IETF Language Tag Registry Update Working Group