(gettext.info)Names


Next: Libraries Prev: Bug Report Address Up: Sources
Enter node , (file) or (file)node

4.9 Marking Proper Names for Translation
========================================

   Should names of persons, cities, locations etc.  be marked for
translation or not?  People who only know languages that can be written
with Latin letters (English, Spanish, French, German, etc.)  are tempted
to say “no”, because names usually do not change when transported
between these languages.  However, in general when translating from one
script to another, names are translated too, usually phonetically or by
transliteration.  For example, Russian or Greek names are converted to
the Latin alphabet when being translated to English, and English or
French names are converted to the Katakana script when being translated
to Japanese.  This is necessary because the speakers of the target
language in general cannot read the script the name is originally
written in.

   As a programmer, you should therefore make sure that names are marked
for translation, with a special comment telling the translators that it
is a proper name and how to pronounce it.  In its simple form, it looks
like this:

     printf (_("Written by %s.\n"),
             /* TRANSLATORS: This is a proper name.  See the gettext
                manual, section Names.  Note this is actually a non-ASCII
                name: The first name is (with Unicode escapes)
                "Fran\u00e7ois" or (with HTML entities) "François".
                Pronunciation is like "fraa-swa pee-nar".  */
             _("Francois Pinard"));

The GNU gnulib library offers a module ‘propername’
(<http://www.gnu.org/software/gnulib/MODULES.html#module=propername>)
which takes care to automatically append the original name, in
parentheses, to the translated name.  For names that cannot be written
in ASCII, it also frees the translator from the task of entering the
appropriate non-ASCII characters if no script change is needed.  In this
more comfortable form, it looks like this:

     printf (_("Written by %s and %s.\n"),
             proper_name ("Ulrich Drepper"),
             /* TRANSLATORS: This is a proper name.  See the gettext
                manual, section Names.  Note this is actually a non-ASCII
                name: The first name is (with Unicode escapes)
                "Fran\u00e7ois" or (with HTML entities) "Fran&ccedil;ois".
                Pronunciation is like "fraa-swa pee-nar".  */
             proper_name_utf8 ("Francois Pinard", "Fran\303\247ois Pinard"));

You can also write the original name directly in Unicode (rather than
with Unicode escapes or HTML entities) and denote the pronunciation
using the International Phonetic Alphabet (see
<http://www.wikipedia.org/wiki/International_Phonetic_Alphabet>).

   As a translator, you should use some care when translating names,
because it is frustrating if people see their names mutilated or
distorted.

   If your language uses the Latin script, all you need to do is to
reproduce the name as perfectly as you can within the usual character
set of your language.  In this particular case, this means to provide a
translation containing the c-cedilla character.  If your language uses a
different script and the people speaking it don’t usually read Latin
words, it means transliteration.  If the programmer used the simple
case, you should still give, in parentheses, the original writing of the
name – for the sake of the people that do read the Latin script.  If the
programmer used the ‘propername’ module mentioned above, you don’t need
to give the original writing of the name in parentheses, because the
program will already do so.  Here is an example, using Greek as the
target script:

     #. This is a proper name.  See the gettext
     #. manual, section Names.  Note this is actually a non-ASCII
     #. name: The first name is (with Unicode escapes)
     #. "Fran\u00e7ois" or (with HTML entities) "Fran&ccedil;ois".
     #. Pronunciation is like "fraa-swa pee-nar".
     msgid "Francois Pinard"
     msgstr "\phi\rho\alpha\sigma\omicron\alpha \pi\iota\nu\alpha\rho"
            " (Francois Pinard)"

   Because translation of names is such a sensitive domain, it is a good
idea to test your translation before submitting it.


automatically generated by info2www version 1.2.2.9