当然のことながら、世界中の誰もが同じ言語を使っているわけではありません。 ウェブが広まるにつれて、 複数の言語で読めるページもよく見かけるようになりました。 このため、content negotiation (内容交渉) と呼ばれる 標準的な手法が導入されてました。 この手法を用いれば、どの言語で書かれた文書を受け取りたいか、 その優先順位を設定できます。 実際にどのページが配信されるかは、ブラウザとサーバの間で交渉されます。 ブラウザが設定された言語の優先順位を送信すると、 サーバは送られてきた優先順位や、サーバ自体の設定、 どの言語で書かれたページが存在するか、 どのバージョンのドキュメントが利用可能かなどを調べて、 配信するページを決定します。
(ページ下の利用可能な言語リストから) 異なる言語を選択しても、 その言語で現在のページを表示するだけだということに注意してください。 デフォルトの言語を変更しているわけではありません。 もし別のページへのリンクをクリックすれば、再び元の言語で表示されるでしょう。 デフォルトの言語を変更するには、 以下で説明するようにブラウザの設定で優先言語を変更する必要があります。
[Mozilla] [Netscape 4.x] [Mozilla Firefox] [Internet Explorer] [Pocket Internet Explorer] [Opera] [Galeon] [Epiphany] [Konqueror] [lynx] [W3] [iCab] [W3M] [Safari] [ELinks] [Netscape 3.x] [IBrowse] [Voyager]
Debian ウェブサーバから受けとった文書が間違った言語になってしまう場合、 まず一つめの、かつ最もよくある原因は、ブラウザの設定が正しくない、です。 好みの言語に設定する方法についての節を 読んでください。
二つめの原因は、キャッシュが壊れていたり、設定が違っている、です。 ネットワークのトラフィックを減らす方法として、 多くの ISP がキャッシュを採用するにつれて、この問題は大きくなってきています。 キャッシュなんか使ってないと思っていても、 ウェブサーバのキャッシュについての注意 を読んでください。
三つめの原因は、 www.debian.org の方の問題です。 ここ数年で受けた、違う言語のページが見えるという報告のうち、 我々の問題だったのは指折り数えられるほどに過ぎませんでした。 ですので、我々に報告する前に上記の最初の二つの原因をよく調べてください。 http://www.debian.org/ は問題ないのに、 ミラーサイトにおかしなところを発見したら我々に報告してください。 我々がミラーの管理者に連絡します。
これらのいずれかの問題を修正した後は、再びそのページを見る前に、 ブラウザのローカルキャッシュ (ディスクもメモリも両方) を消してください。 テストには lynx を使うことをお薦めします。これは content negotiaion (内容交渉) に関する HTTP の仕様に 100% 従っているとわかっている唯一のブラウザです。
プロキシサーバは基本的にはウェブサーバですが、 それ自身のコンテンツを持っていません。 プロキシサーバはユーザと本当のウェブサーバの間に置かれます。 ウェブページの要求をうけとり、そのページを取得します。 その後、ページをあなたに送ると同時に、以降にまた要求されるときに備えて、 ローカルにキャッシュ用のコピーを作成します。 多くのユーザが同じページを要求すると、 ネットワークのトラフィックを軽減できます。
これはほとんどの場合にとってすばらしいアイディアですが、キャッシュが バグっている時におかしなことになります。 特に、古いプロキシサーバは content negotiation (内容交渉) を理解して いません。そのようなキャッシュサーバは、ある言語でキャッシュすると、 あとで違う言語で要求されても、キャッシュしていたページを返してしまいます。 唯一の解決方法はそのキャッシュソフトウェアをアップグレードするか、 おきかえることです。
歴史的には、プロキシはブラウザで設定されたときに限って利用されました。 しかし、もはやこれは正しくありません。 ISP は透過的プロキシ (transparent proxy) を使って、 すべての HTTP リクエストをリダイレクトしているかもしれません。 もしプロキシが content negotiation (内容交渉) を正しく扱えないと、 キャッシュされていた違う言語のページを受けとってしまうことがあります。 これを直すためにあなたができることは、ISP に文句を言って、 それらをアップグレードするかおきかえてくれるよう頼むことだけです。
好みの言語には、あなたが理解する全ての言語を、好みの順序に設定しましょう。 英語 ('en') をバックアップとして (つまりリストの最後に) 追加しておくといいでしょう。 Debian ウェブページのオリジナルの言語は英語であり、 また全ての文書があなたの好みの言語に翻訳されているとは限らないからです。
例えば母国語が日本語の人は、言語の設定のところに、まず日本語
(言語コード 'ja') を設定し、その次に英語
(言語コード 'en') を置くようにするといいでしょう。
特定のブラウザでこれを行うための詳しい説明は以下を見てください。
実際にやってみるとわかりますが、 ほとんどのブラウザではなんらかのユーザインターフェースが提供されており、 それによって好みの言語を定義する手続きの詳細が隠蔽されています。 もしそのようになっていない場合、先の段落の説明では、 ひとつ重要なことが省略されているので注意してください。言語のリストを 'ja', 'en' のように並べただけでは好みを定義したことにはならず、 それらの選択肢を同じ重みとしたことになってしまうのです。このため、 サーバはこの並び順を無視して言語を決めてしまうこともありえます。 実際に好みを指定するには、「優先値 (quality value)」を用いなければなりません。 これは 0 から 1 の間の実数で、大きい値が高い優先度に対応します。よって、 上述の場合には、'ja; q=1.0, en; q=0.5' のような設定をすることになるでしょう。
なお、言語のサブカテゴリの指定には注意を払ってください。 例えば 'en-GB, ja' と指定すると、 たいていの (HTTP 仕様書を読んだことのない) 人にとって、 予想とは異なる結果をもたらします。
特に理由がない限り、 言語には国別の拡張指定を加えないことをおすすめします。 どうしても追加するならば、 拡張指定のない言語指定も忘れずに加えておくようにしてください。
説明: サーバがある文書への要求を、 優先言語 'en-GB, ja' とともに受け取ると、 英語 ('en') 版の文書は日本語版よりも優先されません。 サーバは言語拡張として 'en-gb' がつけられた版のファイルがある場合に限って、 日本語よりも英語を優先して提供します。
すなわち、ブラウザの設定は 'en-GB, en, ja' とするか、 あるいは単に 'en, ja' を送るようにすべきです。 この場合は異なる動作をし、例えば en が要求された時にサーバは en-us を送信することができます。
preferred_language 変数の設定に関するより詳しい情報は、 content negotiation (内容交渉) に関する Apache のドキュメントを 参照してください。
ブラウザでデフォルトの言語を設定するには、 ウェブサーバに渡される変数を設定しなければなりません。 この方法は、あなたがどのブラウザ使っているかによって異なります。
Edit -> Preferences -> Navigator -> Languages
注意: Netscape 4.x では、提供されている選択肢の中から言語を
選ばなければなりません。言語を手で入力したために問題が生じたとの報告が、
たくさんの人から寄せられています。
編集 -> 設定 -> 一般 -> 言語
Windows:
ツール -> オプション -> 一般 -> 言語
編集 -> 設定 -> 詳細 -> 一般 -> 言語設定
Windows:
ツール -> オプション -> 詳細 -> 一般 -> 言語設定
より古いバージョンでは、about:config へ行って intl.accept_languages
の値を変更する必要があります。
Tools または View または Extras -> Internet Options -> (General) Languages
Edit -> Preferences -> Web Browser -> Language/Fonts
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\
に文字列のレジストリキー「AcceptLanguage」を作成し、値を「ja; q=1.0, en; q=0.5」にします。
File -> Preferences -> Languages
File -> Preferences -> Document -> Languages
HTTP Accept Languages=ja;q=1.0,en;q=0.5
Settings -> Preferences -> Rendering -> Languages
編集 -> 設定 -> 言語 -> 言語
Languages=ja;q=1.0, en;q=0.5
例えば次の行を自分の .lynxrc で用いてください。
preferred_language=ja; q=1.0, en; q=0.5
(setq url-mime-language-string "preferred_language=ja; q=1.0, en; q=0.5")あるいはカスタムパッケージを用いて (URL バージョン p4.0pre.14 の場合):
Hypermedia -> URL -> Mime -> Mime Language String...
Edit -> Preferences -> Browser -> Fonts,Languages
Options (o) -> Other Behavior -> Accept-Language
システム環境設定 -> 言語環境 -> 言語
Setup -> Language
これにより、ウェブサイトに要求する言語も一緒に変更されます。
この動作を変更することもできます。
以下の操作によって、表示可能な言語の HTTP 変数を調整してください。
Setup -> Options manager -> Protocols -> HTTP
*httpAcceptLanguage: [preferred_language string]
を Netscape の app-defaults ファイルか ~/.Xresources に追加します。
以上にリストされているもの以外のブラウザにおける設定について 情報をお持ちのかたは、その情報を debian-www@lists.debian.org までお寄せください。