↑ 
↑ 
Internationalisation des messages.
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 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.
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:
Pour plus de détails voyez gettext
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.
"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:
Fichier Pot (Potfile).
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: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "mkd PC version, Release %s, USAGE:\n"
msgstr ""
msgid "syntax: mkd [-ABCFPSafjlnpstvw] char_codes path_source [path_target]\n"
msgstr ""
msgid " or: mkd ? .See also mkd.doc or manual."
msgstr ""
msgid "mkd UNIX version, Release %s, USAGE:\n"
msgstr ""
msgid " or: mkd \\? .See also nanual: 'man mkd'"
msgstr ""
msgid " --> options:\n"
msgstr ""
msgid " -A decode Assembler comment style only\n"
msgstr ""
msgid " -B Basic style\n"
msgstr ""
msgid " -C C++ style\n"
msgstr ""
msgid " -F Fortran style\n"
msgstr ""
msgid " -P Pascal style\n"
msgstr ""
msgid " -S Shell style\n"
msgstr ""
msgid " -a append target file\n"
msgstr ""
msgid " -f:\n"
msgstr ""
msgid " find language ( .ASM .BAS .C .FOR .PAS .PRO )\n"
msgstr ""
msgid " find language ( .s .S .c .h .i .f .F .r .p .sh .csh )\n"
msgstr ""
msgid " -j use only with project sources file.\n"
msgstr ""
msgid ""
" -l and p; line: (compil.: %c or %c in first column or %c in line)\n"
msgstr ""
msgid " page: (compil.: begin with %c and end with %c)\n"
msgstr ""
msgid " -n insert line number\n"
msgstr ""
msgid " -s copy and add to screen\n"
msgstr ""
msgid " -t copy the comment only\n"
msgstr ""
msgid " -v verbose\n"
msgstr ""
msgid " -w overwrite (default option: switch off)\n"
msgstr ""
msgid " --> char_codes: all ASCII "
msgstr ""
msgid "except space:' ' (5 char max)\n"
msgstr ""
msgid " example codes = UM or *OPTw or *HOS or ** for all\n"
msgstr ""
msgid " (5 char max)\n"
msgstr ""
msgid ""
" example codes = UM or \\*OPTw or '* HOS' or '**' for all\n"
msgstr ""
msgid " --> path_source: source file (option j: if it is a project file) \n"
msgstr ""
msgid " --> path_target: target file\n"
msgstr ""
msgid "Example: mkd -Csnv '*S' file.c \\*.verif_struct\n"
msgstr ""
msgid "Example: mkd -Cs *Snv file.c *.str\n"
msgstr ""
msgid ".Exit 2\n"
msgstr ""
msgid "Syntax error: Too many 'Language' options:\n"
msgstr ""
msgid ""
" A or B or C or...please.\n"
".Exit 2\n"
msgstr ""
msgid "Options a or w please... "
msgstr ""
msgid "Force language comment, style "
msgstr ""
msgid "ASSEMBLER\n"
msgstr ""
msgid "BASIC\n"
msgstr ""
msgid "C\n"
msgstr ""
msgid "FORTRAN\n"
msgstr ""
msgid "PASCAL\n"
msgstr ""
msgid "SHELL\n"
msgstr ""
msgid "Options a=%d f=%d j=%d l=%d n=%d p=%d s=%d t=%d w=%d\n"
msgstr ""
msgid ""
"Syntax error '*' in path_source.\n"
".Exit 2\n"
msgstr ""
msgid ""
"Arg. syntax error '\\:'\n"
".Exit 2 \n"
msgstr ""
msgid ""
"Syntax error: path_source, suffixe '.doc'\n"
".Exit 2\n"
msgstr ""
msgid ""
"Arg. syntax error '\\:'\n"
".Exit 2\n"
msgstr ""
msgid ""
"Path_target: syntax error at or near '\\'\n"
".Exit 2\n"
msgstr ""
msgid ""
"Path_target: syntax error at or near '/'\n"
".Exit 2\n"
msgstr ""
msgid "Path target: suffixe not determined.\n"
msgstr ""
msgid "Syntax error: (path_source : '%s') == (path_target = '%s')\n"
msgstr ""
msgid "doc file : '%s' \n"
msgstr ""
msgid ""
"\n"
" OVERWRIT '%s' ... y?\n"
msgstr ""
msgid ".Exit 1\n"
msgstr ""
msgid "%s is write protected.\n"
msgstr ""
msgid ""
"fopen file '%s' error for append\n"
".Exit 2\n"
msgstr ""
msgid ""
"fopen file '%s' error for overwrit\n"
".Exit 2\n"
msgstr ""
msgid "error option -a or -w not found\n"
msgstr ""
msgid "project file : '%s' \n"
msgstr ""
msgid ""
"project file '%s' not found\n"
".Exit 2\n"
msgstr ""
msgid ""
"\n"
"\n"
"file for doc: '%s'\n"
msgstr ""
msgid "file '%s' not found for read\n"
msgstr ""
msgid ""
"%s\n"
"(file %s :)"
msgstr ""
msgid ""
"\n"
"\n"
"(file %s :)\n"
msgstr ""
msgid "Options a=%d f=%d j=%d l=%d n=%d p=%d s=%d t=%d w=%d"
msgstr ""
msgid "Error, language not determined !.\n"
msgstr ""
msgid ""
"Closure error: '%s'\n"
".Exit 2\n"
msgstr ""
msgid ""
"\n"
"\n"
"file for doc: '%s' \n"
msgstr ""
msgid ""
"file '%s' not found for read\n"
".Exit 2\n"
msgstr ""
msgid ""
"Error, programming language not found !.\n"
".Exit 2\n"
msgstr ""
msgid ""
"Closure error: '%s'\n"
".Exit 2 \n"
msgstr ""
msgid ""
"Closure '%s' error\n"
".Exit 2\n"
msgstr ""
msgid ""
"\n"
"\n"
"DOC %s END\n"
msgstr ""
Exemple de traduction en français.
 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.
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"
msgid "mkd PC version, Release %s, USAGE:\n"
msgstr "mkd version PC, mise à jour %s, USAGE:\n"
msgid "syntax: mkd [-ABCFPSafjlnpstvw] char_codes path_source [path_target]\n"
msgstr "syntaxe: mkd [-ABCFPSafjlnpstvw] codes chemin_source [chemin_cible]\n"
msgid " or: mkd ? .See also mkd.doc or manual."
msgstr " ou: mkd ? .Voir aussi mkd.doc ou le manuel."
msgid "mkd UNIX version, Release %s, USAGE:\n"
msgstr "mkd version UNIX, mise à jour %s, USAGE:\n"
msgid " or: mkd \\? .See also nanual: 'man mkd'"
msgstr " ou: mkd \\? .Voir aussi le manuel: 'man mkd'"
msgid " --> options:\n"
msgstr " --> options:\n"
msgid " -A decode Assembler comment style only\n"
msgstr " -A décode uniquement les commentaires de style Assembleur\n"
msgid " -B Basic style\n"
msgstr " -B style Basic\n"
msgid " -C C++ style\n"
msgstr " -C style C: C, c++, php ...\n"
msgid " -F Fortran style\n"
msgstr " -F style Fortran\n"
msgid " -P Pascal style\n"
msgstr " -P style Pascal\n"
msgid " -S Shell style\n"
msgstr " -S style Shell\n"
msgid " -a append target file\n"
msgstr " -a ajoute au fichier cible\n"
msgid " -f:\n"
msgstr " -f:\n"
msgid " find language ( .ASM .BAS .C .FOR .PAS .PRO )\n"
msgstr " trouve le langage ( .ASM .BAS .C .FOR .PAS .PRO )\n"
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"
msgid " -j use only with project sources file.\n"
msgstr " -j précise que le fichier source est un fichier de projet.\n"
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"
msgid " page: (compil.: begin with %c and end with %c)\n"
msgstr " page: (compil.: commence avec %c et se termine avec %c)\n"
msgid " -n insert line number\n"
msgstr " -n insère un numéro de ligne\n"
msgid " -s copy and add to screen\n"
msgstr " -s copie dans le fichier cible et à l'écran\n"
msgid " -t copy the comment only\n"
msgstr " -t ne copie que le commentaire\n"
msgid " -v verbose\n"
msgstr " -v mode bavard\n"
msgid " -w overwrite (default option: switch off)\n"
msgstr " -w écrase le fichier cible (par défaut cette option est invalidée)\n"
msgid " --> char_codes: all ASCII "
msgstr " --> codes: tout caractère ASCII "
msgid "except space:' ' (5 char max)\n"
msgstr "exeptÃ© le carctère espace:' ' (5 caractères max)\n"
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"
msgid " (5 char max)\n"
msgstr " (5 caractères au maximum)\n"
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"
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"
msgid " --> path_target: target file\n"
msgstr " --> chemin_cible: chemin du fichier cible\n"
msgid "Example: mkd -Csnv '*S' file.c \\*.verif_struct\n"
msgstr "Exemple: mkd -Csnv '*S' fichier.c \\*.vérif_structure\n"
msgid "Example: mkd -Cs *Snv file.c *.str\n"
msgstr "Exemple: mkd -Cs *Snv fichier.c *.str\n"
msgid ".Exit 2\n"
msgstr ".Sortie 2\n"
msgid "Syntax error: Too many 'Language' options:\n"
msgstr "Erreur de syntaxe: Trop d'options de 'Langage':\n"
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"
msgid "Options a or w please... "
msgstr "Options -a ou -w s'il vous plaît... "
msgid "Force language comment, style "
msgstr "Force le décodage des commentaires dans le style "
msgid "ASSEMBLER\n"
msgstr "ASSEMBLEUR\n"
msgid "BASIC\n"
msgstr "BASIC\n"
msgid "C\n"
msgstr "C\n"
msgid "FORTRAN\n"
msgstr "FORTRAN\n"
msgid "PASCAL\n"
msgstr "PASCAL\n"
msgid "SHELL\n"
msgstr "SHELL\n"
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"
msgid ""
"Syntax error '*' in path_source.\n"
".Exit 2\n"
msgstr ""
"Erreur de syntaxe '*' dans le chemin_source.\n"
".Sortie 2\n"
msgid ""
"Arg. syntax error '\\:'\n"
".Exit 2 \n"
msgstr ""
"Erreur de syntaxe dans l'argument '\\:'\n"
".Sortie 2 \n"
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"
msgid ""
"Arg. syntax error '\\:'\n"
".Exit 2\n"
msgstr ""
"Erreur de syntaxe dans la ligne de commande '\\:'\n"
".Sortie 2\n"
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"
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"
msgid "Path target: suffixe not determined.\n"
msgstr "Chemin cible: le suffixe est indéterminé.\n"
msgid "Syntax error: (path_source : '%s') == (path_target = '%s')\n"
msgstr "Erreur de syntaxe: (chemin_source : '%s') == (chemin_cible = '%s')\n"
msgid "doc file : '%s' \n"
msgstr "fichier doc : '%s' \n"
msgid ""
"\n"
" OVERWRIT '%s' ... y?\n"
msgstr ""
"\n"
" ECRASER '%s' ... y?\n"
msgid ".Exit 1\n"
msgstr ".Sortie 1\n"
msgid "%s is write protected.\n"
msgstr "%s est protégé en écriture.\n"
msgid ""
"fopen file '%s' error for append\n"
".Exit 2\n"
msgstr ""
"erreur d'ouverture du fichier '%s' pour ajouter\n"
".Sortie 2\n"
msgid ""
"fopen file '%s' error for overwrit\n"
".Exit 2\n"
msgstr ""
"erreur d'ouverture du fichier '%s' pour écraser\n"
".Sortie 2\n"
msgid "error option -a or -w not found\n"
msgstr "erreur option -a ou -w pas trouvé\n"
msgid "project file : '%s' \n"
msgstr "fichier de projet : '%s' \n"
msgid ""
"project file '%s' not found\n"
".Exit 2\n"
msgstr ""
"fichier de projet '%s' pas trouvé\n"
".Sortie 2\n"
msgid ""
"\n"
"\n"
"file for doc: '%s'\n"
msgstr ""
"\n"
"\n"
"fichier pour doc: '%s'\n"
msgid "file '%s' not found for read\n"
msgstr "fichier '%s' par trouvé en lecture\n"
msgid ""
"%s\n"
"(file %s :)"
msgstr ""
"%s\n"
"(fichier %s :)"
msgid ""
"\n"
"\n"
"(file %s :)\n"
msgstr ""
"\n"
"\n"
"(fichier %s :)\n"
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"
msgid "Error, language not determined !.\n"
msgstr "Erreur. Le language n'a pas été trouvé !.\n"
msgid ""
"Closure error: '%s'\n"
".Exit 2\n"
msgstr ""
"Erreur de fermeture: '%s'\n"
".Sortie 2\n"
msgid ""
"\n"
"\n"
"file for doc: '%s' \n"
msgstr ""
"\n"
"\n"
"fichier pour doc: '%s' \n"
msgid ""
"file '%s' not found for read\n"
".Exit 2\n"
msgstr ""
"fichier '%s' pas trouvé en lecture\n"
".Sortie 2\n"
msgid ""
"Error, programming language not found !.\n"
".Exit 2\n"
msgstr ""
"Erreur. Le langage n'a pas été trouvé !.\n"
".Sortie 2\n"
msgid ""
"Closure error: '%s'\n"
".Exit 2 \n"
msgstr ""
"Erreur de fermeture: '%s'\n"
".Sortie 2 \n"
msgid ""
"Closure '%s' error\n"
".Exit 2\n"
msgstr ""
"Erreur de fermeture '%s'\n"
".Sortie 2\n"
msgid ""
"\n"
"\n"
"DOC %s END\n"
msgstr ""
"\n"
"\n"
"DOC %s FIN\n"
Autres langues.
Traductions effectuées:
Traductions souhaitées: