IETF言語タグ

IETF言語タグ（）は、IETF の BCP47（Best Current Practice。現在は RFC 5646 と RFC 4647）により定義される技術仕様である。これは HTTP、HTML、XML、PNG、のような多くの技術標準において使われている。

書式 
言語タグは、ハイフンによって分けられる、1つ以上の「下位タグ 」から構成される。一般には下位タグは次の順番で書かれる。
 （言語）
 （文字体系）
 （地域）
 （異体）
 （拡張）
 （私用）
よって、書式はおおよそ次のようになる。（このうち  タグのみ必須）

それぞれの下位タグは以下の規格から派生している。
  : ISO 639-1、ISO 639-2、ISO 639-3、
  : ISO 15924
  : ISO 3166-1 alpha-2、
  : （独自のものにつき派生元の規格なし）
  : （将来の拡張のための予約領域につき派生元の規格なし）
  : （私的利用部分につき派生元の規格なし）
IANA によって管理されている Language Subtag Registry（言語下位タグレジストリ）には、現在公開されている有効な下位タグの一覧がある。

下位タグにおいてはアルファベットの大文字小文字を区別しないが、仕様では言語下位タグレジストリと同じ方法で、つまり  下位タグについてはすべて大文字で、 下位タグについては頭文字のみを大文字で、その他すべての下位タグについては小文字で、記すよう推奨している。

言語タグの使い方としてよく見られるスタイルは、単に  下位タグのみを使うか、 下位タグと  下位タグを使う方法である。例えば、en は単一の  下位タグ（ISO 639-1より）から構成され、英語を表す。一方、en-CA は、 下位タグの後に  下位タグ CA（ISO 3166-1 より）をくっつけて構成され、カナダ英語を表す。

歴史 
IETF言語タグは、1995年5月発行の RFC 1766 で初めて定義された。これは2001年1月に RFC 3066 で置き換えられた。これは ISO 639-2 コードを追加し（以前は ISO 639-1 コードのみが許容されていた）、初めて下位タグに数字を使うことを認めた。

仕様の次の版は、2006年9月発行の RFC 4646（仕様の主要部分）と RFC 4647（マッチングの振る舞いについて）であった。RFC 4646 は言語タグにより構造化された書式を導入し、以前から用いられていた ISO 639（part 1と2）と ISO 3166 に加えて ISO 15924 と  を利用しており、下位タグのレジストリを古いものから新しいものに置き換えている。なおこれ以前に定義されていたタグで、新しい構造に適合しないものについては、RFC 3066 との互換性を維持するために継承されている。

IETFワーキンググループは仕様の次の版を準備しているところであり、現在承認作業中である。この版の主な目的は言語下位タグレジストリに ISO 639-3 を取り入れることにある。

言語タグの例 
以下は BCP47 から抜粋したものである。
  下位タグのみ：
 （ドイツ語）
 （日本語）
 （grandfathered タグの例）
 -：
 （繁体字で書かれた中国語）
 （簡体字で書かれた中国語）
 （キリル文字で書かれたセルビア語）
 （ラテン文字で書かれたセルビア語）
 --：
 （中国大陸にて用いられる、簡体字で書かれた中国語）
 （セルビアモンテネグロにて用いられる、ラテン文字で書かれたセルビア語）
 -：
 （スロベニア語 Nadiza 方言）
 --：
 （スイスにて用いられる、ドイツ語1901年正書法で書かれたドイツ語）
 （イタリアにて用いられる、スロベニア語 Nadiza 方言）
 ---：
 （イタリアにて用いられる、ラテン文字で書かれたスロベニア語 Nadiza 方言。注：sl は暗黙裡に Latn を含んでいるので、このタグは推奨されない）
 -：
 （アメリカにて用いられる英語）
 （ラテンアメリカとカリブ地域にて用いられるスペイン語、UN 地域コード利用）

など。

脚注

関連項目 
 IETF

外部リンク 
 BCP 47 - 現在の仕様 
 Language Subtag Registry（言語下位タグレジストリ） - IANA により管理 
 検索ツール
 Language tags in HTML and XML - W3C による概要説明 
 Language Tags - 非公式サイト、さまざまなツールがある
 IANA Language Subtag Registry Search - 非公式サイト、下位タグを検索できる。 

1766
諸言語
識別子
国際化と地域化