ccDatabase - Translator's Guide
1. Common Guidelines and Recommendations
If you use a simple text editor
or a more sophisticated tool like KBabel, do please read the
following section as it pertains to both usage means. The intent here is
educate what needs to be done to translate your files. A common structure
and procedure is needed from and by all to result in coherent translation
1.1 'PO' Files Structure -
All files carry relevant info with
regards to who the translator(s) were, what encoding the file uses, various
date info (creation, revision, etc).
Here's a sample header
of a newly created file:
# ccDatabase Translation file.
# Stephen DeMeulenaere <email@example.com>, 2005.
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Type: text/plain; charset=CHARSET\n"
The lines starting with the '#' character are comments. If you use a translation
application (like KBabel), some header fields are automatically created like
the "X-Generator:" field. If you are working on a 'PO' file already started
by someone else, and you have made significant changes, then just put your
name and email in the "Last-Translator:" field.
Always remember to add your name to the translators' list. It's very important
to know who had worked on what file plus it will ensure that you will get
the credit you deserve for your work.
1.2 Body & Strings
Beyond the header, a 'PO' file
is a mere succession of 'msgid' and 'msgstr', preceded sometimes by comments
about the exact location of where those strings appear within the source
The 'msgid' is already filled with the English string that needs to be translated.
What translators need to do is to fill 'msgstr' with the translation of what
appears in the 'msgid' string (do NOT delete the double quotes ' " ').
msgid "Type of Exchange System"
msgid "Medium of exchange"
msgstr "Agent monétaire"
The first 'msgid' is simply translated, the second string is not translated
yet (that's why the 'msgstr' is empty). The third string is translated but
the translator has put a "#, fuzzy" statement before the block. The "fuzzy"
indicator is means by which a translator indicates that he/she are not sure
of the term and that a second pass is required. The "#," character is of
key importance, its a special character sequence. It is important to note
that the "#, fuzzy" statement must come before the 'msgid'.
1.3 Comments within 'msgid'
'msgid' strings starting with '_:'
indicate a comment to help the translator or to give him/her more information
about the message to translate is included. The comment ends with a '\n'
(new line) sequence. Do NOT translate the help comment and simply put in
the 'msgstr' the translation of only what follows the comment's '\n' (new
line) sequence according to what you understood the comment was directing
you to do.
1.4 Special keywords within
'msgid' ('Comment=' or 'Name=' or others)
Translate only what comes after
the '=' character while keeping the keyword intact (i.e. don't translate
or modify "Comment" or "Name"); keep the keywords in English.
1.5 HTML tags within 'msgid'
Some applications use Rich Text
features (for paragraphs, colors, bold fonts, etc) to make their strings
look nicer. This is accomplished while using HTML tags such as the "<p>"
tag for instance. It is very important that the translated message keep all
those tags. Translate the text between the tags only. Also, remember that
when you are in Right-to-Left input mode (i.e. when your are typing Arabic),
the "\n" sequence may look odd - "n\". In either mode, remember that you
need to enter first the "\" character and then the "n" irrespective of how
they look on screen.
msgid "<p><b>Online Database of Complementary
msgstr "<p><b>Online Database van Complementaire Valuta Wereldwijd</b></p>"
1.7 UTF-8 Encoding
Please remember to ALWAYS save
your files in UTF-8 encoding. Otherwise, it can cause the file to be unreadable
by others. UTF-8 is a global all-encompassing encoding (created and maintained
by Unicode). UTF-8 enables the user to encode all world's languages as well
as various symbols (mathematical ones for instance) in a single file. Before
Unicode and UTF-8, it was nearly impossible to exchange documents between
localized systems. So it is VERY important that all work be saved in this
UTF-8 encoding. If you use a text editor to do your translations, on the
other hand, please check that your editor of choice supports UTF-8 and that
you are indeed saving your work in that encoding.
If you start to work on a file and you find that it isn't saved in UTF-8
or that it has an encoding problem (displays boxes instead of regular characters
for example) immediately stop working on this file and report the issue/problem.
poEdit is our recommended choice, as it makes it very easy to maintain your translation.
A Windows installer is available on the poEdit web site. Alternatively,
you may also run Kbabel which can be found in many popular Linux distributions.