{"id":1131,"date":"2021-06-03T11:11:03","date_gmt":"2021-06-03T09:11:03","guid":{"rendered":"https:\/\/orditux.org\/floss\/?p=1131"},"modified":"2021-06-03T11:11:03","modified_gmt":"2021-06-03T09:11:03","slug":"comment-traduire-une-application","status":"publish","type":"post","link":"https:\/\/orditux.org\/floss\/2021\/06\/03\/comment-traduire-une-application\/","title":{"rendered":"Comment traduire une application"},"content":{"rendered":"<p>Source de l&#8217;article, int\u00e9gralement copi\u00e9:<\/p>\n<p><a href=\"http:\/\/pclinuxos-fr.org\/2011\/01\/15\/howto-translate-ou-comment-traduire-une-application\">http:\/\/pclinuxos-fr.org\/2011\/01\/15\/howto-translate-ou-comment-traduire-une-application<\/a><\/p>\n<p><strong>Ce tutoriel est une traduction de celui r\u00e9dig\u00e9 par Pinoc, sur le forum de PCLinuxOS. Il s&#8217;applique aux paquets RPM, et peut aussi \u00eatre transpos\u00e9 \u00e0 d&#8217;autres formats de paquet, selon votre distribution.<br \/>\n<\/strong><\/p>\n<p>Pinoc commence ainsi:<br \/>\nPeut-\u00eatre pouvons-nous utiliser ce post (<a href=\"http:\/\/www.pclinuxos.com\/forum\/index.php\/topic,57750.0.html\">Howto translate<\/a>) pour recueillir, mettre \u00e0 jour, ou modifier toutes informations utiles n\u00e9cessaires aux traductions.<\/p>\n<p>Plus d\u2019informations sur les commandes ci-dessous peuvent \u00eatre trouv\u00e9es \u00e0 l\u2019aide de la konsole (ou un autre terminal) \u2018man &lt;commande&gt;\u2019 (&lt;o\u00f9 &gt; commande peut \u00eatre tr \/ min, msgfmt, etc) et bien s\u00fbr il y a aussi Google\u2026<\/p>\n<p>Supposons que nous nous penchions sur l\u2019application Synaptic (ceci est aussi vrai pour n\u2019importe quelle autre application) et que nous nous int\u00e9ressions \u00e0 la locale \u00ab\u00a0fr\u00a0\u00bb (o\u00f9 \u00ab\u00a0fr\u00a0\u00bb correspond au fran\u00e7ais tout comme \u00ab\u00a0de\u00a0\u00bb correspond \u00e0 l\u2019allemand et \u00ab\u00a0it\u00a0\u00bb \u00e0 l\u2019italien, etc\u2026 disons g\u00e9n\u00e9riquement \u00ab\u00a0&lt;yy&gt;\u00a0\u00bb). Les informations relatives \u00e0 la langue, \u00e0 l\u2019int\u00e9rieur d\u2019un paquetage rpm, sont contenues dans les fichiers \u00ab\u00a0mo\u00a0\u00bb qui sont habituellement stock\u00e9s sous \/usr\/share\/locale\/&lt;yy&gt;\/LC_MESSAGES\/.<\/p>\n<p>Les fichiers \u00ab\u00a0mo\u00a0\u00bb sont les versions compil\u00e9es des fichiers \u00e9ditables \u00ab\u00a0po\u00a0\u00bb, aussi les fichiers \u00ab\u00a0po\u00a0\u00bb sont ceux o\u00f9 la traduction est en fait r\u00e9alis\u00e9e. Quand vous avez fini de traduire le fichier \u00ab\u00a0po\u00a0\u00bb et que vous l\u2019avez converti en un fichier \u00ab\u00a0mo\u00a0\u00bb, ce fichier \u00ab\u00a0mo\u00a0\u00bb devra \u00eatre propos\u00e9 aux packagers de PCLinuxOS pour \u00eatre inclus dans un paquet rpm lors de sa prochaine mise \u00e0 jour.<\/p>\n<h5>Comment traduire \/ \u00e9diter les fichiers po<\/h5>\n<p>Tout d\u2019abord installez, via Synaptic, l\u2019application \u00ab\u00a0poedit\u00a0\u00bb qui est un excellent outil de traduction.<\/p>\n<p><strong>Lancez Poedit<\/strong>:<\/p>\n<ul>\n<li>Sous \u00ab\u00a0Catalogue\u00a0\u00bb, vous trouvez une entr\u00e9e qui permet de \u00ab\u00a0traduire automatiquement\u00a0\u00bb mais je n\u2019ai jamais essay\u00e9.<\/li>\n<li>Assurez-vous de v\u00e9rifier dans: Catalogue -&gt; Configuration -&gt; Onglet Informations que vous avez sp\u00e9cifi\u00e9 un nom de projet valide et la version, sinon vous ne pouvez pas enregistrer votre travail de traduction.<\/li>\n<li>Veuillez \u00e9galement compl\u00e9ter les autres champs, en particulier \u00ab\u00a0Jeu de carect\u00e8res: iso-8859-15\u00a0\u00bb et \u00ab\u00a0Jeu de caract\u00e8res du code Source: utf-8\u00a0\u00bb.<\/li>\n<\/ul>\n<h5>Comment convertir un fichier \u00ab\u00a0mo\u00a0\u00bb &lt;\u2013&gt; en fichier \u00ab\u00a0po\u00a0\u00bb<\/h5>\n<p>Pour convertir un fichier \u00ab\u00a0mo\u00a0\u00bb en un fichier \u00e9ditable \u00ab\u00a0po\u00a0\u00bb, il suffit d\u2019utiliser la commande suivante:<\/p>\n<pre>msgunfmt synaptic.mo -o synaptic.po<\/pre>\n<p>Et inversement, pour convertir le fichier \u00e9ditable \u00ab\u00a0po\u00a0\u00bb en un fichier \u00ab\u00a0mo\u00a0\u00bb, la commande sera:<\/p>\n<pre>msgfmt synaptic.po -o synaptic.mo<\/pre>\n<h5>liste Howto \/ extraire les fichiers mo<\/h5>\n<p>a) \u00e0 partir d\u2019un paquetage rpm\/deb<\/p>\n<p>Pour voir quels fichiers de langue sont d\u00e9j\u00e0 disponibles \u00e0 l\u2019int\u00e9rieur d\u2019un paquetage rpm, faites la commande suivante\u00a0:<\/p>\n<pre>rpm -qlp &lt;chemin complet vers&gt;\/synaptic-0.57.2-20pclos2007.i586.rpm | grep synaptic.mo<\/pre>\n<p>Ou utilisez la m\u00eame commande sans \u00ab\u00a0| grep synaptic.mo\u00a0\u00bb, simplement pour lister le contenu de l\u2019archive rpm.<\/p>\n<p>D\u2019autres infos utiles peuvent \u00eatre obtenus avec la commande\u00a0:<\/p>\n<pre>rpm -qip &lt;chemin complet vers&gt;\/synaptic-0.57.2-20pclos2007.i586.rpm<\/pre>\n<p>Pour extraire les fichiers d\u2019une archive, copiez l\u2019archive dans un nouveau dossier vide, puis dans ce nouveau dossier, utilisez la commande:<\/p>\n<pre>rpm2cpio synaptic-0.57.2-20pclos2007.i586.rpm | cpio -idmv<\/pre>\n<p>Si vous trouvez quelque chose d\u2019int\u00e9ressant \u00e0 l\u2019int\u00e9rieur d\u2019une archive deb, utilisez la commande:<\/p>\n<pre>xv &lt;quelquechose&gt;.deb<\/pre>\n<p>b) \u00e0 partir de scripts bash<\/p>\n<p>Par exemple \u00e0 partir du script \u00ab\u00a0update-notifier \u00a0\u00bb (remplacer update-notifier par le nom du script que vous voulez traduire), allez dans votre r\u00e9pertoire home (commande: cd ~) et entrez:<\/p>\n<pre>bash --dump-po-strings \/usr\/bin\/update-notifier | xgettext -L PO -o ~\/update-notifier.pot -<\/pre>\n<p>Ensuite, entrez la commande:<\/p>\n<pre>msginit -l fr -i ~\/update-notifier.pot -o ~\/fr.po<\/pre>\n<p>Cet exemple est pour l\u2019extraction des informations en langue fran\u00e7aise (fr), (changez \u00ab\u00a0fr\u00a0\u00bb par le code iso de la locale sur laquelle vous voulez travailler). Informations compl\u00e9mentaires: <a href=\"http:\/\/wooledge.org:8000\/BashFAQ\/098\">Localizing Bash scripts<\/a><\/p>\n<p>Note: vous devez ins\u00e9rer le signe dollar ($) devant chaque entr\u00e9e de texte dans votre script bash pour que la commande \u2018bash \u2013dump-po-strings\u2019, tel ci dessus, reconnaisse la chaine de traduction par exemple\u00a0:<\/p>\n<pre>zenity --error --text=$\"Please run this script as root.\\n\\nExiting...\"<\/pre>\n<h5>Modifier un fichier PO (par exemple pour GetOpenOffice)<\/h5>\n<p>Ouvrez le fichier \u00ab\u00a0po\u00a0\u00bb avec poedit, aller au menu \u00ab\u00a0Catalogue &gt; Param\u00e8tres\u00a0\u00bb, onglet \u00ab\u00a0Info Projet\u00a0\u00bb : dans le champ \u00ab\u00a0Nom du projet et version\u00a0\u00bb ins\u00e9rez: \u00ab\u00a0GetOpenOffice 0.6\u00a0\u00bb, ins\u00e9rez votre langue et le pays et dans la rubrique \u00ab\u00a0charset code source\u00a0\u00bb: utf-8. Vous devez compl\u00e9ter ces champs sinon vous ne pourrez pas enregistrer le fichier modifi\u00e9 !<\/p>\n<h5>Localisation d\u2019infos sur le web<\/h5>\n<p>Traduction : <a href=\"http:\/\/mypclinuxos.com\/forum\/index.php?board=118.0\">mypclinuxos<\/a> , <a href=\"https:\/\/translations.launchpad.net\/\">Ubuntu-Launchpad<\/a>, <a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/3361\">firefox-addon<\/a>, le \u2018KlipOQuery \u2018-panelapplet peut \u00eatre install\u00e9 via Synaptic et transf\u00e9rera le contenu du presse-papier au service de traduction s\u00e9lectionn\u00e9. KDE \/ Gnome: <a href=\"http:\/\/l10n.kde.org\/\">kde-l10n<\/a>, <a href=\"http:\/\/www.gnome.org\/i18n\/\">gnome-i18n<\/a>, <a href=\"http:\/\/developer.kde.org\/documentation\/library\/kdeqt\/kde3arch\/kde-i18n-howto.html\">kde-i18n<\/a>, <a href=\"http:\/\/techbase.kde.org\/Localization\">KDE-Localization<\/a><\/p>\n<p>Locales: <a href=\"http:\/\/wiki.laptop.org\/go\/Locales\">Locales<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/ISO_639\">ISO_639<\/a><\/p>\n<p>Si vous connaissez d\u2019autres outils utiles, des applications, liens, tours de magie, ou que ce soit d\u2019autre, alors s\u2019il vous plait faites le nous savoir afin que nous puissions l\u2019ajouter ici.<\/p>\n<p>En esp\u00e9rant que cela vous aide, bonne chance,<\/p>\n<p>Pinoc<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Source de l&#8217;article, int\u00e9gralement copi\u00e9: http:\/\/pclinuxos-fr.org\/2011\/01\/15\/howto-translate-ou-comment-traduire-une-application Ce tutoriel est une traduction de celui r\u00e9dig\u00e9 par Pinoc, sur le forum de PCLinuxOS. Il s&#8217;applique aux paquets RPM, et peut aussi \u00eatre transpos\u00e9 \u00e0 d&#8217;autres formats de paquet, selon votre distribution. Pinoc commence ainsi: Peut-\u00eatre pouvons-nous utiliser ce post (Howto translate) pour recueillir, mettre \u00e0 jour, ou [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_s2mail":"","footnotes":""},"categories":[7],"tags":[36,33,34,35,32],"class_list":["post-1131","post","type-post","status-publish","format-standard","hentry","category-tutoriels","tag-applications","tag-mo","tag-po","tag-pot","tag-traduire"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/posts\/1131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/comments?post=1131"}],"version-history":[{"count":3,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/posts\/1131\/revisions"}],"predecessor-version":[{"id":1134,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/posts\/1131\/revisions\/1134"}],"wp:attachment":[{"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/media?parent=1131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/categories?post=1131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/tags?post=1131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}