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