{{tag>Xenial tutoriel programmation}}
----
====== Comment internationaliser un logiciel libre? ======
Vous avez créé un logiciel libre et vous souhaitez l'internationaliser? Ce tutoriel décrit les logiciels à installer et la démarche à suivre.
===== Pré-requis =====
  * Avoir créé un logiciel libre.
===== A faire une bonne fois pour toutes =====
Tout d'abord, il vous faudra:
  * créer un compte Launchpad pour votre application (par exemple https://launchpad.net/monappli )
  * traduire en anglais, si ce n'est pas déjà fait, les chaînes de caractères de votre GUI
  * ajouter "gettext-base" comme dépendance de votre application
  * au début de votre application, charger le ou les fichiers de traduction (.mo) via la syntaxe suivante :
# pour du bash, à adapter pour d'autres langages
set -a
source gettext.sh
set +a
export TEXTDOMAIN=nomdelapplication
export TEXTDOMAINDIR="/usr/share/locale"
. /usr/bin/gettext.sh
===== À refaire à chaque fois qu'on ajoute une/plusieurs chaînes à traduire =====
* Dans votre application, utiliser la syntaxe suivante:
# pour du bash, à adapter pour d'autres languages
echo "$(eval_gettext $'Welcome to my first free software')" # par exemple dans fichier1.sh
echo "$(eval_gettext $'Please click here')" # par exemple dans fichier2.sh
  * Fabriquer le fichier de traduction .pot via la commande suivante en lui mettant en argument les fichiers qui contiennent des phrases à traduire:
xgettext --language=Shell --output=nomdelapplication.pot /dossier1/fichier1.sh /dossier2/fichier2.sh
  * Uploader le .pot sur la page "Translations" de votre projet Launchpad (ne pas oublier de valider le .pot)
  * Les traducteurs traduisent
  * Télécharger les .mo depuis Launchpad
  * Placer les .mo dans la source de votre application dans le dossier /usr/share/locale
===== Voir aussi =====
  * [[https://forum.ubuntu-fr.org/viewtopic.php?id=625351|Discussion "Tutoriel pour internationaliser un logiciel libre"]] sur le forum ubuntu-fr
----
//Contributeurs principaux : [[:utilisateurs:YannUbuntu]].//