This page summarizes useful information on the translation work needed to release a localized OpenOffice.org version.
- 1 en_US Source Strings
- 2 How to deliver translated files
- 3 Release Map
- 4 Teams Translating with Pootle
- 5 Tips and Tools
en_US Source Strings
For every milestone on the DEV300 codeline (future non-branched 3.x releases) the current en-US source strings are extracted and uploaded in SDF file format to:
Diffs of all new and changed strings from each milestone can be found at:
Removed strings are not part of those diffs.
How to deliver translated files
- provide SDF files that contain translated strings only (please remove non translated strings from the sdf file)
- provide a GSI / SDF file containing both the translated strings and the corresponding en-US source strings. Remove untranslated strings from the sdf file. Please note that the en-US strings have to be the same milestone like your translation.
- please make sure that the GSI / SDF file format is not violated (format errors like wrong amount of tabs, shifted columns, ... ) by using "gsicheck". Please use the latest version at: http://ooo.services.openoffice.org/gsicheck/ usage: gsicheck -c myfile.sdf. In case of errors please use the log file to fix them.
- file an issuezilla bug to "firstname.lastname@example.org", cc: "email@example.com", assign the issue to "firstname.lastname@example.org", cc: "email@example.com", Target milestone to "OOo XX" , Component "l10n" , Subcomponent "code" , Issue type "ENHANCEMENT". Please don't attach your file directly to the issue, but provide an URL / link pointing to your file. Please do attach only if you don't have any other web space available (http://qa.openoffice.org/issue_handling/project_issues.html)
Release map with translation deadlines specific for the release you are targeting can be found at: http://wiki.services.openoffice.org/wiki/OOoReleaseXX where XX is OpenOffice.org release version number. You can also browse complete list.
Teams Translating with Pootle
Pootle provides web interface for translating, managing translation team and reviewing new translations.
As a bonus, when using Pootle for managing translations Pootle administrators will make sure content will be updated with new messages for translation and delivered for integration according to the release schedule. You do not need to prepare SDF/GSI file or create an issue if using Pootle. Unfortunately sometimes update is not glitch free and a lot of messages get marked as fuzzy and need translating when messages are relocated inside OpenOffice.org code base. You should always keep backups of your translations offline. There is no version control support for translations in Pootle.
Pootle Translation Process
- Pootle administrators make sure Pootle content is updated according to translation schedule
- L10n lead give the Go to start translation on Pootle (announcement to the dev@l10n list)
- Native Language leads make translation assignments following the Pootle User's Guide
- Translation teams work with Language team to make sure the translation is reviewed
- Native Language/translation leads make sure translation is complete within the deadlines
- Native Language/translation leads communicate translation completion to l10n lead
- Pootle administrator downloads the translated files and provide them to release engineering
It is recommended to use Pootle to manage the translation process and assignments. For translation it is recommended to download the files and translate them with a translation editor which support translation memory functionality. Linguistic review can be then performed right after translation. It is recommended to use the online translation editor for corrections and for small translation volume only.
Translation Notes for Pootle Users
Content on Pootle can be edited, fixed at any time. However, please make sure to subscribe the mailto:firstname.lastname@example.org (browse archive) list and to make sure not to upload all translated files before Pootle content updates are carried out. Pootle downtimes, Pootle maníntenance or Pootle content updates are announced to this list.
Tips and Tools
build a team of translators and 1-2 reviewers to work on the project. It is recommended to keep the number of the reviewers to 1-2 people, since the more translators and reviewers working on the project, the less you can ensure quality and consistency.
OpenCTI - terminology is the repository of the latest terminology used in OpenOffice.org. Opne CTI replaces SunGloss. No need to login to lookup terms but if you want to edt or edit terms you will need to get an account (please register first). A Help button is available and provide instructions on how to use the tool.
Latest TMX files can be found at: http://ooo.services.openoffice.org/pub/OpenOffice.org/cws/upload/localization/ under tmxXX directory where XX is OpenOffice.org release version number.
TMX can also be created as follows:
- download PO files from Pootle or extract from SDF file
- run po2tmx
For more information on using Glossaries in Pootle please refer to below page: http://wiki.services.openoffice.org/wiki/Pootle_Glossary_Guide#Translation_Memory_in_Pootle
SDF to PO Convertion Tools
The SDF file can be converted to Gettext PO files using the oo2po tool and converted back to SDF format using the po2oo tool from the Translate Toolkit package. The Translate Toolkit depends on the python and python-devel packages, so you must also have these installed on your system.
Documentation with examples for conversion and backconversion can be found at [http://translate.sourceforge.net/wiki/toolkit/oo2po
Translate Toolkit documentation]. PO files provided on the Pootle deployment for OpenOffice.org handle duplicate messages using msgctx feature (oo2po --duplicates=msgctx) which is a default and recommended settings in recent releases of Translate Toolkit.
Generate fresh set of POT files
To generate a fresh set of POT templates under new pot out of downloaded SDF named en-US.sdf file run: oo2po -P -i en-US.sdf -o pot. Don't delete SDF file as you will need it to convert translations back to SDF/GSI file for translations delivery.
The structure of the pot tree is embedded. Files exist inside directories and subdirectories. Do not change this hierarchy in any way. It is also important to remember that most of the strings are represented by the directory helpcontent2, also called the "Help". You may find it useful to separate this directory from the rest (called the "GUI"), when translating, so your efforts on the interface files do not appear to be a tiny proportion. The interface files are essential, and must be translated first, and maintained at 100% if possible. You can submit this translation separately. Then we all work on the Help, and try and get it done, bit by bit. So don't be discouraged by the size of the tree: it is mostly "Help". :)
gsicheck to make sure the translated .sdf files are not corrupted can be found at: http://ooo.services.openoffice.org/gsicheck/
The most used translation editors supporting the gettext .po file format are:
- WordForge (priorly known as Pootling)
- Virtaal (from the creators of Pootle)
- Lokalize (priorly known as Kbabel)
PoEdit, Lokalize and WordForge run on both Linux and Windows. Lokalize is the KDE4 replacement of the old KBabel, which has long been the most popular PO editor for these platforms, but gTranslator and PoEdit have planned improvements which may make them more competitive; WordForge is a new editor which is rapidly becoming popular.
gTranslator runs on Linux and some BSD platforms.
LocFactoryEditor runs only on Mac OSX. It handles XLIFF natively, and supports Apple formats, gettext formats, SVN submission and submission by email to projects like the TP (TP Robot) and Debian (Debian BTS). It also converts between PO compendia and TMX.
Please make sure you are running the latest version of gettext, to benefit from its new features, like contextual handling and comparison with previous original strings.
Please add further information on these and other tools that may help other translators to perform their job.