Another, perhaps better way, of supporting multiple
languages is to separate your document design from your
content/language design.
Here's what I mean. You can use a set of
<language_tags> to hold your language variable text
content, and design your web page separately.
Next, create as many libraries as you have languages.
Each library consists entirely of a large hash, so
French.pm might look like:
package MyWebsite::French;
%translation {
tag_color => 'rouge';
tag_street => 'rue';
tag_hooligan => 'anglais';
#etc
};
1;
Finally, write a brief preparsing program that takes
your one and only web page, sucks in each
library in turn, and spews out the appropriate static
web page, with your <preparsing_tags> replaced
with the correct language.
This makes maintenance a great deal easier, and saves
having to do translations on the fly.
Instead, have your CGI invoke the correct static,
translated web page on the fly, based upon their
browser preferences, or whatever.
This method can also be combined with HTML::Template
for superior results, by having preparsed, translated web pages
each of which also possess your HTML::Template tags.
Jens
--
Microsoft delendum est.