
INTERNATIONALIZATION AND LOCALIZATION OF SHELL SCRIPTS

6. Practical recommendations for translators
--------------------------------------------

Depending on amount of work needed and available resources, there can be
one translator or a team of translators per target language.

In all cases, I recommend that one person be responsible for organizing
the team's work, checking the translations and transmitting the checked PO
file to the maintainer(s). Let's call this person the team leader.

To qualify as a translator, a person should in my opinion have enough
ability of reading shell scripts to understand the meaning and layout of
the messages to be translated. Also he or she should not feel obliged to
translate word for word. Not only is this rarely the best way to convey
the meaning, but in addition this often leads to phrases too long to fit
in allowed space.

It is highly advisable that translators use a specialized PO editor or the
PO mode of an editor like VIM or Emacs. This will not only prevent
inadvertently editing 'msgid' strings but also facilitate their work and
automatize additional checks, as the presence of a variable in the
translation with the same spelling as in the original.

For instance 'lokalize' is included with Slackware Linux and 'poedit' is
available @ http://slackbuilds.org.

If possible, I suggest that you check the layout of the messages.

You could do that looking at the context in the relevant source file.

This is especially important if you are translating dialog boxes.

In particular, take care not to write too long sentences on one single
line if it appears that the text can't flow on tne next one.

Bear in mind that in VGA mode (used in text installers, in particular),
the width of line is limited theoretically to 80 characters, but
practically often to 74.

Do not add question marks that are not present in the original message.

If the message refers to tags (text on the buttons) of dialog boxes,
like "OK", "Yes", "NO", "Continue", "Cancel", check how theses tags are
translated in your language in dialog's interface and use the same words.

I suggest to avoid colloquialisms and technical slang.

In addition, you will have to comply to gettext's requirements for it to
work:
- If a word beginning with a dollar sign is included in the original text
  it should be present in the translation with exactly the same spelling.
- The translation should or not begin or end with a "carriage return"
  character, represented by "\n", exactly as the original text does.
- a single backslash character "\" is not allowed in the translation.

To check your translation against gtetext's requirements you could run
following command;
  msgfmt -c <name of the PO file>
  
Also, you'll find some parctical recommendations here:
http://tinyurl.com/nmkar9h



Didier Spaier
