Space: Apache OpenOffice Community 
(https://cwiki.apache.org/confluence/display/OOOUSERS)
Page: Localization Plan 
(https://cwiki.apache.org/confluence/display/OOOUSERS/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|http://www.gnu.org/software/gettext], 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}

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

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 templates);
# 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|https://issues.apache.org/ooo/]
# Wait a build with your language pack. ;-)

h3. Some useful tools
* For convertion: [translation toolkit|http://translate.sourceforge.net/wiki/] 
- tools oo2po and po2oo;
* For offline translation: 
** [Localkize|http://userbase.kde.org/Lokalize] - a kde localization tool 
(win/linux);
** [gTranslator|http://projects.gnome.org/gtranslator] - a GTK/Gnome 
localization tool (win/linux);
** [Virtaal|http://translate.sourceforge.net/wiki/virtaal/index] - localization 
tool of Translate Toolkit project (win/linux/mac osx);
** [poEdit|http://www.poedit.net/] - other localization tool (win/linux/mac 
osx);

* For online translation:
** [Pootle|http://translate.sourceforge.net/wiki/pootle/index] - official 
translation tool, hosted in [our server|https://translate.apache.org].

h3. A simple example of all process
* Get the source - the POT files;
* If OpenOffice.org 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: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/extras/l10n/source/
** 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: 
https://cwiki.apache.org/confluence/users/viewnotifications.action

Reply via email to