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
- Discussion "Tutoriel pour internationaliser un logiciel libre" sur le forum ubuntu-fr
Contributeurs principaux : YannUbuntu.