Chapter 3. GUI Translation

This chapter deals with the translation of the graphic user interface (GUI) of KDE and its applications. For background information on what is actually translated here (i.e. the .pot and the .po files) please read the gettext Info pages. (Remember: the KDE on-line help provides a very convenient way to read this kind of documentation). — Special thanks to Christopher Kuhi for creating the first version of this section from the German original.

POT and PO Files

To provide a template for translations, the English menu and dialog texts of a program are stored in text files with the extension .pot (short for "PO Template" like .po stands for "Portable Object".) To see examples of how POTs and POs look you may want to pay a visit to WebSVN after reading the following topographic information about the directory structure.

From the standard templates or "POT files" translation teams produce the PO files for their respective language — simply by loading anyfile.pot to a text editor or one of the specialized PO programs and saving it as anyfile.po to another directory. After translating the strings inside the file, these POs will contain the menu and dialog texts for a given program if users choose, for example, "German" or "Icelandic" as the standard language. To be exact, there is another intermediate step which make MOs ("Machine Objects") from the POs during compilation. But this is something which translators do not generally need to worry about. At least, not as long as their POs are in the correct format; see below under the heading Checking and Committing Your Work.

The POT files and all translations can be found in a separate KDE folder called l10n-kf5 and represent their own package. Included are:

  • the POT files in the folder l10n-kf5/templates/

  • the language-specific PO files in the folder l10n-kf5/$LANGUAGE/messages/package-name/, (e.g. l10n-kf5/de/messages/dolphin/dolphin.po for a German file)

  • the language-specific PO files for documentation in the folder l10n-kf5/$LANGUAGE/docmessages/package-name/, (e.g. l10n-kf5/de/docmessages/dolphin/dolphin.po for a German file)

  • the language-specific documentation in the folder l10n-kf5/$LANGUAGE/docs/package-name/appfolder/index.docbook, (e.g. l10n-kf5/de/docs/applications/dolphin/index.docbook)

($LANGUAGE is short for language codes like "de", "fr", "ru", etc. As already mentioned, these abbreviations are nearly code from RFC 3066.