Unicode locale identifier

LDML ロケール識別子 (旧)

[1] LDML 1.7 まで使われていた古い LDML ロケール識別子 (locale identifier) (Uncode ロケール識別子) は、Unicode言語識別子と付加情報によりロケールを表す記号列です。

仕様書

[8] 現在の LDML では新しい構文が使われていますが、以前の構文の情報も仕様書に残されています。 こうやってデータの互換性に気を付けてくれるのは Unicode Consortium のいいところですね・・・。

いやいや、最初から非互換な構文の変更なんてするなよ、という話もありますがwwww

関連

[10] POSIX locale

歴史

[2] 元々は BCP 47言語タグを一部改変したものに、 BCP 47言語タグでは使われていない記号を使って追加情報を付与したものが LDML で使われていて、ロケール識別子と呼ばれていました。

[5] 最初は明確な呼び名がありませんでしたが、 LDML 1.7 では Uncodeロケール識別子と呼ばれるようになっています。

[6] LDML 1.7.2 以降では構文が変更され、 BCP 47 の枠組みに収まるようになりました。 (といってもある程度の非互換性は残っているのですが、機械的に単純に書き換えられる程度の差異になりました。) こちらについてはUnicodeロケール識別子の項を参照してください。

[9] >>7

LDML 1.7 までの旧構文LDML 1.7.2 以降の新構文
de_DE@collation=phonebookde_DE_u_co_phonebk
zh_Hant_TW@collation=big5hanzh_Hant_TW_u_co_big5han
th_TH@calendar=gregorian;@numbers=thaith_TH_u_ca_gregory_nu_thai
en_US_POSIX@timezone=America/Los_Angelesen_US_u_tz_uslax_va_posix