<br><br><div><span class="gmail_quote">On 10/26/07, <b class="gmail_sendername">Ed Trager</b> &lt;<a href="mailto:ed.trager@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">ed.trager@gmail.com
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi, everyone,<br><br>In response to Xavier Alvarez&#39; request on 10/25 for translators and<br>coordinators, I decided to get off the sidelines and take a look at<br>OLPC&#39;s new Pootle-based L10N infrastructure.<br><br>

Here are a few things I noticed which I think will be of general<br>interest and concern:<br><br>(0) CASING/NAMING OF PO FILES PROBLEM:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Upper/Lower) Casing of names of po files is inconsistent: For<br>example, in Core there is
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;journal-activity.Journal.po&quot; with upper case &quot;J&quot; for the 2nd<br>occurrence of &quot;Journal&quot; but<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then why isn&#39;t &quot;write.write.po&quot; written &quot;write.Write.po&quot;?
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is a small point, but consistent and inuitive naming of<br>these PO files will help<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;everyone. Or am I just failing to understand or intuit what the<br>pattern is supposed to be<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here?</blockquote>

<div><br>Yes this is a matter of standardisation&nbsp; that had to be discussed, our&nbsp; independent pootle platform is still&nbsp; to young.  <br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

(1)&nbsp;&nbsp;INCONSISTENT NUMBER OF MSGIDs ACROSS DIFFERENT LANGUAGES:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The other day when I looked at write.write.po for French, there<br>were only 10<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; messages in the catalog.&nbsp;&nbsp;Today, I see that there are 36
<br>messages which looks a<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lot closer to what I myself get from &quot;xgettext toolbar.py&quot; on<br>the latest code.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; However, when I<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checked write.write.po for Thai today, I see that it still has
<br>only 10 messages.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Solution (Or at least&nbsp;&nbsp;A Question Posing As A Possible Solution):<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Does everyone agree that there needs to be a way that all of<br>the &quot;.po&quot; files for<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; all languages get updated with the&nbsp;&nbsp;latest messages&nbsp;&nbsp;extracted
<br>via &quot;xgettext&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from the latest codebase (toolbar.py, etc.)?</blockquote><div><br>What you are saying is the ideal, we need an automatic way of doing the .POT update each time a new release of each activity is done, and also provide a method&nbsp; to update each AVAILABLE .PO in consequence to the .POT update.
<br><br>Can this be done with&nbsp; the actual method of&nbsp; making activity&nbsp; bundles? <br></div><br><div><br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
What appears to be happening right now is perhaps that someone<br>decided to work on<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the French so maybe they ran &quot;xgettext&quot; against Write
<br>Activity&#39;s latest &quot;toolbar.py&quot; and<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; so for French we&#39;ve now got 36 messages (not all translated --<br>in fact, Pootle says there<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; are only 9 out of 58 translated and I have no clue where that
<br>&quot;58&quot; is coming from<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; because I only find 30 or so when I run &quot;xgettext toolbar.py&quot;<br>myself).&nbsp;&nbsp;BUT, as nobody<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; has yet worked on Thai, there are only 10 messages present for Thai.
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I suspect that it is overly optimistic to believe that the best and<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; most willing translators out in the community will always<br>double-check by<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; running &quot;xgettext&quot; themselves against the latest code to make
<br>sure that messages<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; are not missing.&nbsp;&nbsp;So computer-assisted updating of the PO files<br>to contain the<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; very latest set of msgids sounds like a necessary step.</blockquote><div><br>Agree, ok ill let others answer your other concerns..
<br><br>thx. <br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">(3)&nbsp;&nbsp;SOFTWARE I18N/L10N REVIEW PROCESS:
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; While beginning to translate write.write.po for Thai earlier<br>today, I got to this set of<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msgids:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#: toolbar.py:543<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msgid &quot;Lower Case List&quot;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#: 
toolbar.py:544<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msgid &quot;Upper Case List&quot;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; These are two msgids from a dropdown list which also includes<br>&quot;Numbered List&quot; and<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Bulleted List&quot;. The first&nbsp;&nbsp;item thus refers to a list
<br>enumerated with lower case<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Latin letters:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a. Item One<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b. Item Two<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c. Item Three<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... while the second obviously refers to enumerating a list<br>
with A, B, C, etc.
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Do we all recognize what the problem is here?&nbsp;&nbsp;OK, I&#39;m waiting<br>for your answers :-).<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Yes, it also took me half a second to recognize the problem too!<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Using Thailand as an example, it is true that Thais will
<br>sometimes enumerate lists<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using Latin upper or lower case letters.&nbsp;&nbsp;But the norm in a<br>Thai document (when one&#39;s<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keyboard in any case is already set to Thai) is to enumerate<br>lists using Thai letters,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ก, ข, ค, . . . etc.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; And of course in the Arabic speaking world it is common to<br>enumerate lists using<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ت,&nbsp;&nbsp;ب,&nbsp;&nbsp;ا , (aleph, be, te, etc. ... )<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; And when not enumerating by letters, it is even more common to
<br>enumerate by digits,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; which of course must include native Thai, native Arabic, and a<br>host of other native<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numbering systems for other languages and scripts.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; So, in addition to :<br>

<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msgid &quot;Numbered List&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msgid &quot;Lower Case List&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msgid &quot;Upper Case List&quot;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... we really need to add:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msgid &quot;Arabic Numbered List&quot;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msgid &quot;Devanagari Numbered List&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msgid &quot;Thai Numbered List&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... etc ...<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If memory serves me, I believe there may be on the order of 17
<br>or so different native digit sets currently in Unicode.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;And of course, there need to be msgids for enumerating lists<br>using different,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alphabets:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msgid &quot;Arabic List&quot;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msgid &quot;Devanagari List&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msgid &quot;Thai List&quot;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Of course we cannot have a drop-down list with hundreds of<br>different list styles.&nbsp;&nbsp;That would be completely innappropriate for
<br>school children.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; So my initial thought is that the Python code for the Write<br>application (and any application that requires a drop-down list with<br>different list styles -- i.e., probably break the whole thing out into
<br>a separate reusable class) should include all of the different list<br>styles (getting those needed for the &quot;green countries&quot; would be an<br>excellent place to start).<br><br>Such a Python class should, by default at least, dynamically display
<br>only those lists appropriate for the current locale.&nbsp;&nbsp;These should be<br>displayed in the dropdown first -- that is, in an Arabic script<br>locale, we want to put &quot;Arabic Numeric List&quot; and &quot;Arabic Alphabetical
<br>List&quot; ahead of &quot;Numbered List&quot; (using Arabic-Indic &quot;Western&quot; digits),<br>&quot;Lower Case List&quot;,<br>and &quot;Upper Case List&quot; (the latter two being Latin letters).<br><br>Just my 2 cents ...
<br><br>Best - Ed<br><br>On 10/25/07, Xavier Alvarez &lt;<a href="mailto:xavi.alvarez@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">xavi.alvarez@gmail.com</a>&gt; wrote:<br>&gt; Hi!<br>
&gt;<br>&gt; We seem to be getting the L10n effort under way (in a new server),
<br>&gt; and the subject pretty much sums up the situation:<br>&gt;<br>&gt; We need<br>&gt; - translators (obviously),<br>&gt; - coordinators (that can actually manage each language) and<br>&gt; - volunteers (the universal glue?)
<br>&gt;<br>&gt; All languages are welcome, but it should be noted that there&#39;s a<br>&gt; need for those languages used in the &#39;green countries&#39;, which<br>&gt; are: Amharic, Arabic, English, Spanish, French, Hausa, Hindi,
<br>&gt; Igbo, Nepali, Portuguese, Romanian, Russian, Kinyarwanda, Thai,<br>&gt; Urdu, &amp; Yoruba.<br>&gt;<br>&gt; I&#39;ve updated the [[Localization]] page, noting that the previous<br>&gt; workflow for submitting translations using tickets is being
<br>&gt; dropped (translations are going to be primarily on-line), making<br>&gt; reference to the [[Pootle]] page (that still needs some<br>&gt; club^H^H^H^H polishing) about its use. For future administrators<br>&gt; the [[Pootle/Administration]] could be of interest.
<br>&gt;<br>&gt;<br>&gt; One of the nice features of Pootle is the ability to have<br>&gt; glossaries that are used to propose translated terms dynamically<br>&gt; in the web-gui (thus helping keep a homogeneous terminology). So
<br>&gt; I made rude first approach in [[Pootle/Glossary]] that could also<br>&gt; do with some reviewing...<br>&gt;<br>&gt; If you are interested in participating, at the bottom of the<br>&gt; [[Pootle]] page there&#39;s a table for signing up.
<br>&gt; Note: From previous mails, I took the liberty of signing up Khaled<br>&gt; Hosny [ar], Simos Xenitellis [el] and Maxim Osipov [ru].<br>&gt;<br>&gt; Questions, suggestions, ideas, etc. are all welcome!<br>&gt;<br>

&gt;<br>&gt; Cheers,<br>&gt; Xavier<br>&gt;<br>&gt; [[Localization]] <a href="http://wiki.laptop.org/go/Localization" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://wiki.laptop.org/go/Localization
</a><br>&gt; [[Pootle]] <a href="http://wiki.laptop.org/go/Pootle" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://wiki.laptop.org/go/Pootle</a><br>&gt; [[Pootle/Administration]]<br>&gt; <a href="http://wiki.laptop.org/go/Pootle/Admininstration" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://wiki.laptop.org/go/Pootle/Admininstration
</a><br>&gt; [[Pootle/Glossary]] <a href="http://wiki.laptop.org/go/Pootle/Glossary" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://wiki.laptop.org/go/Pootle/Glossary</a><br>&gt;<br>&gt; --<br>&gt; XA<br>&gt; =========<br>&gt; Don&#39;t Panic!&nbsp;&nbsp;The Answer is 42<br>&gt; _______________________________________________<br>&gt; Localization mailing list
<br>&gt; <a href="mailto:Localization@lists.laptop.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Localization@lists.laptop.org</a><br>&gt; <a href="http://lists.laptop.org/listinfo/localization" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://lists.laptop.org/listinfo/localization</a><br>&gt;<br></blockquote>
</div><br><br clear="all"><br>-- <br>Rafael Enrique Ortiz Guerrero <br>One Laptop Per Child<br><a href="mailto:rafael@laptop.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rafael@laptop.org</a>