{{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]].//