<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ロケール</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">言語</anchor>の指定が中心で、
それ以外の機構に乏しく、
パッケージ化された「ロケール」の仕組みも形骸化した定義がある程度です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 定義は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ロケール</anchor>も参照。</p><figure class="quote"><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> </p><blockquote><p>The default should be the POSIX locale.  The specification technique
should use the Cultural register of CEN ENV 12005 [CEN] for the
values.  If headers are used, the header should be 'Content-Locale'.</p></blockquote><figcaption><cite xml:lang="en">RFC 2130 - The Report of the IAB Character Set Workshop held 29 February - 1 March, 1996</cite> (<time>2011-09-04 12:12:00 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2130#page-12">http://tools.ietf.org/html/rfc2130#page-12</anchor-external></figcaption></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2277</anchor>: IETF Policy on Character Sets and Languages</cite>, <time>2023-12-02T12:55:29.000Z</time>, <time>2023-12-02T13:39:56.243Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.rfc-editor.org/rfc/rfc2277#section-5">https://www.rfc-editor.org/rfc/rfc2277#section-5</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POSIXロケール</anchor>を説明して</p><blockquote><pre>   Note that language and character set information will often be
   present as parts of a locale tag (such as no_NO.iso-8859-1; the
   language is before the underscore and the character set is after the
   dot); <snip xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"></snip></pre></blockquote><p>と例示していますが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> 固有の規定は特にありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> はまた</p><blockquote><p>The default locale is the &quot;POSIX&quot; locale.</p></blockquote><p>としていますが、これも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POSIXロケール</anchor>の規定を紹介するまでです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 
しかしこれは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> Policy を説明した文書ですから、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POSIXロケール</anchor>を使って設計するべき、
と主張していることになります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 
ではそれ以後に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> から出てきた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POSIXロケール</anchor>を活用してるかといえば、
それは大変怪しいところで、そのような事例はほとんど聞きません。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 4324</anchor>: Calendar Access Protocol (CAP)</cite>, <time>2023-12-02T07:30:13.000Z</time>, <time>2023-12-02T13:44:06.454Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.rfc-editor.org/rfc/rfc4324.html#section-8.12">https://www.rfc-editor.org/rfc/rfc4324.html#section-8.12</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CAP</anchor> の <dfn><code>DEFAULT-LOCALE</code></dfn> は、</p><blockquote><pre>         language = ; Text identifying a locale, as defined in [CHARPOL]</pre></blockquote><p>と説明され、実例が</p><blockquote><pre>      DEFAULT-LOCALE:en-US.iso-8859-1,POSIX</pre></blockquote><p>と示されています。 
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> [CHARPOL] とは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2277</anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src> のことで、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ロケール</anchor>の識別子がそこで「定義」されていることになっています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> しかし例文を見ると確かに <code>POSIX</code> という<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POSIXロケール</anchor>の識別子らしきものは使われていますが、
<code>en-US.iso-8859-1</code>
というあまり <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">POSIXロケール</anchor>の識別子らしくない例もあって、なんだかよくわかりません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> もっとよくわからないのは、このロケール識別子の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ABNF</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">生成規則</anchor>の名前が
language
であることで、まあ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">生成規則</anchor>の名前は仕様書内の記述上だけの構造なので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">不透明</anchor>な文字列でその意味は重要ではないといえばそれまでではあるのですが。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ロケール</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">言語</anchor>で、しかし<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">言語</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>の組み合わせである、
という混乱した状況をどう理解したらいいのでしょう。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 関連: <code>&lt;greeting localize&gt;</code></p></body></html>