Mkd (Extracteur de documents)/Internationalisation des messages

Un livre de Wikilivres.
Aller à : navigation, rechercher
link={{{link}}}
Maintenance

Cette page est susceptible de subir des modifications occasionnelles

Make documents

Internationalisation des messages[modifier | modifier le wikicode]

Les traductions automatiques des messages des applications dépendent directement de la langue que vous avez adoptée à votre connexion. Voyez la ligne LANG votre environnement (Commande env dans un terminal sous Unix/Linux).

Si vous avez adopté la langue française vous devez trouver LANG=fr_FR.UTF-8 sous Linux.
Si les fichiers de langue ont été installés pour chacune des applications, dont la langue française que vous utilisez, vous devez avoir les messages en français, sinon, ils doivent apparaître dans la langue universelle en informatique; l'anglais.
Les messages de la version de mai 2012 existent en allemand, anglais et français. Vous pouvez envisager de les traduire dans d'autres langues à partir des références ci-dessous.

Pour arriver à ce résultat on balise les messages des fichiers sources avec gettext exemple:

printf(gettext("My name is %s.\n"), my_name);

Les messages seront enregistrés dans un fichier .pot avec une première ligne qui est le message d'origine et une deuxième ligne qui servira à la traduction dans un fichier file.po dans la langue voulue:
(file est un nom que vous aurez choisi, sans doute le nom de votre application.)
Pour plus de détails voyez gettext [1] [2]

file.pot sert de référence pour créer les fichiers .po dans différentes langues.

 #: src/name.c:36
 msgid "My name is %s.\n"
 msgstr ""

Pour effectuer la traduction on utilise l'éditeur poedit pour obtenir le fichier file.po. Lorsque l'on effectue plusieurs traductions il faut les différencier dans des répertoires différents ou avec des noms différenst comme file_en.po, file_fr.po.

file_fr.po pour la traduction en français:

 #: src/name.c:36
 msgid "My name is %s.\n"
 msgstr "Je m'appelle %s.\n"

Mise à jour et installation des traductions pour mkd 2012[modifier | modifier le wikicode]

Notez que la version 2012 n'est disponible que pour UNIX ou LINUX, et que toutes les commandes citées sont disponibles ou ont des équivalents pour les sytèmes d'exploitation courants.

Principe d'installation pour tous les systèmes d'exploitation:

  • Télécharger[3] poedit pour Windows ou Mac ou Linux, selon votre système d'exploitation.
  • Avec le fichier .pot (Portable object template) créer le fichier .po (Portable object) avec la commande:
fr est à remplacer par une autre langue maternelle.
Commande Linux : msginit -l fr -o mkd_fr.po -i mkd.pot
  • Convertir le fichier .po au format UTF-8:
Commande Linux : iconv -f ISO-8859-1 -t UTF-8 filename.txt > UTF8.filename
et dans l'entête du fichier .po, modifier « ASCII » pour « UTF-8 » ou un format ISO[4].
  • Editer le fichier .po avec poedit et faites la traduction dans votre langue maternelle. Poedit créera le fichier .mo
  • Installer le fichier .mo dans le répertoire de la langue correspondante.
Exemple pour la langue française : (Remplacer « fr » par la langue traduite)
sudo ou su selon la version de Linux
Commande Linux : sudo cp mkd_fr.mo /usr/share/locale/fr/LC_MESSAGES/mkd.mo
Si vous désirez remplacer un fichier .mo existant la commande doit être cp -f
  • Les fichiers .mo sont lisibles avec Virtaal.

Fichier Pot (Potfile)[modifier | modifier le wikicode]

Exemple de traduction en français[modifier | modifier le wikicode]

ATTENTION Cette traduction en français peut avoir été modifiée et n'est peut-être plus la traduction officielle.

Vous pouvez copier la traduction ci-dessous pour créer une version personnelle, ludique par exemple.

# French translations for mkd package.
# Copyright (C) 2012 THE mkd'S COPYRIGHT HOLDER
# This file is distributed under the same license as the mkd package.
# Blabla <blabla at free.fr>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: mkd 12.03\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-31 16:31+0200\n"
"PO-Revision-Date: 2012-03-31 18:00+0100\n"
"Last-Translator: Blabla <blabla at free.fr>\n"
"Language-Team: French\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#: ../mkd.c:132
#, c-format
msgid "mkd PC version, Release %s, USAGE:\n"
msgstr "mkd version PC, mise à jour %s, USAGE:\n"

#: ../mkd.c:133
#: ../mkd.c:139
#, c-format
msgid "syntax: mkd [-ABCFPSafjlnpstvw] char_codes path_source [path_target]\n"
msgstr "syntaxe: mkd [-ABCFPSafjlnpstvw] codes chemin_source [chemin_cible]\n"

