Message Internationalization: The Usage Of reply_message_nl() For the message internationalization, use reply_message_nl() See FML::Process::Kernel module. like this: $curproc->reply_message_nl('error.already_member', 'already member', { _arg_address => $address }); This function uses the message template at /usr/local/share/fml/$fml_version/message/$language/error/already_member . $_arg_VARNAME in the message template such as $_args_address is expanded by using the value specified as the argument of reply_mesage_nl(). Usual $VARIABLE is also expaned by replacing it with value of config name space. For example, $ml_name is expanded to ML name defined in config.cf. In fact $_arg_ prefix is used for lexical scope variables to avoid conflicts against variables in config.cf.