[1] IETF言語タグにおける言語部分タグと地域部分タグの組合せはよく使われます。
[3]
地域部分タグは、明記する必要がない時、省略できるとされます。
[4] 言語が主に特定の地域部分タグで表される地域で使われるとき、 地域部分タグを記述するのは冗長になります。
[5] そのため地域部分タグは省略するべきという考え方があります。
[6] 一方で、他の言語や地域の言語タグとの一貫性を重視して、 常に省略しないという考え方もあります。
[7] そのため世間一般ではどちらも混在しています。 混在しているためになんとなくどちらかを使っている人、 なんとなく混用している人もいます。
[9] このようなケースでは、どちらか一方に対応する実装は、 相互運用性のため両方とも同じ意味と解釈するべきです。
[13] Webブラウザーは Accept-Language
に
ja-JP
を送ってくるものと
ja
を送ってくるものがどちらも少なからずあることが知られています。
[10] 言語タグの生成時は、使う場面に応じた慣習が存在するなら、 そちらを優先して使うべきです。 特に知られていなければ、 言語部分タグだけの短い言語タグとするべきです。
[14] 複数指定できるときは、両方を指定するべき場合もあります。
[19] 言語のメインの利用国のようなものと、その他の国で使われているときにも、 同じように地域部分タグを使うかどうかの判断が分かれることがあります。
[22] 英語の場合事情は特に複雑で、英国が発祥なのに米国の方が勢力が強い (特に情報産業は米国の方が発展している) という事情があります。
[23]
そのために en
で米語を表す場合もあります。
そのとき英語は en-GB
で表すことになり、少し不自然にも見えます。
[24] 不自然さを回避したいのですべて地域部分タグを明示するべきという判断もあり得ます。 ただその場合でも、 (任意の入力を許容する応用では) 地域部分タグなしの言語タグが入力として与えられた時にどうするか、 は決めなければなりません。
[26] 言語部分タグは共通の符号が与えられているにも関わらず、 国によって言語に大きな違いが生じているケースがあります。
[27]
中華人民共和国の普通話と中華民国の台湾華語はどちらも
zh
なので、 zh-CN
と zh-TW
で区別します。
両者は語彙に違いがあるだけでなく、
文字が簡体字か正體字かでかなり大きな違いがあります。
[28] このようなケースがあるので、 言語タグの言語部分タグだけを処理に使うのでは不十分で、 その他の部分タグ、最低でも地域部分タグを合わせて処理に使える (あるいは言語タグとして出力できる) 必要があります。
[29] 当事者にとって自分の言語が正常に使えないという問題だけでなく (それだけで十分に問題なのですが)、 政治的にセンシティブな問題でもあり、十分考慮する必要があります。
[30] このような場合でもやはり言語部分タグだけの言語タグが入力として与えられた時にどう動作するべきか、 という問題はあります。