I've studied a bit the situation regarding the new strings for
translation in dialogs.
The developers have since lo4.1 release converted 285 dialogs to glade
ui files. For us this means that the corresponding strings were moved
from the files in the (xxx)/source to files in the (xxx)/uiconfig
subdirectories. One can check in Pootle that there really are fewer
words in the source subdirs and more in the uiconfig subdirs comparing
4.2 to 4.1.
The consequence for us is that the translations from the source files
are missing in the uiconfig files. There are about 8000 words to
translate now, so this is a lot of work. Moreover, in Pootle we do not
see the old 4.1 stuff and also do not see similar strings from 4.2 - so
it looks like we should repeat the translation again from scratch.
I've tried to use OmegaT for translation - it can provide reference to
4.1 and in general it significantly speeds up the procedure
OmegaT uses for translation translation memory (tmx files)- except for
the main one it can use also auxiliary tmx files.
The idea is to convert 4.1 translation to these auxiliary tmx files -
they are then offered by OmegaT as suggestions.
1. Install omegat from omegat.org (I use the beta version)
2. Download of po files from Pootle. I've downloaded everything in
libo_ui-sk.zip (4.2) and libo41x_ui-sk.zip files
3. Create a new omegat project (OT asks you to create a directory, let's
create XXX) without importing anything
4. Unzip libo_ui-sk.zip in XXX/sources
5. Unzip libo41x_ui-sk.zip im XXX/tm
6. Convert the po files to tmx in XXX/tm (using the bash shell):
for i in `find . -name \*po`; do po2tmx --lang sk -i $i -o $i.tmx ;done
7. This step is optional, but can save a lot of typing: convert the ~
accelerators by the _ ones:
sed -i -e "s/\~/_/" `find . -name \*tmx`
This converts ~ in all strings, not only the dialog ones. It should
not be a problem, since we want to translate only the dialog strings
8. Start OmegaT and open the XXX directory. It will load po files from
XXX/source. Suggestions from auxiliary tmx files created from 4.1 are in
the upper right pane. Most of the strings are translated (OT understands
po files) and in my setting are displayed yellow. Every now and then
there is an untranslated (blue) string. By pressing CRTL-U one jumps to
the next untranslated string. OT may directly suggest a translation
(based on the tmx files) - marked by [approximate] (or something similar
in other language). If you like it, press CTRL-R and [approximate]
vanishes. Or edit, as you wish. Then press CTRL-U and go to the next string.
9. When done, choose Project > Create translated documents. These appear
in XXX/target. One can compare the source and target files using
gvimdiff - the files are exactly the same except for the translations.
10. When a subdirectory is translated (say, cui), zip it and upload to
11. Enjoy the '0' in the "Need translation" column
OmegaT normally segments the text at the level of sentences. This means
that a PO message, consisting of two and more sentences, would be
offered for translations in two or more parts. The suggestions based on
auxiliary tmx file are however not split. One can change this behaviour
by unchecking all options in Settings > Segmentation > Predefined (the
last but 3 iten). Subsequenly, a PO message will alway appear as one
item in OT.
My observations after translating about 1000 words:
- work with OT is much faster than with Pootle - there one waits a
second or two after submitting a string, which after some time becomes
- suggestions are both exact and fuzzy
- CTRL-U stops at untranslated strings and at translated strings with
ambiguous translation in the tmx files. In the second case the the
original translation is kept - one thus can correct it, based on the
- In suggestions one can sometimes see an incorrect translation - one
can then look the incorrect string up in Pootle and correct it. Or, one
can do that directly in the XXX/sources tree
- one can see a lot of context - 16 lines in my case. For me it helps,
for example, to choose correctly gender of adjectives, if I see that
'thick' is related to 'line'
- OT allways want to translate headers of the po files (these are items
win many lines). Just hit CRTL-SHIFT-R to take the original
There seem to be also another option how to use OT. One can perhaps
merge the auxiliary tmx files into one and store it as
XXX/omegat/project_save.tmx. This is the main translation memory. In
this case, perhaps, OT will translate all untranslated messages
automatically. I did not check it.
Except for OmegaT I've tried also Virtaal. In comparison to Pootle it
has the advantage, that it looks up translations on some servers. The
Agama server seems to have translation from OpenOffice, so it helps a
bit (would not be bad to ask then to load LO translations). The lookup
is, however, too slow to be useful.
The po2tmx program is from the translate-toolkit package.
I hope that this will help
email & jabber: firstname.lastname@example.org
To unsubscribe e-mail to: email@example.com
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/l10n/
All messages sent to this list will be publicly archived and cannot be deleted
- [libreoffice-l10n] translating dialogs using OmegaT · Milos Sramek
Impressum (Legal Info)
: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (MPLv2
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our trademark policy