From bfea574bd22062f71ab8280ea58d5ec3dfdddb3f Mon Sep 17 00:00:00 2001 From: fukachan Date: Thu, 31 May 2001 12:32:17 +0000 Subject: add section on how should we treat language dependent error messages --- fml/doc/ja/tutorial/include/chapters.ent | 3 +- fml/doc/ja/tutorial/internals/errormessage.sgml | 97 +++++++++++++++++++++++++ fml/doc/ja/tutorial/internals/message.sgml | 4 +- 3 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 fml/doc/ja/tutorial/internals/errormessage.sgml (limited to 'fml/doc/ja/tutorial') diff --git a/fml/doc/ja/tutorial/include/chapters.ent b/fml/doc/ja/tutorial/include/chapters.ent index a646fade..4d9aa93b 100644 --- a/fml/doc/ja/tutorial/include/chapters.ent +++ b/fml/doc/ja/tutorial/include/chapters.ent @@ -1,5 +1,5 @@ @@ -45,6 +45,7 @@ + diff --git a/fml/doc/ja/tutorial/internals/errormessage.sgml b/fml/doc/ja/tutorial/internals/errormessage.sgml new file mode 100644 index 00000000..8a153c3b --- /dev/null +++ b/fml/doc/ja/tutorial/internals/errormessage.sgml @@ -0,0 +1,97 @@ + + + + エラーメッセージを返す + + +適宜、エラーメッセージを送信者に返す必要があります。 +それもエラーメッセージは言語依存です。 +何らかの形で言語変換をしてから送り出すわけです。 + + + + + + fml 4.0 の場合 + + +fml 4.0 では + + Mesg(*e, キーワード, デフォルトのメッセージ, 変換に使う引数); + +の形で呼び出します。 + + + +/usr/local/fml/messages/Japanese/ +以下にあるファイル群に対して、 +キーワード検索を行ないます。 +各ファイルにはカテゴリごとに分類されたキーワードとメッセージが +定義されています。 +つまり各ファイルに複数のキーワードが定義されています。 + + + +例えば、キーワードが not_found の場合、 +/usr/local/fml/messages/Japanese/kern +の not_found という欄が該当します。 + + + + + + + + + fml 5.0 はどうするべきか? + + +一つのファイルに一つのキーワードを持つのと、 +カテゴリごとに複数のキーワードを持つのとどちらが +カスタマイズしやすいのでしょうか? +僕には良くわかりません。 + + + + + X/Open Portability Guide Issue 4 Version 2 (``XPG4.2'') + + + +XPG (X/Open の規格)を使う場合は + +catgets(catd, set_id, msg_id, char *s); + +で、LOCALE_○○ で指定された言語へ変換しています。 + + + ここで s はデフォルトのメッセージとなります。 + + +例えば、次のような使い方をします。 + + +printf(catgets(catd, 30, 4, "%s: Internal match error.\n"), progname); + + +この時、 +locale の定義ファイル( +例: /usr/pkg/share/nls/ja_JP.EUC/プログラム名.cat +) +の中の se 30、エントリ 4 のメッセージに変換してくれます。 + + + + + + + + + + + + + + diff --git a/fml/doc/ja/tutorial/internals/message.sgml b/fml/doc/ja/tutorial/internals/message.sgml index d65cee19..2a4f3c74 100644 --- a/fml/doc/ja/tutorial/internals/message.sgml +++ b/fml/doc/ja/tutorial/internals/message.sgml @@ -1,5 +1,5 @@ @@ -87,4 +87,6 @@ MIME::Lite +§.errormessage; + -- cgit v1.2.1