in reply to Writing multilingual perl applications?

Where I work, we do this by storing the localized messages in a database. We have a module that provides a method to fetch a message for the current user's preferred language, substituting place holders for non-translatable parts of the message. So all the print statements or template-fillers in our applications look like

get_localized_messsage($app_id, $lang_id, 35, 'Joe Customer', 3);

which would return 'Welcome back, Joe Customer. It's been 3 days since you visited our site.' provided that message number 35 (in English) for this application is 'Welcome back, {0}. It's been {1} days since you visited our site.'. The place holders can be moved around by the translators to accommodate the syntax of different languages.