The KBabel Handbook
The KBabel Handbook
Next

The KBabel Handbook

Stanislav Visnovsky

Matthias Kiefer

Conversion to British English: Malcolm Hunter
Revision 3.1.91 (2003-09-18)

KBabel is a suite of of an advanced and easy to use PO file editor comprising KBabel, a multi functional Catalogue Manager and a dictionary for translators KBabelDict. It supports many advanced features and it lets you customise many options.


List of Tables

6.1. Year
6.2. Month
6.3. Day
6.4. Hour
6.5. Minute, Second, Timezone
Chapter 1. Introduction
Introduction
Prev
Next

Chapter 1. Introduction

KBabel is an advanced and easy to use PO file (GNU gettext message catalogues) editor. It has many features, that make it easy to edit and manage your PO files. This includes full navigation capabilities, extensive editing functionality, search functions, syntax checking and statistics function. Catalogue Manager is a file manager view, which helps you keep an overview over your PO files. KBabelDict allows you to translate any text using KBabel capabilities for automated translation. The KBabel suite will help you to translate quickly and also to keep translations consistent.

With the KDE project growing continuously, the number of PO messages is over 47000 at the time of writing this documentation (plus another 20000 messages used for translating application documentation). There is a need to stay organised and consistent across all translations.

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Chapter 2. Using KBabel
Using KBabel
Prev
Next

Chapter 2. Using KBabel

Conversion to British English: Alex Walker

Introduction

Usually program messages and documentation are written in English. Using a framework made of a set of tools and libraries, it is possible to have your favourite applications speak your native non-English language. This process of adapting an application to a specific language is known as localisation. The localisation process includes translating the program's interfaces and documentation to the various languages users need and, in some countries or regions, making the inputs and outputs conform to particular conventions. KBabel is a tool which will assist you in the internationalisation process to make an application's interface speak many languages.

Every internationalisation-aware program makes available for translation one or more message-catalogue files. The extension of these files is .pot. POT is an acronym for “Portable Object Template”.

Every translator takes a POT file copy and begins translating messages. This file will became a PO file - Portable Object and represents only one language.

Each translator takes a copy of one of these POT templates and begins filling in the blanks: each message is translated into the language desired. The file containing the translated text is referred to as a PO (Portable Object) file.

Once all the messages have been translated, the PO file is compiled into a machine-readable binary format, known as a MO (Machine Object) file. These files, which will be stored with a .mo extension, act as a database to minimise the time taken by the applications to look up each translated message.

This suggests a question: do I need to know what is inside a PO file even though I have KBabel? The answer is, undoubtedly, yes. There are situations when a message catalogue can become corrupted and needs to be manually fixed. Most of these problems are the so-hated CVS conflicts which occur when a translating process is coordinated by a concurrent version system (see the CVS documentation). KBabel can't help you very much if a problem like this arises so a text editor and some knowledge of PO-files are needed. Let's see how a PO file is made.

PO files consist of pairs of messages—a msgid and a msgstr. The msgid is the text in English and the msgstr is the text translated into the appropriate language. The text that accompanies each msgid and msgstr is enclosed within C-like double quotes. An example, taken from a PO file for Noatun, is msgid "Open a Playlist"

Empty lines and those starting with # are ignored. Lines starting with a # represent comments and are a useful means of providing a note detailing which file this message is going to be used in and, in the case of the application writers, to provide additional comments to aide translation. KBabel displays these comment lines for every message.

In many cases the first msgid-msgstr pair in PO file is a fake entry (acting as PO file header) that contains various information about the translated PO file, such as the application name, translating date, translator name and so on.

Recent versions of GNU gettext added another useful i18n feature called plural forms. English uses only singular and one plural form of nouns, e.g.1 file ” and “10 files”. This leads many developers to an idea that the world is that simple and they can use messages like “Do you want to delete %1 file(s)?”, where %1 denotes a number of files to be deleted. But this is fundamentally wrong. For Slovak translation you need 3 different forms of the message. This number is different for different languages and even when it is the same, e.g. Czech uses 3 forms as well, the rule to decide which form to use can be very different.

Plural forms in PO files are here to help. Unfortunately, KDE developers do not like the plural forms implementation in GNU gettext and they have introduced their own format and handling for them.

Editor
Editor

Editor

Here is a screenshot of KBabel. For convenience KBabel has toolbars to speed up many operations and, for busy users, there are many keyboard shortcuts. The main window is divided into four parts.

The upper-left edit box is read-only and contains the current msgid field from the opened PO-file and its English text.

The bottom-left edit box contains the msgstr field related to the msgid shown and here you can edit the translated text.

The top-right part of the window is a comments panel where you can view the comments added for entry currently being edited.

It can be used:

  • to find out how the current message is treated by the application (c-formatted or simple)

  • in some cases, to read helpful comments added by the application's developer to assist the translators in their work—for example, there may be technical hints (used to great effect in the LyX project)

  • when you need to know which file a message is from because you want to report a spelling mistake in the original English string.


Screenshot of KBabel

The editor window (in the bottom right) is the most sophisticated part of KBabel's main window. Its size can be adjusted using the splitter line between it and the comment panel (the panel in the top right). The editor window has two tabbed panels—one storing search information, the other context information. The context information tab contain a scrolled view which shows the previous and next 4 entries associated with the current entry—essentially it's a small 'snapshot' of the PO file. While translating, it is very common for message strings to be related to subsequent and previous messages, so the context panel is useful for looking at the nearby messages to get a hint as to how the current message can best be translated. Dialogue interface translation is a good example, or widgets with their associated text and "what's this" message.

More KBabel Features

Each msgid entry can be in three states:

untranslated

there is no translated text currently associated with the msgstr

fuzzy

msgmerge has tried to match a translated string by 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

the msgid is the completed translated form of the msgstr

The state of the current entry is indicated by two LEDs. Depending on your configuration these can either be in the status bar or above the translated string edit box. Both have a customisable colour (to reflect your visual requirements or taste). Please read the Preferences section to see how you can adjust these settings.



Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Advanced Translation
Advanced Translation

Advanced Translation

Now you have an idea how to translate a PO-file. In this section we will follow the standard way of translating a new PO-file using the advanced features of KBabel. We assume you have already opened a template POT-file and saved it as a PO file.

Navigation in PO-file

KBabel allows you to easily navigate through the file according to the state of their translation. The untranslated/fuzzy status was introduced already. A message can be marked as erroneous as a result of validation checking or validation done by msgfmt. And, of course, KBabel supports browsing the history of visited messages with Forward/Back, like in Konqueror.

All commands for navigation are in Go menu.

Page Up

Move to the previous message

Page Down

Move to the next message

Ctrl+Page Up

Move to the previous fuzzy message

Ctrl+Page Down

Move to the next fuzzy message

Alt+Page Up

Move to the previous untranslated message

Alt+Page Down

Move to the next untranslated message

Shift+Page Up

Move to the previous error message

Shift+Page Down

Move to the next error message

Ctrl+Shift+Page Up

Move to the previous fuzzy or untranslated message

Ctrl+Shift+Page Down

Move to the next fuzzy or untranslated message

Clever editing

Clever editing means that the editor will help you easily edit the translation while taking into account specials of the PO format. It will correctly “escape” as necessary.

It also supports more than one mode for inserting end of the line. This is very useful because of the way gettext handles end of the lines. It simply ignores them. (You can imagine that all the text in msgstr is a single line.) If you want insert a “real” end of the line, you need to insert \n. But most of translators do not realize, that a new line in msgstr does not add any space between the lines. This can be easily solved by adding a space at the end of every line. But you can easily forget, so clever editing does this automatically for you.

The table below summarises clever editing features.

Tab

Insert \t

"

Insert \"

Enter

If the last character before cursor is not a space, insert one space. Then start a new line.

