[Haskell] I18N, external strings

Stefan Aeschbacher haskell at aeschbacher.ch
Wed Nov 15 04:35:09 EST 2006


Hi

there is a project for i18n on sourceforge. It contains for example bindings
to the gettext library which could be helpful. I'm not sure though how up to
date this project is (project page looks very empty).
The code is still available in the sourceforge cvs repository:

http://haskell-i18n.cvs.sourceforge.net/haskell-i18n/

Another possibility is to load the lookup tables in the IO monad and then
use a Reader Monad to make your lookup table available in your code.

regards

Stefan

2006/11/15, Johannes Waldmann <waldmann at imn.htwk-leipzig.de>:
>
> 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/<http://www.imn.htwk-leipzig.de/%7Ewaldmann/>-------
>
> _______________________________________________
> Haskell mailing list
> Haskell at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell/attachments/20061115/f3145be4/attachment.htm


More information about the Haskell mailing list