La fonction `` gettext est conçu pour permettre la traduction du système d'exploitation GNU / Linux. C'est précisément pour cette raison est 100% compatible avec un large éventail de langages de programmation et de script: C, C + +, C #, Bash, Python, GNU clsip, Emacs Lisp, GNU Smalltalk, Java, GNU awk, Pascal, wxWidgets, YCP , Tcl, PHP, Pike, et d'autres.

Tout d'abord, nous allons voir comment vous utilisez `` gettext dans le code source. Les méthodes d'exécution varient selon le langage de programmation utilisé pour le projet, mais la syntaxe est presque toujours la même, au moins pour les langages de programmation le plus répandu: la fonction simplement entoure la chaîne de message à traduire. Il convient de noter que presque toujours utiliser la forme abrégée, qui est simplement un trait de soulignement. De cette façon, le code suivant dans C:

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

devient:

printf(_("My name is %s\n"), mio_nome);

Ensuite, la commande xgettext code pour filtrer la fonction de recherche gettext vient de fournir, pour créer le fichier de modèle. Pot sur la base de chaînes de caractères extraites de la source. Un exemple de fichier. Pot d'un code contenant les lignes ci-dessus est:

#: include/myname.php:36
msgid "My name is %s\n"
msgstr ""

Pour commencer la traduction est utilisée dans le logiciel `` msginit. Abordant le fichier. Msginit à «po», vous pouvez créer un nouveau fichier contenant le squelette de la nouvelle. Po dans la langue cible. Par exemple, pour traduire le fichier en italien en_EN.po est suffisant pour exécuter la commande suivante:

msginit-locale = fr_FR-input = en_EN.po

Le logiciel crée le fichier it_IT.po, dont le contenu sera similaire à la suivante:

#: include/myname.php:36
msgid "My name is %s\n"
msgstr "My name is %s\n"

À ce moment, le traducteur ne doit pas faire est de traduire la chaîne msgstr ci-dessous. La traduction peut être fait avec un éditeur de la ligne de commande, ou en utilisant des programs poEdit. Le résultat ressemble à ce qui suit:

#: include/myname.php:36
msgid "My name is %s\n"
msgstr "Mi chiamo %s\n"

Une fois la traduction des fichiers. Po devraient être compilées dans le fichier binaire. Mo par l'intermédiaire du `` msgfmt:

msgfmt it_IT.po

Partager:
  • del.icio.us
  • Google
  • Digg
  • Facebook
  • Technorati
  • YahooMyWeb
  • MySpace