Translation of the Graphical User Interface
A) Translate the GUI strings on line with Transifex
Tutorial to translate TXM GUI character strings on the Transifex web site:
- connect to the Transifex site https://www.transifex.com
- create a free account if needed and validate it from your mailbox
- search for the TXM project
- click on the language name you want to translate to
- if the language you want to translate to is missing, contact the maintainer [Serge Heiden] to add the language to the list
- click on the ressource named messages.properties
- if you are not a member of the translation team for that language yet, click on 'Join team' to be incorporated
- a) click on Translate now and translate directly on line
- b) or click on Download for translation to translate locally and upload your translations later
As an order of magnitude, it takes two days for one person to translate all the strings of the GUI.
or B) RCP GUI '.properties' files translation with Virtaal
To translate the RCP GUI strings:
- install potools (on Ubuntu: via package manager, Windows via the Virtaal site)
- in the RCP Application sources, convert the global "messages.properties" file found in the org.txm.rcpapp/src/main/java/org/txm/rcpapplication directory to PO format by calling:
prop2po -t messages.properties messages_fr.properties txm.po
- edit the "txm.po" file with Virtaal
- convert the updated "txm.po" file back to the "messages_<lang>.properties" format with command line:
TO BE DONE
- add the "messages_<lang>.properties" file to the org.txm.rcpapp/src/main/java/org/txm/rcpapplication directory
- commit the result
Note: the "messages.properties" global file is produced by the
TO BE DONE maintenance Groovy script.
RCP GUI translation: other stuff
- Send us an email so we can send you an archive of all the necessary "messages[_*].properties" I18N files containing the strings to translate
- Read the String externalization user's guide if you want to work directly from within Eclipse
- See also Babel / Message Bundle Editor
- Babel / Runtime Translation Editor
GWT GUI files translation
TO BE DONE
Translation of the Users' Manual
Translation is done with OmegaT (always use the "Latest" version, not the "Standard" one).
OmegaT includes a good tutorial and has a complete user manual.
Using an existing TXM Manual OmegaT translation project
First download the OmegaT translation project corresponding to the translation you want to work on from within OmegaT (Project > Download Team Project):
- SVN repository address of the TXM manual 0.7 FR -> EN OmegaT translation project:
https://svn.code.sf.net/p/txm/code/trunk/translation/manual 0.7 fr - en'
Choose any directory name to save the project on your machine.
Then OmegaT will automatically commit (save) your work in the SVN repository regularly for you and when you quit (*).
Next time you open the project directory, OmegaT will automatically synchronize with the online repository.
-- (*): contact us to get the permission to commit in the SVN repository.
Building a new TXM Manual OmegaT translation project
OmegaT uses the following ressources:
- source manual in ODT format
- optional translation memories - TM - (you can get or build to help translation work)
- optional bi-lingual dictionaries (you can get or build to help translation work)
- optional glossaries (you can get or build to help translation work)
Before working on the actual translation in OmegaT, you must build the OmegaT project containing the resources needed and then commit it in the TXM manual OmegaT translation projects SVN repository.
Create a new OmegaT translation project
- create a new translation project into OmegaT, for example named TXM Manual 0.7 RU to translate in Russian
Add the TXM Manual to translate
- get ODT source from TXM SVN DOC project: Manuel de TXM 0.7 FR.odt
- add the ODT file to the project
Build and add Translation Memories (TM) - optional
A. from RCP GUI translated message strings
At least build a translation memory (TM) from the GUI main language message strings and the target language translated GUI message strings found in TXM source code.
In the TXM RCP project sources, the messages of the GUI are stored in Java '.properties' files. These files are located at the root of the Java source files directory: org.txm.rcp/src/main/java/org/txm/rcpapplication
- The English GUI message strings are stored in the 'messages.properties' file.
- The French GUI message strings are stored in the 'messages_fr.properties' file.
- The Russian GUI message strings are stored in the 'messages_ru.properties' file.
To build a TM from English and French GUI messages:
- copy the original (English) 'messages.properties' file in the OmegaT project 'source' sub-directory
- let the FR translation 'messages_fr.properties' file be in /home/sheiden/Software/TXM_SDK_0.7.2_Linux64/TXMSDK-workspace/org.txm.rcp/src/main/java/org/txm/rcpapplication
- then run the following command line (Linux):
java -jar /home/sheiden/Software/OmegaT\ 2.3.0_08/OmegaT.jar '/home/sheiden/labo_ana_corpus/Projets/Textométrie/Traduction/Manuel/TXM Manual 0.7 EN' --mode=console-align --alignDir=/home/sheiden/Software/TXM_SDK_0.7.2_Linux64/TXMSDK-workspace/org.txm.rcp/src/main/java/org/txm/rcpapplication
- a 'align.tmx' TM is created in the OmegaT project 'omegat' sub-directory.
- move that file to the OmegaT project 'tm/auto' sub-directory (reserved for exact translations TM).
- that TM will be automatically loaded by OmegaT when reading the project and its pertinent strings proposed for translations
[remark: use OmegaT version 2.3, other versions are buggy]
B. from an older version of TXM manual
- get the maligna bitext aligner: https://sourceforge.net/projects/align
- get ODT version of EN and FR TXM 0.5 manual: https://sourceforge.net/p/txm/code/2515/tree/trunk/doc
- edit the ODT manuals to:
- remove 'update tables' in front in the two versions (not usefully alignable)
- add 1 translation to French short-key definitions to align the tables
- resort the French glossary table to the English order
- suppress the Index in the two versions (not usefully alignable)
- 'save as' the manuals to TXT format
- put the TXT versions in a 'txt' directory (for example)
- run maligna to process alignment and produce the TMX
bin/maligna parse -c txt txt/TXM-manual-05-EN.txt txt/TXM-manual-05-FR.txt | bin/maligna modify -c split-sentence | bin/maligna modify -c trim | bin/maligna align -c viterbi -a poisson -n word -s iterative-band | bin/maligna select -c one-to-one | bin/maligna format -c tmx -l en,fr TXM-manual-0.5-align.tmx
Now you can put the "TXM-manual-0.5-align.tmx" file in the 'tm' directory of your OmegaT project.
OmegaT will automatically propose translations based on that new MT.
C. from other software development sources
- OmegaT GUI strings: http://www.omegat.org/resources/tmx_repository.zip
D. from other sources
UNO, EC, Canada...
add Dictionaries - optional
- get a FR-EN stardict dictionary from web sites below
- unzip the archive in the OmegaT project 'dictionaries' sub-directory
- the dictionnary consists in 3 files in the 'dictionaries' sub-directory, with extensions '.dz', '.idx', '.ifo' (eventually a fourth with '.syn' extension)
- OmegaT will automatically load the dictionary when opening the project and propose word definitions when translating
- http://abloz.com/huzheng/stardict-dic/fr (mono)
Build and add Glossaries - optional
Commit the new translation project into TXM DOC project SVN repository
Commit the whole translation project directory, for example TXM Manual 0.7 RU.
For this translation project, future commits will automatically be done by OmegaT once the translator has opened the SVN project from within OmegaT.
Publish the new translation project
Add a new link to the SVN translation projects address list in the 'Using an existing TXM Manual OmegaT translation project' section.
Invite people to help you to collaboratively translate the manual with OmegaT through the TXM DOC SVN repository.