メッセージの多国語化問題: reply_message_nl() の使い方

fml8 では、メッセージの多国語化のために、 reply_message_nl() [1] メソッドを使い、

$curproc->reply_message_nl('error.already_member',
			   'already member',
			   { _arg_address => $address });
のような呼び出し方をすることにしています。

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

メッセージ中の $_arg_変数名、例えば、

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

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

Notes

[1]

FML::Process::Kernel を参照

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.