====== Tutoriel : traduire un programme en python (et glade) ======
__**Références**__ :
* [[http://filyb.info/post/2006/11/02/413-tutoriel-traduire-un-programme-en-python-et-glade]]
* [[http://blog.nicolargo.com/2012/11/internationaliser-ses-programmes-python.html]]
* [[http://docs.python.org/lib/module-gettext.html]]
* [[http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq22.002.htp]]
* [[http://wiki.wxpython.org/index.cgi/Internationalization#fnref-78e6f06d4968df0bd832fc47ee1db0c5c577df1b-2]]
* [[http://www.framasoft.net/article4328.html#comments61327]]
La traduction d'un programme va se dérouler en deux phases.
- la préparation du programme (i18n) : le programme est écrit en anglais et on marque tous les textes et les données spécifiques à l'anglais.
- la traduction et l'adaptation à chaque langue ou pays (l10n).
Les outils utilisés sont :
* outils GNU gettext : **xgettext** et **msgfmt**
* et le module python **gettext**.
===== Internationalisation =====
La première étape consiste à marquer dans les différents modules python les chaînes de caractère à traduire.
Pour cela, on les passe en argument d'une fonction nommée par convention **_** (le caractère de soulignement). Par exemple :
* print "Hello world"
devientprint _("Hello world")