Ctrl+Enter

Start a new line without any additional logic

Shift+Enter

Insert \n and start a new line

Note

If you want to see where are spaces, you can turn on Highlight background and/or Mark whitespaces with points in preferences dialogue on tab Edit Appearance.

Automatic translation

As the first step when starting a new translation, KBabel provides a function for automatic filling of the messages translations by the older translations. Choose Tools->Rough Translation and KBabel will present the following dialogue:



In the dialogue, you should specify what to translate and choose the sources for the old translations.

At the top of the What to translate frame are three checkboxes (Untranslated entries, Fuzzy entries , Translated entries) for specifying the kind of messages you want to translate. Untranslated and fuzzy entries are natural choices for automatic translation, but you can change already translated messages as well.

The exact matching for msgids will always be used for rough translation. However, you can add more strategies, i.e. Allow fuzzy translation (slow) and Allow single word translation. Both of these additional strategies must be supported by the sources used (see below). There is no specification, what does “fuzzy translation” mean, but the purpose is quite obvious. “Single word translation” is suitable for only some of the languages. KBabel will try to translate each word in msgid separately and then put the translated words (or phrases) in the same order in msgstr .

As a source for rough translation, any dictionary module available can be used. There is a list of Don't use modules and Use modules. Modules are used in the order in the Use list. First module is asked for translation. If it is not found, next module in the list is asked and so on. You can use the buttons with arrows for moving modules between the lists. Don't forget to change the order to suit your needs by Move Up and Move Down buttons.

Normally KBabel will mark every roughly translated message as fuzzy, because it assumes that any automatic translation needs to be reviewed by a translator. If you are 100% sure that the automatic translation will be correct, or you will review all the translation anyway. Mark changed entries as fuzzy allows you to turn off this automatic fuzzy marking, but you will need to confirm this.

If you have set all the options to suit your needs, push Start to automatically translate messages. You can follow the progress bar and in case, there is always the Stop button.

Validate your translation

Everyone makes mistakes. So KBabel supports a number of checks for typical problems in translations. These checks (not syntax check) can be basically performed in two ways.

Checks can be done at each change of the translated text. These are called automatic checks and they can be turned on in the KBabel configuration dialogue. Automatic checking of syntax is possible at each saving of the file.

The automatic checks can slow down KBabel. If you have a slower computer, you can turn off the automatic checks and use only the second possibility. You can invoke every kind of check from the Tools-> Validation. Then the check is performed for all messages in the file and faulty ones are marked as errors.

Check Syntax

This invokes msgfmt to check validity of the PO file as seen by gettext package. It will show the result of the command and mark error msgstrs.

Check Arguments

Incorrect translations can crash the application. The most dangerous parts of translation are arguments, e.g. for printf-like functions. This check compares the number and types of the arguments in msgid and msgstr. They must match.

Check Accelerators

GUI text commonly contain accelerators, i.e. letters which can be used for fast access to GUI elements by keyboard. They are denoted by special character, e.g. & in KDE. Typical requirement of the translation is that translated text should contain accelerator as well. This check will notice this problem for you. The accelerator character can be specified in Preferences on Misc tab.

Look for Translated Context Info

You will probably need this only for KDE translation. Some of the text are too common and they need to be translated differently in different contexts. In KDE the context is described at the beginning of msgid after the special sequence :_. But if some translators are not aware of this convention and they try to translate context information as well. This check will try to find these. If the check founds translated context information, you should remove it.

Check Plural Forms

If the msgid is specified as a “plural form”, the translation has to contain the correct number of translations separated by \n. The correct number depends on the language of translation and is specified on Identity tab in Preferences dialogue. This is implemented only for KDE at the moment.

Check Equations

