<p>I'm looking at introducing multi-lingual support to a mature CGI application written in Perl.  I had originally considered rolling my own solution using a Perl hash (stored on disk) for translation files but then I came across a CPAN module which appears to do just what I want (<a href="http://search.cpan.org/~audreyt/i18n-0.10/lib/i18n.pm" rel="noreferrer" title="i18n">i18n</a>).  </p>

<p>Does anyone have any experience with internationalization (specifically the i18n CPAN module) in Perl?  Is the i18n module the preferred method for multi-lingual support or should I reconsider a custom solution?</p>

<p>Thanks</p>

There is a
Perl Journal article
on software localisation.  It will provide you with a good idea of what you can expect when adding multi-lingual support.  It's beautifully written and humourous.
Specifically, the article is written by the folks who wrote and maintain
```
Locale::Maketext
```
, so I would recommend that module simply based upon the amount of pain it is clear the authors have had to endure to make it work correctly.