<html><body>
<p><font size="2" face="sans-serif">Hi,</font><br>
<br>
<font size="2" face="sans-serif">I completed the import. Messages' translations of Nova, Glance, Keystone, </font><br>
<font size="2" face="sans-serif">Quantum and Cinder for 9 languages (de, es, fr, it, ja, ko, pt_BR, zh_CN, zh_TW)</font><br>
<font size="2" face="sans-serif">have been imported.</font><br>
<br>
<font size="2" face="sans-serif">Now the completion rates of these 9 languages are:</font><br>
<font size="2" face="sans-serif">Nova - 91%</font><br>
<font size="2" face="sans-serif">Cinder - 93%</font><br>
<font size="2" face="sans-serif">Keystone - 89%</font><br>
<font size="2" face="sans-serif">Quantum - 90%</font><br>
<font size="2" face="sans-serif">Glance - 76%</font><br>
<br>
<font size="2" face="sans-serif">During this work, I found 1 issue that needs developers to pay attention to.</font><br>
<font size="2" face="sans-serif">Sometimes when developers define a message containing a string type variable,</font><br>
<font size="2" face="sans-serif">e.g. "The service from servicegroup driver %(driver) is temporarily unavailable."</font><br>
<font size="2" face="sans-serif">They may forget to add the conversion specifier 's' after the variable.</font><br>
<font size="2" face="sans-serif">Transifex (or GNU gettext utilities) will regard "%(driver) i" as a whole expression.</font><br>
<font size="2" face="sans-serif">The character 'i' is the conversion specifier.</font><br>
<font size="2" face="sans-serif">It will cause an error during translating </font><br>
<font size="2" face="sans-serif">"Error: The expression '%(driver) i' is not present in the translation."</font><br>
<font size="2" face="sans-serif">and the translation cannot be saved.</font><br>
<font size="2" face="sans-serif">Please pay attention to it during the code development.</font><br>
<br>
<font size="2" face="sans-serif">I have reported 3 bugs in code which are found during this work.</font><br>
<font size="2" face="sans-serif"><a href="https://bugs.launchpad.net/nova/+bug/1183733">https://bugs.launchpad.net/nova/+bug/1183733</a></font><br>
<font size="2" face="sans-serif"><a href="https://bugs.launchpad.net/quantum/+bug/1183734">https://bugs.launchpad.net/quantum/+bug/1183734</a></font><br>
<font size="2" face="sans-serif"><a href="https://bugs.launchpad.net/cinder/+bug/1183736">https://bugs.launchpad.net/cinder/+bug/1183736</a></font><br>
<font size="2" face="sans-serif">Please verify and fix them.</font><br>
<br>
<font size="2" face="sans-serif">Thanks and regards<br>
Ying Chun Guo (Daisy)<br>
</font><br>
<tt><font size="2">Ying Chun Guo/China/IBM wrote on 2013/05/15 17:01:10:<br>
<br>
> Ying Chun Guo/China/IBM </font></tt><br>
<tt><font size="2">> 2013/05/15 17:01</font></tt><br>
<tt><font size="2">> <br>
> To</font></tt><br>
<tt><font size="2">> <br>
> openstack-translation@lists.launchpad.net, openstack@lists.launchpad.net, </font></tt><br>
<tt><font size="2">> <br>
> cc</font></tt><br>
<tt><font size="2">> <br>
> Subject</font></tt><br>
<tt><font size="2">> <br>
> Import professional translations</font></tt><br>
<tt><font size="2">> <br>
> Hi,</font></tt><br>
<tt><font size="2">> <br>
> My company, IBM, has finished the translation of messages in Nova, <br>
> Glance, Keystone, Quantum and Cinder </font></tt><br>
<tt><font size="2">> to 9 languages (de, es, fr, it, ja, ko, pt_BR, zh_CN, zh_TW) for <br>
> Grizzly, by outsourcing to professional </font></tt><br>
<tt><font size="2">> translators. We tend to contribute these translations to community. </font></tt><br>
<tt><font size="2">> <br>
> Some volunteers have done part of the translations in Transifex. The<br>
> average completion percentage among all </font></tt><br>
<tt><font size="2">> these 9 languages is below 20%. If we can merge these professional <br>
> translations into Transifex, we can improve</font></tt><br>
<tt><font size="2">> the completion percentage to a very high number.</font></tt><br>
<tt><font size="2">> <br>
> In my mind, there are several ways to import professional <br>
> translation to Transifex:</font></tt><br>
<tt><font size="2">> <br>
> 1. Merge the professional version of po files and community version,<br>
> using the professional version when conflicting.</font></tt><br>
<tt><font size="2">> 2. Merge the community version of po files and professional version,<br>
> using the community version when conflicting.</font></tt><br>
<tt><font size="2">> 3. Import the professional translations as translation memory, thus <br>
> the professional translations will appear </font></tt><br>
<tt><font size="2">> as "suggestion" while volunteers do the translation in Transifex. </font></tt><br>
<tt><font size="2">> <br>
> I prefer the first one, because it can improve the percentage of <br>
> translation completion very quickly, </font></tt><br>
<tt><font size="2">> while the third one needs some time for volunteers to review the <br>
> strings one by one. What's more, the quality of </font></tt><br>
<tt><font size="2">> professional version should be better.</font></tt><br>
<tt><font size="2">> <br>
> I'm going to start this work. If you have any different opinions, <br>
> please let me know.</font></tt><br>
<tt><font size="2">> <br>
> Regards<br>
> Ying Chun Guo (Daisy)</font></tt></body></html>