Equations are special format of msgid typically used in .desktop files. And because your translations will be merged back to these files, msgstr must use this special format as well. This means that the translation must start (up to the first occurrence of = with the same text as the original message, e.g. Name=.

Spellchecking the translation

As always, it is very important to spell-check your translation before using your result. This way you can find typos and other problems in your translation. KBabel uses the standard KDE library for spellchecking and its standard settings can be found in the KBabel configuration dialogue. Spell checking itself can be found in Tools->Spelling submenu. You can use a number of modes for spell checking:

Spell check...

This is a generic invocation of a dialogue where you can choose the spellchecking mode and set the default mode. This is invoked by pressing Ctrl+I.

Check All...

Spellcheck all messages in the file.

Check from Cursor Position...

Start spellchecking at the position in the current message and progress towards the end of the file.

Check Current...

Spellcheck the current message only.

Check Selected Text...

If there is a selected text in msgstr editor, this option is available and will spellcheck this text only.

Translating XML, HTML, ...

Markup languages are used more and more in GUI. KDE project also uses PO-files for translating DocBook documentation files (which is also a markup language). KBabel contains quite a lot of functionality to support this trend.

Note

Here, we will describe only functions related to tags used for markup itself. The other problem introduced by using markup languages is translation of longer texts. This issue is addressed by the diff feature described in the following section.

The current version of KBabel is capable to find out which tags are used in msgid and provide an easy access to them using following actions from the Edit:

Insert Next Tag

This inserts next tag found in msgid to the translation. KBabel finds the tag to be inserted by counting the number of tags from the beginning of the translation.

Edit->Insert Tag

This submenu contains all different markup tags found in original english string. By selecting a tag you can insert it at the current position of cursor in translated text. translation.

Showing the difference

As explained already, current applications, trying to be user friendly, contain a lot of longer descriptive texts, including markup. If a developer changes a part of the text, the GNU gettext system will, in the best case, retain the old translation and mark it as fuzzy. (In the worst case you will lose the translation completely, depending on the size of the text changes). This works OK, if a msgid is short, because then you can find the changes quickly. But if the text is long enough, you will struggle to find out what has been changed (For example, it can be only an article change by proof-reading team.)

To help, KBabel can be asked to lookup the original msgid and to show the difference. The changes are graphically displayed in the Original String window. The exact method can be set in the KBabel configuration dialogue. Tools->Diff->Show Diff will show the differences found. To see the current text without the mixture of original text and differences, use Tools->Diff->Show Original Text.

You can turn automatic lookup of difference on and off by choosing Tools->Diff->Diff Mode. When the diff mode is on, difference searching starts when you go to another message.

As always, you can use different sources for finding the old version of the text, all being set in in KBabel configuration dialogue:

Translation Database

You can use Translation Database for difference lookup. We strongly recommend to turn on the automatic storing of the newly translated messages into Translation Database in Translation Database configuration dialogue. This mode can be turned on by Use messages from Translation Database.

Tree of the old files

This will be used only if searching in Translation Database is turned off. By setting Base folder for diff files you can navigate KBabel, which file to use for difference. It takes the relative path of the opened file and uses this relative path in the folder specified here. If there is a corresponding file, it will be used. To use this mode, you should make a copy of old files before each update.

Manually chosen file

If the previous possibility does not work, correctly, you can always set the difference file manually by choosing Tools->Diff->Open File for Diff.

Note

The difference lookup is not always accurate, because the PO-file does not contain any reference to the original message.



Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Plural Forms
Plural Forms

Plural Forms

Because plural forms are quite a complicated issue, we devote a special section for their suport in KBabel.

KBabel can read the GNU plural forms only, but cannot edit them. It only supports the KDE version of plural forms at the moment.

Every language to which KDE is translated must have set a correct number of plural forms. This is done by translating an entry in kdelibs.po. The number is set by selecting the name of a language, which uses the same number and rules for finding the right plural form. The up-to-date list of possible values can be found in the kdelibs source code, in the file kdecore/klocale.cpp.

KDE plural forms are denoted by comment _: containing the %n argument. This argument is then used in the message itself and it controls which plural form of your language should be used depending on the rules for your language.

The translation of a plural form message has to have a special format. It must contain the correct number of translations (one for each plural form) separated by an end of the line \n. For example, “Selected %n files” translated to Slovak would be:

Vybraný %n súbor\n
Vybrané %n súbory\n
Vybraných %n súborov

To check if your translation contains the correct number of plural forms, use the Tools->Validation ->Check Plural Forms (KDE only) menu.



Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Chapter 3. Using Catalogue Manager
Using Catalogue Manager
Prev
Next

Chapter 3. Using Catalogue Manager

Conversion to British English: Malcolm Hunter

Screenshot of Catalogue Manager

The Catalogue Manager merges two folders into one tree and displays all the PO and POT files in these folders. The display allows you to easily see if a new template has been added or an old one has been removed. Some information is shown along with each file name: total number of entries, number of fuzzy entries, number of untranslated entries, the date of the last revision and the last translator of the file.

To make it easier for you to find files that need work or are missing the status of each file is also displayed using an icon:

  • All the messages in this file are translated.

  • Some of the messages in this file are fuzzy or untranslated

  • This file does not exist in the folder of the PO files.

  • This file contains syntax errors.

  • Information about this file is being currently updated. When the update is finished, it will get one of the icons listed above to reflect its state.

If an icon is marked with this icon , like , it indicates that this file or folder does not exist in the folder 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 folder, press the right mouse button over the folder and select Toggle Markings or Remove Markings. The markings are automatically saved when leaving KBabel.

To open a file either double-click on the file, select Open from the context menu or press either Return or Ctrl+O.

You can configure the Catalogue Manager by Settings-> Configure Catalogue Manager.... See section Preferences for more details.

Catalogue Manager Features

Besides the main feature for opening the files in KBabel Catalogue Manager supports number of other features for maintaining a tree of PO-files.

Find and replace in multiple files

One of the most requested features for KBabel was a possibility to search and replace in multiple files at once. Catalogue Manager supports this feature with a tight integration with KBabel

Statistics

Catalogue Manager can show you a number of statistics about a single file or about the whole folders. The statistics contain number of files, how many of the files have their templates, how many templates are missing. It also counts number of messages in the files and shows statistics about how large parts of the messages are translated, fuzzy-translated or untranslated.

Checking the syntax

This allows you to check the syntax of multiple PO-files using msgfmt. If a file fails this check, it cannot be used for generating a MO-file for binary distribution. Such an incorrect file will typically result in failing compilation of the package the PO-file belongs to.

User-defined commands

Because Catalogue Manager cannot provide any functionality you would like to use, you can extend it by defining your own commands.

There are two sets of commands. One for folders and one for single files. You can set them in configuration dialogue and access by pressing right mouse button on an entry in the file list.

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Chapter 4. Using KBabelDict
Using KBabelDict
Prev
Next

Chapter 4. Using KBabelDict

Conversion to British English: Malcolm Hunter

KBabelDict is a simple interface for translation modules for KBabel. It allows you to search for translations.


Screenshot of KBabelDict

The screenshot above does not contain settings for selected module. You can show them using Show Settings. Preferences widget for selected module will be shown on the right side of the window. The KBabelDict window then looks like this:


Screenshot of KBabelDict with shown settings

The usage is very simple. You select a module to in the Search in module combo-box. Then you enter the phrase to lookup and press Start Search. All found messages are shown in the list below, which is the same as a tool in the KBabel main window. Searching can be stopped by pressing Stop. In case you want to search in translated text, not in original English message, you should use Search in translations.

Buttons on the bottom of the window can be used for closing KBabelDict, showing/hiding the module settings or displaying a dialogue with credits for KBabelDict and the modules themselves.

Note

For description of the standard modules and their settings see Chapter 5, Dictionaries.

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Chapter 5. Dictionaries
Dictionaries
Prev
Next

Chapter 5. Dictionaries

Conversion to British English: Malcolm Hunter

KBabel has 3 modes which can be used to search translated PO message strings:

  • Searching translation, using a translation database

  • Rough translation

  • KBabelDict

Translation database

Translation database allows you to store translations in a database based on Berkeley Database II, i.e. it is stored in a binary file on your disk. The database guarantees fast searching in a large number of translations.

This mode is the one best integrated with KBabel. Besides searching and rough translation it also supports the following features:

  • Every new translation typed in the KBabel editor can be automatically stored in the database.

  • This database can be used for “diff”-ing msgid.

Of course, the more translations are stored in the database, the more productive you can be. To fill the database, you can use the Database tab in the preferences dialogue or you can turn on automatic addition of every translated messages on the same tab.

Settings

You can configure this searching mode and how it should be used by selecting Settings->Configure Dictionary->Translation Database in KBabel menu.

The Generic tab contains general settings for searching in the database.

Search in whole database (slow)

Do not use “good keys”, search in the whole database. This is slow, but will return the most precise results.

Search in list of "good keys" (best)

Use “good keys” strategy. This option will give you the best tradeoff between speed and exact matching.

Return the list of "good keys" (fast)

Just return “good keys”, do not try to eliminate any more texts. This is the fastest provided method, but can lead to a quite large number of imprecise matches.

Case sensitive

Distinguish case of letters when searching the text.

Normalise white space

Skip unnecessary white space in the texts, so the searching will ignore small differences of white space, e.g. number of spaces in the text.

Remove context comment

Do not include context comments in search. You will want this to be turned on.

Character to be ignored

Here you can enter characters, which should be ignored while searching. Typical example would be accelerator mark, i.e. & for KDE texts.

The Search tab contains finer specification for searching the text. You can define how to search and also allows to use another special way of searching called Word substitution. By substituting one or two words the approximate text can be found as well. For example, assume you are trying to find the text My name is Andrea.

Equal

Text from database matches if it is the same as the searched string. In our example it can be My name is &Andrea (if & is set as ignored character in Characters to be ignored on Generic tab).

Query is contained

Text from database matches if the searched string is contained in it. For our example it can be My name is Andrea, you know?.

Query contains

Text from database matches if the searched string contains it. For our example it can be Andrea. You can use this for enumerating the possibilities to be found.

Regular Expression

Consider searched text as a regular expression. This is mainly used for KBabelDict. You can hardly expect regular expressions in PO files.

Use one word substitution

If the query text contains less words than specified below, it also tries to replace one of the words in the query. In our example it will find Your name is Andrea as well.

Max number of words in the query

Maximal number of words in a query to enable one word substitution.

Local characters for regular expressions

Characters to be considered part of regular expressions.

Note

Two-word substitution is not implemented yet.

Filling the database

The Database tab allows to define where is the database stored on disk (Database folder) and if it should be used for automatic storing of the new translations (Auto add entry to database). In this case you should specify the author of the new translation in Auto added entry author.

The rest of the tab allows you to fill the database from PO files that already exist. Use one of the buttons in the middle of the dialogue box. The progress of the file load will be shown by progress bars below the buttons. The Repeated strings button should be used in the special case where one translated string is repeated many times, to prevent storing unnecessary copies. Here you can limit the stored strings.


Filling the database by existing PO-files

Defining good keys

On the Good keys tab are the thresholds to specify how to fill the list of good keys. Minimum number of query words in the key (%) specifies exactly that. Text will need to contain only this per cent of the words to qualify as good key. Opposite can be specified via Minimum number of words of the key also in the query (%). The length of the words can be set by Max length spinbox.

Searched text typically contains number of generic words, e.g. articles. You can eliminate the words based on the frequency. You can discard them by Discard words more frequent than or consider as always present by frequent words are considered as in every key. This way the frequent words will be almost invisible for queries.

Auxiliary PO file
Auxiliary PO file

Auxiliary PO file

This searching mode is based on matching the same original English string (the msgid) translated in some other language in an auxillary PO file. It is very common for romanic languages to have similar words, similarly for anglosaxon and slavonic ones.

For example, say I wanted to translate the word “on”, from kdelibs.po, into Romanian but have no idea. I look in the same file for French and find “actif”, and in the Spanish one find “activado”. So, I conclude that the best one in Romanian will be “active”. KBabel automates this task. Currently you can define only one auxiliary file to search.

Settings

You can configure this searching mode by selecting Settings->Configure Dictionary->PO Auxiliary from the KBabel menu.

In the Configure Dictionary PO Auxiliary dialogue you can select the path to the auxiliary PO file. To automate PO-file switching when you change current edited file there are many variables delimited by @ char that are replaced by appropriate values:

@PACKAGE@

The name of application or package currently being translated. For example, it can expand to kbabel, kdelibs, konqueror and so on.

@LANG@

The language code. For example can expand to: en_GB, de, ro, fr etc.

@DIRn@

where “n” is a positive integer. This expands to the “n”-th folder counted from the filename (right to left).

The edit line displays the actual path to the auxiliary PO file. While it is best to use the provided variables in a path it is possible to choose an absolute, real path to an existing PO file. Let's take an example.

I'm Romanian and I have some knowledge about French language and I work on KDE translation.

First step is to download a very fresh kde-i18n-fr.tar.bz2 from the KDE FTP site or to use the CVS system to put on my hard-disk a French translation tree. I do this into /home/clau/cvs-cvs.kde.org/kde-i18n/fr.

My PO sources folder is in /home/clau/cvs-cvs.kde.org/kde-i18n/ro. Don't forget to select PO Auxiliary as the default dictionary and check Automatically start search on the Search tab from KBabel's Preferences dialogue.



Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

PO compendium
PO compendium

PO compendium

A compendium is a file containing a collection of all translation messages (pairs of msgid and msgstr) in a project, e.g. in KDE. Typically, compendium for a given language is created by concatenating all PO files of the project for the language. Compendium can contain translated, untranslated and fuzzy messages. Untranslated ones are ignored by this module.

Similarly to Auxiliary PO, this searching mode is based on matching the “same” original string (msgid) in a compendium. Currently you can define only one compendium file to search.

This mode is very useful if you are not using the translation database and you want to achieve consistent translation with other translations. By the way, compendium files are much easier to share with other translators and even other translation projects because they can be generated for them as well.

Settings

You can configure this searching mode by selecting Settings->Configure Dictionary->PO Compendium in KBabel's menu.

In Configure Dictionary PO Compendium dialogue you can select the path to a compendium file. To automate compendium file switching when you change the translation language, there is a variable delimited by @ char which si replaced by appropriate value:

@LANG@

The language code. For example can expand to: en_GB, de, ro, fr etc.

In the edit line is displayed the actual path to compendium PO file. While you had best use provided variables in path, it's possible to choose an absolute, real path to an existing PO file to be used as a compendium.

A very fresh compendium for KDE translation into e.g. French you can download fr.messages.bz2 from the KDE FTP site.

You can define how to search in the compendium using options below the path. They are divided into two groups: text-matching options, where you can specify how the text is compared and whether to ignore fuzzy translations, and message-matching options, which determine if the translation from compendium should be a substring of searching message or vice versa.

Case sensitive

If the matching of message in compendium should distinguish between uppercase and lowercase letters.

Ignore fuzzy string

If the fuzzy messages in the compendium should be ignored for searching. The compendium can contain fuzzy messages, since it is typically created by concatenating the PO files of the project which can include fuzzy messages. Untranslated ones are ignored always (You can't search for translation in untranslated messages, right?)

Only whole words

If the matching text should start and end at the boundaries of words.

A text matches if it is equal to search text

A text in compendium matches the search text only if it is exactly the same (of course using the options above).

A text matches if it is similar to search text

A text in compendium matches the search text only if it is “similar”. Both texts are compared by short chunks of letters (“3-grams”) and at least half of the chunks has to be same.

A text matches if it contains search text

A text in compendium matches the search text if it contains the search text.

A text matches if it is contained in search text

A text in compendium matches the search text if it is contained the search text.

A text matches if it contains a word of search text

The texts are divided to words and a text in compendium matches the search text only if it contains some word from the search text.



Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Chapter 6. Preferences
Preferences
Prev
Next

Chapter 6. Preferences

Conversion to British English: Alex Walker

KBabel preferences

To show the Preferences dialogue choose Settings->Configure KBabel... from KBabel's menu. It uses a structured configuration dialog which makes it very easy to find an option without having to perform an extensive search for it.

The left side of the preferences dialogue lists the categories of customisable items and the right side shows the corresponding tab for the selected category. KBabel keeps changes if you move between categories, so when you're finally happy click the OK button. At any time you can use quick help—just click on the question mark on the title bar and, after the cursor has changed to an arrow with a question mark, click on a button, label, or preference entry to find out more about it.

Identity

This section allows you to set standard fields for every translated PO file. These are your name, email address, full language name, email address for your translation team mailing list. There is also a timezone field to track your “last modified” time for PO files. You can specify it as character sequence like EEST or offset from GMT time like +0200 (i.e. for Romania). This information is used when updating file headers. You can find the options that control what fields in the header should be updated in the Save section of the Preferences dialogue.

Warning

Character sequences for timezones are not standardised. So you should not use the string set here in time specification for saving in Save tab. You should use %z instead.

Number of singular/plural forms

Use this for setting number of plural forms for your language. For example, it is 2 for German (one for the singular and one for the plural form).

Note

This feature is currently implemented only for plural forms format used in KDE. It does not work with gettext plural forms.

Editor

The editor preferences category is divided in 3 subwindows: General, Appearance, Spell Check and Fonts. All these settings customize how the editor behaves and looks.

General

This section contains a set of checkboxes.

The first checkbox in the upper side sets if the fuzzy status is reset automatically when a character is inputted into the MsgStr editor. When this option is disabled you have to manually choose Edit->Unset Fuzzy Status or use the Ctrl+U shortcut. Note that this means the string , fuzzy is removed from the entry's comment.

Next option allows you to enable “clever” editing, where editor automatically inserts special characters escaped correctly, e.g. \t after pressing Tab and it allows special handling of Enter.

The lower checkboxes are very useful in assisting, not for the correctness of the translation, but if the translated string is a suitable replacement for the original. For example, many messages represent menu items with keyboard accelerator and C-like formatted strings whose structure must remain intact once translated.

Check Arguments

When this option is selected, C-format strings in the original and the translation are checked to ensure the number of format sequences and the order are consistent.

Check Accelerator

When this option is selected, KBabel checks if the number accelerator characters is identical in both the original and the translated string. Note that the accelerator marker is & (but not in every programming toolkit). See the Miscellaneous section below to find how to change a keyboard accelerator.

Check Equation

This is a feature for the KDE project development. .desktop files are simply text files which store various parameters in value=key format. Some of these keys are translatable. The only restriction is to maintain the left side of equality unchanged. Equation check allows you to spot many errors determined by the fuzzy msgmerge algorithm. Note that there are situations where this function generates false errors on some PO-files.

Look for Translated Context Info

Some original messages are marked with context information to mark them as being unique even if they represent same word. This is because many simple words, such as “Save”, are translated into many languages. Context information is marked with _:. Many unexperienced translators translate the context information and fill their PO files with garbage. Check this box to make sure you will be warned about these errors in a file.

Check Plural Forms

If you are translating KDE project, it uses a special kind of syntax for specifying plural forms of messages. This check automatically counts the number of forms in msgstr and compares it with the number specified in Identity tab. Incorrect number of plural forms can result in crash of an application.

Beep on error

Your system bell will beep when you switch on entries with errors like those described above.

Change text colour on error

This is another type of warning about errors in current message. It is a good solution for those who are hearing impaired or dislike bell noise. See also the Appearance tab to find out how to change the text colour on errors.

Appearance

These options let you configure the appearance for the message editor. In upper part there are 4 checkboxes:

Highlight syntax

Setting this option will enable syntax highlighting for special characters, accelerators and text background in the msgid viewer and msgstr editor. If don't have a monochrome display or have a visual impairment, you should enable this option.

Highlight background

The background will be highlighted only for existing characters in the msgid and msgstr. This includes spaces. This is useful if you don't want to see the surrounding quotes (see below) for the PO entry, and you will still be able to observe starting and ending spaces in a text line.

Mark whitespaces with points

When you feel the need to count spaces and background highlighting is not your taste then you can check this option to have a point sign drawn in the middle of whitespace characters. Note that the point is a point sign in the center of a character box and is not a decimal point.

Show surrounding quotes

If you think that viewing the terminal characters in msgstr or msgid's text line is better for you then check this option to view the surrounding quotes for every text line.

If you are experienced editing PO files with ordinary text editors you may feel safer if you can track starting and ending double quotes in PO entry lines.

For the different items in edited text there are different colour choices to make editing easy. Colours can be changed by clicking on colour-picker buttons. From the 'select color' dialogs you can choose from standard colours, custom colours or just pick a colour from any part of your screen.

Background colour

This sets the background colour for characters in the MsgID view and the MsgStr editor. To change the general background colour of edit boxes you must use the KDE Control Centre.

Colour for quoted characters

Here you can adjust the colour for escaped characters like (\") double quotes or (\n) newline.

Colour for syntax errors

This is the colour for the entire text entry if errors are detected when you try to save PO file. Errors are triggered by not terminating identically both msgid and msgstr, or escaping characters incorrectly.

Colour for c-format characters

This sets the colour for a characters sequence like in C language printf or scanf functions. In general these start with (%) percent char and are continued by one char.

Colour for keyboard accelerators

Keyboard accelerators start with (&) “ampersand” character in KDE but if you are translating for other projects there might be an different character marking the accelerator key. See Miscellaneous section below to find how to change keyboard accelerator.

The status for the current edited entry is marked by three LEDs. For your convenience you can choose where to put these LEDs—either on the statusbar or in the editor section (between the msgid and msgstr entry). If have difficulties viewing some colours or you want to be able to track LED status changes easily without moving your eye you can select the preferred color using the colour button chooser.

Fonts

This is a standard KDE font chooser dialogue with a little addition. You can select to view only fixed fonts by checking the Show only fixed fonts option. This is highly recommended for easy translating. The font dialogue lets you set font family, style, size and encoding. The bottom box shows a preview of the current font for user convenience.

Save

This section allows you to edit the options for PO file saving. The first group of checkboxes controls general behaviour for actions performed in PO file saving.

Update header when saving

Check this button to update the header information of the file every time it is saved. The header normally keeps information about the date and time the file was last updated; the last translator etc. You can choose which information you want to update from the Fields to update checkboxes area below. Fields that do not exist are added to the header. If you want to add additional fields to the header you can edit the header manually by choosing Edit->Edit Header in the editor window.

Check syntax of file when saving

Check this to automatically check syntax of file with msgfmt --statistics when saving a file. You will only get a message if an error occurred. You should keep this validation enabled unless you know what you're doing.

If you don't want to touch some fields in a PO file header or want to force updating of specific fields, there are five checkboxes which control this: revision date, PO file language, text encoding, last translator name, charset. If a field does not exist, it is appended to the header. If you want to add other information to the header, you have to edit the header manually by choosing Edit->Edit Header in the editor window. Deactivate Update header when saving above if you don't want to have the header updated.

For date and time of the header field PO-Revision-Date you can choose one from bellow formats:

  • Default is the format normally used in PO files.

  • Local is the format specific to your country.

  • Custom lets you define your own format, where you can use the following C-like format strings:

    Table 6.1. Year

    FormatMeaningRange
    %yyear00 to 99
    %Yyear0001 to 9999

    Table 6.2. Month

    FormatMeaningRange
    %mmonth of year01 to 12
    %fmonth of year1 to 12
    %b,%hmonth abbreviationJan to Dec

    Table 6.3. Day

    FormatMeaningRange
    %jday of the year001 to 366
    %dday of month01 to 31
    %eday of month1 to 31
    %aweekday abbreviationSun to Sat

    Table 6.4. Hour

    FormatMeaningRange
    %Hhour00 to 23
    %khour0 to 23
    %ihour1 to 12
    %Ihour01 to 12
    %p AM or PM

    Table 6.5. Minute, Second, Timezone

    FormatMeaningRange
    %Mminute00 to 59
    %Ssecond00 to 59
    %Ztimezone(given in identity settings)
    %ztimezone(numeric offset as specified by system settings)

The lower group covers encoding options for PO files when saving. If you work on the KDE project you should be aware that at least desktop.po file must be UTF-8 encoded. The drop-down list lets you select message encoding. You must at least have your language code and UTF-8 encoding set. If, for some reason, you don't want to accidentally change the current PO file encoding, turn on Keep the encoding of the file.

Spell Check

Here you can set your spell checking preferences. This is of interest if you have a dictionary file for the language you are translating to. Below are the items to consider setting:

Create root/affix combinations not in dictionary

For new words added to the personal dictionary, the spell checker will create root/affix combinations to match more than one word (variations).

Consider run-together words as spelling errors

If this is turned on, joined words will be treated as errors. However, such words are very common in the German language, which have a very large number of compound words, so it should be left turned off in that case.

Dictionary

From the popup list you can choose which dictionary to use. Note that you must install an appropriate dictionary for your language. Check your ispell or aspell distribution to find out if you have one.

Encoding

Here you choose the encoding for your text. This option is passed to the spellchecker, and is used as the encoding for your words dictionary. See the kspell documentation for more details.

Client

Backend program to use for spell checking. Currently either ispell (International Ispell) or aspell.

Remember ignored words

Keep track of user-ignored words when spell-checking PO files. It is very convenient to ignore the abbreviations or strange letter combinations you meet in GUI interfaces.

File to store ignored words

Here you can set location of the file for ignored words. Click on the folder icon to the right of the edit box. The default is $(HOME)/.kde/share/apps/kbabel/spellignores, where $(HOME) is your home folder.

Search

The search section allows you to customise various settings for searching in previously translated strings.

General

General settings are common for all search types. If you check the Automatically start search option then the search is automatically started whenever you switch to another entry in the editor. Currently, there are three possibilities you can choose from, but since KBabel can use dictionary plugins the available dictionaries depend on those installed. Using Settings->Configure Dictionary->... you can configure every search plugin.

The dictionary plugins installed by default are:

KDE Database Search Engine

This new method is still in alpha stage of development and is based on KBabelDict which accompanies KBabel. See KBabelDict documentation for further info on configuring the search engine.

PO Compendium

The compendium is a normal PO file, which should contain a list of standard translations from your translation team. If you don't have one, you can also use a file that contains all the translations from your team (e.g. the $lang.messages file in the KDE Project, that can be found at i18n.kde.org).

PO Auxiliary

The auxiliary should help you find the context of a translation by looking up the same message in a message catalog of the same package but translated to another language. This way you can have a look how this message is translated in another language.

You can also start searching manually by choosing an entry in the popup menu that appears, either by clicking Dictionaries->Search Text->PO Compendium or by keeping the search button on the toolbar pressed down for a while.

Diff

The Diff section holds settings how to display differences in msgids.

Every difference can be displayed by two added parts and by characters removed from the text. For both you can specify the method of display and the color to be used. Highlighted means that the background of the corresponding characters will be shown in the selected colour, while Underlined(for added characters) or Stroked Out (for removed characters) will denote the changed parts by coloured lines.

Diff mode needs to find the original msgid to compare with. For this purpose, KBabel can use the translation database if you turn in on by enabling Use messages from Translation Database. A second possibility is to use a tree of original PO files and specifying the root of the tree in Base folder for diff files.

Miscellaneous

Miscellaneous section holds settings which don't fit anywhere else. Currently there are two:

Marker for keyboard accelerator

Here you can select your own character to serve as the keyboard accelerator indicator in a GUI. By default it is & (ampersand), but in some programming toolkits it may vary. For example, in Gnome/GTK translations the underscore character “_” is the marker for the keyboard accelerator.

Regular expression for context information

For inexperienced users "regular expression" may sound strange. So you are advised to change the default value only if you know what you are doing. Some GUI programming toolkits provide their own context information description methods. Consult an experienced developer if you translate PO files other than standard KDE files. For the sake of completeness I will "translate" for you what the default regular expression means: "the text matches if it starts with _: and is followed by one or more characters and ends with a newline".

Catalogue Manager preferences
Catalogue Manager preferences

Catalogue Manager preferences

This dialogue allows you to edit the options for the Catalogue Manager.

General

Here are two edit lines with Browse... buttons. Type in the folders which contains all your PO- and respectively POT-files. The files and the folders in these folders will then be merged into one tree in Catalogue Manager window.

Below you can turn on and off if:

Open files in new window

If this is activated all files that are opened from the Catalogue Manager are opened in a new window.

Kill processes on exit

If you check this, KBabel tries to kill the processes that are not exited already when the program closes by sending a kill signal to them.

Note

It's not guaranteed that the processes are killed.

Create index for file contents

If you check this, KBabel will create an index of contents for every file in the tree. This index is then used in find/replace operations.

Warning

There is a large speed trade-off. If you enable Create index for file contents, the updating of file information will be much slower. On the other hand, it speeds up find/replace operations considerably.

Folder Commands

Here you can insert commands you want to execute in folders from the Catalogue Manager. The commands are then shown in the submenu Commands in the Catalogue Manager's context menu.

Insert in the Name field the name of the command. The name can be chosen freely and is only used to be displayed in the menu. In the Command field insert the command you want to have executed when selecting the corresponding menu item. Then press the Add button to add the command to your available commands. To edit a command, select it, press the Edit button and press Add after you have finished. To remove a command, select it from the list and press the Remove button. If you want a different order in the contextual submenu, you can use the up and down buttons.

The command is executed through your default shell, so you can execute multiple commands at once by separating them with a semicolon, and you can set environment variables if you need to. The commands are executed in the (PO file) folder you have selected in the Catalogue Manager.

The following strings will be replaced in a command:

  • @PACKAGE@: The name of the folder without path

  • @PODIR@: The name of the PO-folder with path

  • @POTDIR@: The name of the template folder with path

E.g.: If you want to execute make and then make install you could insert in Make install in the Name field, and make; make install in the Command field. If you then select Commands->Make install from the context menu of a folder, the commands listed above will be executed in that folder.

File Commands

Here you can insert the commands you want to execute on files from the Catalogue Manager. The commands are then shown in the submenu Commands in the Catalogue Manager's context menu.

Insert in the Name field the name of the command. The name can be chosen freely and is only used to be displayed in the menu. In the Command field insert the command you want to have executed when selecting the corresponding menu item. Then press the Add button to add the command to your available commands. To edit a command, select it, press the Edit button and press the Add button after you have finished. To remove a command, select it from the list and press the Remove button. If you want a different order in the contextual submenu, you can use the up and down buttons.

The command is executed through your default shell, so you can execute multiple commands at once by separating them with a semicolon, and you can set environment variables, if you need. The commands are executed in the (PO file) folder, in which the file, you have selected in the Catalogue Manager, is.

The following strings will be replaced in a command:

  • @PACKAGE@: The name of the file without path and extension

  • @POFILE@: The name of the PO file with path and extension

  • @POTFILE@: The name of the corresponding template file with path and extension

  • @PODIR@: The name of the folder the PO file is in, with path

  • @POTDIR@: The name of the folder the template file is in, with path

For example, if you want to merge the template file into your PO file you could insert Merge in the Name field and msgmerge @POFILE@ @POTFILE@ > @PACKAGE@.new && mv @PACKAGE@.new "@PACKAGE@.po in the Command field. If you then select Commands->Merge from a file's context menu, the PO file will be merged with its template file.



Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Chapter 7. Command Reference
Command Reference
Prev
Next

Chapter 7. Command Reference

Andrew Coles

Conversion to British English: Malcolm Hunter

The KBabel menu

The File Menu

File->Open (Ctrl+O)

Opens a PO file. If the current file is modified you will be prompted to save it first.

File->Open Recent

Opens a recently edited PO file from the recently-used documents menu

File->Save (Ctrl+S)

Saves the current PO file. If it is not modified no action is taken.

File->Save As

Saves the current PO file under a new name

File->Save Special

Displays the Save Settings dialogue and then saves the current PO file under a new name

File->Revert

Loads the last saved version of the current PO file

File->Mail

Prompts for an archive filename in which to store the current PO file then opens an email composer window with the archive as an attachment

File->New View

Opens a new window with the currently loaded file. Very useful if you have to translate large files and need to refer back to some strings.

File->New Window

Opens a new empty window

File->Quit (Ctrl+Q)

Quits KBabel editor

The Edit Menu

Edit->Undo (Ctrl+Z)

Undoes the last edit action in the translation edit box

Edit->Redo (Ctrl+Shift+Z)

Redoes the last undone edit action in the translation edit box

Edit->Cut (Ctrl+X)

Cuts the selected text and moves it to the clipboard

Edit->Copy (Ctrl+C)

Copies the selected text to the clipboard

Edit->Paste (Ctrl+V)

Pastes the contents of the clipboard at the current cursor position in the translation edit box.

Edit->Select All

Selects all text in the translation edit box

Edit->Find... (Ctrl+F)

Opens a Find dialogue for searching for strings in the current PO file

Edit->Find Next (F3)

Finds the next occurrence of a string from the previous search action

Edit->Replace... (Ctrl+R)

Opens the Replace dialogue to search for and replace strings in the current PO file

Edit->Clear (Ctrl+Delete)

Clears the translation for the current msgid

Edit->Copy msgid to msgstr (Ctrl+Space)

Copies the original English string into the translation edit box. This is useful when you do not need to make any changes (or only minor changes) to the original English text (msgstr).

Edit->Copy search result to msgstr (Ctrl+Alt+Space)

Copies a string found after a translation search into the msgstr edit box. This is very useful if you do not want to keep re-translating the same message again and again.

Edit->Toggle Fuzzy Status (Ctrl+U)

Toggles the fuzzy status for the current entry. It can be useful to turn fuzzy on, e.g. to mark the translation for another review.

Edit->Insert Next Tag (Ctrl+Alt+N)

Inserts the next tag found in the msgid into the translation, if the original English string contains markup tags

Edit->Insert Tag (Ctrl+Alt+N)

This submenu contains all markup tags found in the original English string. By selecting one of them you can insert at the current position of cursor in translated text. translation.

Edit->Edit Header...

Edits the PO file header. Actually there are many header lines, which keep the last translated date, translator name and email, language and translated text encoding etc..

The Go Menu

Go->Previous (Page Up)

Skips to the previous entry in the PO file.

Go->Next (Page Down)

Skips to the next entry in the PO file.

Go->Go to...

Opens a dialogue to jump to a specific entry number within the PO file.

Go->First Entry

Jumps to the first entry in the PO file.

Go->Last Entry

Jumps to the last entry in the PO file.

Go->Previous fuzzy or untranslated (Ctrl+Shift+Page Up)

Jumps to the entry previous to the current one that is untranslated or marked as fuzzy.

Go->Next fuzzy or untranslated (Ctrl+Shift+Page Down)

Jumps to the next entry after the current one which is untranslated or marked as fuzzy.

Go->Previous fuzzy (Ctrl+PgUp)

Jumps to the entry previous to the current one that is marked as fuzzy.

Go->Next fuzzy (Ctrl+Page Down)

Jumps to the next entry after the current one that is marked as fuzzy.

Go->Previous untranslated (Alt+Page Up)

Jumps to the entry previous to the current one that is untranslated.

Go->Next untranslated (Alt+Page Down)

Jumps to the next entry after the current one that is untranslated.

Go->Previous error (Shift+Page Up)

Jumps to the previous entry that has an error. This is usually when double-quotes are not escaped or the original string ends with a "newline" (\n) character and the translated string does not (and vice versa).

Go->Next error (Shift+Page Down)

Jumps to the next entry with an error.

Go->Back (Alt+Left Arrow)

Jump to last visited entry in PO file.

Go->Forward (Alt+Right Arrow)

Jump to previous visited entry in PO file.

The Dictionaries Menu

Note that this menu is dynamic: it depends on the installed dictionaries plugins. By default are three of them.

Dictionaries->Search Text->KDE Database Search Engine

Start searching translation for current original English message using KDE Database Search Engine.

Dictionaries->Search Text->PO Auxiliary

Start searching translation for current original English message in PO file defined by user.

Dictionaries->Search Text->PO Compendium

Start searching translation for current original English message in compendium file (made by merging all translated messages for one language).

Dictionaries->Search Selected Text->KDE Database Search Engine

Start searching selected text using KDE Database Search Engine.

Dictionaries->Search Selected Text->PO Auxiliary

Start searching selected text using file defined by user.

Dictionaries->Search Selected Text->PO Compendium

Start searching selected text using compendium file with all language translated messages.

Dictionaries->Edit Dictionary

Allow you to edit content of current dictionary. Useful if you found errors in dictionary and do not want errors to be reported when searching and replacing strings. (Not implemented yet)

The Tools Menu

Tools->Spelling->Spell check...

Display the spell-check configuration dialogue. After you have chosen the desired options, hit OK and the normal spell-checking dialogue will appear.

Tools->Spelling->Check All...

Start spell-checking all words for an opened PO file.

Tools->Spelling->Check From Cursor Position...

Start spell-checking from current cursor position.

Tools->Spelling->Check Current...

Spell-check only current entry from PO file.

Tools->Spelling->Check Marked Text...

Spell-check only selected text in MsgStr editbox.

Tools->Validation->Check Syntax (Ctrl+T)

Check syntax for current PO file. Errors may appear from CVS merging or users' mistakes when the translating process is performed by hand.

Tools->Validation->Check Arguments (Ctrl+D)

When this option is selected, C-format strings in the original message and the translation are checked to ensure the number of format sequences and the order are consistent.

Tools->Validation->Check Accelerators (Ctrl+H)

When this option is selected, KBabel checks if the number of accelerator characters is identical in both the original and the translated string. Note that accelerator marker is & in KDE (but not in every programming toolkit). See the Miscellaneous section below to find out how to change a keyboard accelerator.

Tools->Validation->Look for Translated Context Info (Ctrl+K)

Some original messages are marked with context information to mark them as being unique even if they represent same word. This is because many simple words, such as “Save”, are translated into many languages. Context information is marked with _:. Many unexperienced translators translate the context information and fill their “PO” files with garbage. Check this box to make sure you will be warned about these errors in a file.

Tools->Validation->Check Plural Forms (KDE only)

Check if the PO file contains the correct number of translations for each KDE-specific plural form message.

Tools->Validation->Check Equations (Ctrl+J)

Check whether the left side of the translated string is the same as the left side of the original string. Sides are delimited by an equals-sign character.

Tools->Diff->Show Diff (F5)

Show difference found to the original translated message.

Tools->Diff->Show Original Text (F6)

Hide difference markings and show msgid only.

Tools->Diff->Open File for Diff

Open file to be used for difference lookup.

Tools->Diff->Diffmode

Toggle difference mode.

Tools->Rough Translation...

Invoke rough-translation dialogue for automated translation.

Tools->Catalogue Manager...

Open Catalog Manager. Read Catalog Manager section for more details.

The Settings Menu

Settings->Show Toolbar

When checked, the standard toolbar is displayed.

Settings->Show Statusbar

When checked, the bottom statusbar is displayed.

Settings->Show Navigation Bar

When checked, the navigation bar is displayed.

Settings->Show Comments

When checked, the upper-right part of main window, which contains current entry's comments, will be displayed.

Settings->Show Tools

When checked, the bottom-right part of main window, which contain search results through the dictionary, will be displayed.

Settings->Configure Key Bindings...

Opens a configure dialogue for binding keys to actions. This will let you to customise the default key bindings to suite your needs.

Settings->Configure Toolbars...

Standard toolbar-configuration dialogue will open. You can choose which actions will go in which toolbars and what toolbar to customise.

Settings->Configure Kbabel...

All KBabel-specific settings go here. Please read the Preferences section for specific topics.

Settings->Configure Dictionary->KDE Database Search Engine

Open dialogue for KDE Database Search Engine configuration.

Settings->Configure Dictionary->PO Auxiliary

Open dialogue for PO auxiliary file configuration.

Settings->Configure Dictionary->PO Compendium

Open dialogue for PO compendium file configuration.

The Help Menu

Help->Contents (F1)

Open the KBabel handbook. It is what you are reading now.

Help->What's This? (Shift-F1)

Cursor change to arrow with question mark and you can click with it on various elements on main window. A quick help window will open.

Help->Gettext Info

Open the gettext manual page in the KDE Help Centre. This package of tools helps the in process of handling POT and PO files.

Help->Report Bug...

This will open a standard error-reporting dialogue for KDE It is useful if you experience abnormal behaviour of KBabel. KBabel's developer will be glad to receive any comments, wishes, and bug reports.

Help->About KBabel...

Open a message box which inform you about KBabel's version, developer name, and e-mail address.

Help->About KDE...

Open a message box which informs you about the KDE project, contact information and how you can report bugs and wishes.

Help->About Dictionary->KDE Database Search Engine

Display a message box with information about the people who made the KDE Database Search Engine.

Help->About Dictionary->PO Auxiliary

Display a message box with information about the people who made searching in auxiliary file possible.

Help->About Dictionary->PO Compendium

Display a message box with information about people who made searching in compendium file possible.

The KBabel toolbars
The KBabel toolbars

The KBabel toolbars

Standard Toolbar

Open

Load PO file in KBabel for editing.

Save

Save current PO file if it is modified.

Undo

Undo last operation.

Redo

Redo last operation.

Cut

Cut selected text and move it to the clipboard.

Copy

Copy selected text to the clipboard.

Paste

Paste text from clipboard at the current cursor position.

Find

Find specified string in current PO-file.

Previous

Skip to previous entry in PO-file.

Next

Skip to next entry in PO file.

Copy msgid to msgstr

Copy original string to translated string edit box.

Search Translations

Drop-down toolbar for searching selected text using: KDE Database Search Engine, PO auxiliary file, PO compendium file and other dictionary plugins if available.

Stop

Stop current search-in-progress.

Catalogue Manager

Open Catalogue Manager window.

Navigation Toolbar

Previous

Skip to previous entry in PO file.

Next

Skip to next entry in PO file.

First Entry

Jump to first entry in PO file.

Last Entry

Jump to last entry in PO file.

Previous fuzzy or untranslated

Jump to previous fuzzy or untranslated entry in PO file.

Next fuzzy or untranslated

Jump to next fuzzy or untranslated entry in PO file.

Previous fuzzy

Jump to previous fuzzy entry in PO file.

Next fuzzy

Jump to next fuzzy entry in PO file.

Previous untranslated

Jump to previous untranslated entry in PO file.

Next untranslated

Jump to next untranslated entry in PO file.

Previous error

Jump to previous error in PO file.

Next error

Jump to next error in PO file.

Back

Jump to last visited entry in PO file.

Forward

Jump to previous visited entry in PO file.

Status Bar

Current

Current message in edited PO file.

Total

Total number of messages in PO file.

Fuzzy

Number of messages marked as fuzzy. They should be revised and translated if needed.

Untranslated

Number of yet untranslated messages.

Editor status

INS - insert, and OVR - overwrite. Same meaning like in every ordinary text editor.

PO-file status

RO - read-only file, RW - read-write access on file. When a file is read-only you cannot modify entries in editor.

Progress bar

Usually, this bar is hidden; it is displayed only when saving is being done, or if you are searching for messages in a PO-file, compendium or elsewhere.



Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

The Catalog Manager menu
The Catalog Manager menu

The Catalog Manager menu

The File Menu

File->Quit (Ctrl+Q)

Quits Catalog Manager

The Edit Menu

Edit->Find in Files... (Ctrl+F)

Open Find dialogue for searching for strings in a set of PO files.

Edit->Replace in Files... (Ctrl+R)

Open Replace dialogue for searching for and replacing strings in a set of PO files.

Edit->Stop Searching (Escape)

Stop currently running find/replace operation.

Edit->Toggle Marking (Ctrl+M)

Toggle mark for the selected file.

Edit->Remove Marking

Removes mark for the selected file or folder.

Edit->Toggle All Markings

Toggles marks for the selected file or folder (recursively).

Edit->Remove All Markings

Remove marks for the selected file or folder (recursively).

The Tools Menu

Tools->Statistics (Ctrl+S)

Show statistics about number of translated/untranslated/fuzzy messages for the selected file or subtree.

Tools->Check Syntax (Ctrl+Y)

Check syntax for the selected file or subtree using msgfmt.

The Settings Menu

Settings->Show Toolbar

When checked, standard toolbar is displayed.

Settings->Show Statusbar

When checked, bottom statusbar is displayed.

Settings->Configure Key Bindings...

Opens a configure dialogue for binding keys to actions. This will let you to customise the default key bindings to suite your needs.

Settings->Configure Toolbars...

Standard toolbar-configuration dialogue will open. You can choose which actions will go in which toolbars and what toolbar to customise.

Settings->Configure KBabel - Catalogue Manager...

All Catalog Manager specific settings go here. Please read Preferences section for specific topics.

The Help Menu

Help->Contents... (F1)

Invokes the KDE Help system starting at the KBabel help pages. (this document).

Help->What's This? (Shift+F1)

Changes the mouse cursor to a combination arrow and question mark. Clicking on items within KBabel will open a help window (if one exists for the particular item) explaining the item's function.

Help->Report Bug...

Opens the Bug report dialogue where you can report a bug or request a “wishlist” feature.

Help->About KBabel

This will display version and author information.

Help->About KDE

This displays the KDE version and other basic information.



Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Chapter 8. Questions and Answers
Questions and Answers
Prev
Next

Chapter 8. Questions and Answers

Conversion to British English: Malcolm Hunter
8.1. Why does KBabel show question marks when entering language specific characters?
8.2. Why does KBabel show question marks instead of language specific characters after loading a PO file?
8.1.

Why does KBabel show question marks when entering language specific characters?

This is a problem with your locale settings. The following might help: Exit KBabel, in a shell set the environment variable LANG to a locale, valid for your language. If you use bash do export LANG=change this. For example, when you use german characters, do export LANG=de_DE.88591. Then start KBabel from this shell. If the problem is gone, insert this command in your ~/.profile.

8.2.

Why does KBabel show question marks instead of language specific characters after loading a PO file?

The text contains characters, which can not be displayed with your system font. If you are sure, that the text contains no such characters, the file might have been corrupted somehow. In this case, mark such a question mark and press Ctrl+F to find all the corrupted characters and replace them.

Note

Do not search for real question marks, because these characters are only displayed as question marks, but internally they are different characters.

Otherwise you might want to install an Unicode font, which contains all necessary characters.

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Chapter 9. Credits and Licence
Credits and Licence
Prev
Next

Chapter 9. Credits and Licence

KBabel

Program Copyright (c) 1999-2000 Matthias Kiefer

Contributors:

  • Thomas Diehl

  • Stephan Kulow

Documentation Copyright (c) 2000 Claudiu Costin and Matthias Kiefer

Update for KDE 3.0 Copyright (c) 2002 Stanislav Visnovsky

Malcolm Hunter

This documentation is licensed under the terms of the GNU Free Documentation License.

This program is licensed under the terms of the GNU General Public License.

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Glossary
Glossary
Prev
Next

Glossary

A

Auxiliary file

is a KBabel specific issue. It is an option for the user to set up one PO file to search through for original messages. For example, if you're a member of French team and have some Spanish or Italian knowledge you can grab and set-up an auxiliary Spanish PO file associated with the file currently being translated.

C

Compendium file

is a collection of all translations for one language. This big PO file is made by unique messages from all applications' PO files. It can be used to fill in all already translated strings into a new yet untranslated or partially translated PO file. KBabel uses such a file in the “PO Compendium” search engine.

F

Fuzzy

This is a flag generated, in general, by msgmerge. It shows that a msgstr string might not be a correct translation. The translator must see and make modifications to the string if necessary and then remove the “fuzzy” flag from the message's comment.

I

Internationalisation

is the operation by which an application is made aware and able to support multiple languages. The word “internationalisation” has 20 characters so, to shorten it, people started to write only the first and last characters and between them write the number of intermediate characters (18) forming the common abbreviation i18n.

See Also Localisation.

L

Localisation

is the operation by which an application already internationalised is made to process input and output in a fashion desired by some cultural and language habits. The word “localisation” has 12 characters so, to shorten it, people started to write only the first and last characters and between them write the number of intermediate characters (10) forming the common abbreviation l10n.

See Also Internationalisation.

M

MO file

MO stands for “Machine Object”. A MO file contains binary data suitable for reading by computers. The contents of a MO file are organised as a database to minimise the lookup time for translated strings. MO files are obtained by compiling PO files using msgfmt.

See Also PO file, POT file.

Message ID

msgid is the keyword which introduces the original string in a PO file. It is followed by a C-like string that spans one or more lines.

See Also Message String.

Message String

msgstr is the keyword which introduces the translated string in PO file. It is followed by C-like string that span on one or multiple lines.

See Also Message ID.

P

PO file

PO stands for “Portable Object”. PO files contain sets of strings which associate each translatable string with its translation in a particular language. A single PO file relates to only one language. A PO file is derived from a POT file and is edited either by hand or using KBabel.

See Also POT file, MO file.

POT file

POT stands for “Portable Object Template”. A “POT” file is built by extracting all the translatable strings from application source files. A “POT” file does not contain translations into any particular language— it is used by the translators as a template.

See Also PO file, MO file.

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Appendix A. Installation
Installation
Prev
Next

Appendix A. Installation

How to obtain KBabel

KBabel is part of the KDE project http://www.kde.org/.

KBabel can be found in the kdesdk package on ftp://ftp.kde.org/pub/kde/, the main FTP site of the KDE project.

Requirements
Requirements

Requirements

In order to successfully use KBabel, you need KDE 3.x.

All required libraries as well as KBabel itself can be found on ftp://ftp.kde.org/pub/kde/.

If you want to use the translation database, you need Berkeley Database II.



Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Compilation and Installation
Compilation and Installation

Compilation and Installation

In order to compile and install KBabel on your system, type the following in the base directory of the KBabel distribution:

% ./configure
% make
% make install

Since KBabel uses autoconf and automake you should have no trouble compiling it. Should you run into problems please report them to the KDE mailing lists.



Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Prev
Next
Home


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team

Next
 


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team