Table des matières
Traduction de programmes avec des fichiers *.po (internationalisation)
Les fichiers de traduction utilisent des fichiers *.po ou *.mo.
Il suffit donc de récupérer le fichier original et de l'éditer.
Pré-requis
- Installez le paquet Gtranslator ou en ligne de commande :
$ sudo apt install Gtranslator
- Installez le paquet spellutils
$ sudo apt install spellutils
- Installez le paquet aspell ou en ligne de commande :
$ sudo apt install aspell
Pour installer le français,
- Téléchargez et décompressez le dictionnaire français dans un répertoire de travail
- Si Aspell et Pspell sont installés et que aspell, word-list-compress et pspell-config sont dans le path, commencez par :
$ ./configure Finding Dictionary file location ... /usr/lib/aspell Finding Data file location ... /usr/lib/aspell
- Construisez le paquet avec:
$ sudo make
- installez-le avec :
$ sudo make install
- Pour nettoyer après la construction :
$ sudo make clean
- Pour désinstaller les fichiers :
$ sudo make uninstall
Une fois les listes de mots installées, vous pouvez exécuter aspell avec l'option –language-tag=fr. Vous pouvez aussi choisir le dictionnaire l'option -d ou –master d'Aspell.
Vous pouvez choisir un des dictionnaires suivants :
- fr_CH-40
- fr_CH-60
- fr_CH-80
- fr_FR-40
- fr_FR-60
- fr_FR-80
Première étape : charger le fichier *.po ou *.pot fourni par le programmeur
*.po est le fichier en cours de traduction, *.pot est un modèle vide à remplir.
Par exemple, pour gnome-recipes :
- allez sur la page gnome de gnome-recipes https://wiki.gnome.org/Apps/Recipes
- choisissez Enregistrer la cible du lien sous et enregistrez le fichier po dans un répertoire de travail.
Autres étapes
Démarrage
Traduire
Traduisez les phrases.
Attention : Cette traduction automatique peut être assez approximative ! D'ailleurs, le résultat est marqué comme tel, sur fond jaune ! Il convient donc de tout vérifier ! Démonstration :
list -> liste add gallery -> Ajouter une langue Directory to scan -> répondre à ce commentaire * 1e ligne : Traduction correcte : Faites <Alt+U> ou allez dans "Edition/La traduction est approximative" pour valider. La traduction est désormais sur fond blanc. * 2e ligne : Traduction partiellement correcte : Il faut corriger dans la partie dédiée en bas et à gauche. * 3e ligne : Traduction totalement fantaisiste à modifier entièrement.
Quelques astuces :
- Sur fond bleu : à traduire entièrement
- Sur fond jaune : traduction à vérifier
- Sur fond blanc : traduction validée
Tout n'est pas à traduire ! Certaines parties contiennent des variables de programmation à respecter !
- Les variables sont précédées du signe “%” qui doit être maintenu. Ainsi &Update #1%s sera traduit par &Mettre à &jour #1%s.
- Le caractère “&” est utilisé pour indiquer le soulignement du caractère qui suit immédiatement. Ainsi &Fichier donnera Fichier. (Pour rappel, un tel soulignement d'une lettre indique le raccourci clavier à utiliser avec la touche ALT.)
Pour sauvegarder, passez par “enregistrer sous” en nommant votre fichier fr_FR.po.
Vous pouvez faire également des copies de sécurité pour reprendre votre travail en cas de corruption du fichier *.po.
Vérifier l'orthographe du fichier .po
Le paquet spellutils contient un outil appelé pospell qui permet de vérifier l'orthographe d'un fichier .po, en utilisant un correcteur orthographique tel que aspell :
$ pospell -n logiciel.po -p aspell check %f
Valider un fichier .po
La commande msgfmt du paquet gettext produit une version binaire *.mo du fichier *.po, utilisable pour traduire le logiciel, mais aussi valide son format :
$ msgfmt -c -o logiciel.mo logiciel.po
Mettre en place la localisation
C'est un fichier *.mo qui assure la localisation qui est généralement enregistré dans :
/usr/share/locale/fr/LC_MESSAGES/nom_de_logiciel.mo
ou
/usr/share/locale/fr_FR/LC_MESSAGES/nom_de_logiciel.mo
$ sudo cp nom_de_logiciel.mo /usr/share/locale/fr_FR/LC-MESSAGES/nom_de_logiciel.mo
Lancez ou relancez l'application pour vérifier le résultat.
Conclusion
Problèmes connus
Voir aussi
- Traduire un logiciel open-source (poEdit) : https://www.commentcamarche.net/faq/6326-traduire-un-logiciel-open-source-poedit
- comment traduire un logiciel open source mais a partir de zero quand il est encore monolanguage :https://openclassrooms.com/forum/sujet/comment-traduire-un-logiciel-open-source-23537
Basé sur « Article » par Auteur.