From d2b0111aa855c6329c0321052ccf38f487102b54 Mon Sep 17 00:00:00 2001 From: Ken'ichi Fukamachi Date: Mon, 17 Sep 2018 14:10:30 +0900 Subject: reviewed. alignment cosmetics. --- fml/doc/ja/tutorial/message/discussion.sgml | 69 +++++++++++++++++------------ 1 file changed, 41 insertions(+), 28 deletions(-) diff --git a/fml/doc/ja/tutorial/message/discussion.sgml b/fml/doc/ja/tutorial/message/discussion.sgml index b25ed03c..877397c1 100644 --- a/fml/doc/ja/tutorial/message/discussion.sgml +++ b/fml/doc/ja/tutorial/message/discussion.sgml @@ -5,9 +5,17 @@ - 議論: エラーメッセージを返す + [再録] 議論: エラーメッセージを返す + + +記録のため、かつて考察した内容を書き留めておきます。 +現在の実装は、以下の記述とは異なり、 +1メッセージ1ファイルのテンプレートファイルの集合体です。 + + + MLドライバは、適宜、エラーメッセージを送信者に返す必要があります。 そしてエラーメッセージは送信者の言語依存でないといけないでしょう。 @@ -35,21 +43,25 @@ -Mesg() は /usr/local/fml/messages/Japanese/ 以下にあるファイル群に対し -て、キーワード検索を行ないます。各ファイルにはカテゴリごとに分類された -キーワードとメッセージが定義されています。 -つまり各ファイルに複数のキーワードが定義されています。 +Mesg() は +/usr/local/fml/messages/Japanese/ +以下にあるファイル群に対して、 +キーワード検索を行なっています。 +各ファイルには、 +カテゴリごとに分類されたキーワードとメッセージが定義されています。 +つまり各ファイルに複数のキーワードが定義されていました。 -たとえば、キーワードが not_found の場合、 +たとえば、 +キーワードが not_found の場合、 /usr/local/fml/messages/Japanese/kern ファイルの not_found という欄が該当します。 -あまり素敵なものではありませんでした。 -といって、locale が素敵というものでもないですなぁ… +あまり素敵な仕様ではありませんでした。 +だからといって、locale が素敵というわけでもないのですが… @@ -64,9 +76,9 @@ Mesg() 一つのファイルに一つのキーワードを持つのと、 -カテゴリごとに複数のキーワードを持つのとどちらが -カスタマイズしやすいのでしょうか? -僕には良くわかりません。 +カテゴリごとに複数のキーワードを持つのとでは、 +どちらがカスタマイズしやすいでしょうか? +この議論の決定打は、ないように思えます。 @@ -85,7 +97,7 @@ catgets(catd, set_id, msg_id, char *s); ここで s はデフォルトのメッセージとなります。 -locale の使い方は次のようなかんじです。 +locale の使い方は次のような感じになります。 printf(catgets(catd, 30, 4, "%s: Internal match error.\n"), progname); @@ -115,34 +127,32 @@ locale 1: %s は見つかりません 2: %s は %d のエラーです -といったものにしておくと後で便利そうです。 +といったものにしておくと、いざ使うときがきたら便利そうです。 -逆に、一つのキーワードごとに別のファイルにしておく構成も可能です。 -これは特定の一つのキーワードだけ変えたい場合に便利そうです。 +逆に、 +一つのキーワードごとに別のファイルにしておく構成も可能です。 +これは特定の一つのキーワードだけカスタマイズしたい場合に便利そうです。 -もし、後者の方法を試してみることにすると、 +もし、後者の方法をクラスを作成することで試してみることにすると、 FML::Message::ja::キーワード -というクラスをじゃんじゃん作るような作り方になるでしょう。 +というクラスをたくさん作成することになるでしょう。 たとえば FML::Message::ja::not_found -などと 2、300 個のファイルが作られることになります。 - - - +などと 200 〜 300 個のファイルが作られることになります。 この方法の問題点は ファイルがバラバラになる - (逆に長所としてカスタマイズしやすくなる) + (逆に長所として、カスタマイズしやすくなる) @@ -152,18 +162,19 @@ FML::Message::ja::not_found locale 対応を考えると面倒じゃないだろうか? - あたりにあるでしょう。 -まぁ複数のファイルから一つのファイルを合成するのは簡単なので、 -ばらしておいて問題ないとも考えられます。 +もっとも、 +複数のファイルから一つのファイルを合成するのは簡単なので、 +細かい単位になっていることは、そんなに問題ないのかもしれません。 -また、各メッセージテンプレートはどのようなものであるべきだろうか? +また、 +各メッセージテンプレートはどのようなものであるべきでしょうか? 後者の場合、 sub not_found @@ -175,8 +186,10 @@ $sender _EOF_ } -といった関数を一杯作ることもできます。 -つまり単なる引数ではなく意味の分かりやすいものにすることを考えたわけです。 +といった関数をたくさん作ることもできます。 +つまり、 +単なる引数ではなく、 +意味の分かりやすいものにすることを考えたわけです。 しかし、これは本当にカスタマイズしやすいでしょうか? locale 化を考えるなら、これはこれで面倒な気がするわけですが… -- cgit v1.2.1