#: ../mkd.c:134
msgid "    or: mkd ? .See also mkd.doc or manual."
msgstr "    ou: mkd ? .Voir aussi mkd.doc ou le manuel."

#: ../mkd.c:138
#, c-format
msgid "mkd UNIX version, Release %s, USAGE:\n"
msgstr "mkd version UNIX, mise à jour %s, USAGE:\n"

#: ../mkd.c:140
msgid "    or: mkd \\? .See also nanual: 'man mkd'"
msgstr "    ou: mkd \\? .Voir aussi le manuel: 'man mkd'"

#: ../mkd.c:145
#, c-format
msgid " --> options:\n"
msgstr " --> options:\n"

#: ../mkd.c:146
#, c-format
msgid "      -A decode Assembler comment style only\n"
msgstr "      -A décode uniquement les commentaires de style Assembleur\n"

#: ../mkd.c:148
#, c-format
msgid "      -B        Basic style\n"
msgstr "      -B        style Basic\n"

#: ../mkd.c:150
#, c-format
msgid "      -C        C++ style\n"
msgstr "      -C        style C: C, c++, php ...\n"

#: ../mkd.c:151
#, c-format
msgid "      -F        Fortran style\n"
msgstr "      -F        style Fortran\n"

#: ../mkd.c:152
#, c-format
msgid "      -P        Pascal style\n"
msgstr "      -P        style Pascal\n"

#: ../mkd.c:154
#, c-format
msgid "      -S        Shell style\n"
msgstr "      -S        style Shell\n"

#: ../mkd.c:156
#, c-format
msgid "      -a append target file\n"
msgstr "      -a ajoute au fichier cible\n"

#: ../mkd.c:157
#, c-format
msgid "      -f:\n"
msgstr "      -f:\n"

#: ../mkd.c:160
#, c-format
msgid "          find language ( .ASM .BAS .C .FOR .PAS .PRO )\n"
msgstr "          trouve le langage ( .ASM .BAS .C .FOR .PAS .PRO )\n"

#: ../mkd.c:164
#, c-format
msgid "          find language ( .s .S .c .h .i .f .F .r .p .sh .csh )\n"
msgstr "          trouve le langage ( .s .S .c .h .i .f .F .r .p .sh .csh )\n"

#: ../mkd.c:167
#, c-format
msgid "      -j use only with project sources file.\n"
msgstr "      -j précise que le fichier source est un fichier de projet.\n"

#: ../mkd.c:168
#, c-format
msgid "      -l and p;   line:  (compil.: %c or %c in first column or %c in line)\n"
msgstr "      -l et -p:   ligne;  (compil.: %c ou %c en première colonne ou %c dans la ligne)\n"

#: ../mkd.c:169
#, c-format
msgid "                  page:  (compil.: begin with %c and end with %c)\n"
msgstr "                  page:  (compil.: commence avec %c et se termine avec %c)\n"

#: ../mkd.c:170
#, c-format
msgid "      -n insert line number\n"
msgstr "      -n insère un numéro de ligne\n"

#: ../mkd.c:171
#, c-format
msgid "      -s copy and add to screen\n"
msgstr "      -s copie dans le fichier cible et à l'écran\n"

#: ../mkd.c:172
#, c-format
msgid "      -t copy the comment only\n"
msgstr "      -t ne copie que le commentaire\n"

#: ../mkd.c:173
#, c-format
msgid "      -v verbose\n"
msgstr "      -v mode bavard\n"

#: ../mkd.c:174
#, c-format
msgid "      -w overwrite (default option: switch off)\n"
msgstr "      -w écrase le fichier cible (par défaut cette option est invalidée)\n"

#: ../mkd.c:175
#, c-format
msgid " --> char_codes: all ASCII "
msgstr " --> codes: tout caractère ASCII "

#: ../mkd.c:178
#, c-format
msgid "except space:' '  (5 char max)\n"
msgstr "exepté le carctère espace:' '  (5 caractères max)\n"

#: ../mkd.c:179
#, c-format
msgid "                 example codes = UM or *OPTw or *HOS or ** for all\n"
msgstr "                 exemple de codes = UM, ou *OPTw, ou *HOS, ou ** pour tout\n"

#: ../mkd.c:183
#, c-format
msgid " (5 char max)\n"
msgstr " (5 caractères au maximum)\n"

#: ../mkd.c:184
#, c-format
msgid "                 example codes = UM or \\*OPTw or '* HOS' or '**' for all\n"
msgstr "                 exemple de codes = UM,ou \\*OPTw, ou '* HOS', ou '**' pour tout\n"

