I think it&#39;s still useful. I used it to export all translatable strings for Physical Etoys (including the Etoys translations). But maybe there is a better way that I ignore.<div><br></div><div>Also, I was thinking about the translation support and I came to the conclusion that I really hate the String&gt;&gt;#translatedInAllDomains hack. The problem is that I don&#39;t know how to fix it so it would find the right domain in *all* cases.</div>

<div>So, here is my idea: what if instead of having a bunch of .mo files, we come back to the big etoys.mo file but keeping the .po files divided in domains?</div><div>I mean, the translators would be happy because they&#39;ll have all the files splitted by domain. And, at the time of compiling, we merge all the po files into one huge etoys.po file and just compile that, thus simplifying the #translated stuff a lot.</div>

<div><br></div><div>I don&#39;t know if this will work, but if you think it&#39;s a good idea I&#39;ll give it a try tomorrow.</div><div><br></div><div>Cheers,</div><div>Richo</div><div><br></div><div><br><div class="gmail_quote">

On Mon, Apr 18, 2011 at 10:40 PM, Korakurider <span dir="ltr">&lt;<a href="mailto:korakurider@gmail.com">korakurider@gmail.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 class="im">&gt; * Exporting a GetTextTranslator was giving a DNU because GetTextExporter&gt;&gt;translationFor:in: was asking &quot;translator translations&quot;.<br>
</div>      Do we still need GetTextExporter class?<br>
      I think the class became obsolete at least in Etoys image (and<br>
Pharo maybe). Its only use would be migrating old in-image<br>
translations to PO format.<br>
<font color="#888888"><br>
/Korakurider<br>
</font><div><div></div><div class="h5"><br>
<br>
On Tue, Apr 19, 2011 at 1:35 AM,  &lt;<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>&gt; wrote:<br>
&gt; Ricardo Moran uploaded a new version of GetText to project Etoys:<br>
&gt; <a href="http://source.squeak.org/etoys/GetText-Richo.14.mcz" target="_blank">http://source.squeak.org/etoys/GetText-Richo.14.mcz</a><br>
&gt;<br>
&gt; ==================== Summary ====================<br>
&gt;<br>
&gt; Name: GetText-Richo.14<br>
&gt; Author: Richo<br>
&gt; Time: 18 April 2011, 1:35:48 pm<br>
&gt; UUID: fe80068b-c439-cb4e-b5bb-a659673f623b<br>
&gt; Ancestors: GetText-Richo.13<br>
&gt;<br>
&gt; * Exporting a GetTextTranslator was giving a DNU because GetTextExporter&gt;&gt;translationFor:in: was asking &quot;translator translations&quot;.<br>
&gt; * TextDomainManager class&gt;&gt;allKnownDomains was ignoring the special domain &quot;Etoys-Tiles&quot;<br>
&gt;<br>
&gt; =============== Diff against GetText-Richo.13 ===============<br>
&gt;<br>
&gt; Item was changed:<br>
&gt;  ----- Method: GetTextExporter&gt;&gt;translationFor:in: (in category &#39;private&#39;) -----<br>
&gt;  translationFor: aKey in: translator<br>
&gt; +       | translation |<br>
&gt; +       translator ifNil: [^ &#39;&#39;].<br>
&gt; +       TextDomainManager allKnownDomains do: [:domain |<br>
&gt; +               translation := translator translate: aKey inDomain: domain.<br>
&gt; +               aKey = translation ifFalse: [^translation]<br>
&gt; +       ].<br>
&gt; +       ^ aKey!<br>
&gt; -       translator ifNil: [^&#39;&#39;].<br>
&gt; -       translator translations at: aKey ifPresent: [:s | ^s].<br>
&gt; -       &quot;If we have old camelCase translations, make space-separated words&quot;<br>
&gt; -       translator translations at: aKey toCamelCase ifPresent: [:s |<br>
&gt; -               (s includes: Character space) ifTrue: [^s].<br>
&gt; -               ^s fromCamelCase].<br>
&gt; -       ^&#39;&#39;!<br>
&gt;<br>
&gt; Item was changed:<br>
&gt;  ----- Method: TextDomainManager class&gt;&gt;allKnownDomains (in category &#39;accessing&#39;) -----<br>
&gt;  allKnownDomains<br>
&gt;  &quot;Every package has it&#39;s own text domain now so it&#39;s not necessary to keep a registry of all domains, we can simply return all the packages in the image.<br>
&gt;  PROBLEM: If a package doesn&#39;t contain translations, it won&#39;t have a mo file but the GetTextTranslator will try to load it anyway. This happens when we switch languages. So far I tested it briefly and it seems to work...&quot;<br>


&gt; + ^PackageOrganizer default packageNames , {&#39;Etoys-Tiles&#39;}!<br>
&gt; - ^PackageOrganizer default packageNames!<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; etoys-dev mailing list<br>
&gt; <a href="mailto:etoys-dev@squeakland.org">etoys-dev@squeakland.org</a><br>
&gt; <a href="http://lists.squeakland.org/mailman/listinfo/etoys-dev" target="_blank">http://lists.squeakland.org/mailman/listinfo/etoys-dev</a><br>
&gt;<br>
_______________________________________________<br>
etoys-dev mailing list<br>
<a href="mailto:etoys-dev@squeakland.org">etoys-dev@squeakland.org</a><br>
<a href="http://lists.squeakland.org/mailman/listinfo/etoys-dev" target="_blank">http://lists.squeakland.org/mailman/listinfo/etoys-dev</a><br>
</div></div></blockquote></div><br></div>