Difference between revisions of "Talk:Pootle"

From SME Server
Jump to navigationJump to search
 
(34 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Preliminary ==
+
Managing SME translations with pootle have been moved to [[Translations]]
*http://bugs.contribs.org/show_bug.cgi?id=3782
 
The Goal is to manage SME translations with Pootle hosted on contribs.org. The current method excellent as it is makes it hard to find missing strings and to easily replace them.
 
  
Test pootle site: http://www.unixlan.com.ar:8888
+
== Please use common packages and default package names (where possible) ==
  
Once we have everything worked out how to interact with pootle and the formmagick stuff then I'll get something up on contribs.org that everyone can use.  It would be really nice if we could automate the extraction/import of files that need to be translated into pootle but first things first.
+
A lot of the RPM's are in the DAG repository, no use of packaging them yourself or sharing them by copying them from the providing website and sharing them under a different name.  
  
[[User:Slords|Slords]] 18:23, 24 January 2008 (MST)
+
:What packages exactly? All packages are build from the sources code with the command "python setup.py bdist_rpm" (under python 2.4), and the packge itself create the RPM. The only packages I have changed the name is smeserver-pylucene, because it has a lot of problem to build at the same time of build rpm. Instead, I have only package the installed files. But in the next release of "Translate Toolkin", support for PyLucene 2.X and I have this package correctly builded.
  
== Formagick ==
+
Please point users to download python-kid (replacing you kid RPM), python-lxml (replacing your lxml RPM), python-sqllite (replacing pysqlite RPM), python_Levenshtein and python-elementtree (which you called elementtree) which is also available in the DAG repository and AFAIK is already installed on SME Server by default.  
we are using http://linux.die.net/man/1/xml2po to convert the xml lexicons to .po files and back
 
  
You can download from
+
:These packages don't run under python2.4.
http://mirror.contribs.org/smeserver/contribs/nhall/sme7/contribs/pootle/rpm/gnome-doc-utils-0.12.0-1.noarch.rpm
 
  
To create .po and export xml files, we have written a few shell scripts and added a translation file smetrans.py
+
On top of that not everything is required to install Pootle, only requirements AFAIK could find on the Pootle site are listed [http://translate.sourceforge.net/wiki/pootle/installation#pre-requisite_software here] and because of the jToolkit requiring pythonabi-2.4 you have problems installing against pythonabi-2.3 which is installed on SME Server 7.3, perhaps you can find an older jToolkit, or recompile jToolkit from source and see if it will also work with pythonabi-2.3, this would drop the hack you have to do to make it work on SME Server 7.x.
  
we'll release these later for contribs authors
+
:Yes, requirements say python 2.3 is supported, but preferable 2.4. This page is out of date. If you search through pootle mailing lists you will found a lot of problems with python 2.3. Of couser I was preferable python 2.3, and make my own packages and test with python 2.3 but without sucess. I have a lot of headache with python 2.3 to try (only try) to run pootle. So, python 2.4 is mandatory. Also has a superb efficiently above 2.3 with some new functions that pootle use.
 +
:See http://translate.svn.sourceforge.net/viewvc/translate/src/trunk/Pootle/README?r1=6098&r2=6144
  
 +
:I am not finish this howto yet. Sorry for not warn about that. Now I put a template box with a warn.
 +
:Only when I have finished this howto, I will included in smecontribs.
  
===bugs===
 
*http://bugs.contribs.org/show_bug.cgi?id=3863
 
FIXED. Added a new module file smerev.py. This module is used only when call xml2po to convert FM xml.
 
  
*new bug to be added
+
- [[User:Cactus|Cactus]] 14:09, 19 February 2008 (MST)
:not all translations are in /etc/e-smith/locale/
 
:make a list of files to be split
 
:: cat /etc/e-smith/web/functions/* |grep \<trans\>
 
::/etc/e-smith/web/functions/support
 
 
 
*new bug
 
:xml2po fails when converting back to xml if duplicate <trans> exist
 
:
 
 
 
not sure if these are bugs in xml2po or sme
 
 
 
*possible bug
 
:xml2po fails when converting back to xml if duplicate <trans> exist
 
::Apply the new module smerev.py at newxml script. I have tested and working ok.
 
FM XML:
 
      <entry>
 
        <base>Online manual</base>
 
        <trans>Online manual</trans>
 
      </entry>
 
 
      <entry>
 
        <base>Test</base>
 
        <trans>Online manual</trans>
 
      </entry>
 
 
 
Converted PO:
 
#: on:30(trans) on:35(trans)
 
msgid "Online manual"
 
msgstr ""
 
 
Back converted XML:
 
      <entry>
 
        <base>Online manual</base>
 
        <trans>Online manual</trans>
 
      </entry>
 
 
      <entry>
 
        <base>Test</base>
 
        <trans>Online manual</trans>
 
      </entry>
 
 
 
::and if you have translated, logically you get:
 
 
Translated PO:
 
#: on:30(trans) on:35(trans)
 
msgid "Online manual"
 
msgstr "Children"
 
 
Back converted XML:
 
      <entry>
 
        <base>Online manual</base>
 
        <trans>Children</trans>
 
      </entry>
 
 
      <entry>
 
        <base>Test</base>
 
        <trans>Children</trans>
 
      </entry>
 
 
 
 
 
It may still be a problem, the english <trans> values may be the same, but the translation may not
 
FM XML in fr:
 
      <entry>
 
        <base>Online manual</base>
 
        <trans>Online manual</trans>
 
      </entry>
 
 
      <entry>
 
        <base>Test</base>
 
        <trans>Le online manual</trans>
 
      </entry>
 
 
 
 
 
 
 
*possible bug
 
:xml2po fails creating .po if tags are not closed eg. <nowiki><p> with out </p></nowiki>
 
::http://bugs.contribs.org/show_bug.cgi?id=3877
 
::Fixing this problem not solve the case of the unique tag <nowiki><br></nowiki>.
 
::May be you can preprocess this tag at script level.
 
 
 
==Console==
 
 
 
*http://bugs.contribs.org/show_bug.cgi?id=3833
 
update all .po files
 
 
 
FIXED, Templates have been implemented with up to date strings, now it's over to users to translate them
 
 
 
 
 
*http://bugs.contribs.org/show_bug.cgi?id=3834
 
.po file names are inconsistent, SV & FR add .tmpl.po
 
 
 
FIXED, in pootle: .tmpl.po is correct, other languages have been changed
 
 
 
 
 
*http://bugs.contribs.org/show_bug.cgi?id=3858
 
Use UTF-8 for console .po files
 
: Pootle has problems with the current charset=iso-8859-1
 
: we now use UTF-8
 
WONTFIX, we will script the conversion back to iso-8859-1
 
 
 
== revision control using CVS/SVN ==
 
 
 
Today I had a quick look at the pootle pages and found a wiki as well, which has some valuable information like for instance revision control using CVS/SVN: http://translate.sourceforge.net/wiki/pootle/version_control - [[User:Cactus|Cactus]] 03:26, 25 January 2008 (MST)
 
 
 
A few links for future implementation:
 
:http://subversion.tigris.org/tools_contrib.html#po_update_sh
 
:http://subversion.tigris.org/tools_contrib.html#verify_po_py
 
:http://subversion.tigris.org/tools_contrib.html#svnmerge_py
 
:http://subversion.tigris.org/tools_contrib.html#svnmerge_sh
 
 
 
== Remarks ==
 
 
 
===Translation Workflow===
 
 
 
Draft suggestions ...
 
 
 
====.po files====
 
*gettext strings are in various files in cvs, currently we think we have them all in pootle as .pot template files
 
: we need to use xgettext to search a maintained list of files to extract current gettext strings
 
: this may find missing, or modified strings or remove old strings saving on pointless translations
 
 
 
*existing translations have been placed in pootle and merged with the templates
 
:this shows missing translations very nicely and is ready for user testing
 
 
 
*all .po files have been converted to UTF-8, they will be converted back to ISO-8859-1 when patching SME
 
 
 
*changes to original files, ie changed gettext strings, have to be tracked as usual in the bug tracker
 
:these are imported into the templates, other languages are updated from templates
 
 
 
*at some point we diff against cvs po files, the patch is checked and applied.
 
 
 
====FormMagick files====
 
*these are XML files with a <base> and <trans> pair of strings, these can be converted to .po files with some work
 
 
 
*some rough scripts are being worked on above, there may be others on the net waiting to be found...
 
: we need to clean up some inconsistencies in the english lexicons and they will be our .pot templates
 
: we need to script the conversion of existing translations into .po files
 
 
 
*changes to original files, have to be tracked as usual in the bug tracker
 
: the following is speculative ...
 
: these are imported into the .pot templates, other languages are updated from templates
 
: new <base> strings only have to be added to the cvs xml file for english
 
 
 
*at some point we script xml2po to apply the new translation back to the xml file,
 
then diff against cvs, make patch, check and apply
 
 
 
== Pootle Usage ==
 
 
 
Test pootle site: http://www.unixlan.com.ar:8888
 
 
 
===untranslated words===
 
click "Show Editing Functions" and finally at "Quick Translate" for each file or whole language.
 
 
 
Also you can see the suggestions clicking at "Review Suggestions".
 
 
 
===checks===
 
click "show checks" to see a list of syntax errors
 
 
 
acronyms  6 strings (2%) failed
 
brackets 17 strings (6%) failed
 
doublequoting 4 strings (1%) failed
 
doublespacing 1 string (0%) failed
 
endpunc 11 strings (3%) failed
 
endwhitespace 4 strings (1%) failed
 
numbers 2 strings (0%) failed
 
puncspacing 2 strings (0%) failed
 
sentencecount 2 strings (0%) failed
 
simplecaps 16 strings (5%) failed
 
startcaps 6 strings (2%) failed
 
unchanged 7 strings (2%) failed
 
untranslated 53 strings (19%) failed
 
 
 
click on one of the links offered and fix them
 
 
 
See http://translate.sourceforge.net/wiki/guide/pofilter_examples and http://translate.sourceforge.net/wiki/guide/translation/commonerrors
 
 
 
===Merging new strings===
 
Add, remove or modify strings in the template/*.pot file then click 'update from template'.
 
 
 
:New strings are added
 
:modified strings use existing data and made fuzzy (i think)
 
:deleted strings are moved to the bottom of the file and commented out with #~
 

Latest revision as of 17:44, 10 March 2008

Managing SME translations with pootle have been moved to Translations

Please use common packages and default package names (where possible)

A lot of the RPM's are in the DAG repository, no use of packaging them yourself or sharing them by copying them from the providing website and sharing them under a different name.

What packages exactly? All packages are build from the sources code with the command "python setup.py bdist_rpm" (under python 2.4), and the packge itself create the RPM. The only packages I have changed the name is smeserver-pylucene, because it has a lot of problem to build at the same time of build rpm. Instead, I have only package the installed files. But in the next release of "Translate Toolkin", support for PyLucene 2.X and I have this package correctly builded.

Please point users to download python-kid (replacing you kid RPM), python-lxml (replacing your lxml RPM), python-sqllite (replacing pysqlite RPM), python_Levenshtein and python-elementtree (which you called elementtree) which is also available in the DAG repository and AFAIK is already installed on SME Server by default.

These packages don't run under python2.4.

On top of that not everything is required to install Pootle, only requirements AFAIK could find on the Pootle site are listed here and because of the jToolkit requiring pythonabi-2.4 you have problems installing against pythonabi-2.3 which is installed on SME Server 7.3, perhaps you can find an older jToolkit, or recompile jToolkit from source and see if it will also work with pythonabi-2.3, this would drop the hack you have to do to make it work on SME Server 7.x.

Yes, requirements say python 2.3 is supported, but preferable 2.4. This page is out of date. If you search through pootle mailing lists you will found a lot of problems with python 2.3. Of couser I was preferable python 2.3, and make my own packages and test with python 2.3 but without sucess. I have a lot of headache with python 2.3 to try (only try) to run pootle. So, python 2.4 is mandatory. Also has a superb efficiently above 2.3 with some new functions that pootle use.
See http://translate.svn.sourceforge.net/viewvc/translate/src/trunk/Pootle/README?r1=6098&r2=6144
I am not finish this howto yet. Sorry for not warn about that. Now I put a template box with a warn.
Only when I have finished this howto, I will included in smecontribs.


- Cactus 14:09, 19 February 2008 (MST)