この文書は、W3C 標準情報 (TR) の作業ドラフト、"" <http://www.w3.org/TR/1998/NOTE-html-lan-19980313.html>ToyFish.Net が独自に翻訳したものです。この仕様書の正式なものは W3C のサイトにある英語版であり、その著作権は W3C が保有しています。また、翻訳に誤りがある可能性に留意してください。

誤訳・誤植を発見された方は ToyFish.Net までお知らせください。

翻訳の最終更新日: 2000 年 2 月 28 日


W3C

HTML における主言語

World Wide Web Consortium Note 13-March-1998

このバージョン (原文):
http://www.w3.org/TR/1998/NOTE-html-lan-19980313.html
最新のバージョン:
http://www.w3.org/TR/NOTE-html-lan
編集者:
M.T. Carrasco Benitez [CAR] <manuel.carrasco@emea.eudra.org>

この文書の状態

この文書は、W3 Corsortium の議論専用に作られたものです。 従って、文書の内容や、同 Consortium が、その準備にあたってなんらかの編集上の管理を 行なったことや、過去、現在、将来においてこの NOTE で示されている問題に何らかの 資源をわりあてることを保証するものではありません。

この文書は、HTML 文書において主言語を明記することを推奨するものです。 これは HTML 4.0 仕様 [HTML40] を明言するものと みなすことができます。 とくに、HTML 4.0 仕様と矛盾することはありません。 対象はこの範囲で最善の策をもつ必要があります。 現状ではいくらか混乱が見られます。

要約

HTML の要素では lang で自然言語を指定できます。 この文書は、およそ、HTML 文書で主言語 (複数も可) と 基礎言語 (ひとつだけ) を指定する方法に関係したものです。

概要

既存の文書の大半は単一の言語で書かれています。 同じテキストの他言語版 (例えば翻訳) は、しばしば別の文書に保持されます。 これは、とくに意識しているアプローチです。

文書の中によっては 2 カ国語で、3 カ国語以上はほとんどありません。 2 カ国語の文書は短いもの、つまり数段落程度である場合がほとんどです。 数カ国語の文書となると非常に短く、数文程度がほとんどです。

数カ国語用意した文書が存在する主要な理由は、政治的なもの、 つまり、基礎言語での利用を仮定するのが政治的に正しくないような状況であるということです。 よくあるのは、言語のメニューとして小さな文書を 1 つ作っておくというものです。 例えば、European Commission のヨーロッパのサーバ [EUR] がそうです。

言語を選択するもう一つの方法は、クライアント (例えばブラウザ) に 好ましい言語を設定しておくというものです。 クライアントは HTTP の Accept-Language フィールドで言語 (単数または複数) を渡します。 サーバはそれに応じて適切な文書を送信するのです。 例えば、(ブラウザの) 言語の個人設定がスペイン語とフランス語で、 (サーバに) 用意されている文書がフランス語とドイツ語とスペイン語だった場合、 スペイン語版が送られます。

どこで主言語を指定するか

主言語を指定する場所は、推奨された1 ヶ所であるべきです。 主言語は、META 要素で指定することが推奨されます。 例えば、次のようにします。
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Language" Content="fr">
<TITLE>Mon doc</TITLE>
</HEAD>
<BODY>
Je suis un Berlinois.
</BODY>
</HTML>

META 要素の Content 属性の値は、 HTTP の Content-Language ヘッダの値と同様です。 つまり、言語コードをコンマで区切ったリストです。 例えば、次のようにします。

<META HTTP-EQUIV="Content-Language" Content="fr,en">

これらの言語コードは、HTML の要素のいくつかで lang に使われるのと同じ物です。 例えば、次のようなものです。

<BODY LANG=fr>

言語コードは、[RFC1766] で定義されています。 HTML 4.0 仕様書 [HTML40]8.1.1 言語コードや、 [RFC2068] も参照してください。

Content-Language の言語の順序は重要です。 リストの最初の言語がそのドキュメントの基礎言語です。 つまり、lang 属性で指定し直されていないテキストは、 基礎言語ということになります。

他の言語を一部に持っている文書で、META で複数の言語を指定するべきではありません。 あるドキュメントを、1 カ国語、2 カ国語、多国語として指定するための規則は、 印刷する書籍と同様です。

HTML 要素に lang をつけたにも関わらず META を推奨する理由は、 次のようなものです。

HTML の要素での lang 属性は、META 要素で指定した言語に優先します。 継承の規則は、HTML 4.0 仕様書 [HTML40]8.1.2 言語情報とテキストの方向 にあります。

謝辞

W3C のメーリングリスト www-international@w3.org [LIST] と 1997 年 3 月に Mainz で行われた Unicode Conference の会合で、推薦がおおよその総意 となっています。

とくに、次のかたがたに感謝します。

参考文献

[CAR]
M.T. Carrasco Benitez。 http://dragoman.org/
[EUR]
Europa。http://europa.eu.int/
[HTML40]
HTML 4.0 仕様書。 http://www.w3.org/TR/REC-html40/
とくに、次の部分を参照しています。
2.3.1 国際化
5.1 文書の 文字セット
7.4.4 メタデータ
8 言語情報とテキストの方向
[LIST]
http://www.w3.org/International/O-misc-mlists.html
[RFC1766]
言語指定のためのタグ、H. Alvestrand、1995 年 3 月。
http://ds.internic.net/rfc/rfc1766.txtで入手できます。
[RFC2068]
ハイパーテキスト転送プロトコル -- HTTP/1.1、 R. Fielding、J. Gettys、J. Mogul、H. Frystyk Nielsen および T. Berners-Lee、 1997 年 1 月。
http://ds.internic.net/rfc/rfc2068.txtで入手できます。
とくに、次の部分を参照しています。
3.10 Language Tags
12 Content Negotiation
12.3 Transparent Negotiation
14.4 Accept-Language
14.13 Content-Laguage
14.43 Vary
15.7 Privacy Issues Connected to Accept Headers

翻訳: ToyFish.Net