couchdb-l10n mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andy Wenk <>
Subject Re: INFRA: Pootle translation service for CouchDB questions
Date Sat, 09 Nov 2013 19:53:30 GMT
Hi Jan,

a huge thanks for your reply and all the insights. This already helps very
very much. I now need to find some time to see how we proceed here. We need
to integrate the creation and extraction of the .pot and .po files. I did
that already manually but it should be done automatically in the build
scripts. I would like to come back to you when things are even clearer.

Thanks again very much!



On 9 November 2013 11:55, janI <> wrote:

> Hi Andy.
> thanks for your mail, I have added infra@ since others might also want to
> read the answers.
> On 8 November 2013 22:53, Andy Wenk <> wrote:
>> Hi Jan,
>> I have read and would
>> like to get a better understanding, of how we can integrate the pootle
>> service into the CouchDB CI. In your first comment, you mentioned that you
>> have written some tools. What are the for? Can they help us?
> The tools I have made is a set of C++ classes with a main, that extract
> the original (typical en-US) messages from from source files and generates
> template files (.pot). The tool is made is made so that it is very simple
> to add new source type (e.g. .java).
> If you use Sphinx that is a good alternative.
>> We will be able to create .po files with Sphinx. I am now wondering, how
>> these files can be uploaded to
>> . Is there an API we can
>> use? As far as I understood, it is also possible to update existing files -
>> what is for sure essential.
> There are no api, you do it via the UI.
>> It would be great if there are some scenario descriptions or experience
>> reports. Maybe the folks from the Apache OpenOffice project have some? Or
>> can you just give some info? That would be awesome ;-).
> I am one of those folks (actually, probably one of two that knows most
> about this process) :-)
> Let me first shortly present the normal work pattern, and then show how
> you can get started:
> The normal workflow are (please see some of the things as being able to
> happen in parallel)
> 1) Write source that contain new/changes en-US messages
> 2) extract messages from source files to 1 or more template files (many
> projects prefer to group the template files after function, e.g.
> help/ui/errors, but you can also have a 1-1 with source files).
> 3) Upload changed .pot files (template files, same format as .po just
> another name) to pootle using the UI.
> 4) Run "update languages against templates" in the UI. This will do the
> following:
> a) Add new messages to all language files (for each .pot file, you have 1
> .po file pr language), leaving translation empty
> b) Mark changes messages as "fuzzy" so the translations can be corrected.
> 5) Let translators do their magic online (remark translators can be but
> need not be committers)
> 6) Run "sync database to po files"
> 7) Download po files (as zip) using th UI
> 8) Merge  po files into the source, as pr your code requirement (in AOO,
> the source files is expanded with all languages, so users can switch
> online).
> 9) Compile and test.
> In order to bootstrap your project, you need to:
> 1) define the languages you want to have (UI)
> 2) Upload the first set of templates (its a bit tricky, I can do that for
> you if you mail me a zip file)
> 3) Upload any translatations you may already have
> 4) use the above workflow.
> I have some spare cycles and can help you in 2 different ways if you want
> it:
> a) help setup/load the initial database
> or
> b) join the project and help design a workflow fitting for your needs and
> of course be there to get it working.
> Please if something is unclear or you need more information, please ask.
> rgds
> jan I.
>> Thanks a lot for your help!
>> Cheers
>> Andy
>> --
>> Andy Wenk
>> Hamburg - Germany
>> RockIt!
>> GPG fingerprint: C044 8322 9E12 1483 4FEC 9452 B65D 6BE3 9ED3 9588

Andy Wenk
Hamburg - Germany

GPG fingerprint: C044 8322 9E12 1483 4FEC 9452 B65D 6BE3 9ED3 9588

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message