IETF言語タグ:インターネットにおける言語の識別子
IETF言語タグは、インターネット上の様々な技術において言語を特定するために用いられる、国際的に標準化された識別子です。HTTP、HTML、XML、さらにはPNGファイルなど、幅広い技術仕様で採用されています。このタグは、IETF(
Internet Engineering Task Force)のBCP 47(Best Current Practice、現在ではRFC 5646とRFC 4647)によって定義されており、言語情報の正確な表現とシステム間の相互運用性を確保する役割を担っています。
タグの構造
IETF言語タグは、ハイフンで区切られた複数の「下位タグ」で構成されます。これらの下位タグは、言語、文字体系、地域、方言、拡張機能、そして私用領域といった情報を表現します。必須なのは言語の下位タグのみで、他の下位タグは必要に応じて追加されます。
下位タグは以下の国際規格に基づいています。
言語 (language): ISO 639-1、ISO 639-2、ISO 639-3、ISO 639-5
文字体系 (script): ISO 15924
地域 (region): ISO 3166-1 alpha-2、UN M.49
方言 (variant): 独自定義
拡張 (extension): 将来の拡張用
私用 (private use): 私的利用
IANA(Internet Assigned Numbers Authority)によって管理されている言語下位タグレジストリには、現在有効な下位タグの一覧が公開されています。レジストリに登録されているタグは、大文字小文字を区別しませんが、表記の標準化のため、地域の下位タグは大文字、文字体系の下位タグは先頭文字のみ大文字、それ以外は小文字で記述することが推奨されています。
最も一般的な使用方法は、言語の下位タグのみを使用する方法と、言語と地域の下位タグを組み合わせる方法です。例えば、『en』は
英語、『en-CA』はカナダ
英語を表します。
歴史と進化
IETF言語タグは、
1995年のRFC 1766で初めて定義されました。その後、
2001年のRFC 3066、
2006年のRFC 4646とRFC 4647と、複数回にわたる改訂を経て現在の仕様に進化しています。それぞれの改訂では、ISO規格の追加、下位タグ構造の明確化、そして互換性の維持などが行われてきました。現在もIETFワーキンググループによって、さらなる改良が進められています。特に、
ISO 639-3の取り込みが重要な課題となっています。
使用例
以下に、いくつかのIETF言語タグの例を示します。
言語のみ:
`de` (ドイツ語)
`ja` (日本語)
`i-enochian` (既存のタグの例)
言語と文字体系:
`zh-Hant` (繁体字中国語)
`zh-Hans` (簡体字中国語)
`sr-Cyrl` (キリル文字セルビア語)
`sr-Latn` (ラテン文字セルビア語)
言語、文字体系、地域:
`zh-Hans-CN` (中国大陸の簡体字中国語)
`sr-Latn-CS` (セルビア・モンテネグロのラテン文字セルビア語)
言語と方言:
`sl-nedis` (スロベニア語Nadiza方言)
言語、地域、方言:
`de-CH-1901` (1901年
正書法のスイスドイツ語)
`sl-IT-nedis` (イタリアのスロベニア語Nadiza方言)
言語、文字体系、地域、方言:
`sl-Latn-IT-nedis` (イタリアのラテン文字スロベニア語Nadiza方言)
言語と地域:
`en-US` (アメリカ英語)
`es-419` (ラテンアメリカとカリブ海のスペイン語)
これらの例からも分かるように、IETF言語タグは、言語情報をきめ細かく表現できる柔軟性を持ち合わせています。
関連情報
IETF
ISO 639
ISO 15924
BCP 47
* Language Subtag Registry