Difference between revisions of "NLC:New Translators Start here"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Translate the files or update your translation: SCA)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Working together with OpenOffice.org L10n Team ==
+
{{Warn|This page belongs to OpenOffice.org version 3 and earlier. Current new translators start on http://openoffice.apache.org/translate.html}}
  
OpenOffice.org L10n provides localized builds for many languages.
 
 
'''For''' translation teams, with every new milestone (version of OpenOffice.org code) we provide a tarball (file ending in <tt>.tar</tt>), which contains:
 
<ul>
 
<li>a collection of POT files (gettext translation templates, text files ending in <tt>.pot</tt>)</li>
 
<li> one English (en-US) sdf template file (OpenOffice.org format string file, text file ending in <tt>.sdf</tt>)</li>
 
</ul>
 
  
'''From''' translation teams, we need:
+
This page belongs to OpenOffice.org version 3 and earlier.  
<ul>
+
<li>your translation file, a <tt>.sdf</tt> file containing all the English strings translated into your language (or at least 80% translated)</li>
+
</ul>
+
  
== Structure of the .sdf file ==
+
== Working together with OpenOffice.org L10n Team ==
  
A localized <tt>.sdf</tt> file contains two lines for every translatable string, the first line in English and the second line in your language. The completed translation file is over 20 MB in size, so you should compress it (with bzip), upload it to your <tt>http</tt> or <tt>ftp</tt> server, and provide the link to it, so we can download it to build it into the application. Because the build system downloads files automatically, the package name must also follow a specified format. Your filename should look like: <tt>GSI_xx.sdf.bz2</tt>, where <tt>xx</tt> is your language code. For example, the Estonian <tt>.sdf</tt> translation file will have the filename: <tt>GSI_et.sdf.bz2</tt>.
+
OpenOffice.org L10n provides localized builds for many [[Languages|languages]]. Joining your native language project is a great opportunity to help making OpenOffice.org reach more users. Browse the [[Languages|languages list]] and get in touch with project leads.
  
== Using translation memory ==
+
To get in touch with the general OpenOffice.org translation community please come and say hello on the mailto:dev@l10n.openoffice.org mailing list  [http://l10n.openoffice.org/servlets/SummarizeList?listName=dev (browse archive)].
  
If you have translated other software, especially software which performs tasks similar to those of an OpenOffice.org component (e.g. Gnumeric, AbiWord, Koffice, the GIMP), we recommend you use translation memory, to avoid duplication of work, and to use existing resources as effectively as possible. You can create, maintain and apply your translation memory (TM) using 'plain' [http://www.gnu.org/software/gettext/index.html gettext] (please refer to the [http://www.gnu.org/software/gettext/manual/html_mono/gettext.html gettext manual]), and of course, using GUI applications like KBabel, which has a much greater capacity for generating and using translation databases. (GTranslator does not currently handle the wrapped lines in OpenOffice.org Help.) See the '''Editors''' appendix to this document.
 
  
== Starting from the beginning ==
+
'''For''' translation teams, with every new milestone (version of OpenOffice.org code) we provide source messages from both UI and Help to be translated.
  
This is the basic OpenOffice.org translation process.
+
'''From''' translation teams, we need a translation file, a <tt>SDF/GSI</tt> file containing all the English strings translated into your language (or at least 80% UI translated).
  
Create a separate directory on your disk, e.g. <tt>OpenOffice</tt>.
 
  
=== Get the translation files ===
+
Translation teams have the possibility to maintain a localized web site at http://xx.openoffice.org (xx being a language code) if they become a native language project in the [[NLC|Native Language Confederation]], translate user documentation published on the wiki, upload localized templates and localize OpenOffice.org templates and extensions repositories web sites. It is possible to prepare and publish locale data, spellcheck and thesaurus dictionaries, hyphenation patterns and autocorrect data as well as advanced grammar checking support.
  
[ftp://ftp.linux.cz/pub/localization/OpenOffice.org/devel/DEV300/ Download] (POT directory, for example (use the latest instead!) <tt><nowiki>ftp://ftp.linux.cz/pub/localization/OpenOffice.org/devel/DEV300/DEV300_m43/Build-1/POT/</nowiki></tt> for POTs of a DEV300_m43 build) the latest tarball of <tt>.pot</tt> files and decompress it into your OpenOffice.org directory.
 
  
=== Get the toolkit ===
+
== Translating OpenOffice.org ==
  
Download the latest version of the [http://translate.sourceforge.net/wiki/toolkit/index Translate Toolkit] and install it, using the install script (run <tt>setup.py install --home=/chosen/directory</tt>). The Translate Toolkit ''depends'' on the <tt>python</tt> and <tt>python-devel</tt> packages, so you must also have these installed on your system.  
+
Click here to view [[Translation:General_Information|general information on translating]] OpenOffice.org using either Pootle or using Gettext PO and managing translations outside Pootle.
  
If you have any problems at all with the Translate Toolkit, please come and ask for some advice on the [mailto:dev@l10n.openoffice.org dev@l10n.openoffice.org] mailing list, or on the <tt>#openoffice.org</tt> IRC channel on the [http://freenode.net/ Freenode] network.
 
  
=== Create or update the PO files ===
+
== Starting a new localization project ==
  
Use the <tt>pot2po</tt> script from the Translate Toolkit or this [http://ftp.linux.cz/pub/localization/OpenOffice.org/devel/POT/POT2PO this one]. Make it executable as needed. You can edit this script to set the following options.
+
First thing is to prepare new [[Adding_a_new_language_or_locale|language or locale support]] and [[How_to_submit_new_Locale_|submit it]] for integration.
  
To apply your gettext translation memory compendium, add the option <tt>--compendium=your_compendium_file</tt> to the <tt>msgmerge</tt> line.
 
  
Use line-wrapping ''only'' when you are using text-based translation tools, e.g. Emacs or vim. Otherwise, you should avoid line-wrapping, it makes Help strings very difficult to read, as it breaks lines inside tags. So replace <tt>-w 200</tt> with <tt>--no-wrap</tt>.
 
  
As later versions of the Translate Toolkit no longer merge fuzzy strings by default, there is no longer any need to use the option <tt>–no-fuzzy-matching</tt> (of course, before removing this, make sure you have the latest version of the Translate Toolkit).
+
== Testing localized builds ==
  
Now we go back to your OpenOffice.org directory containing the decompressed tarball. It will contain the sub-directory <tt>pot</tt> and the English <tt>.sdf</tt> file (<tt>en-US.sdf</tt>).
+
[[NLC/localizedQA|Testing your localized builds]]
  
(When you download a milestone to replace older translation files, make sure you delete them all (<tt>pot</tt> directories, <tt>en-US.sdf</tt> files and any other <tt>.sdf</tt> files you have created) from this directory (or move them to another directory).)
 
 
Run <tt>./pot2po</tt>. This creates the sub-directory <tt>po</tt>, which mirrors the structure of <tt>pot</tt>.
 
 
(When you run this on subsequent milestones, you may see warnings from the script about some <tt>.pot</tt> files being removed. This means they are probably no longer current. Move any remaining <tt>.po</tt> files matching those <tt>.pot</tt> files, to other directories, or change their extension (<tt>.po</tt>) to something else. When you are sure that the "missing <tt>.pot</tt> files" aren't caused by a mistake (a missing module in the build, for example), you can simply delete those matching <tt>.po</tt> files, since they are no longer needed.)
 
 
The structure of the OpenOffice.org <tt>pot</tt> or <tt>po</tt> 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 <tt>helpcontent2</tt>, 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". :)
 
 
=== Translate the files or update your translation ===
 
 
You are now ready to start translating!
 
 
All translations must be in UTF-8 encoding (the standard encoding for translations), so make sure the Preferences in your editor are set to UTF-8.
 
 
Your team leader also needs a CVS account, to manage your team's website and documentation files. Instructions on setting up your CVS account, and submitting the [[Sun Contributor Agreement]], are included in the process of creating your own [[NLC|Native Language]] project in OpenOffice.org. You do need to use OpenOffice.org CVS for your OpenOffice.org website files and documentation hosted on that site, but you can also store files in other source control repositories, e.g. SourceForge.net, if you don't need them to be on OpenOffice.org. (Some parts of OpenOffice.org have already moved to SVN.)
 
 
When translating, you must preserve the existing structure of each string (placeholders/variables, escape marks, XML tags, etc.). ''Only change the translatable text.''
 
 
Look at the string IDs in the <tt>.po</tt> files: they are mostly quite informative. At least you can understand which type of GUI element is represented by that string (label, menuitem, radiobutton, pushbutton).
 
 
There is no need to keep the ~accelerator marks in the translation, as OpenOffice.org can insert those itself. Accelerators are needed in translation only:
 
 
* for top level menus (File, Edit,...)
 
* for general pushbuttons and some other pushbuttons too (didn't find general rule, please fix me)
 
 
=== Due date for translations ===
 
 
Keep an eye on the due date for translation submissions. The release schedule (e.g. [http://wiki.services.openoffice.org/wiki/OOoRelease22 OpenOffice.org 2.2]) will be announced on the [mailto:dev@l10n.openoffice.org dev@l10n.openoffice.org] mailing list.
 
 
=== Check your translation ===
 
 
Always check your translations, running <tt>pofilter</tt> over your <tt>po</tt> directory. You can do this at any time, but you '''must''' do it, and correct any errors, before submitting your translation. Any errors remaining in the file can break the build, so your language will not be released.
 
 
See the [http://translate.sourceforge.net/wiki/toolkit/pofilter pofilter] wiki page for instructions.
 
 
=== Convert back to SDF ===
 
 
Once your translation is ready to be submitted, you need to convert it back to <tt>.sdf</tt> format. Again, the Translate Toolkit comes to our aid, this time with the conversion tool <tt>po2oo</tt>.
 
 
In your main translation directory (<tt>OpenOffice</tt>, in our example) run this command (or even better, create a script):
 
 
<pre>
 
export PYTHONPATH=/home/ain/bin/lib/python
 
/toolkit_dir/po2oo -l xx -t en-US.sdf -i po -o GSI_xx.sdf
 
</pre>
 
 
Again, <tt>xx</tt> stands for your language's ISO code (e.g. <tt>uk</tt> for Ukraine, or <tt>zh_HK</tt> for Hong Kong Chinese).
 
 
Reading this command, you can see that we're telling the command where to find the po2oo process. If you have already set the python location in your PATH, you don't need this part of the command.
 
 
So we call <tt>po2oo</tt>, then we specify our language with <tt>-l</tt>. Don't forget to input your own language code instead of <tt>xx</tt>.
 
 
Then we tell the process where the template (-t) file is, the file in the original language (usually en-US).
 
 
Then we state the input (-i) directory, the <tt>po</tt> directory, and last of all, we want an output (-o) filename which also contains your language code.
 
 
Check the resulting sdf-file with [[gsicheck]]. The latest [[gsicheck]] can be obtained from http://ooo.services.openoffice.org/gsicheck/
 
 
<pre>./gsicheck -c GSI_xx.sdf</pre>
 
 
=== Compress and upload the file ===
 
 
Compress the output file eg. with <tt>bzip</tt> (<tt>bzip2 -k GSI_xx.sdf</tt>) and upload the file via <tt>http</tt> or <tt>ftp</tt>.
 
 
=== Submit the file ===
 
 
To submit your translation file, you include its link in an issue. Go to  [http://qa.openoffice.org/servlets/ProjectIssues Issue Tracker]. (The link to the Issue Tracker is on the left-hand-side of most OpenOffice.org webpages.)
 
 
Choose:
 
<ul>
 
<li>'''New''' issue</li>
 
<li>Component '''l10n'''</li>
 
<li>Sub-component '''code'''</li>
 
<li>Issue type '''ENHANCEMENT'''</li>
 
<li>The version for which you are submitting your translation.</li>
 
</ul>
 
 
The summary line should describe the type of strings, language and version. For example:
 
<ul>
 
<li>'''[VI] GUI Translation for 2.2''' — to submit all the directories except helpcontent2 for Vietnamese</li>
 
<li>'''[PT_BR] Help translation for 2.2''' —to submit only helpcontent2 for Brazilian Portuguese</li>
 
<li>'''[ZU] GUI and Help Translation for 2.2''' — to submit all the directories for Zulu</li>.
 
</ul>
 
 
The only things which vary about the issue are the version number and the person to whom the issue is assigned. All the issue details will be posted on the [mailto:dev@l10n.openoffice.org dev@l10n.openoffice.org] mailing list. So keep an eye out for them, and note them down when they appear.
 
 
Include the link to your uploaded translation.
 
 
You can also briefly describe your translation, e.g. "Here is the initial Xhosa translation for the OpenOffice.org 2.3 GUI (100%)." or "Here is the updated Catalan translation for OpenOffice.org 2.4. We have translated all of the GUI and 60% of the Help."
 
 
Submit the issue.
 
 
=== What happens after I submit the issue? ===
 
 
Lots of interesting stuff. :)
 
 
Once your issue is submitted (even earlier, if you [http://blog.janik.cz/archives/2006/09/30/T15_53_17/ arrange] it with Pavel Janik), your translation will be included in the next build. You can download it from the build server (e.g. [ftp://ftp.linux.cz/pub/localization/OpenOffice.org/devel/680/ ftp.linux.cz] and start [[NLC/localizedQA|testing]] it.
 
 
You can also see a [http://blog.janik.cz/files/OOoCon2006/img0.html slideshow] about the OpenOffice.org release process. Note that after OpenOffice.org 2.2, the release interval will be six months. This allows more time for Quality Assurance (QA).
 
 
The release schedule does allow you some time to test your builds and submit language fixes for the translation. It's also important to test how the build works, and to submit issues for any problems.
 
  
 
== I need help ==
 
== I need help ==
  
OpenOffice.org is large and complex project, so it is particularly difficult for a newcomer. So don't feel discouraged if you become confused, or can't get an overview of the project.  
+
OpenOffice.org is a large and complex project, so it is particularly difficult for a newcomer. Don't feel discouraged if you become confused or can't get an overview of the project.  
 
+
In any case, we are all here to help each other. Please ask on the [mailto:dev@l10n.openoffice.org dev@l10n.openoffice.org] mailing list, if you have any problems. We will work things out together. :)
+
 
+
== Appendix: translation editors ==
+
 
+
Since a PO file is basically a text file with translation strings, you can edit it in any text editor. However, dedicated PO editors make the process easier, and automate some of the most repetitive tasks.
+
 
+
You could use, for example:
+
<ul>
+
<li>[http://kbabel.kde.org/ Kbabel] (on systems running KDE)</li>
+
<li>[http://www.poedit.net/ poEdit] (multiplatform)</li>
+
<li>the [http://pootle.sunvirtuallab.com/ Pootle] web interface ([http://translate.sourceforge.net/wiki/pootle/index What is Pootle?])</li>
+
<li>[http://www.khmeros.info/drupal/?q=en/download/Translation_Editor Wordforge] editor (Windows and Linux)</li>
+
<li>vim with po syntax highlighter</li>
+
<li>emacs in po-mode</li>
+
<li>[http://www.triplespin.com/en/products/locfactoryeditor.html LocFactoryEditor] (OSX only)</li>
+
</ul>
+
  
See the list of editors, and comparison chart, in the Tools section of the [http://translate.sourceforge.net/wiki/guide/start Localization Guide] on the Translate Wiki.
+
In any case, we are all here to help each other. Please ask on the [mailto:dev@l10n.openoffice.org dev@l10n.openoffice.org] mailing list if you have any problems. We will work things out together.
  
Good luck with your translations. :)
+
Good luck with your localization. :)
  
 
[[Category:Localization|!]]
 
[[Category:Localization|!]]

Latest revision as of 10:12, 11 July 2018

Documentation caution.png This page belongs to OpenOffice.org version 3 and earlier. Current new translators start on http://openoffice.apache.org/translate.html


This page belongs to OpenOffice.org version 3 and earlier.

Working together with OpenOffice.org L10n Team

OpenOffice.org L10n provides localized builds for many languages. Joining your native language project is a great opportunity to help making OpenOffice.org reach more users. Browse the languages list and get in touch with project leads.

To get in touch with the general OpenOffice.org translation community please come and say hello on the mailto:dev@l10n.openoffice.org mailing list (browse archive).


For translation teams, with every new milestone (version of OpenOffice.org code) we provide source messages from both UI and Help to be translated.

From translation teams, we need a translation file, a SDF/GSI file containing all the English strings translated into your language (or at least 80% UI translated).


Translation teams have the possibility to maintain a localized web site at http://xx.openoffice.org (xx being a language code) if they become a native language project in the Native Language Confederation, translate user documentation published on the wiki, upload localized templates and localize OpenOffice.org templates and extensions repositories web sites. It is possible to prepare and publish locale data, spellcheck and thesaurus dictionaries, hyphenation patterns and autocorrect data as well as advanced grammar checking support.


Translating OpenOffice.org

Click here to view general information on translating OpenOffice.org using either Pootle or using Gettext PO and managing translations outside Pootle.


Starting a new localization project

First thing is to prepare new language or locale support and submit it for integration.


Testing localized builds

Testing your localized builds


I need help

OpenOffice.org is a large and complex project, so it is particularly difficult for a newcomer. Don't feel discouraged if you become confused or can't get an overview of the project.

In any case, we are all here to help each other. Please ask on the dev@l10n.openoffice.org mailing list if you have any problems. We will work things out together.

Good luck with your localization. :)

Personal tools