Announcing tcm2po for better test cases translation management

View: New views
3 Messages — Rating Filter:   Alert me  

Announcing tcm2po for better test cases translation management

by grakic :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dear friends,

Following the discussion at the OOoCon earlier today, I would like to
announce the availability of the tcm2po, a set of three small and hackish
Python scripts that can be used to translate our TCM test cases using the
standard PO files.

This makes one possible to translate TCM test cases using Pootle as a
repository or to fit this task into the preferred translation work flow
using standard tools for management, translation memory, validation and
glossaries.

Best regards,
Goran


= Example usage =

The first step is to obtain English test cases text file dump from the TCM
tool following the download link under Test Case Maintenance for the
English language. Name this file tcm_320.txt and use the script tcm2pot.py
to create new empty POT file.

$ tcm2pot.py tcm_320.txt tcm_320.pot


If you already have some test cases translated in the TCM you would most
probably like to merge them with the generated POT file to produce
translated PO file. There is a script named merge_translated_tcm.py to do
just that. Download test cases text file dump from the TCM tool for your
language (example tcm_320_sr.txt) and run:

$ merge_translated_tcm.py tcm_320.pot tcm_320_sr.txt tcm_320_sr.po

Now you can work on translating generated PO file using your tool of
preference.


To merge existing translated PO file with the new POT file the standard
msgmerge tool from GNU gettext can be used (this is usually available
inside your tool of preference):

$ msgmerge --previous tcm_320_sr.po tcm_320.pot


Finally, you would like to upload translated test cases to the TCM and to
do so it is necessary to convert translated PO file to test cases text
dump using po2tcm.py:

$ po2tcm.py tcm_320_sr.po tcm_320_sr.txt sr

This will generate file named tcm_320_sr.txt ready to be imported inside TCM.


= Download =

At the moment you can download tcm2po from
http://goranrakic.com/tmp/tcm2po.tar.gz

You will also need Python and Pology framework installed inside the Python
include path. Pology is a Python framework developed inside the KDE l10n
project and it allows tcm2po to easy and safe process PO/POT files. To
learn more and obtain the Pology framework go to the
http://techbase.kde.org/Localization/Tools/Pology


= Future ideas =

Ideally this functionality should be integrated into the next version of
TCM tool to the benefit of all teams. Some native-lang teams may wish to
convert PO files to XLIFF and back, which can be easily done using
Language Toolkit.


= Implementation notes =

When generating POT file, each test case is split into three messages
containing the Objective, Description and Expected text block. The source
field is set to the test case ID followed by the part ID so messages can
be converted back to the test cases dump. Example:

#. Objective text
#: cid_110114:1
msgid "Alternative Text for object"
msgstr ""

#. Description text
#: cid_110114:2
msgid ""
"<p>1. Open Writer new document\n"
"...\n"
"and click [OK]\n"
msgstr ""

#. Expected text
#: cid_110114:3
msgid ""
"<p>4. New label \"Description\" is translated correctly\n"
"<p>7. Entered native strings are saved/displayed correctly"
msgstr ""




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: Announcing tcm2po for better test cases translation management

by Martin Srebotnjak :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

this sounds great. Could this be further automated to provide up-to-date
English pot file on a direct http link?

If that is not possible, can someone who will do this download and
conversion etc. manually send me the pot file so I can start translating
test cases into Slovenian?

Thanks,
m.

2009/11/5 Goran Rakic <grakic@...>

> Dear friends,
>
> Following the discussion at the OOoCon earlier today, I would like to
> announce the availability of the tcm2po, a set of three small and hackish
> Python scripts that can be used to translate our TCM test cases using the
> standard PO files.
>
> This makes one possible to translate TCM test cases using Pootle as a
> repository or to fit this task into the preferred translation work flow
> using standard tools for management, translation memory, validation and
> glossaries.
>
> Best regards,
> Goran
>
>
> = Example usage =
>
> The first step is to obtain English test cases text file dump from the TCM
> tool following the download link under Test Case Maintenance for the
> English language. Name this file tcm_320.txt and use the script tcm2pot.py
> to create new empty POT file.
>
> $ tcm2pot.py tcm_320.txt tcm_320.pot
>
>
> If you already have some test cases translated in the TCM you would most
> probably like to merge them with the generated POT file to produce
> translated PO file. There is a script named merge_translated_tcm.py to do
> just that. Download test cases text file dump from the TCM tool for your
> language (example tcm_320_sr.txt) and run:
>
> $ merge_translated_tcm.py tcm_320.pot tcm_320_sr.txt tcm_320_sr.po
>
> Now you can work on translating generated PO file using your tool of
> preference.
>
>
> To merge existing translated PO file with the new POT file the standard
> msgmerge tool from GNU gettext can be used (this is usually available
> inside your tool of preference):
>
> $ msgmerge --previous tcm_320_sr.po tcm_320.pot
>
>
> Finally, you would like to upload translated test cases to the TCM and to
> do so it is necessary to convert translated PO file to test cases text
> dump using po2tcm.py:
>
> $ po2tcm.py tcm_320_sr.po tcm_320_sr.txt sr
>
> This will generate file named tcm_320_sr.txt ready to be imported inside
> TCM.
>
>
> = Download =
>
> At the moment you can download tcm2po from
> http://goranrakic.com/tmp/tcm2po.tar.gz
>
> You will also need Python and Pology framework installed inside the Python
> include path. Pology is a Python framework developed inside the KDE l10n
> project and it allows tcm2po to easy and safe process PO/POT files. To
> learn more and obtain the Pology framework go to the
> http://techbase.kde.org/Localization/Tools/Pology
>
>
> = Future ideas =
>
> Ideally this functionality should be integrated into the next version of
> TCM tool to the benefit of all teams. Some native-lang teams may wish to
> convert PO files to XLIFF and back, which can be easily done using
> Language Toolkit.
>
>
> = Implementation notes =
>
> When generating POT file, each test case is split into three messages
> containing the Objective, Description and Expected text block. The source
> field is set to the test case ID followed by the part ID so messages can
> be converted back to the test cases dump. Example:
>
> #. Objective text
> #: cid_110114:1
> msgid "Alternative Text for object"
> msgstr ""
>
> #. Description text
> #: cid_110114:2
> msgid ""
> "<p>1. Open Writer new document\n"
> "...\n"
> "and click [OK]\n"
> msgstr ""
>
> #. Expected text
> #: cid_110114:3
> msgid ""
> "<p>4. New label \"Description\" is translated correctly\n"
> "<p>7. Entered native strings are saved/displayed correctly"
> msgstr ""
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@...
> For additional commands, e-mail: dev-help@...
>
>

Re: Announcing tcm2po for better test cases translation management

by grakic :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dana Čet, 5 Novembar, 2009 22:02 , Martin Srebotnjak je napisao/la
> Hello,
>
> this sounds great. Could this be further automated to provide up-to-date
> English pot file on a direct http link?
>

Could be, but for the moment I do not need such functionality.

> If that is not possible, can someone who will do this download and
> conversion etc. manually send me the pot file so I can start translating
> test cases into Slovenian?

I managed to use undocumented TCM feature to obtain SQE role for English
and convert all test cases to POT.

You can get them from http://goranrakic.com/tmp/tcmpot/

Filename              Messages   Words
tcm_testcase_20.pot   479        11104
tcm_testcase_30.pot   142        8265
tcm_testcase_31.pot   94         5194
tcm_testcase_32.pot   44         1212

If you already have some tests translated into Slovenian, you can use the
merge_translated_tcm.py script from tcm2po to merge translated tests text
dump from TCM with the POT and create partly translated PO.

Best regards,
Goran



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...