# Translation methods and advices

## Introduction

This section will give translators recommendations about work methods as well as more precise recommendations targeted for &d-i; translations.

Reading more general documentation about Free Software translation work is also recommended to all &d-i; translators as several methods and concepts are common to all Free Software translation projects.

## Work with translation teams

If a translation team exists for a language, translators should work with them. They should first check the debian-l10n-<language> mailing list where <language> is the language name in English (e.g. debian-l10n-polish, debian-l10n-portuguese, etc.)

The list of all available translation teams is available at &url-debian-list-archives;i18n.html. If in doubt, assistance and help may be requested on the &email-debian-i18n-list; mailing list.

As soon as more than one translator works for a given language, the creation of a dedicated translation team is recommended. This is usually done with the creation of a dedicated mailing list, preferably on the Debian servers, where it will get more visibility. Assistance for this can be requested to the &i18n-coords; or on &email-debian-i18n-list;.

Working with translation teams not dedicated to Debian work is also possible. Actually, several &d-i; translators come from such teams and continue working directly with these teams. This work method is however slightly weaker as the link between the &i18n-coords; and the translators for the given language depends on a single individual.

## Use peer review

In all translation efforts, peer reviewing is a key point of the quality assurance process. All translators may introduce errors, spelling or grammar mistakes in their translations. Thus, reviews by other native speakers of the language (even if not familiar with the technical background) can help in tracking these down.

## Remain consistent

Some strings or translations choices are identical in two or more packages. Translators should try to translate them consistently. The use of compendiums or translation dictionaries is suggested.

## Work with previous translators

From time to time, translators will find existing, incomplete (or inconsistent) translation, done by another individual. They should do their best to contact the previous translator in order to prevent duplication of work. His/her mail address can be found in the PO file header named `Last-Translator`.

Such contacts may be a good opportunity to get more manpower in some teams. Translators should suggest the former translator to join their team.

If this contact is unsuccessful (unresponsive former translator), the work can be taken over by a new translator, provided this is not prohibited by a non free licensing (some translators unfortunately put statements that make their work non-free such as restriction of distribution or restriction of modification).

In any case, if the translation work is taken over and completed or corrected, the reference to the former translator must be kept in the PO file headers. Changing the `Last-Translator` field with the real name and address of the last person who effectively did some work on the file is recommended.

## Follow development

Packages involved in the various levels of &d-i; translations are constantly changing, which sometimes induces string changes.

As a consequence, translation updates are sometimes required for these packages. &d-i; translators should follow the status of their translations for the various levels.

The translation status pages are the recommended reference to use in order to follow each language's statistics. See gettext-tools for details.

## Testing translations

When a translation is completed, it should always be proofread at least once to correct all meaning-, spelling-, grammar-, typo-, etc- mistakes.

The validity of the new PO file must be tested. The following command should be used before committing or sending translation files:

      msgfmt --check --statistics <language>.po

For details about `msgfmt`, see gettext-tools.

The Debian `aspell` package can be used to test the spelling in translation files.

Finally, `podebconf-display-po` (from the `po-debconf` package) can be used on debconf translation files:

      podebconf-display-po -fdialog <language>.po

For details about `podebconf-display-po`, see gettext-tools.

## Variables substitutions

In several &d-i; packages, some embedded variable names such as "You are currently modifying ${PARTITION} properties" can be found. Translators should not translate the variable names and be very careful about keeping braces and dollar signs. For instance, the French translation of the above is: Vous modifiez actuellement les propriétés de ${PARTITION}.

When translating programs such as `dpkg`, `apt` or `shadow`, translators should be careful about %s variables: the translation must have the same number of such variables as the original English string.

Modern PO editing tools will warn translators about such mistakes and `msgfmt` will also report such errors.