<div class="gmail_quote">On Thu, Oct 6, 2011 at 11:06 AM, André Walker <span dir="ltr">&lt;<a href="mailto:andre@andrewalker.net">andre@andrewalker.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I don&#39;t know if it helps, but I&#39;ve been researching a little about localization recently, and I came across this article: <a href="http://rassie.org/archives/247" target="_blank">http://rassie.org/archives/247</a><br>

<br>
In summary, it states Locale::Maketext shouldn&#39;t be used — we should be using Locale::TextDomain instead. I&#39;m considering it for my current needs.<br>
<br>
Any thoughts?<br></blockquote><div><br>The article is rather biased -- it points out the speck in Maketext&#39;s eye while ignoring gettext&#39;s planks.  The author of the article is so bent on how gettext does things that he 
fails to recognize that at least some of what Maketext does is actually an 
improvement.  It reads a lot more like &quot;gettext is The One True Way; Maketext is different; therefore, Maketext is Considered Harmful&quot;.<br><br>gettext was very much built for translating locally-running applications, and makes a lot of assumptions that simply aren&#39;t true in a web environment.  One thing about gettext that makes it untenable for web applications is its reliance on POSIX setlocale() and environment variables to set itself up, a design flaw that Locale::TextDomain tragically reproduced to perfection, gauging from the documentation.  Take a look at these hoops PHP developers jump through to utilize gettext:<br>
<br><a href="http://fplanque.net/Blog/devblog/2003/08/20/internationalizing_web_applications_usin">http://fplanque.net/Blog/devblog/2003/08/20/internationalizing_web_applications_usin</a><br><br>It should induce pain in any sane developer.  Hint: if you are having to set environment variables halfway through your application to configure something, your design is beyond broken.  Now, PHP has Zend_Translate to rescue them from this horror, but almost no one will utilize it because the above kind of cargo-cult hackery is par for the course in PHP.<br>
<br>Perl has already been rescued from this, hint hint.<br><br>The other thing that really irks me is that Locale::TextDomain hasn&#39;t had an update since 2009.  Open bugs on rt.cpan from 2 years ago.  Not a fan of such a crucial underlying library being abandonware.  Maketext, for all its warts, at least still appears to have a maintainer.<br>
<br></div></div>Plus, there are still untapped regions of the l10n universe -- gender-specific verb endings in Russian, anyone?  This is a realm that gettext doesn&#39;t even begin to address.  I have some betting money on which system will address it first.<br>
<br>Now, the article has some valid points about how Maketext does it wrong (like not being able to handle a verbatim gettext PO), so let&#39;s fix Maketext.  gettext is a step backwards in the modern Perl world.<br><br>-- <br>
Stephen Clouse &lt;<a href="mailto:stephenclouse@gmail.com">stephenclouse@gmail.com</a>&gt;<br>