PIM/Enterprise Translation Howto: Difference between revisions

From KDE Community Wiki
< PIM
(first version without much markuup)
 
(flag out of date)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{out of date|this dates from 2010; use <code>LANG</code>, not KDE_LANG}}
== Overview ==
== Overview ==


Line 5: Line 6:
== Setup ==
== Setup ==


Apart from the setup needed below, please also follow the README file at [1] so that the scripts will work properly. It is important to follow those instructions, especially about setting up environment variables. You also need to install Lokalize, which is the program used to edit .PO files. These .PO files contain the actual translations for each language. The translation scripts will create updated .PO files by scanning the source code and the documentation and extracting text that should be translated out of them.
Apart from the setup needed below, please also follow the setup instructions in the [http://websvn.kde.org/*checkout*/branches/kdepim/scripts/README.txt README file] so that the scripts will work properly. It is important to follow those instructions, especially about setting up environment variables. You also need to install [[userbase:Lokalize|Lokalize]], which is the program used to edit .PO files. These .PO files contain the actual translations for each language. The translation scripts will create updated .PO files by scanning the source code and the documentation and extracting text that should be translated out of them.


=== Setup for e35 ===
=== Setup for e35 ===


You need to have a installation of KDE3 somewhere, which needs to include kdesdk as kdesdk has some scripts which are used internally by the translation scripts.
You need to have a installation of KDE3 somewhere, which needs to include [http://websvn.kde.org/branches/KDE/3.5/kdesdk/ kdesdk], as kdesdk has some scripts which are used internally by the translation scripts.


=== Setup for e4 ===
=== Setup for e4 ===
Line 17: Line 18:
Check out the following folders, mirroring the SVN folder hierarchy. -N indicates that you should use the -N option to "svn up" to not pull all subdirectories.
Check out the following folders, mirroring the SVN folder hierarchy. -N indicates that you should use the -N option to "svn up" to not pull all subdirectories.


trunk (-N)
trunk (-N)
trunk/KDE (-N)
trunk/KDE (-N)
trunk/KDE/kdesdk (-N)
trunk/KDE/kdesdk (-N)
trunk/KDE/kdesdk/scripts
trunk/KDE/kdesdk/scripts
branches (-N)
branches (-N)
branches/kdepim (-N)
branches/kdepim (-N)
branches/kdepim/enterprise4 (-N)
branches/kdepim/enterprise4 (-N)
branches/kdepim/enterprise4/kdepim
branches/kdepim/enterprise4/kdepim
branches/kdepim/enterprise4/kdepimlibs
branches/kdepim/enterprise4/kdepimlibs
branches/kdepim/enterprise4/kdebase-4.2-branch
branches/kdepim/enterprise4/kdebase-4.2-branch
branches/kdepim/enterprise4/kdelibs-4.2-branch
branches/kdepim/enterprise4/kdelibs-4.2-branch
branches/kdepim/enterprise4/l10n-kde4 (-N)
branches/kdepim/enterprise4/l10n-kde4 (-N)
branches/kdepim/enterprise4/l10n-kde4/scripts
branches/kdepim/enterprise4/l10n-kde4/scripts
branches/kdepim/enterprise4/l10n-kde4/de (-N)
branches/kdepim/enterprise4/l10n-kde4/de (-N)
branches/kdepim/enterprise4/l10n-kde4/de/messages (-N)
branches/kdepim/enterprise4/l10n-kde4/de/messages (-N)
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdepim
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdepim
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdepimlibs
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdepimlibs
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdelibs
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdelibs
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdebase
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdebase
branches/kdepim/enterprise4/l10n-kde4/templates (-N)
branches/kdepim/enterprise4/l10n-kde4/templates (-N)
branches/kdepim/enterprise4/l10n-kde4/templates/messages (-N)
branches/kdepim/enterprise4/l10n-kde4/templates/messages (-N)
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdepim
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdepim
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdepimlibs
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdepimlibs
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdelibs
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdelibs
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdebase
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdebase


Now, you need to create some symlinks.
Now, you need to create some symlinks.
In the branches/kdepim/enterprise4 directory, symlink kdebase-4.2-branch to kdebase and kdelibs-4.2-branch to kdelibs
In the ''branches/kdepim/enterprise4'' directory, symlink ''kdebase-4.2-branch'' to ''kdebase'' and ''kdelibs-4.2-branch'' to ''kdelibs''.


== Updating PO and POT files ==
== Updating PO and POT files ==


After the inital setup is complete, you'll see the PO files in the l10n-kde4/de/ (e4) and in the kde-l10n/de/ (e35). There is also a templates/ directory with POT (PO template) files. As soon as text strings in the source code or in the documentation change, the PO and POT need to be updated. This can be done by simply calling the following bash functions:
After the initial setup is complete, you'll see the PO files in the ''l10n-kde4/de/'' (e4) and in the ''kde-l10n/de/'' (e35) directories. There is also a ''templates/'' directory with POT (PO template) files. As soon as text strings in the source code or in the documentation change, the PO and POT need to be updated. This can be done by simply calling the following bash functions:
e35: update_e3_translations
* e35: update_e3_translations
e4:  update_e4_translations
* e4:  update_e4_translations


The scripts will automatically update your source code checkout so that you don't get outdated translations. Running these can take a few minutes. Afterwards, the PO and POT files should be up-to-date and you can edit the PO files to add the translated strings.
The scripts will automatically update your source code checkout so that you don't get outdated translations. Running these can take a few minutes. Afterwards, the PO and POT files should be up-to-date and you can edit the PO files to add the translated strings.
Line 58: Line 59:


The PO file editor for KDE is called Lokalize. Simply start it and open the PO files you want to update. The PO files you need to edit are located in the following directories:
The PO file editor for KDE is called Lokalize. Simply start it and open the PO files you want to update. The PO files you need to edit are located in the following directories:
e35:
* e35:
  kde-l10n/de/messages/kdepim/: Strings in the actual applications
  kde-l10n/de/messages/kdepim/: Strings in the actual applications
  kde-l10n/de/docmessages/kdepim/: Strings in the documentation handbook
  kde-l10n/de/docmessages/kdepim/: Strings in the documentation handbook
e4:
* e4:
  l10n-kde4/de/messages/
  l10n-kde4/de/messages/


Lokalize lets you jump to the next untranslated or to the next fuzzy message you need to translate, simply use that, add the translations and save the PO file. For more advanced features, and for a general guide to translating, see:
Lokalize lets you jump to the next untranslated or to the next fuzzy message you need to translate, simply use that, add the translations and save the PO file. For more advanced features, and for a general guide to translating, see:
  http://userbase.kde.org/Lokalize
* [http://userbase.kde.org/Lokalize Lokalize Overview at Usebase]
  http://docs.kde.org/development/en/kdesdk/lokalize/index.html
* [http://docs.kde.org/development/en/kdesdk/lokalize/index.html The Lokalize Handbook]
  http://techbase.kde.org/Localization
* [http://techbase.kde.org/Localization Localization Overview Page]


Special attention should be paid to crypto terms, they should be as consistent as possible. See https://gpg4win-intern.intevation.de/Phrasebook for some standard terms to use.
Special attention should be paid to crypto terms, they should be as consistent as possible. See [https://gpg4win-intern.intevation.de/Phrasebook The GPG4WIN phrasebook] for some standard terms to use. For other terms, try to be consistent with the rest of the German KDE translation. It is often useful to use Lokalize to see what the translation of a certain term is in other places, so that the same translation can be used.


To double-check that you don't have missed some strings, run the function find_untranslated in the kde-l10n or in the l10n-kde4 dir. Afterwards, double-check that you have made the correct changes by viewing the diff with the po_diff function.
To double-check that you don't have missed some strings, run the function '''find_untranslated''' in the ''kde-l10n'' or in the ''l10n-kde4'' dir. Afterwards, double-check that you have made the correct changes by viewing the diff with the '''po_diff''' function.
Now you can commit the changes to the PO files and to the POT files by simply running
Now you can commit the changes to the PO files and to the POT files by simply running
   svn ci -m "SVN_SILENT update translations"
   svn ci -m "SVN_SILENT update translations"
in the kde-l10n or in the l10n-kde4 directory.
in the ''kde-l10n'' or in the ''l10n-kde4'' directory.
After a successful commit, the translations are done.
After a successful commit, the translations are done.
Note that after committing, no changes in the source code can be made that change text strings, since otherwise the translations will be outdated again. Therefore, we have to avoid changing text strings in the source when the translations are committed, but the tags are not yet made. This needs coordination between the translators, the developers and the person doing the tags.
Note that after committing, no changes in the source code can be made that change text strings, since otherwise the translations will be outdated again. Therefore, we have to avoid changing text strings in the source when the translations are committed, but the tags are not yet made. This needs coordination between the translators, the developers and the person doing the tags.


Line 81: Line 83:


After finishing the translations, one might want to directly test them, to see if they work as expected.
After finishing the translations, one might want to directly test them, to see if they work as expected.
First of all, you should install the current SVN versions of kdepim and kdepimlibs, as the translations of course need up-to-date applications that use the translations. After installing those, the translations itself need to be installed. For this, the PO files first need to be compiled to MO files, which are then installed. This can easily be done by running this function:
First of all, you should install the current SVN versions of ''kdepim'' and ''kdepimlibs'', as the translations of course need up-to-date applications that use the translations. After installing those, the translations itself need to be installed. For this, the PO files first need to be compiled to MO files, which are then installed. This can easily be done by running this function:
e35: install_e3_translations
* e35: install_e3_translations
e4:  install_e4_translations
* e4:  install_e4_translations


Before starting the applications, the KDE_LANG environment variable needs to be set up so that the correct translations are used. Simply type
Before starting the applications, the ''KDE_LANG'' environment variable needs to be set up so that the correct translations are used. Simply type
   export KDE_LANG=de
   export KDE_LANG=de
before starting the PIM applications from console. Sometimes it might be necessary to kill the running kdeinit/kdeinit4 process before the translations can become fully active.
before starting the PIM applications from console. Sometimes it might be necessary to kill the running ''kdeinit''/''kdeinit4'' process before the translations can become fully active.

Latest revision as of 02:56, 29 February 2024

 
This article or section is out of date.
Reason: this dates from 2010; use LANG, not KDE_LANG (Discuss in Talk:PIM/Enterprise Translation Howto)

Overview

Translations are currently only done in the e35 and in the e4 branches. e5 will follow later. Right now we use custom translation scripts, but for e4 and e5 we eventually plan to switch over to the KDE infrastructure to do all the work for us, after the Git migration is complete.

Setup

Apart from the setup needed below, please also follow the setup instructions in the README file so that the scripts will work properly. It is important to follow those instructions, especially about setting up environment variables. You also need to install Lokalize, which is the program used to edit .PO files. These .PO files contain the actual translations for each language. The translation scripts will create updated .PO files by scanning the source code and the documentation and extracting text that should be translated out of them.

Setup for e35

You need to have a installation of KDE3 somewhere, which needs to include kdesdk, as kdesdk has some scripts which are used internally by the translation scripts.

Setup for e4

Setup for the enterprise4 branch is a little bit more involved.

Check out the following folders, mirroring the SVN folder hierarchy. -N indicates that you should use the -N option to "svn up" to not pull all subdirectories.

trunk (-N)
trunk/KDE (-N)
trunk/KDE/kdesdk (-N)
trunk/KDE/kdesdk/scripts
branches (-N)
branches/kdepim (-N)
branches/kdepim/enterprise4 (-N)
branches/kdepim/enterprise4/kdepim
branches/kdepim/enterprise4/kdepimlibs
branches/kdepim/enterprise4/kdebase-4.2-branch
branches/kdepim/enterprise4/kdelibs-4.2-branch
branches/kdepim/enterprise4/l10n-kde4 (-N)
branches/kdepim/enterprise4/l10n-kde4/scripts
branches/kdepim/enterprise4/l10n-kde4/de (-N)
branches/kdepim/enterprise4/l10n-kde4/de/messages (-N)
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdepim
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdepimlibs
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdelibs
branches/kdepim/enterprise4/l10n-kde4/de/messages/kdebase
branches/kdepim/enterprise4/l10n-kde4/templates (-N)
branches/kdepim/enterprise4/l10n-kde4/templates/messages (-N)
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdepim
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdepimlibs
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdelibs
branches/kdepim/enterprise4/l10n-kde4/templates/messages/kdebase

Now, you need to create some symlinks. In the branches/kdepim/enterprise4 directory, symlink kdebase-4.2-branch to kdebase and kdelibs-4.2-branch to kdelibs.

Updating PO and POT files

After the initial setup is complete, you'll see the PO files in the l10n-kde4/de/ (e4) and in the kde-l10n/de/ (e35) directories. There is also a templates/ directory with POT (PO template) files. As soon as text strings in the source code or in the documentation change, the PO and POT need to be updated. This can be done by simply calling the following bash functions:

  • e35: update_e3_translations
  • e4: update_e4_translations

The scripts will automatically update your source code checkout so that you don't get outdated translations. Running these can take a few minutes. Afterwards, the PO and POT files should be up-to-date and you can edit the PO files to add the translated strings. The update scripts will show you at the end which PO files have outdated translations and need to edited.

Editing Translations

The PO file editor for KDE is called Lokalize. Simply start it and open the PO files you want to update. The PO files you need to edit are located in the following directories:

  • e35:
kde-l10n/de/messages/kdepim/: Strings in the actual applications
kde-l10n/de/docmessages/kdepim/: Strings in the documentation handbook
  • e4:
l10n-kde4/de/messages/

Lokalize lets you jump to the next untranslated or to the next fuzzy message you need to translate, simply use that, add the translations and save the PO file. For more advanced features, and for a general guide to translating, see:

Special attention should be paid to crypto terms, they should be as consistent as possible. See The GPG4WIN phrasebook for some standard terms to use. For other terms, try to be consistent with the rest of the German KDE translation. It is often useful to use Lokalize to see what the translation of a certain term is in other places, so that the same translation can be used.

To double-check that you don't have missed some strings, run the function find_untranslated in the kde-l10n or in the l10n-kde4 dir. Afterwards, double-check that you have made the correct changes by viewing the diff with the po_diff function. Now you can commit the changes to the PO files and to the POT files by simply running

 svn ci -m "SVN_SILENT update translations"

in the kde-l10n or in the l10n-kde4 directory. After a successful commit, the translations are done.

Note that after committing, no changes in the source code can be made that change text strings, since otherwise the translations will be outdated again. Therefore, we have to avoid changing text strings in the source when the translations are committed, but the tags are not yet made. This needs coordination between the translators, the developers and the person doing the tags.

Installing and Testing Translations

After finishing the translations, one might want to directly test them, to see if they work as expected. First of all, you should install the current SVN versions of kdepim and kdepimlibs, as the translations of course need up-to-date applications that use the translations. After installing those, the translations itself need to be installed. For this, the PO files first need to be compiled to MO files, which are then installed. This can easily be done by running this function:

  • e35: install_e3_translations
  • e4: install_e4_translations

Before starting the applications, the KDE_LANG environment variable needs to be set up so that the correct translations are used. Simply type

 export KDE_LANG=de

before starting the PIM applications from console. Sometimes it might be necessary to kill the running kdeinit/kdeinit4 process before the translations can become fully active.