incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache OpenOffice Community > Localization Plan
Date Wed, 28 Mar 2012 12:21:00 GMT
Space: Apache OpenOffice Community (
Page: Localization Plan (

Added by Claudio F Filho:
Localization - l10n - or Internationalization - i18n - are tecnical names for software translation,
more that only change the words in a software interface, is a cultural and contextual adaptation
of software for each country and/or region with a specific language and habits.

For Apache OpenOffice, the used tecnology is based in a big text file, called SDF. In this
file have all strings (texts, expressions, phrases and others) that are present in the user
interface and help system.

Currently, the more used way in open source projects, and more easy, to work with localization
is based in [Gettext framework|], that have an extensive
set of tools for translation. The Gettext have its work based in the PO file format. See bellow
some examples.

{code:title=String in SDF format}
accessibility   source\helper\accessiblestrings.src     0       string  RID_STR_ACC_NAME_BROWSEBUTTON
                          0       en-US   Browse                          20120307 13:06:18

{code:title=Same string in PO format}
#: accessibility/source/helper/accessiblestrings.src#RID_STR_ACC_NAME_BROWSEBUTTON.string.text
msgid "Browse"
msgstr ""

So, to translate Apache OpenOffice for a new language, basicly we need:

# Get the SDF source in english (base language);
# Convert from SDF to POT file (PO Template - a PO file without any translation);
# Translate all strings;
# Rename all translated POT files to PO (one time that are translated, this files aren't more
# Convert from PO to SDF file (we can accept a PO package/zip file);
# Open a bug against L10N section in our [bug track system|]
# Wait a build with your language pack. ;-)

h3. Some useful tools
* For convertion: [translation toolkit|] - tools oo2po
and po2oo;
* For offline translation: 
** [Localkize|] - a kde localization tool (win/linux);
** [gTranslator|] - a GTK/Gnome localization tool (win/linux);
** [Virtaal|] - localization tool of Translate
Toolkit project (win/linux/mac osx);
** [poEdit|] - other localization tool (win/linux/mac osx);

* For online translation:
** [Pootle|] - official translation tool,
hosted in [our server|].

h3. A simple example of all process
* Get the source - the POT files;
* If had version for your language, you can use it for speed up your translation.
See the next steps;
** Find and download the SDF file in your language here:
** Install translate toolkit in your machine - if Debian, 'apt-get install translatetoolkit';
** Enter in work directory (where is the SDF file);
** Type: 'cat en-US.sdf your-language.sdf > old.sdf' - with this command will join in one
both files;
** Type: 'oo2po --source-language=en-US -l your-language -i old.sdf your-language' - with
this part, will create a new directory called 'your-language' with many PO translated files.
** With your translation tool, if have the resource of *Translation Memory* (TM), you can
add this directory as your TM. Lokalize (of KDE) have this resource;
* Open a POT file to start your translation;
** Run the option "Fill the match strings" (or some thing like this), for your translation
tool fill all strings that match 100%. In Lokalize, is Ctrl+Alt+B.
* Translate what is empty and revise what is fuzzy.
* Finish UI part (all files except 'helpcontent2', that is the translation of help system);
* Open a issue in our bug track system and attach the zip of PO files;
* Finish the HELP part and open other issue in our bug track system;

Change your notification preferences:

View raw message