<!--
   $FML: language.sgml,v 1.6 2004/04/07 11:07:09 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>
は reply_message_nl の引数のハッシュリファレンスとして与えられた値へ展
開されます。上の例でいえば、メッセージテンプレート中の $_arg_address 
が引数中の _arg_address の値で展開されます。
</para>

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

</sect1>
