From b2a7a24cdc55e577437e608d3dbb9f6b365606ea Mon Sep 17 00:00:00 2001 From: fukachan Date: Thu, 26 Feb 2004 10:36:04 +0000 Subject: add chapter on language handling --- fml/doc/ja/tutorial/internals/language.sgml | 220 ++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 fml/doc/ja/tutorial/internals/language.sgml (limited to 'fml/doc/ja/tutorial/internals') diff --git a/fml/doc/ja/tutorial/internals/language.sgml b/fml/doc/ja/tutorial/internals/language.sgml new file mode 100644 index 00000000..00f7a3be --- /dev/null +++ b/fml/doc/ja/tutorial/internals/language.sgml @@ -0,0 +1,220 @@ + + + + + + 言語処理の優先順位 + + + + + + 言語処理の諸問題 + + + +一番単純なモデルは、「このMLは日本人用」と設定してあるならメッセージ +は常に日本語で返すというものです。 +ML作成時に何言語用かを指定する必要があります。 + + + +しかしながら、日本人だからといって、今、メールを読んでいる環境で日本語 +が使えないかも知れないし、Accept-Language: を無視するのもよろしくあり +ません。とはいえ、みんながちゃんとAccept-Language:をつけているわけでは +ないので、問題はいろいろと山積みです。 + + + +たとえば、Accept-Language: ja などとしてある場合はja が優先だと分かり +ます。しかしながら、そういったものがなく、かつ、「日本人が help という +メールを送ってきた」場合、返事を us-ascii なのか iso-2022-jp で返すべ +きなのか?が、プログラムには良く分かりません。 + +例: + +From: rudo@example.co.jp +Subject: help +mime-version: 1.0 +content-type: text/plain; charset=us-ascii + +help + + + + +charsetを素直に考えると、英語で返すべきですが、これは本文が英語だけな +のでcharset=us-asciiになっているだけです。しょうがないので、このMLが +(日本人相手のため)日本語優先と設定されているなら、日本語と英語のメッセー +ジ両方を返すべきでしょう。英語のMLなら、英語を返すだけでいいです。 + + + +逆に、Accept-Lanaguage: が指定されていれば、それを尊重するべきです。英 +語のML(language_preference_order = en)の場合でも、Accept-Lanaguage: +ja なら(できるだけ)日本語で返事をするべきでしょう。 +標準のメッセージであれば、このサポートは可能なので、優先するべきでしょう。 + + + + + + + + 日本語のML + + + +language_preference_order という変数があります。 +これが、次のように指定されています。 + +language_preference_order = ja en + +このヒントを使い、以下のように処理をするようにしています。 + + + + + + Accept-Language: ja, en + + + +日本語(だけ)で返すと判断する。 + + + + + + + + Accept-Language: en + + + +英語(だけ)で返すと判断する。 + + + + + + + + Accept-Language: はなし、Content-Type: では charset=iso-2022-jp + + + +日本語(だけ)で返すと判断する。 + + + + + + + + Accept-Language: はなし、Content-Type: では charset=us-ascii + + + +日本語(だけ)で返していいと判断できない。 +日本語と英語のコンビで返すべきだとおもう。 + + + + + + + + Accept-Language: はなし、Content-Type: もなし + + + +日本語(だけ)で返していいと判断できない。 +日本語と英語のコンビで返すべきだとおもう。 + + + + + + + + + + 英語のML + + + +language_preference_order という変数があります。 +これが、次のように指定されています。 + +language_preference_order = en + +このヒントを使い、以下のように処理をするようにしています。 + + + + + + Accept-Language: ja, en + + + +日本語(だけ)で返すと判断する。 + + + + + + + + Accept-Language: en + + + +英語(だけ)で返すと判断する。 + + + + + + + + Accept-Language: はなし、Content-Type: では charset=iso-2022-jp + + + +日本語(だけ)で返すと判断する。 + + + + + + + + Accept-Language: はなし、Content-Type: では charset=us-ascii + + + +英語(だけ)で返すと判断する。 + + + + + + + + Accept-Language: はなし、Content-Type: もなし + + + +英語(だけ)で返すと判断する。 + + + + + + + + -- cgit v1.2.1