Using KBabel

Introduction
Usually, program messages and documentation is written in English. However since using a framework made from a set of tools and libraries it was posible to have favorite applications speaking your native non-English language. The adapting process to a specific language is named localization. This include translating program interface and documentation to various languages users need and make input and output conform to be correct with particular conventions in some countries or regions. KBabel is a tool which assist you in internationalization process which mean to make an application interface speak many languages.
Every internationalization aware program make available for translation one or more messages catalog files. Their extention is .pot and is an acronym: POT - Portable Object Template. Every translator take a POT file copy and begin translating messages. That, this file will became PO file - Portable Object and represent only one language. After translating process completing this text file (often it contain non-ASCII characters) is compiled into binary format, machine readable. It's like a database to minimize lookup for translated messages. This file have .mo extension and is named MO file - Machine Object.
There is a question in the air: Do I need to know how is inside a PO file? The answer is undoubtefully, yes. There are situations when a messages catalog became corrupt and must be manually fixed. Most of them are so hated CVS conflicts when translating process is coordinated by a concurent version system (see CVS documentation). KBabel can't help you very much on this but an text editor, CVS and PO-file knowledge. Let's see how a PO file is made. The principal concepts are msgid and msgstr markers which are continued by C-like strings (delimited by double quotes). Both groups begin with msgid and respectively msgstr. Msgid stand for English text in application user interface and msgstr stand for translated text. Empty lines and starting with number sign are ignored. Lines with number sign represent comments and are a good point to indicate from what file is the translatable English message or even aditional comments for translating made by application developers. KBabel display comment lines for every message. In many cases first msgid-msgstr pair in PO file is a fake entry (PO file header) which contain various informations about translated PO-file: application name, translating date, translator name and many more.

The Editor
Here's a screenshot of KBabel. Main window is split in four panels. For convenience KBabel has toolbars to speed up many operations and for high working people there are many shortcuts. Upper left edit box is read-only and contains the current msgid field from the opened PO-file and it's english text. Bottom left edit box is msgstr field related and here you can edit the translated text. On top-right window part is comments panel where you can view comments added for current edited entry. It's covenient to find how entry is treated (c-formated or simple). In some cases you can read helpfull comments added by application developer who care about translators work and translating dificulties, for example where terms have different interpretation in application. Undoubtefully, translators need to have a very good general culture, but in some high tech programs comments seems to help very much. A good example is LyX Project which use TeX terminology. Another uses are when you need to know from what file current messages is because you want to report a spelling mistake in original English string.
Screenshot of KBabel
Editor window Bottom-right part is the most sofisticated one. It's size can be adjusted with spliter line which border the space between it and comment panel. It is multifunctional and have two tabbed panels: search and context information. Contextual information tab contain a scrolled view which show the 4 precedent and 4 next entries according with current entry. It's as you may see a snapshot from edited PO file.What's this good? It's very common that when you translate many strings are related both in advance and back, so you may have a look if you have no clue how current entry can be best translated. Dialog interface translation is a good example or widgets have along with its asociated text and "what's this" quick help.

More KBabel features
Shortly, I would explain that a msgid entry can be in three states:
untranslated 	 which obviously mean there's no translated text associated with msgstr
fuzzy 	 msgmerge had tried to match better translated string looking in rest of PO-file entries. This does not work perfectly and you must edit the translated text to fit the current english text.
translated 	 obvious this mean current msgid entry is translated.
The state of the current entry is indicated by two LEDs. Depending on your configuration, these can be in statusbar or above the translated string edit box. Both have customizable color to reflect your visual requirements or taste. Please read Preferences section to see how you can adjust these settings.

The Catalog Manager
Screenshot of Catalog Manager
The Catalog Manager merges two directories into one tree and displays all PO- and POT-files in these directories. This way you can easily see if a new template has been added or removed. Also some informations of the files are displayed in the Catalog Manager: total number, number of fuzzy and number of untranslated entries, the last revision and the last translator of the file.
To make it easier for you to find files, that need work or that are missing, the status of the files is also displayed with an icon:
The messages in this file are all translated.
Some messages in this file are fuzzy or untranslated
This file does not exists in the directory of the PO-files.
This file contains syntax errors.
If an icon is marked with this icon , like , it indicates, that this file or directory does not exist in the directory of the POT-files.
You can mark or unmark a file by selecting Toggle Marking in the context menu of a file. If you want to toggle or remove all markings in a directory, press the right mouse button over this directory and select Toggle Markings or Remove Markings. The markings are automatically saved when leaving KBabel.
To open a file, double click on the file, or select it and press either Return or Ctrl O , or select Open from the context menu.
You can configure the Catalog Manager either by clicking Configure... at the bottom or in section Catalog Manager of the preferences dialog. See section Preferences for more details.