Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes |
fr:howtos:misc:internationalization_and_localization_of_shell_scripts [2015/10/04 18:57 (UTC)] – [Conseils pratiques aux traducteurs] pierreaverseng | fr:howtos:misc:internationalization_and_localization_of_shell_scripts [2015/11/30 21:34 (UTC)] – [Sources] pierreaverseng |
---|
<note>En cours de traduction (pierreaverseng)</note> | |
=====Internationalisation et localisation des shell-scripts===== | =====Internationalisation et localisation des shell-scripts===== |
| |
Le document de référence est le manuel intitulé [[http://www.gnu.org/software/gettext/manual/gettext.html|GNU 'gettext' utilities]]. | Le document de référence est le manuel intitulé [[http://www.gnu.org/software/gettext/manual/gettext.html|GNU 'gettext' utilities]]. |
| |
Le manuel envisage tous les langages de programmation qui peuvent être employés avec gettext, en faisant principalement référence au langage C. | Le manuel envisage tous les langages de programmation qui peuvent être employés avec gettext, et fait principalement référence au langage C. |
| |
Voir [[http://pubs.opengroup.org/onlinepubs/009695399/nframe.html|POSIX specification]] qu'il est recommandé de lire, en particulier les volumes [[http://pubs.opengroup.org/onlinepubs/009695399/basedefs/contents.html|Base Definitions]] et [[http://pubs.opengroup.org/onlinepubs/009695399/utilities/contents.html|Shell and Utilities]]. | Voir [[http://pubs.opengroup.org/onlinepubs/009695399/nframe.html|POSIX specification]] qu'il est recommandé de lire, en particulier les volumes [[http://pubs.opengroup.org/onlinepubs/009695399/basedefs/contents.html|Base Definitions]] et [[http://pubs.opengroup.org/onlinepubs/009695399/utilities/contents.html|Shell and Utilities]]. |
* Que la chaîne msgstr commence et finisse par 'newline' ou non, à l'dentique de msgid. | * Que la chaîne msgstr commence et finisse par 'newline' ou non, à l'dentique de msgid. |
* Que dans le cas où la chaîne de texte contient un paramètre d'expansion, eval_gettext soit employé à la place de gettext. | * Que dans le cas où la chaîne de texte contient un paramètre d'expansion, eval_gettext soit employé à la place de gettext. |
* "The variable names must consist solely of alphanumeric or underscore ASCII characters, not start with a digit and be nonempty; otherwise such a variable reference is ignored." (nous rappelle le manuel de gettext): Les noms de variables ne doivent comporter uniquement que des caractères alphanumériques ou le tiret bas, ne peuvent pas commencer par un chiffre ni être une chaîne vide; sinon la référence à la variable (son nom) est ignorée. | * "The variable names must consist solely of alphanumeric or underscore ASCII characters, not start with a digit and be nonempty; otherwise such a variable reference is ignored." (nous __rappelle le manuel__ de gettext): Les noms de variables ne doivent comporter uniquement que des caractères alphanumériques ou le tiret bas, ne peuvent pas commencer par un chiffre ni être une chaîne vide; sinon la référence à la variable (son nom) est ignorée. |
* Que l'évitement des paramètres d'expansion soit obtenu par une seule barre oblique inversée, comme ceci:\\ \$parameter or \${parameter}\\ sauf si la commande eval_gettext se trouve dans une commande de substitution comme celle-ci:\\ "`eval_gettext "..."`" ou "$(eval_gettext "...")"\\ Dans ce cas, il faut mettre trois barres obliques inversées, comme ceci:\\ \\\$parameter or \\\${parameter}. | * Que l'évitement des paramètres d'expansion soit obtenu par une seule barre oblique inversée, comme ceci:\\ \$parameter or \${parameter}\\ sauf si la commande eval_gettext se trouve dans une commande de substitution comme celle-ci:\\ "`eval_gettext "..."`" ou "$(eval_gettext "...")"\\ Dans ce cas, il faut mettre trois barres obliques inversées, comme ceci:\\ \\\$parameter or \\\${parameter}. |
* Que seules les formes $parameter and ${parameter} du paramètre d'expansion soient employées dans un argument d'eval_gettext (toute autre forme est interdite). | * Que seules les formes $parameter and ${parameter} du paramètre d'expansion soient employées dans un argument d'eval_gettext (toute autre forme est interdite). |
En outre, vous devrez vous conformer aux exigences suivantes de gettext pour qu'il fonctionne: | En outre, vous devrez vous conformer aux exigences suivantes de gettext pour qu'il fonctionne: |
* S'il y a un mot commençant par le signe dollar dans le texte d'origine, il devra apparaître dans la traduction avec exactement la même écriture (la casse compte). | * S'il y a un mot commençant par le signe dollar dans le texte d'origine, il devra apparaître dans la traduction avec exactement la même écriture (la casse compte). |
* The translation text should include a "new line" character (or line feed, represented by "\n") at the beginning or at the end, exactly as the original text does. Conversely, if the original text doesn’t have the character, then the translation shouldn’t have it. | * Le texte traduit doit comporter un caractère de passage à la ligne (ou "saut de ligne" représenté par '\n') au début ou à la fin, exactement comme dans le texte d'origine. S'il n'y a pas le caractère '\n' dans le texte d'origine, alors il ne doit pas être dans la traduction, non plus. |
* A single backslash character "\" is not allowed in the translation. | * Le caractère barre oblique inverse “\” n'est pas autorisé dans la traduction. |
| |
Pour vérifier que votre traduction satisfait aux exigences de gettext vous pourrez appeler cette commande : | Pour vérifier que votre traduction satisfait aux exigences de gettext vous pourrez appeler cette commande : |
msgfmt -c <nom du fichier PO> | msgfmt -c <nom du fichier PO> |
==== Warning about translation of man pages ==== | ==== Points importants pour traduire les pages de manuel ==== |
| |
Preserve carefully syntax of man pages found in English markup. For instance don't replace: | Conservez attentivement la syntaxe des pages de manuel telles qu'elles sont notées en anglais. Il ne faut pas changer: |
| |
* 'B<' with 'B <' (don't insert a space) | * 'B<' en 'B <' (n'insérez pas l'espace) |
* 'B<' with 'b<' (keep the B as a capital letter - and don't replace it by the Greek capital letter BETA that looks the same on the screen) | * 'B<' en 'b<' (laissez le B en majuscule - et ne le remplacez pas par la lettre majuscule grecque BETA qui a le même aspect à l'écran) |
* "I" with '|' (don't replace the capital letter I with a pipe symbol) | * "I" en '|' (ne remplacez pas la lettre majuscule I par le symbole 'pipe' -- alt gr + 6 --) |
| |
When translating shell commands, preserve English names of paths when needed. But you may and should translate arguments to be replaced by a value like 'packagename' | En traduisant des commandes du shell, laissez en anglais les noms de chemins d'accès à utiliser. Mais vous pouvez et __devez__ traduire les arguments destinés à prendre une valeur comme 'packagename', dans ce cas --> 'nomdupaquet'. |
| |
Didier Spaier | Didier Spaier |
* Originally written by [[wiki:user:didierspaier | Didier Spaier]] | * Originally written by [[wiki:user:didierspaier | Didier Spaier]] |
* Translation September 2015 by [[wiki:user:pierreaverseng | P-M Averseng]] | * Translation September 2015 by [[wiki:user:pierreaverseng | P-M Averseng]] |
{{tag>howtos gettext shell scripts internationalization localization i18n l10n}} | {{tag>howtos gettext shell scripts internationalization localization i18n l10n translator_pierreaverseng}} |
| |