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.<br>

<br><div class="gmail_quote">On Mon, Dec 12, 2011 at 5:01 AM, Michael Snoyman <span dir="ltr">&lt;<a href="mailto:michael@snoyman.com">michael@snoyman.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><div></div><div class="h5">On Sat, Dec 10, 2011 at 9:56 PM, Michael Snoyman &lt;<a href="mailto:michael@snoyman.com">michael@snoyman.com</a>&gt; wrote:<br>
&gt; On Sat, Dec 10, 2011 at 8:31 PM, Jeremy Shaw &lt;<a href="mailto:jeremy@n-heptane.com">jeremy@n-heptane.com</a>&gt; wrote:<br>
&gt;&gt; On Sat, Dec 10, 2011 at 4:18 AM, Greg Weber &lt;<a href="mailto:greg@gregweber.info">greg@gregweber.info</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Yesod guesses the user&#39;s locale from the request headers and allows it to be<br>
&gt;&gt;&gt; overridden - this could easily be ported to Happstack.<br>
&gt;&gt;<br>
&gt;&gt; Right. That sounds useful and easy to do.<br>
&gt;&gt;<br>
&gt;&gt;&gt; Yesod also directly<br>
&gt;&gt;&gt; supports putting i18n into Hamlet templates, which I think can also be done<br>
&gt;&gt;&gt; in Happstack. Yesod also provides a translator friendly veneer over Haskell<br>
&gt;&gt;&gt; data types- I think this could also be ported to different settings like<br>
&gt;&gt;&gt; Happstack.<br>
&gt;&gt;<br>
&gt;&gt; We already have Hamlet support in Happstack. But, it seems like that<br>
&gt;&gt; is not enough? We also need some stuff that is in Yesod.Message, etc?<br>
&gt;&gt;<br>
&gt;&gt; In my ignorance, it seems like there are three pieces:<br>
&gt;&gt;<br>
&gt;&gt;  1. a little bit of framework/application specific code that<br>
&gt;&gt; detects/sets the language to use<br>
&gt;&gt;<br>
&gt;&gt;  2. a bunch of framework independent code that deals with mapping<br>
&gt;&gt; data-types to translated strings<br>
&gt;&gt;<br>
&gt;&gt;  3. some glue code that makes it easy to use #2 with a particular<br>
&gt;&gt; templating library<br>
&gt;&gt;<br>
&gt;&gt; But, right now it seems that #2 is wrapped up in the yesod hierarchy<br>
&gt;&gt; even though it would be useful for any Haskell program that wants<br>
&gt;&gt; i18n? Or am I missing something?<br>
&gt;<br>
&gt; Looks like you hit everything. You&#39;re correct, (2) is currently<br>
&gt; included in the yesod-core package, but could easily be moved out to a<br>
&gt; common, shared package. Any ideas on package/module name?<br>
&gt;<br>
&gt; Michael<br>
<br>
</div></div>OK, it&#39;s a Shakespeare-like system, and it&#39;s for translations.<br>
<br>
Any objections to titus (and Text.Titus)?<br>
<font color="#888888"><br>
Michael<br>
</font></blockquote></div><br>