Using Specialized Programs for GUI Translation

There are several packages to assist you with practical GUI translation. They automatically search fuzzy or untranslated strings, present you with possible or comparable translations for a given string, and perform syntax, spell and other checks to ensure that the files will work correctly. At the moment, Lokalize is the only one that can really be recommended. You can also use Kate, Emacs, Vim, or VirTaal.


Developed by Nick Shaforostoff. The recommended package for GUI translation for the time being.

As of version 2.0 its contents and capabilities can be described as follows:

  • General Features:

    • User friendly, easy to understand and widely configurable user interface.

    • Every part of Lokalize comes with extensive context ("What's this") help that make every function easy to understand and to handle.

  • PO-File Editor:

    • Capability to open multiple files (on multiple tabs) as well as Translation Memory and Project Overview

    • Full editing functionality, accessible through the graphic user interface as well as through user definable keyboard shortcuts

    • Powerful spell checking functionality

    • Capability to show diffs to older messages

    • Full navigation capabilities (such as go to next fuzzy or untranslated string)

    • Simple access to powerful Translation Memory through F7

    • Unlimited undo capability

    • Syntax highlighting

    • Automatic file header updates

    • Automatic change of "fuzzy" status of translated messages

    • Support for easy insertion of tags and URLs through Ctrl+T

    • A "rough translation" function to initialize untranslated messages with suggestion from a Translation Memory

    • Automatic syntax check with msgfmt when saving

    • Full Drag & Drop - support

    • Configurable fonts for message editor

    • Quick overview over context in the po file

    • Showing source code by references in message comments

  • Project Overview:

    • File manager view for directories of the l10n module (or similarly structured) directories), showing the present status of all PO files: if they are in need of a revision or not, how many fuzzies and untranslated strings are included etc. This view is always automatically updated and reflects all changes done to the files, including changes by programs other than Lokalize.

    • Easy file open mechanisms for editing in Lokalize: double click, keyboard or context menu

    • Powerful navigation using PO file statistics

    • Automatic comparisons and statistics of POT and PO files for a quick overview which and how many files are translated (or not) and which files may be obsolete

Both the Lokalize Editor and the embedded Project Overview come with extensive "What's this" help that makes every function easy to understand and use. You can get the package from the kdesdk module of KDE

(X)Emacs in PO Mode

For ways to set this PO mode up with GNU Emacs, see the comments in the file po-mode.el that comes with the GNU gettext package. It also works with XEmacs if you set it up like this:

  1. Copy po-mode.el (not the compiled .elc file) from the gettext package to a directory that's visible to XEmacs (e.g. /usr/X11R6/lib/xemacs/site-lisp/);

  2. make the following entry at the beginning of the .emacs or, depending on your distribution, .xemacs-options file in your home directory: (autoload 'po-mode "po-mode")

  3. and make the following new entry to Options -> Customize -> Variable -> auto-mode-alist: "\\.po[tx]?\\'\\|\\.po\\." (with the quotes) in the upper line and po-mode in the lower line (without any quotes).

The functionality is about as follows:

  • All important navigation features (go to next fuzzy, untranslated etc.)

  • Automatic insertion of (some) header data

  • Validation (checking if everything is formatted okay)

  • Lots of useful shortcuts for navigation, removing fuzzies etc.

  • Searching auxiliary-files for translations of a given string into other languages

  • Looking up strings in the sources

As always with Emacs, it takes some time to get used to it. (For instance, the buffer with the original text is kind of read-only and you have always to open a new buffer where you can work on your translation.) But for people who are used to Emacs or are willing to learn its ways, this mode can be a big help. Another factor might be that Emacs is apparently still one of the best ways to edit DocBook SGML which is also the format of KDE documentation. A very good introduction to working with Emacs in general and working with the SGML module in particular can be found as an Acrobat PDF file at

(Most info in the Emacs section thanks to Matthias Kiefer.)