Talk:Translations
Translations aided with pootle
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://translate.unixlan.com.ar/
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.
Slords 18:23, 24 January 2008 (MST)
xml2po
bugs
Bugs related to Pootle based translations are linked here
Subversion
Translations are under version control, browseable via trac at http://www.unixlan.com.ar/viewvc
The system has an automatic commit for translations.
Developers upload new or updated .pot files in the templates repository. Changes are pushed to the other language .po files automatically.
Translation Workflow
Draft suggestions ...
.po files
- gettext strings are in various files in cvs
- we use xgettext to creates .pot files from the original files to by extracting gettext strings [1]
- developers load these into pootle as .pot template files using subversion
- .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 template .pot files using subversion
- at some point we diff updated po files against cvs po files, the patch is checked and applied.
FormMagick files
- these are XML files with a <base> and <trans> pair of strings
- we create .po files from the english versions [2]
- using subversion we load these into pootle as .pot template files
- changes to original files, have to be tracked as usual in the bug tracker
- <base> strings only have to be added (or removed) to the cvs xml file for english
- at some point we apply the new translation back to the xml file [3]
then diff against cvs, make patch, check and apply
- [1] smeserver-locale smefetchpo
- [2] smeserver-locale newxml.en
- [3] smeserver-locale smefetchxml, smexml* smereload