[Haskell] I18N, external strings

Johannes Waldmann waldmann at imn.htwk-leipzig.de
Wed Nov 15 02:36:10 EST 2006


What methods and tools are there for i18n of Haskell programs?

(I.e. I want output in several languages,
with the language configurable at runtime,
and I want to add languages without recompilation.)

a typical source text (for my application) is here
http://141.57.11.163/cgi-bin/cvsweb/tool/src/Graph/Circle/Plain.hs?rev=1.2
it contains (German) text strings all over the place.

In Java/Eclipse, I would "Source -> Externalize Strings"
and this replaces each string by something like
Messages.getString("Foobar.0")  where  Messages  is a global variable
(constructed at program start from reading a properties file)

In Haskell, I see at least two problems:
a) reading the file is in IO
b) there are no "global variables". implicit parameters perhaps?
c) when I'm trying to be clever, I use "deriving Show/Read" or similar.
then i18n should rename the constructors/accessors? I rather not.
http://141.57.11.163/cgi-bin/cvsweb/tool/src/Grammatik/Type.hs.drift?rev=1.6

Best regards,
-- 
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
---- http://www.imn.htwk-leipzig.de/~waldmann/ -------



More information about the Haskell mailing list