Difference between revisions of "Talk:Translations"

From SME Server
Jump to navigationJump to search
Line 30: Line 30:
 
:I have setup a SVN repository and linked with Pootle. Run very well, but I want to setup this repo with commit (write) access authenticate, and public read-only access. I have setup with smeserver-subversion and the only authenticate option work for read and write. Can you help me?
 
:I have setup a SVN repository and linked with Pootle. Run very well, but I want to setup this repo with commit (write) access authenticate, and public read-only access. I have setup with smeserver-subversion and the only authenticate option work for read and write. Can you help me?
  
:For this reason I do not want to reveal the SVN address, and only is browsable via trac at http://www.unixlan.com.ar/pootletrac
+
:For this reason I do not want to reveal the SVN address, and only is browsable via trac at http://www.unixlan.com.ar/viewvc
  
:Users can't use the "update" function within pootle because I have disabled. Only can "commit".
+
:Users can't use the "update" function within pootle because I have disabled. Only can "commit". I have add a cron entry to auto-commit every 15 minutes.
 
:I have added the following text at the top of each project in pootle:
 
:I have added the following text at the top of each project in pootle:
  
:'''''You can (must) commit your file changes everytime you have finished your tranlation work (partially or totally). For this, you must click at the top language menu "Show Editing Functions" link, and then click at the "Commit" link of the file you have translated.'''''
+
:'''''You can (must) commit your file changes everytime you have finished your tranlation work (partially or totally). For this, you must click at the top language menu "Show Editing Functions" link, and then click at the "Commit" link of the file you have translated. The system also has an automatic commit every 15 minutes, but not append your username in the svn commit log.'''''
 
:--[[User:PicsOne|Normando Hall]] 23:14, 21 February 2008 (MST)
 
:--[[User:PicsOne|Normando Hall]] 23:14, 21 February 2008 (MST)
  

Revision as of 08:50, 24 February 2008

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

we are using http://linux.die.net/man/1/xml2po to convert the xml lexicons to .po files and back

You can download from 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

we'll release these later for contribs authors


bugs

Bugs related to Pootle based translations are linked here

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 - Cactus 03:26, 25 January 2008 (MST)

I have setup a SVN repository and linked with Pootle. Run very well, but I want to setup this repo with commit (write) access authenticate, and public read-only access. I have setup with smeserver-subversion and the only authenticate option work for read and write. Can you help me?
For this reason I do not want to reveal the SVN address, and only is browsable via trac at http://www.unixlan.com.ar/viewvc
Users can't use the "update" function within pootle because I have disabled. Only can "commit". I have add a cron entry to auto-commit every 15 minutes.
I have added the following text at the top of each project in pootle:
You can (must) commit your file changes everytime you have finished your tranlation work (partially or totally). For this, you must click at the top language menu "Show Editing Functions" link, and then click at the "Commit" link of the file you have translated. The system also has an automatic commit every 15 minutes, but not append your username in the svn commit log.
--Normando Hall 23:14, 21 February 2008 (MST)


A few links for future implementation: (not delete this links, maybe are usesful when we implement an automatic commit)

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

Translation Workflow

Draft suggestions ...

.po files

  • gettext strings are in various files in cvs
we use xgettext to creates .po files from the original files to by extracting gettext strings [1]
we load these into pootle as .pot template files and update other languages from these
  • .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 and other languages by above method
  • 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]
we load these into pootle as .pot template files and update other languages from these
  • changes to original files, have to be tracked as usual in the bug tracker
new <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 [2]

then diff against cvs, make patch, check and apply

[1] smeserver-locale smefetchpo (added)
[2] smeserver-locale smefetchxml, smexml* smereload (to be added)