<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">
<channel>
    
    <title> - english</title>
    <link>http://abderrahim.arablug.org/blog/</link>
    <description></description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.5 - http://www.s9y.org/</generator>
    <pubDate>Wed, 23 Nov 2011 05:53:39 GMT</pubDate>

    <image>
        <url>http://abderrahim.arablug.org/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS:  - english - </title>
        <link>http://abderrahim.arablug.org/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>On trimming down translations</title>
    <link>http://abderrahim.arablug.org/blog/archives/22-On-trimming-down-translations.html</link>
            <category>english</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/22-On-trimming-down-translations.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=22</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=22</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    Small translation teams always have problems prioritizing translations: you are faced with a huge file to translate and don&#039;t know where to start and get discouraged rapidly. Seeing the main interface translated after translating only 100 strings (something an inexperienced translator can do in an evening) can be a rewarding experience and encourages one to go further.&lt;br /&gt;
&lt;br /&gt;
A few days ago, someone popped out on our mailing list and wanted to help translating gnucash (4098 strings, 26322 words; that&#039;s about the same size as evolution, the biggest file in the base gnome moduleset). After telling him to send the file back every 100--200 strings (both for reviewing for newbie mistakes, and to help him not losing motivation), I then looked at an old attempt to hack a little LD_PRELOAD library that catches calls to gettext to generate a POT file containing only the strings actually used when the software is run.&lt;br /&gt;
&lt;br /&gt;
After some hacking, I got it to the point I could generate a small POT file for our new translator. Right now, it is very fragile; it needs some &quot;postprocessing&quot;, ignores plurals and message contexts, and may well work only on my machine, but I hope it could be useful. The code is available &lt;a href=&quot;https://gist.github.com/1330536&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
It uses a library I&#039;ve found with gettext (preloadable_libintl.so) that looks like it was made specifically for this purpose, I wouldn&#039;t be surprised that I&#039;m reinventing some wheel here. (UPDATE: this is exactly &lt;a href=&quot;http://www.gnu.org/s/hello/manual/gettext/Prioritizing-messages.html&quot;&gt;the purpose of preloadable_libintl.so&lt;/a&gt;, but the output is a bit different, so I&#039;m keeping my version as well)&lt;br /&gt;
&lt;br /&gt;
To compile:&lt;br /&gt;
	valac -C poextract.vala&lt;br /&gt;
	gcc -shared `pkg-config --cflags --libs glib-2.0` -o libpoextract.so poextract.c&lt;br /&gt;
&lt;br /&gt;
and then run like this:&lt;br /&gt;
	LD_PRELOAD=./libpoextract.so:/usr/lib/preloadable_libintl.so gnucash&lt;br /&gt;
&lt;br /&gt;
This will generate a gnucash.pot file in the current directory. The following will remove duplicates and bring in locations and comments from the original po.&lt;br /&gt;
&lt;br /&gt;
	msguniq gnucash.pot | msgmerge ~/Downloads/gnucash-2.4.7.pot - &gt; gnucash.reduced.pot&lt;br /&gt;
&lt;br /&gt;
Now the question is, how can we take advantage of this to prioritize translations? My first idea is to take different common use cases to translate (for example, first-run, everyday use, configuration). This will both reduce the load on a small team, and improve their confidence that they are doing something useful.  
    </content:encoded>

    <pubDate>Tue, 01 Nov 2011 14:55:31 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/22-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>On extracting data from windows files</title>
    <link>http://abderrahim.arablug.org/blog/archives/20-On-extracting-data-from-windows-files.html</link>
            <category>english</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/20-On-extracting-data-from-windows-files.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=20</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    Hello, readers of my blog&lt;br /&gt;
(what, there are no more readers? then I&#039;ll write it for myself)&lt;br /&gt;
&lt;br /&gt;
From time to time, you need to extract some data from a &quot;legacy windows file format&quot; (In my case, it was a JET database). Often, the data is encoded using the (windows-specific) cp1256 encoding (or something similar), but the tool you use assumes cp1252 (or latin1, they are mostly compatible, unlike say cp1256 and iso-8859-6) and you end up with a text containing &quot;arcane&quot; latin characters like:&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Â ÇáÃáÝ ÊÃúáíÝåÇ ãä åãÒÉ æáÇã æÝÇÁ&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
While it should read&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
آ الألف تأْليفها من همزة ولام وفاء&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
Previously, I thought that after such (incorrect) conversions, it would be mostly damaged beyond repair But yesterday, as I met this problem again, I thought I could try to get something out of it (even if it is a bit broken), so I fired up &lt;a href=&quot;http://ipython.org/&quot;&gt;ipython&lt;/a&gt; and after a few trials I found this:&lt;br /&gt;
&lt;pre&gt;
f = file(&#039;file.in&#039;).read()
print &gt;&gt; open(&#039;file.out&#039;, &quot;w&quot;), f.decode(&#039;utf8&#039;).encode(&#039;latin1&#039;).decode(&#039;cp1256&#039;).encode(&#039;utf8&#039;)
&lt;/pre&gt;&lt;br /&gt;
and got the text in a readable form as you can see above. I hope someone finds this useful (by replacing cp1256 by some other encoding).&lt;br /&gt;
  
    </content:encoded>

    <pubDate>Tue, 16 Aug 2011 18:33:00 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/20-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>GNOME 3.0</title>
    <link>http://abderrahim.arablug.org/blog/archives/19-GNOME-3.0.html</link>
            <category>english</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/19-GNOME-3.0.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=19</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=19</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    It&#039;s been a long time since I haven&#039;t blogged. I haven&#039;t contributed much to the Shell after my previous post (because all I have now is my unichrome integrated graphics, which barely runs 3D apps, and I can&#039;t seem to find an AGP card, so no shell for me).&lt;br /&gt;
&lt;br /&gt;
So I wasn&#039;t able to fix all the RTL-locale bugs, but I think &lt;a href=&quot;http://blogs.gnome.org/fmuellner/&quot;&gt;Florian Müllner&lt;/a&gt; did. Nevertheless, it&#039;s great to be part of this new release ...&lt;br /&gt;
&lt;a title=&quot;Help promote GNOME 3!&quot; href=&quot;https://live.gnome.org/ThreePointZero/Promote&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;I am GNOME&quot; src=&quot;http://www.gnome.org/wp-content/uploads/2011/04/iamgnome.png&quot;/&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
One more thing: &lt;a href=&quot;http://mail.gnome.org/archives/gnome-i18n/2011-April/msg00168.html&quot;&gt;I&#039;m going to be the coordinator for the Arabic translation team&lt;/a&gt;, so I&#039;m even more GNOME &lt;img src=&quot;http://abderrahim.arablug.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;d also like to thank &lt;a href=&quot;http://www.khaledhosny.org&quot;&gt;Khaled Hosny&lt;/a&gt; (the former coordinator) who did a good job so far (and even ended up translating alone at some point).  
    </content:encoded>

    <pubDate>Sun, 10 Apr 2011 23:06:25 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/19-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>

</channel>
</rss>
