Watch out for:
- Encoding/charset problems. In practice, don't use a Perl before 5.8, and keep all your strings in a utf-8-encoded file. Be prepared to transcode them (see Encode) for the display, though.
- Plural forms. Just because some languages have two forms, don't assume every other has too. There are languages with a different form for "2 thing" and "more than 2 things", or different forms depending on $x%10. And 0 is singular in some languages and plural in others...
I'd advise you to look into the modifications made to gettext and family by the KDE team. A couple of friends of mine are on the italian translation team, and from what I've seen their gettext works with most languages.
And for interfacing it with Perl, Inline::C!
dakkar - Mobilis in mobile