#: ../mkd.c:187
#, c-format
msgid " --> path_source: source file (option j: if it is a project file) \n"
msgstr " --> chemin_source: fichier source (option -j: si le fichier source est un fichier de projet) \n"

#: ../mkd.c:188
#, c-format
msgid " --> path_target: target file\n"
msgstr " --> chemin_cible: chemin du fichier cible\n"

#: ../mkd.c:191
#, c-format
msgid "Example: mkd -Csnv '*S' file.c \\*.verif_struct\n"
msgstr "Exemple: mkd -Csnv '*S' fichier.c \\*.vérif_structure\n"

#: ../mkd.c:195
#, c-format
msgid "Example: mkd -Cs *Snv file.c *.str\n"
msgstr "Exemple: mkd -Cs *Snv fichier.c *.str\n"

#: ../mkd.c:197
#: ../mkd.c:642
#, c-format
msgid ".Exit 2\n"
msgstr ".Sortie 2\n"

#: ../mkd.c:259
#, c-format
msgid "Syntax error: Too many 'Language' options:\n"
msgstr "Erreur de syntaxe: Trop d'options de 'Langage':\n"

#: ../mkd.c:260
#, c-format
msgid ""
" A or B or C or...please.\n"
".Exit 2\n"
msgstr ""
" A ou B ou C ou...s'il vous plaît.\n"
".Sortie 2\n"

#: ../mkd.c:274
#, c-format
msgid "Options a or w please... "
msgstr "Options -a ou -w s'il vous plaît... "

#: ../mkd.c:286
#, c-format
msgid "Force language comment, style "
msgstr "Force le décodage des commentaires dans le style "

#: ../mkd.c:287
#, c-format
msgid "ASSEMBLER\n"
msgstr "ASSEMBLEUR\n"

#: ../mkd.c:288
#, c-format
msgid "BASIC\n"
msgstr "BASIC\n"

#: ../mkd.c:289
#, c-format
msgid "C\n"
msgstr "C\n"

#: ../mkd.c:290
#, c-format
msgid "FORTRAN\n"
msgstr "FORTRAN\n"

#: ../mkd.c:291
#, c-format
msgid "PASCAL\n"
msgstr "PASCAL\n"

#: ../mkd.c:292
#, c-format
msgid "SHELL\n"
msgstr "SHELL\n"

#: ../mkd.c:295
#, c-format
msgid "Options a=%d f=%d j=%d l=%d n=%d p=%d s=%d t=%d w=%d\n"
msgstr "Options a=%d f=%d j=%d l=%d n=%d p=%d s=%d t=%d w=%d\n"

#: ../mkd.c:343
#: ../mkd.c:428
#, c-format
msgid ""
"Syntax error '*' in path_source.\n"
".Exit 2\n"
msgstr ""
"Erreur de syntaxe '*' dans le chemin_source.\n"
".Sortie 2\n"

#: ../mkd.c:352
#, c-format
msgid ""
"Arg. syntax error '\\:'\n"
".Exit 2 \n"
msgstr ""
"Erreur de syntaxe dans l'argument '\\:'\n"
".Sortie 2 \n"

#: ../mkd.c:381
#, c-format
msgid ""
"Syntax error: path_source, suffixe '.doc'\n"
".Exit 2\n"
msgstr ""
"Erreur de syntaxe dans le chemin_source: suffixe '.doc'\n"
".Sortie 2\n"

#: ../mkd.c:439
#, c-format
msgid ""
"Arg. syntax error '\\:'\n"
".Exit 2\n"
msgstr ""
"Erreur de syntaxe dans la ligne de commande '\\:'\n"
".Sortie 2\n"

#: ../mkd.c:466
#, c-format
msgid ""
"Path_target: syntax error at or near '\\'\n"
".Exit 2\n"
msgstr ""
"Chemin_cible: erreur de syntaxe à ou après '\\'\n"
".Sortie 2\n"

#: ../mkd.c:483
#, c-format
msgid ""
"Path_target: syntax error at or near '/'\n"
".Exit 2\n"
msgstr ""
"Chemin cible: erreur de syntaxe à ou après '/'\n"
".Sortie 2\n"

#: ../mkd.c:533
#: ../mkd.c:578
#, c-format
msgid "Path target: suffixe not determined.\n"
msgstr "Chemin cible: le suffixe est indéterminé.\n"

#: ../mkd.c:605
#, c-format
msgid "Syntax error: (path_source : '%s') == (path_target = '%s')\n"
msgstr "Erreur de syntaxe: (chemin_source : '%s') == (chemin_cible = '%s')\n"

#: ../mkd.c:618
#, c-format
msgid "doc file : '%s' \n"
msgstr "fichier doc : '%s' \n"

#: ../mkd.c:629
#, c-format
msgid ""
"\n"
" OVERWRIT '%s' ...  y?\n"
msgstr ""
"\n"
" ECRASER '%s' ...  y?\n"

#: ../mkd.c:633
#, c-format
msgid ".Exit 1\n"
msgstr ".Sortie 1\n"

#: ../mkd.c:641
#, c-format
msgid "%s is write protected.\n"
msgstr "%s est protégé en écriture.\n"

#: ../mkd.c:660
#, c-format
msgid ""
"fopen file '%s' error for append\n"
".Exit 2\n"
msgstr ""
"erreur d'ouverture du fichier '%s' pour ajouter\n"
".Sortie 2\n"

#: ../mkd.c:674
#, c-format
msgid ""
"fopen file '%s' error for overwrit\n"
".Exit 2\n"
msgstr ""
"erreur d'ouverture du fichier '%s' pour écraser\n"
".Sortie 2\n"

#: ../mkd.c:681
#, c-format
msgid "error option -a or -w not found\n"
msgstr "erreur option -a ou -w pas trouvé\n"

#: ../mkd.c:689
#, c-format
msgid "project file : '%s' \n"
msgstr "fichier de projet : '%s' \n"

#: ../mkd.c:697
#, c-format
msgid ""
"project file '%s' not found\n"
".Exit 2\n"
msgstr ""
"fichier de projet '%s' pas trouvé\n"
".Sortie 2\n"

#: ../mkd.c:715
#, c-format
msgid ""
"\n"
"\n"
"file for doc: '%s'\n"
msgstr ""
"\n"
"\n"
"fichier pour doc: '%s'\n"

#: ../mkd.c:742
#, c-format
msgid "file '%s' not found for read\n"
msgstr "fichier '%s' par trouvé en lecture\n"

#: ../mkd.c:749
#: ../mkd.c:802
#, c-format
msgid ""
"%s\n"
"(file %s :)"
msgstr ""
"%s\n"
"(fichier %s :)"

#: ../mkd.c:750
#: ../mkd.c:803
#, c-format
msgid ""
"\n"
"\n"
"(file %s :)\n"
msgstr ""
"\n"
"\n"
"(fichier %s :)\n"

#: ../mkd.c:751
#: ../mkd.c:804
#, c-format
msgid "Options a=%d f=%d j=%d l=%d n=%d p=%d s=%d t=%d w=%d"
msgstr "Options a=%d f=%d j=%d l=%d n=%d p=%d s=%d t=%d w=%d"

#: ../mkd.c:761
#, c-format
msgid "Error, language not determined !.\n"
msgstr "Erreur. Le language n'a pas été trouvé !.\n"

#: ../mkd.c:765
#: ../mkd.c:775
#, c-format
msgid ""
"Closure error: '%s'\n"
".Exit 2\n"
msgstr ""
"Erreur de fermeture: '%s'\n"
".Sortie 2\n"

#: ../mkd.c:784
#, c-format
msgid ""
"\n"
"\n"
"file for doc: '%s' \n"
msgstr ""
"\n"
"\n"
"fichier pour doc: '%s' \n"

#: ../mkd.c:793
#, c-format
msgid ""
"file '%s' not found for read\n"
".Exit 2\n"
msgstr ""
"fichier '%s' pas trouvé en lecture\n"
".Sortie 2\n"

#: ../mkd.c:816
#, c-format
msgid ""
"Error, programming language not found !.\n"
".Exit 2\n"
msgstr ""
"Erreur. Le langage n'a pas été trouvé !.\n"
".Sortie 2\n"

#: ../mkd.c:822
#, c-format
msgid ""
"Closure error: '%s'\n"
".Exit 2 \n"
msgstr ""
"Erreur de fermeture: '%s'\n"
".Sortie 2 \n"

#: ../mkd.c:830
#, c-format
msgid ""
"Closure '%s' error\n"
".Exit 2\n"
msgstr ""
"Erreur de fermeture '%s'\n"
".Sortie 2\n"

#: ../mkd.c:834
#, c-format
msgid ""
"\n"
"\n"
"DOC %s END\n"
msgstr ""
"\n"
"\n"
"DOC %s FIN\n"

Autres langues[modifier | modifier le wikicode]

Traductions effectuées:

Traductions souhaitées:

  • (italien) mkd_it.po Votre participation est souhaitée.

Notes et références[modifier | modifier le wikicode]

  1. GNU Operating System
  2. gettext pour Windows 32
  3. http://www.poedit.net/download.php
  4. http://www.gnu.org/software/gettext/manual/gettext.html#Creating