<!--
   $FML: language.sgml,v 1.5 2003/04/15 14:51:42 fukachan Exp $
-->


<sect1 id="message.nl">
	<title>
	メッセージの多国語化問題: reply_message_nl() の使い方
	</title>

<para>
&fml8; では、メッセージの多国語化のために、
reply_message_nl()
	<footnote>
	<para>
	FML::Process::Kernel を参照
	</para>
	</footnote>
メソッドを使い、
<screen>
$curproc->reply_message_nl('error.already_member',
			   'already member',
			   { _arg_address => $address });
</screen>
のような呼び出し方をすることにしています。
</para>

<para>
この関数は
/usr/local/share/fml/バージョン/message/言語名/error/already_member
というテンプレートを用いてメッセージを構築します。
</para>

<para>
メッセージ中の $_arg_変数名、例えば、
<screen>
$_arg_address
</screen>
はハッシュリファレンスとして与えられた引数の値へ展開されます。
上の例でいえば、
メッセージテンプレート中の $_arg_address が引数中の 
_arg_address の値で展開されます。
</para>

<para>
また config.cf 中で定義されている変数も同様に展開可能です。
例えばテンプレート中の $ml_name はＭＬ名に展開されるようになっています。
ちなみに、渡す引数に $_arg_ などという prefix をつけているのは 
config.cf の変数群とぶつからないようにするためです。
</para>

</sect1>
