153 lines
14 KiB
HTML
153 lines
14 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 8. Internationalization and Translations</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1" /><link rel="home" href="index.html" title="Debian Developer's Reference" /><link rel="up" href="index.html" title="Debian Developer's Reference" /><link rel="prev" href="beyond-pkging.html" title="Chapter 7. Beyond Packaging" /><link rel="next" href="tools.html" title="Appendix A. Overview of Debian Maintainer Tools" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. Internationalization and Translations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="beyond-pkging.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="tools.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 8. Internationalization and Translations"><div class="titlepage"><div><div><h2 class="title"><a id="l10n"></a>Chapter 8. Internationalization and Translations</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="l10n.html#l10n-handling">8.1. How translations are handled within Debian</a></span></dt><dt><span class="section"><a href="l10n.html#l10n-faqm">8.2. I18N & L10N FAQ for maintainers</a></span></dt><dd><dl><dt><span class="section"><a href="l10n.html#l10n-faqm-tr">8.2.1. How to get a given text translated</a></span></dt><dt><span class="section"><a href="l10n.html#l10n-faqm-rev">8.2.2. How to get a given translation reviewed</a></span></dt><dt><span class="section"><a href="l10n.html#l10n-faqm-update">8.2.3. How to get a given translation updated</a></span></dt><dt><span class="section"><a href="l10n.html#l10n-faqm-bug">8.2.4. How to handle a bug report concerning a translation</a></span></dt></dl></dd><dt><span class="section"><a href="l10n.html#l10n-faqtr">8.3. I18N & L10N FAQ for translators</a></span></dt><dd><dl><dt><span class="section"><a href="l10n.html#l10n-faqtr-help">8.3.1. How to help the translation effort</a></span></dt><dt><span class="section"><a href="l10n.html#l10n-faqtr-inc">8.3.2. How to provide a translation for inclusion in a package</a></span></dt></dl></dd><dt><span class="section"><a href="l10n.html#l10n-best">8.4. Best current practice concerning l10n</a></span></dt></dl></div><p>
|
||
Debian supports an ever-increasing number of natural languages. Even if you
|
||
are a 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 are 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.
|
||
</p><p>
|
||
According to <a class="ulink" href="http://www.debian.org/doc/manuals/intro-i18n/" target="_top">Introduction to
|
||
i18n</a> from Tomohiro KUBOTA, 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 software.
|
||
</p><p>
|
||
l10n and i18n are interconnected, but the difficulties related to each of them
|
||
are very different. It's not really difficult to allow a program to change the
|
||
language in which texts are displayed based on user settings, but it is very
|
||
time consuming to actually translate these 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.
|
||
</p><p>
|
||
Setting aside the i18n problems, where no general guideline can be given, there
|
||
is actually no central infrastructure for l10n within Debian which could be
|
||
compared to the buildd mechanism for porting. So most of the work has to be
|
||
done manually.
|
||
</p><div class="section" title="8.1. How translations are handled within Debian"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="l10n-handling"></a>8.1. How translations are handled within Debian</h2></div></div></div><p>
|
||
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 translated.
|
||
</p><p>
|
||
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
|
||
<a class="ulink" href="http://translationproject.org/" target="_top">Free Translation
|
||
Project</a>, the <a class="ulink" href="http://live.gnome.org/TranslationProject" target="_top">Gnome translation
|
||
Project</a> or the <a class="ulink" href="http://i18n.kde.org/" target="_top">KDE one</a>. The
|
||
only centralized resource within Debian is the <a class="ulink" href="http://www.debian.org/intl/l10n/" target="_top">Central Debian translation
|
||
statistics</a>, where you can find some statistics about the translation
|
||
files found in the actual packages, but no real infrastructure to ease the
|
||
translation process.
|
||
</p><p>
|
||
An effort to translate the package descriptions started long ago, even if very
|
||
little support is offered by the tools to actually use them (i.e., only APT can
|
||
use them, when configured correctly). Maintainers don't need to do anything
|
||
special to support translated package descriptions; translators should use the
|
||
<a class="ulink" href="http://ddtp.debian.net/" target="_top">Debian Description Translation Project (DDTP)</a>.
|
||
</p><p>
|
||
For <code class="systemitem">debconf</code> templates, maintainers
|
||
should use the <code class="systemitem">po-debconf</code> package to ease
|
||
the work of translators, who could use the DDTP to do their work (but the
|
||
French and Brazilian teams don't). Some statistics can be found both on the
|
||
<a class="ulink" href="http://ddtp.debian.net/" target="_top">DDTP site</a> (about what is actually translated),
|
||
and on the <a class="ulink" href="http://www.debian.org/intl/l10n/" target="_top">Central Debian translation
|
||
statistics</a> site (about what is integrated in the packages).
|
||
</p><p>
|
||
For web pages, each l10n team has access to the relevant VCS, and the
|
||
statistics are available from the Central Debian translation statistics site.
|
||
</p><p>
|
||
For general documentation about Debian, the process is more or less the same as
|
||
for the web pages (the translators have access to the VCS), but there are no
|
||
statistics pages.
|
||
</p><p>
|
||
For package-specific documentation (man pages, info documents, other formats),
|
||
almost everything remains to be done.
|
||
</p><p>
|
||
Most notably, the KDE project handles translation of its documentation in the
|
||
same way as its program messages.
|
||
</p><p>
|
||
There is an effort to handle Debian-specific man pages within a <a class="ulink" href="http://cvs.debian.org/manpages/?cvsroot=debian-doc" target="_top">specific VCS
|
||
repository</a>.
|
||
</p></div><div class="section" title="8.2. I18N & L10N FAQ for maintainers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="l10n-faqm"></a>8.2. I18N & L10N FAQ for maintainers</h2></div></div></div><p>
|
||
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 these
|
||
points within Debian, and that this is only advice. 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.
|
||
</p><div class="section" title="8.2.1. How to get a given text translated"><div class="titlepage"><div><div><h3 class="title"><a id="l10n-faqm-tr"></a>8.2.1. How to get a given text translated</h3></div></div></div><p>
|
||
To translate package descriptions or <code class="systemitem">debconf</code> 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.
|
||
</p><p>
|
||
For all other material (gettext files, man pages, or other documentation), the
|
||
best solution is to put your text somewhere on the Internet, and ask on
|
||
debian-i18n for a translation in 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 they are done, you will get your translated
|
||
document from them in your mailbox.
|
||
</p></div><div class="section" title="8.2.2. How to get a given translation reviewed"><div class="titlepage"><div><div><h3 class="title"><a id="l10n-faqm-rev"></a>8.2.2. How to get a given translation reviewed</h3></div></div></div><p>
|
||
From time to time, individuals translate some texts in your package and will
|
||
ask you for inclusion of the translation 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 has been done, you should feel more confident in the quality of the
|
||
translation, and feel safe to include it in your package.
|
||
</p></div><div class="section" title="8.2.3. How to get a given translation updated"><div class="titlepage"><div><div><h3 class="title"><a id="l10n-faqm-update"></a>8.2.3. How to get a given translation updated</h3></div></div></div><p>
|
||
If you have some translations of a given text lying around, each time you
|
||
update the original, you should ask the previous translator to update the
|
||
translation with your new changes. Keep in mind that this task takes time; at
|
||
least one week to get the update reviewed and all.
|
||
</p><p>
|
||
If the translator is unresponsive, you may ask for help on the corresponding
|
||
l10n mailing 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.
|
||
</p><p>
|
||
Avoid removing a translation completely because it is outdated. Old
|
||
documentation is often better than no documentation at all for non-English
|
||
speakers.
|
||
</p></div><div class="section" title="8.2.4. How to handle a bug report concerning a translation"><div class="titlepage"><div><div><h3 class="title"><a id="l10n-faqm-bug"></a>8.2.4. How to handle a bug report concerning a translation</h3></div></div></div><p>
|
||
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).
|
||
|
||
</p></div></div><div class="section" title="8.3. I18N & L10N FAQ for translators"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="l10n-faqtr"></a>8.3. I18N & L10N FAQ for translators</h2></div></div></div><p>
|
||
While reading this, please keep in mind that there is no general procedure
|
||
within Debian concerning these points, and that in any case, you should
|
||
collaborate with your team and the package maintainer.
|
||
</p><div class="section" title="8.3.1. How to help the translation effort"><div class="titlepage"><div><div><h3 class="title"><a id="l10n-faqtr-help"></a>8.3.1. How to help the translation effort</h3></div></div></div><p>
|
||
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 speakers on your l10n mailing list, and provide it to the
|
||
maintainer of the package (see next point).
|
||
</p></div><div class="section" title="8.3.2. How to provide a translation for inclusion in a package"><div class="titlepage"><div><div><h3 class="title"><a id="l10n-faqtr-inc"></a>8.3.2. How to provide a translation for inclusion in a package</h3></div></div></div><p>
|
||
Make sure 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 versions of the same document in
|
||
bug reports.
|
||
</p><p>
|
||
The best solution is to file a regular bug containing the translation against
|
||
the package. Make sure to use the 'PATCH' tag, and to not use a severity
|
||
higher than 'wishlist', since the lack of translation never prevented a program
|
||
from running.
|
||
</p></div></div><div class="section" title="8.4. Best current practice concerning l10n"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="l10n-best"></a>8.4. Best current practice concerning l10n</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
|
||
As a maintainer, never edit the translations in any way (even to reformat the
|
||
layout) without asking on the corresponding l10n mailing list. You risk for
|
||
example breaking the encoding of the file by doing so. Moreover, what you
|
||
consider an error can be right (or even needed) in the given language.
|
||
</p></li><li class="listitem"><p>
|
||
As a translator, if you find an error in the original text, make sure to report
|
||
it. Translators are often the most attentive readers of a given text, and if
|
||
they don't report the errors they find, nobody will.
|
||
</p></li><li class="listitem"><p>
|
||
In any case, remember that the major issue with l10n is that it requires
|
||
several people to cooperate, and that it is very easy to start a flamewar about
|
||
small problems because of misunderstandings. 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 beware, l10n discussions very often
|
||
become flamewars on that list :)
|
||
</p></li><li class="listitem"><p>
|
||
In any case, cooperation can only be achieved with <span class="strong"><strong>mutual respect</strong></span>.
|
||
</p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="beyond-pkging.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="tools.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 7. Beyond Packaging </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix A. Overview of Debian Maintainer Tools</td></tr></table></div></body></html>
|