diff options
| author | fukachan <fukachan> | 2004-02-26 10:36:04 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2004-02-26 10:36:04 +0000 |
| commit | b2a7a24cdc55e577437e608d3dbb9f6b365606ea (patch) | |
| tree | 31d5cc218e014cd6df94bb6a97f09e8b775d4c74 | |
| parent | b7d7c4d7a9b1e6124e95969da914b77d3f72514c (diff) | |
| download | fml8-b2a7a24cdc55e577437e608d3dbb9f6b365606ea.tar.gz fml8-b2a7a24cdc55e577437e608d3dbb9f6b365606ea.tar.bz2 fml8-b2a7a24cdc55e577437e608d3dbb9f6b365606ea.zip | |
add chapter on language handling
| -rw-r--r-- | fml/doc/ja/tutorial/book.sgml | 3 | ||||
| -rw-r--r-- | fml/doc/ja/tutorial/include/chapters.ent | 4 | ||||
| -rw-r--r-- | fml/doc/ja/tutorial/internals/language.sgml | 220 |
3 files changed, 225 insertions, 2 deletions
diff --git a/fml/doc/ja/tutorial/book.sgml b/fml/doc/ja/tutorial/book.sgml index 680aba95..6258acb0 100644 --- a/fml/doc/ja/tutorial/book.sgml +++ b/fml/doc/ja/tutorial/book.sgml @@ -2,7 +2,7 @@ This is an sgml using DocBook dtd. Use sgmltools version 2.0.x or above to generate various output formats. -$FML: book.sgml,v 1.59 2003/11/25 04:18:32 fukachan Exp $ +$FML: book.sgml,v 1.60 2003/11/29 12:51:35 fukachan Exp $ --> <!doctype book public "-//FML//DTD DocBook V3.1-Based Extension//EN" [ @@ -146,6 +146,7 @@ $FML: book.sgml,v 1.59 2003/11/25 04:18:32 fukachan Exp $ <!-- 記事の配送とコマンドの処理 --> &chapter.delivery; &chapter.digest; + &chapter.language; &chapter.message; &chapter.filter; <!-- &chapter.replybyfml; --> diff --git a/fml/doc/ja/tutorial/include/chapters.ent b/fml/doc/ja/tutorial/include/chapters.ent index 7ada7f75..e1d433ab 100644 --- a/fml/doc/ja/tutorial/include/chapters.ent +++ b/fml/doc/ja/tutorial/include/chapters.ent @@ -1,5 +1,5 @@ <!-- - $FML: chapters.ent,v 1.80 2003/12/21 03:19:13 fukachan Exp $ + $FML: chapters.ent,v 1.81 2003/12/21 14:23:10 fukachan Exp $ --> <!entity versin "1.1"> @@ -145,6 +145,8 @@ <!entity chapter.lock SYSTEM "internals/lock.sgml"> <!entity chapter.io.abstraction SYSTEM "internals/io_abstraction.sgml"> <!entity chapter.errormail SYSTEM "internals/errormail.sgml"> +<!entity chapter.language SYSTEM "internals/language.sgml"> + <!entity chapter.virtual SYSTEM "virtual/chapter.sgml"> 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 @@ +<!-- + $FML$ +--> + + +<chapter id="language.preference"> + <title> + 言語処理の優先順位 + </title> + + +<sect1 id="language.preference.overview"> + <title> + 言語処理の諸問題 + </title> + +<para> +一番単純なモデルは、「このMLは日本人用」と設定してあるならメッセージ +は常に日本語で返すというものです。 +ML作成時に何言語用かを指定する必要があります。 +</para> + +<para> +しかしながら、日本人だからといって、今、メールを読んでいる環境で日本語 +が使えないかも知れないし、Accept-Language: を無視するのもよろしくあり +ません。とはいえ、みんながちゃんとAccept-Language:をつけているわけでは +ないので、問題はいろいろと山積みです。 +</para> + +<para> +たとえば、Accept-Language: ja などとしてある場合はja が優先だと分かり +ます。しかしながら、そういったものがなく、かつ、「日本人が help という +メールを送ってきた」場合、返事を us-ascii なのか iso-2022-jp で返すべ +きなのか?が、プログラムには良く分かりません。 +<screen> +例: + +From: rudo@example.co.jp +Subject: help +mime-version: 1.0 +content-type: text/plain; charset=us-ascii + +help +</screen> +</para> + +<para> +charsetを素直に考えると、英語で返すべきですが、これは本文が英語だけな +のでcharset=us-asciiになっているだけです。しょうがないので、このMLが +(日本人相手のため)日本語優先と設定されているなら、日本語と英語のメッセー +ジ両方を返すべきでしょう。英語のMLなら、英語を返すだけでいいです。 +</para> + +<para> +逆に、Accept-Lanaguage: が指定されていれば、それを尊重するべきです。英 +語のML(language_preference_order = en)の場合でも、Accept-Lanaguage: +ja なら(できるだけ)日本語で返事をするべきでしょう。 +標準のメッセージであれば、このサポートは可能なので、優先するべきでしょう。 +</para> + +</sect1> + + +<sect1 id="language.preference.ml.ja"> + <title> + 日本語のML + </title> + +<para> +language_preference_order という変数があります。 +これが、次のように指定されています。 +<screen> +language_preference_order = ja en +</screen> +このヒントを使い、以下のように処理をするようにしています。 +</para> + + +<sect2> + <title> + Accept-Language: ja, en + </title> + +<para> +日本語(だけ)で返すと判断する。 +</para> + +</sect2> + + +<sect2> + <title> + Accept-Language: en + </title> + +<para> +英語(だけ)で返すと判断する。 +</para> + +</sect2> + + +<sect2> + <title> + Accept-Language: はなし、Content-Type: では charset=iso-2022-jp + </title> + +<para> +日本語(だけ)で返すと判断する。 +</para> + +</sect2> + + +<sect2> + <title> + Accept-Language: はなし、Content-Type: では charset=us-ascii + </title> + +<para> +日本語(だけ)で返していいと判断できない。 +日本語と英語のコンビで返すべきだとおもう。 +</para> + +</sect2> + + +<sect2> + <title> + Accept-Language: はなし、Content-Type: もなし + </title> + +<para> +日本語(だけ)で返していいと判断できない。 +日本語と英語のコンビで返すべきだとおもう。 +</para> + +</sect2> + +</sect1> + + +<sect1 id="language.preference.ml.en"> + <title> + 英語のML + </title> + +<para> +language_preference_order という変数があります。 +これが、次のように指定されています。 +<screen> +language_preference_order = en +</screen> +このヒントを使い、以下のように処理をするようにしています。 +</para> + + +<sect2> + <title> + Accept-Language: ja, en + </title> + +<para> +日本語(だけ)で返すと判断する。 +</para> + +</sect2> + + +<sect2> + <title> + Accept-Language: en + </title> + +<para> +英語(だけ)で返すと判断する。 +</para> + +</sect2> + + +<sect2> + <title> + Accept-Language: はなし、Content-Type: では charset=iso-2022-jp + </title> + +<para> +日本語(だけ)で返すと判断する。 +</para> + +</sect2> + + +<sect2> + <title> + Accept-Language: はなし、Content-Type: では charset=us-ascii + </title> + +<para> +英語(だけ)で返すと判断する。 +</para> + +</sect2> + + +<sect2> + <title> + Accept-Language: はなし、Content-Type: もなし + </title> + +<para> +英語(だけ)で返すと判断する。 +</para> + +</sect2> + +</sect1> + + +</chapter> |
