| 1 |
First of all, please be aware that it only makes sense to translate the |
| 2 |
Planet openSUSE interface in languages that are actually aggregated on |
| 3 |
the site. |
| 4 |
|
| 5 |
In order to provide translations, please proceed as follows: |
| 6 |
|
| 7 |
1) Download the .pot template |
| 8 |
============================= |
| 9 |
The .pot is a plain text template file that contains all the localizable |
| 10 |
strings that are used by Planet openSUSE. |
| 11 |
|
| 12 |
To download that file to the current directory: |
| 13 |
wget http://gitorious.org/opensuse/planet-opensuse/blobs/raw/master/locale/planetsuse.pot |
| 14 |
|
| 15 |
2) Make a copy for the target language |
| 16 |
====================================== |
| 17 |
For the sake of the example, let's say you would like to provide a German |
| 18 |
translation (German having the language code "de"): |
| 19 |
|
| 20 |
cp planetsuse.pot de.po |
| 21 |
|
| 22 |
3) Translate |
| 23 |
============ |
| 24 |
Translate the localizable strings in the .po file you created/copied in the |
| 25 |
previous step, using either any text editor or an editor that has specialized |
| 26 |
PO (gettext) support, such as Emacs, gted, poedit, gtranslator, kbabel, etc... |
| 27 |
|
| 28 |
4) Submit |
| 29 |
========= |
| 30 |
Please send the resulting .po file (de.po in our example) to pascal.bleser@opensuse.org |
| 31 |
|
| 32 |
Thanks! |
| 33 |
|
| 34 |
|
| 35 |
UPDATING AN EXISTING TRANSLATION |
| 36 |
================================ |
| 37 |
|
| 38 |
Note that the procedure above is to provide a previously untranslated target |
| 39 |
language. If there is already a .po file for the language you would like to |
| 40 |
translate Planet openSUSE in, but that .po file is out of sync with the latest |
| 41 |
localizable strings used on the site, the procedure is slightly different: |
| 42 |
|
| 43 |
1) Update the .pot template |
| 44 |
=========================== |
| 45 |
Using the same URL as in step (1) above, replace your current planetsuse.pot |
| 46 |
file with the most recent one: |
| 47 |
|
| 48 |
rm planetsuse.pot |
| 49 |
wget http://gitorious.org/opensuse/planet-opensuse/blobs/raw/master/locale/planetsuse.pot |
| 50 |
|
| 51 |
2) Merge the template with the .po file |
| 52 |
======================================= |
| 53 |
If you are the original author and/or current maintainer of a translation, |
| 54 |
then you probably already have the latest .po file (e.g. de.po) on your host. |
| 55 |
|
| 56 |
If not, also make sure to have the latest .po file, e.g.: |
| 57 |
rm de.po |
| 58 |
wget http://gitorious.org/opensuse/planet-opensuse/blobs/raw/master/locale/de.po |
| 59 |
|
| 60 |
Now it is necessary to merge the localizable strings from the .pot template |
| 61 |
file with what has already been translated in the .po file. |
| 62 |
This process is *not* destructive, as it will both |
| 63 |
- retain the translations that have already been made in the .po file, at least |
| 64 |
as long as they are still relevant and used by the Planet openSUSE site |
| 65 |
- try to automatically translate new localizable strings with existing translations |
| 66 |
from the .po file, by applying some fuzzy logic (that usually doesn't work out |
| 67 |
that well though) |
| 68 |
|
| 69 |
The command to perform the merge is as follows, still taking de.po as the example: |
| 70 |
|
| 71 |
msgmerge -U de.po planetsuse.pot |
| 72 |
|
| 73 |
Note that the "-U" parameter tells msgmerge to update the existing .po file |
| 74 |
in-place, and that the order of the files is first the .po file and then the |
| 75 |
.pot template file. |
| 76 |
|
| 77 |
From here on, steps (3) and (4) from above apply as well. |