                    Helping on a2ps internationalization



How to help translating a2ps

Internationalization is done thanks to a wonderful piece of code: GNU
gettext. In one word, let's say that it allows orthogonal development of a
program, and its translation. Moreover, the link between original messages
and translated messages is not done through obscure numbers or whatever, but
just a ridiculously simple file where each message is followed by its
translation.

Helping us is then simply the act of filling some blanks: messages no yet
translated. Of course it is easier with the GNU gettext tools, and if you
want them, just ask, but without it is still an easy game.



Existing translations

Currently, the existing translations are:

   * Catalan (maintained by Miguel Angel Varo Giner)
   * Czech (thanks to Jiri Pavlovsky)
   * Dutch (maintained by Marcel van der Laan)
   * French
   * German (maintained by Michael Wiedmann, and thanks to Christian Kirsch,
     and Erwin Dieterich)
   * Italian (thanks to Lorenzo M. Catucci)
   * Korean (maintained by Choi Jun Ho)
   * Polish (thanks to Tomek Burdziak and Juliusz Chrobocek)
   * Spanish (maintained by Miguel Angel Varo Giner)
   * Turkish (maintained by H. Turgut Uyar)

These files are always an exact snapshot of the files I have, don't fear to
work on too old files. You can contribute to a maintained translation, or
report errors in the translation, but then, please, contact the maintainer
of the translation, not us.



Improving an existing translation

Basically, two cases may happen.

The message has never been translated

This is easy to see: there are no corresponding translation (With your
favorite editor, look for `msgstr ""[cr][cr]', i.e., with two new-lines). For
instance:

#: src/main.c:98
msgid "Send bugs reports and comments to demaille@inf.enst.fr\n"
msgstr ""

Then simply fill the blank:

#: src/main.c:98
msgid "Send bugs reports and comments to demaille@inf.enst.fr\n"
msgstr "Envoyer vos commentaires et rapport de bogues  demaille@inf.enst.fr\n"

If the message, is very long, the process is still the same:

# , c-format
#: src/main.c:154
#, c-format
msgid ""
"Virtual pages:\n"
"  number lines          = %s\n"
"  format                = %s\n"
"  tabulation size       = %d\n"
"  non printable format  = %s\n"
msgstr ""

becomes

# , c-format
#: src/main.c:154
#, c-format
msgid ""
"Virtual pages:\n"
"  number lines          = %s\n"
"  format                = %s\n"
"  tabulation size       = %d\n"
"  non printable format  = %s\n"
msgstr ""
"Pages virtuelles\n"
"  numrotation des lignes    = %s\n"
"  format                     = %s\n"
"  taille de la tabulation    = %d\n"
"  caractres non imprimables = %s\n"

The message is apparently translated, but wrong

This is also easy to see, since each time the GNU tool feel a message has
slightly changed in English, it suggest a translation, but tags it with the
keyword `fuzzy'.

For instance:

#: src/main.c:332
#, fuzzy
msgid ""
"Virtual pages:\n"
"  --line-numbers=NUM         precede each NUM lines with its line number\n"
"  -C                         alias for --line-numbers=5\n"
msgstr ""
"Pages:\n"
"  -C, --line-numbers*        numroter les lignes\n"

You see the difference? Now the option has been decomposed into two. So put
the new translation, and remove fuzzy. Is is extremely important that you
remove the fuzzy, otherwise it means you are not sure of the translation,
and it will not be taken into account.

#: src/main.c:332
msgid ""
"Virtual pages:\n"
"  --line-numbers=NUM         precede each NUM lines with its line number\n"
"  -C                         alias for --line-numbers=5\n"
msgstr ""
"Pages:\n"
"  -C, --line-numbers=NB      numroter les lignes de NB en NB\n"
"  -C                         alias de --line-numbers=5\n"

For help messages, or "formatted" messages, please try not to use more than
79 columns: it looks bad on the screen.

Note that if fuzzy is alone on the line, you should remove the whole line,
otherwise just fuzzy:

#: src/main.c:883
#, fuzzy, c-format
msgid "unexpected option: `%c' (%d)"
msgstr "%s: nieznana opcja `%c%s'\n"

becomes

#: src/main.c:883
#, c-format
msgid "unexpected option: `%c' (%d)"
msgstr "nieznana opcja `%c' (%d)"



A language that has never been addressed before

The process is as simple, you just take a blank file, and there you go!

Note The current official a2ps is the 4.8.* series. Nevertheless, going
forward, the 4.9.* is the one being translated.



And after?

Simply send me via email the file you improved. I have all the tools to
check there are no small mistakes, such a `%s' instead of a `%d' etc. so
don't worry, your piece of work will soon be included!

Even more: say you want to be the official maintainer of the translation.
Then just tell me, and add a reference to you in the "complain about bugs"
message. Something like:

#: src/main.c:72
msgid "Send bugs reports and comments to demaille@inf.enst.fr\n"
msgstr ""
"Enviar informes de error y comentarios a demaille@inf.enst.fr\n"
"Enviar informes sobre la traduccin a mvaro@dlsi.ua.es\n"



 [] Download | Home | Doc | Mailing List | FAQ | Sheets | Delegations | I18n
                                    []

Akim Demaille
Last modified: Mon Jan 5 09:56:25 MET 1998
