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 Also, you'll find some parctical recommendations here: http://tinyurl.com/nmkar9h Didier Spaier