Ich mache fuer verschiedene Sprachen recht gerne den folgenden Weg:
1. ich erzeuge die Templates, in denen die Platzhalter fuer die Sprache drinnenstehen, und ersetze die dann mit Perl 1:1 und speichere die Templates dann in einem Templateverzeichnis (z.B. templates/us, templates/de, ... ) zwischen, damit ich diese Ersetzung nicht jedesmal machen muss.
2. Dann verwende ich das entsprechende Template aus dem CGI (oder was auch immer)-Script und zeige es an.
Aber
Locale::Maketext sieht fuer 1. auch recht interessant aus... (kannte ich noch gar nicht, THX@Geewiz)