{{tag>tutoriel}} ====== 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 **[[apt>Gtranslator]]** ou en ligne de commande :$ sudo apt install Gtranslator * Installez le paquet **[[apt>spellutils]]**$ sudo apt install spellutils * Installez le paquet **[[apt>aspell]]** ou en ligne de commande :$ sudo apt install aspell Pour installer le français, * Allez sur [[https://ftp.gnu.org/gnu/aspell/dict/0index.html]] * 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]] * cliquez sur le lien __Development Resources__ :{{ tutoriel:programmation:internationaliser:traduction-01.png?400 |}} * cliquez sur le lien __Translations__ :{{ tutoriel:programmation:internationaliser:traduction-02.png?400 |}} * cliquez sur le lien de la traduction à travailler :{{ tutoriel:programmation:internationaliser:traduction-03.png?400 |}} * un clic droit sur le bouton du fichier po :{{ tutoriel:programmation:internationaliser:traduction-04.png?400 |}} * choisissez Enregistrer la cible du lien sous et enregistrez le fichier po dans un répertoire de travail. ===== Autres étapes ===== ==== Démarrage ==== Ouvrez le fichier ***.po** dans **Gtranslator** : {{ tutoriel:programmation:internationaliser:traduction-05.png?400 |}} ==== 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 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 ===== * **(fr)** [[https://traduc.org/L%27adaptation_des_logiciels/Exemple%20d%27utilisation%20de%20Gettext]] * 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]] * [[https://www.commentcamarche.net/faq/6326-traduire-un-logiciel-open-source-poedit]] ---- //Basé sur << [[http://|Article]] >> par Auteur.//