IETF言語タグ
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 と UN M.49(英語版) を利用しており、下位タグのレジストリを古いものから新しいものに置き換えている。なおこれ以前に定義されていたタグで、新しい構造に適合しないものについては、RFC 3066 との互換性を維持するために継承されている。
IETFワーキンググループは仕様の次の版を準備しているところであり、現在承認作業中である。この版の主な目的は言語下位タグレジストリに ISO 639-3 を取り入れることにある。