Level 1 consists of all “core” Debian Installer packages, i.e. all packages with translatable material in the Debian Installer development tree.
Most parts of the translatable material is spread over core Debian Installer packages. The package development is handled in the main Debian Installer GIT repository.
Some material (country names and keyboard maps names) are handled in non core Debian Installer packages. This material will be part of the level 2 of translations.
Level 1 is the key for a language being fully integrated in Debian Installer. A language will be activated by Debian Installer i18n coordinators only when the first two sublevels are completely translated.
In the past, all Debian Installer level 1 strings were gathered into a single “master” file. While that was easy to manage, it had the inconvenience of grouping together very important and often used strings with very obscure strings, that are relevant for some architectures only, or some special (and rarely used) features.
In order for translators to better prioritize their work, this master file has been split into five “sublevel” files:
Sublevel 1: strings used for default installs on common architectures
Sublevel 2: general strings not used during default installs. Includes error messages and dialogs
Sublevel 3: expert strings (some low priority features such as RAID, encrypted partitions, etc.)
Sublevel 4: specific to less-popular arches (such as powerpc, mips or sparc) or used in experimental features
Sublevel 5: same for high-end (such as hppa, ia64 or s390x) and hobby (m68k) arches and old stuff (partconf, partitioner, that are replaced by partman for a while)
Translators should remember that using GIT is encouraged.
However, there is another possibility to contribute translations for Debian Installer:
via a Hosted Weblate project under
https://hosted.weblate.org/projects/debian-installer/.
(If you would like to use Weblate and your language is not listed there, sent
a mail to <debian-boot@lists.debian.org>
.)
GIT access: git clone git@salsa.debian.org:installer-team/d-i.git. Sublevel files are in directories named
sublevelX
HTTP access: https://d-i.debian.org/l10n-stats/level1
https://d-i.debian.org/l10n-stats/level1/POT/packages_po_sublevel1.pot
https://d-i.debian.org/l10n-stats/level1/files/<language>/packages_po_sublevel1_<language>.po
https://d-i.debian.org/l10n-stats/level1/POT/packages_po_sublevel2.pot
https://d-i.debian.org/l10n-stats/level1/files/<language>/packages_po_sublevel2_<language>.po
https://d-i.debian.org/l10n-stats/level1/POT/packages_po_sublevel3.pot
https://d-i.debian.org/l10n-stats/level1/files/<language>/packages_po_sublevel3_<language>.po
https://d-i.debian.org/l10n-stats/level1/POT/packages_po_sublevel4.pot
https://d-i.debian.org/l10n-stats/level1/files/<language>/packages_po_sublevel4_<language>.po
https://d-i.debian.org/l10n-stats/level1/POT/packages_po_sublevel5.pot
https://d-i.debian.org/l10n-stats/level1/files/<language>/packages_po_sublevel5_<language>.po
To begin a new translation for sublevel 1, translators should copy the
packages/po/sublevel1/template.pot
to
<language>.po
(where <language> is
the ISO-639 code of the language, see Appendix F, Languages codes) and complete this file. The same stands for other sublevels.
Translation updates should be done by direct commits to the Debian Installer GIT
repository (see Appendix B, Some basic notions about git for details about GIT
use) or via Weblate. In case either of this is absolutely
impossible, updates can be sent as bug reports against the debian-installer
package (see Appendix D, Reporting bugs against Debian packages for details).
Translators should read Section 1.3, “ Prioritizing work ” to choose the best priority order for their work on sublevels.
The Debian Installer uses hundreds of strings which represent the content of the screens which are or may be shown to Debian Installer users during the installation process.
Several of these strings are commented with indications or hints for translators.
Several strings are limited in length. This means they should not exceed 65 characters for single-width character languages and 32 characters for double-width character languages such as CJK (Chinese/Japanese/Korean) and similar languages.
This constraint may be checked by the scripts/l10n/choices-check.pl
script from the Debian Installer development tree:
scripts/l10n/choices-check.pl < packages/po/<sublevelX>/<language>.po
This script will output the offending line(s) number(s) as well as the number of characters in this/these line(s).
This entry is the language selection screen entry for each language. Translators can translate it, but they should keep “Choose language” in English as an alternative, so that users mistakenly choosing a language can still find the appropriate entry to change it back to their own language.
Most Debian Installer packages have a main menu entry, which is the text that appears in the Debian Installer main menu to allow users to select the corresponding action.
The length of this main menu entry is limited to 58 columns, i.e. 58 characters for single-width languages and only 29 characters for double-width languages. These main menu entries all have a comment with “Main menu item” in the PO and POT files.
Many places in Debian Installer use variables (e.g. like in “${LOCALE} is currently not supported in Debian”). The variable names should not be translated and be kept inside braces prepended by the dollar sign in the translation.
This constraint is checked by the spell checking scripts, which report these errors separately (see Chapter 7, Translations spellchecking for details about the spell checking scripts).
Advanced translation software such as lokalize are able to visually display such errors and warn about them before saving files.
Several entries in PO files are unsplit choices lists such as:
#. Type: select #. Choices #: ../netcfg-common.templates:124 msgid "Infrastructure (Managed) network, Ad-hoc network (Peer to peer)" msgstr ""
For these translations, translators should take care of separating all choices with a normal comma sign, even if commas are not used in their language. Only standard commas should be used and not special commas such as those used by the Arabic language.
Commas should not be used inside individual choices unless they are properly escaped with a backslash (\) character:
For instance, the following is incorrect:
#. Type: select #. Choices #: ../netcfg-common.templates:124 msgid "Infrastructure (Managed) network, Ad-hoc network (Peer to peer)" msgstr "Infrastructure network, also called Managed, Ad-hoc network, or peer to peer"
While this is correct:
#. Type: select #. Choices #: ../netcfg-common.templates:124 msgid "Infrastructure (Managed) network, Ad-hoc network (Peer to peer)" msgstr "Infrastructure network\, also called Managed, Ad-hoc network\, or peer to peer"
Such errors are detected by the spellchecker scripts (see Chapter 7, Translations spellchecking).
A special string from the choose-mirror
package
is intended to setup the default Debian archive mirror country,
depending on the language. Translators should put there the ISO-3166
code of the country to be used as default, most often their own
country name, or the country their language is spoken in. For
instance, the Brazilian Portuguese translator will use “BR” as
translation there, as this is the ISO-3166 code for Brazil.
Such errors are detected by the spellchecker scripts (see Chapter 7, Translations spellchecking).