
OK, the new package is on Github, under the hamlet repo:
https://github.com/yesodweb/hamlet/tree/master/shakespeare-i18n
Jeremy: Can you review the code and let me know if anything needs to
change before it can be used by Happstack?
Thanks,
Michael
On Mon, Dec 12, 2011 at 11:58 AM, Michael Snoyman
I personally hate the thought of typing Shakespeare so often, but in this case you're right that it will be mostly under-the-hood. I'm fine either way.
On Mon, Dec 12, 2011 at 11:54 AM, Greg Weber
wrote: I would much prefer something like Text.Shakespeare.I18n and shakespeare-i18n or shakespeare-translate over requiring an extra mental translation step to understand the name. Especially since this is under the hood, there is no reason to try to give it a themed name.
On Mon, Dec 12, 2011 at 5:01 AM, Michael Snoyman
wrote: On Sat, Dec 10, 2011 at 9:56 PM, Michael Snoyman
wrote: On Sat, Dec 10, 2011 at 8:31 PM, Jeremy Shaw
wrote: On Sat, Dec 10, 2011 at 4:18 AM, Greg Weber
wrote: Yesod guesses the user's locale from the request headers and allows it to be overridden - this could easily be ported to Happstack.
Right. That sounds useful and easy to do.
Yesod also directly supports putting i18n into Hamlet templates, which I think can also be done in Happstack. Yesod also provides a translator friendly veneer over Haskell data types- I think this could also be ported to different settings like Happstack.
We already have Hamlet support in Happstack. But, it seems like that is not enough? We also need some stuff that is in Yesod.Message, etc?
In my ignorance, it seems like there are three pieces:
1. a little bit of framework/application specific code that detects/sets the language to use
2. a bunch of framework independent code that deals with mapping data-types to translated strings
3. some glue code that makes it easy to use #2 with a particular templating library
But, right now it seems that #2 is wrapped up in the yesod hierarchy even though it would be useful for any Haskell program that wants i18n? Or am I missing something?
Looks like you hit everything. You're correct, (2) is currently included in the yesod-core package, but could easily be moved out to a common, shared package. Any ideas on package/module name?
Michael
OK, it's a Shakespeare-like system, and it's for translations.
Any objections to titus (and Text.Titus)?
Michael