[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[RFC] Chapter for the debian reference about l10n


I repost this because I got no feedback at all. I guess it shows that my
email was long enough for not being read :)

Thanks, Mt.

On Wed, May 14, 2003 at 05:29:00PM +0200, Martin Quinson wrote:

> In order to help the current discution to find an usefull conclusion, I
> would like to propose you the following blahblah for inclusion in the debian
> reference "Managing packages" chapter, for example after the one on porting
> and geting ported. This is very far from being perfect, and I would be more
> than happy to discuss it before the actual inclusion. But, please, do
> respect the reply-to to debian-i18n, so that we discuss it on the right ML.
> Friendly, Mt.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Internationalizing, translating and being internationalized and translated

Debian supports an ever-increasing number of natural language. Even if you
are native english speaker and do not speak any other language, it is part
of your duty as a maintainer to be aware of issues of internationalization
(abbreviated i18n because there is 18 letters between the 'i' and the 'n' in
internationalization). Therefore, even if you are ok with english only
programs, you should read most of this chapter.

According to "Introduction to i18n" from Tomohiro KUBOTA,
(http://www.debian.org/doc/manuals/intro-i18n/), "I18N
(internationalization) means modification of a software or related
technologies so that a software can potentially handle multiple languages,
customs, and so on in the world." while "L10N (localization) means
implementation of a specific language for an already internationalized

l10n and i18n are tied, but the difficulties related to each of them are
very different. It's not really difficult to allow the program to change the
language in which texts are displayed based on user settings, but it is very
time consuming to actually translate the messages. On the other hand,
setting the character encoding is trivial, but adapting the code to use
several character encodings is a really hard problem.

Letting alone the i18n problems, where no general receipt exist, there is
actually no central infrastructure for l10n within Debian which could be
compared to the dbuild mecanism for porting. So, most of the work have to be
done manually

How are handled translations within Debian?
Handling translation of the texts contained in a package is still a manual
task, and the process depends on the kind of text you want to see

For program messages, the gettext infrastructure is used most of the time.
Most of the time, the translation is handled upstream within projects like
the Free Translation Project (http://www.iro.umontreal.ca/contrib/po/HTML/),
the Gnome translation Project (http://developer.gnome.org/projects/gtp/) or
the KDE one (http://i18n.kde.org/). The only centralized resource within
Debian is the Central Debian translation statistics
(http://www.debian.org/intl/l10n/), where you can find some statistics about
the translation files found in the actual package, but no real infrastucture
to ease the translation process. 

An effort to translate the package descriptions started long ago even very
few support is offered by the tools to actually use them (ie, only APT can
use them, when configured correctly). There is nothing to do for the
maintainers, and the translators should use the DDTP

For debconf templates, maintainer should use the po-debconf package to ease the
work of your translators, which should use the DDTP to do their work. Some
statistics can be found both on the DDTP site (about what is actually
translated), and on the Central Debian translation statistics site
(http://www.debian.org/intl/l10n/ -- about what is integrated in the

For webpages, each l10n team have access to the relevant CVS, and the
statistics are available from the Central Debian translation statistics site.

For general documentation about debian, the process is more or less the same
than for the webpages (the translators have an access to the CVS), but there
is no statistics pages.

For package specific documentation (man pages, info document, other
formats), almost everything have yet to be done. Most notably, the KDE
project handles translation of its documentation in the same way than its
program messages. Debian specific man pages begin to be handled within a
specific CVS repository (http://cvs.debian.org/manpages/?cvsroot=debian-doc). 

I18N & L10N FAQ for maintainers

This is a list of problems that maintainers may face concerning i18n and
l10n. While reading this, keep in mind that there is no real consensus on
those points within Debian, and that they are only advices. If you have a
better idea for a given problem, or if you disagree on some points, feel
free to provide your feedback, so that this document can be enhanced.

How to get a given text translated?
To translate package description or debconf templates, you have nothing to
do, the DDTP infrastructure will dispatch the material to translate to
volunteers with no need for interaction from your part.

For all other material (gettext files, man pages or other documentation), 
the best solution is to put your text somewhere on Internet, and ask on
debian-i18n for a translation in the different languages. Some translation
team members are subscribed to this list, and they will take care of the
translation and of the reviewing process. Once done, you will get your
translated document from them in your mailbox.

How to get a given translation reviewed?
>From time to time, individuals translate some texts included in your package
and will ask you for inclusion in the package. This can become problematic
if you are not fluent in the given language. It is a good idea to send the
document to the corresponding l10n mailing list, asking for a review. Once
it hase be done, you should feel more confident in the quality of the
traduction, and include it fearlessly into your package.

How to get a given translation updated?
If you have some translations of a given text laying around, each time you
update the original, you should kindly ask to the previous translator to
update his/her work to make the translation uptodate with regard to the
current original text. Keep in mind that this task takes time, at least one
week to get the update reviewed and all. 

If the translator is unresponsive, you may ask for help to the corresponding
l10n mailling list. If everything fails, don't forget to put a warning in
the translated document, stating that the translation is somehow outdated,
and that the reader should refer to the original document if possible. 

Avoid removing completely a translation because it is outdated. An old
documentation is often better than no documentation at all for non-english

How to handle a bug repport concerning a translation?
The best solution may be to mark the bug as "forwarded to upstream", and
forward it to both the previous translator and his/her team (using the
corresponding debian-l10n-XXX mailing list).

I18N & L10N FAQ for translators?

While reading this, please keep in mind that there is no general procedure
within Debian concerning those points, and that in anycase, you should
collaborate with your team and 

How to help the translation effort?
Choose what you want to translate, make sure that nobody is already working
on it (using your debian-l10n-XXX mailing list), translate it, get it
reviewed by other native speaker on your l10n mailing list, and provide it
to the maintainer of the package (see next point).

How to provide a translation for inclusion in a package?
Make sure that your translation is correct (asking for review on your l10n
mailing list) before providing it for inclusion. It will save time for
everyone, and avoid the chaos resulting in having several version of the
same document in bug repports.

The best solution is to fill a regular bug containing the translation
against the package. Make sure to use the 'PATCH' tag, and to not use a
gravity higher than 'wishlist', since the lack of translation never
prevented a program from running.


1. As maintainer, never edit the translations in any way (even to reformat
   the layout) without asking to the corresponding l10n mailing list. You
   risk for example to break the encoding of the file by doing so. Moreover,
   what you consider as an error can be right (or even needed) in the given
2. As translator, if you find an error in the original text, make sure to
   report it. Often, the translators are the most attentive reader of a
   given text, and if they don't repport the errors they find, nobody will.

3. In any case, remember that the major issue with l10n is that it requieres
   several people to cooperate, and that it is very easy to start a flamewar
   about small problems because of misunderstanding. So, if you have
   problems with your interlocutor, ask for help on the corresponding l10n
   mailing list, on debian-i18n, or even on debian-devel (but be aware that
   l10n discution very often become flamewar on that list :)

4. In any case, cooperation can only be achieved with *mutual respect*.

Computers are not intelligent. They only think they are.

Reply to: