<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Iptima &#187; I18n</title>
	<atom:link href="http://www.iptima.com/tag/i18n/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iptima.com</link>
	<description>... Miscellanées multimedia ®</description>
	<lastBuildDate>Sun, 02 Oct 2011 17:52:06 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Convertir un fichier .mo en fichier .po</title>
		<link>http://www.iptima.com/2007/11/19/convertir-en-fichier-mo-en-fichier-po/</link>
		<comments>http://www.iptima.com/2007/11/19/convertir-en-fichier-mo-en-fichier-po/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 15:57:55 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[Conception]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[I18n]]></category>
		<category><![CDATA[internationalisation]]></category>
		<category><![CDATA[Poedit]]></category>

		<guid isPermaLink="false">http://www.iptima.com/2007/11/19/convertir-en-fichier-mo-en-fichier-po/</guid>
		<description><![CDATA[Imaginons que vous téléchargiez un plugiciel internationalisé pour WordPress. Une version française existe, mais vous souhaiteriez améliorer son orthographe et sa syntaxe&#8230; Or, le traducteur, qui a disparu dans les arcanes de WordPress, n&#8217;a laissé en téléchargement que l&#8217;indispensable fichier &#8230; <a href="http://www.iptima.com/2007/11/19/convertir-en-fichier-mo-en-fichier-po/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Imaginons que vous téléchargiez un plugiciel internationalisé pour <em>WordPress</em>. Une version française existe, mais vous souhaiteriez améliorer son orthographe et sa syntaxe&#8230; Or, le traducteur, qui a disparu dans les arcanes de <em>WordPress</em>, n&#8217;a laissé en téléchargement que l&#8217;indispensable fichier <em>.mo</em>. Bref, <em>.po</em> est perdu. Comment retrouver un fichier <em>.po</em> afin d&#8217;affiner la traduction ?</p>
<p>Une solution simple, mais fastidieuse, consiste à recommencer l&#8217;ensemble du travail, en regénérant un fichier <em>.pot</em>, <em>et cetera</em> ! comme nous l&#8217;avons détaillé dans notre <a target="_blank" title="lire notre article sur l'utilisation des fichiers .pot, .po et .mo (s'ouvre dans une nouvelle fenêtre)" href="http://www.iptima.com/2007/08/21/utiliser-les-fichiers-pot-po-mo/">article</a>.</p>
<p>Une autre solution, plus subtile, passe par la conversion du fameux fichier <em>.mo</em> en fichier <em>.po</em>.  Certes, l&#8217;opération est complexe <em>mutatis mutandis</em>, car il n&#8217;existe à notre connaissance aucun logiciel qui automatise le processus. Pourtant, le jeu peut en valoir la chandelle, si le module d&#8217;extension compte&#8230; 500 chaînes de caractères !</p>
<p>Attention, les explications suivantes ne s&#8217;appliquent qu&#8217;aux utilisateurs de Windows® ! <a target="_blank" title="aller sur le site de PoEdit (s'ouvre dans une nouvelle fenêtre)"  href="http://www.poedit.net">PoEdit</a> doit être installé au préalable.</p>
<p>En premier lieu, on clique sur <em>Démarrer</em> puis sur <em>Exécuter&#8230;</em>. Dans la fenêtre de dialogue qui s&#8217;est ouverte, on tape <em>cmd</em> avant de valider. Une fenêtre <em>Ms-Dos</em> s&#8217;ouvre avec l&#8217;invite de commande, comme :</p>
<p class="left"><code>C:&#62;WINDOWS\Documents and Settings\Gaston&#62;</code></p>
<p>Cette première opération permet de voir le répertoire le répertoire par défaut (<em>Ms-Dos</em> permet de naviguer dans les répertoires, mais nous ne voulons pas nous éloigner de cet article délibérément simple.)</p>
<p>Dans le répertoire par défaut (ici, <em>Documents and Settings\Gaston</em>), nous allons placer le contenu du répertoire <em>bin</em> de <em>PoEdit</em>. Nous allons également déposer notre fichier <em>.mo</em> à convertir.</p>
<p>À présent, retournons dans <em>Ms-Dos</em> et tapons la commande : </p>
<p class="left"><code>msgunfmt file.mo &#62; file.po</code></p>
<p>Désormais, il ne reste plus qu&#8217;à déplacer les fichiers <em>.mo</em> et <em>.po</em> dans le dossier du plugiciel. Avant d&#8217;affiner la traduction, il convient de prendre la précaution de générer un fichier <em>.pot</em>, comme nous l&#8217;avons expliqué dans notre <a target="_blank" title="lire notre article sur l'utilisation des fichiers .pot, .po et .mo (s'ouvre dans une nouvelle fenêtre)" href="http://www.iptima.com/2007/08/21/utiliser-les-fichiers-pot-po-mo/">article</a>, afin de travailler sur des sources à jour.</p>
<p>Naturellement, cette astuce n&#8217;est pas spécifique à  <em>WordPress</em>, et peut être utilisée et adaptée dans d&#8217;autres applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2007/11/19/convertir-en-fichier-mo-en-fichier-po/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Utiliser les fichiers .pot, .po, .mo</title>
		<link>http://www.iptima.com/2007/08/21/utiliser-les-fichiers-pot-po-mo/</link>
		<comments>http://www.iptima.com/2007/08/21/utiliser-les-fichiers-pot-po-mo/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 07:39:29 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[I18n]]></category>
		<category><![CDATA[internationalisation]]></category>
		<category><![CDATA[Poedit]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=44</guid>
		<description><![CDATA[Nous avons voulu installer un Plugin et, comme la traduction ne nous convenait pas parfaitement, nous avons voulu y remédier. Hélas, nous nous sommes aperçu qu&#8217;un dysfonctionnement dans le programme l&#8217;empêchait de fonctionner normalement. Nous avons prévenu l&#8217;auteur du plugiciel &#8230; <a href="http://www.iptima.com/2007/08/21/utiliser-les-fichiers-pot-po-mo/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Nous avons voulu installer un <em>Plugin</em> et, comme la traduction ne nous convenait pas parfaitement, nous avons voulu y remédier. Hélas, nous nous sommes aperçu qu&#8217;un dysfonctionnement dans le programme l&#8217;empêchait de fonctionner normalement. Nous avons prévenu l&#8217;auteur du plugiciel mais, impatient, nous avons voulu résoudre l&#8217;erreur seul. Après rectification du code <abbr title="pre-hypertext processing">Php</abbr>, nous nous sommes plongé dans les fichiers <em>.pot</em>, <em>.po</em> et <em>.mo</em> avec perplexité.</p>
<p><span id="more-44"></span></p>
<p>Les sites, qui décrivent l&#8217;utilisation de ces fichiers de langue, sont légion : on se reportera utilement aux sites d&#8217;<a href="http://www.herewithme.fr/2007/07/28/explications-sur-linternationalisation-de-wordpress-et-crer-un-fichier-po-avec-poedit.html" target="_blank" title="aller sur le site d'Amaury (s'ouvre dans une nouvelle fenêtre)">Amaury</a> ou de <a href="http://liseweb.fr/BLOG/?page_id=160" target="_blank" title="aller sur le site de Lise (s'ouvre dans une nouvelle fenêtre)">Lise</a>, et nous n&#8217;y reviendrons pas. Dans la langue de Shakespeare, on lira avec profit l&#8217;<a href="http://codex.wordpress.org/User:Nbachiyski/I18n_for_WordPress_Developers" target="_blank" title="aller sur le site du Codex">article</a> du Codex <em>WordPress</em>.</p>
<p>À ce propos, et pour l&#8217;anecdote, on emploie souvent le terme <em>I18n</em>, car il y a dix-huit lettres entre le <em>i</em> et le <em>n</em> du mot <em>internationalisation</em> en anglais.</p>
<p>En revanche, nous allons exposer notre expérience sur la manipulation de ces fichiers. Puisse ma petite expérience être utile à certains lecteurs ; que les autres me corrigent, si je me trompe !</p>
<p>À titre d&#8217;exemple, nous allons prendre un module d&#8217;extension fonctionnant en anglais devant être francisé.</p>
<p>Si l&#8217;auteur a prévu une internationalisation, le <em>Plugin</em> possède un répertoire <em>lang</em>, qui comprend d&#8217;origine un fichier intitulé <em>defaut.po</em> et un fichier intitulé <em>defaut.mo.</em> Le nom <em>defaut</em> correspond à l&#8217;anglais. Pour que la langue française soit prise en compte lors de l&#8217;activation du plugiciel, il doit comporter la mention <em>fr_FR</em>. C&#8217;est, pensons-nous, une convention <em>WordPress</em>.</p>
<p>En fait, le <em>Plugin</em> utilise uniquement le fichier <em>.mo</em> pour afficher le texte. En d&#8217;autres termes, <em>.mo</em> représente la couche application du modèle <em>Osi</em>. Plus prosaïquement, il faut retenir qu&#8217;une application peut très bien fonctionner sans le fichier <em>.po</em>.</p>
<p>Pour employer une comparaison photographique et argentique (!), <em>.po</em> est le négatif, <em>.mo</em> est le positif.</p>
<p>Pour autant, ce fichier <em>.po</em> est utile en vue d&#8217;être traduit. En effet, le logiciel <a  href="http://www.poedit.net" target="_blank" title="aller sur le site de PoEdit (s'ouvre dans une nouvelle fenêtre)">PoEdit</a> permet d&#8217;effectuer cette opération : il affiche ligne par ligne les libellés de texte, et on indique l&#8217;équivalent en français de la chaîne de caractères. On enregistre ensuite sous <em>fr_FR</em>, et le tour est joué ! <em>PoEdit</em> a enregistré deux fichiers : <em>.po</em> et <em>.mo</em>.</p>
<p>Attention, à l&#8217;emplacement du fichier <em>.mo</em> ! Selon l&#8217;écriture du <em>Plugin</em>, il peut ne pas trouver sa place dans le répertoire <em>lang</em> mais dans la racine. À cet effet, il suffit de regarder où se situe le fichier <em>defaut.mo</em> et de mettre son fichier <em>fr_FR</em> au même endroit.</p>
<p>Jusque là, c&#8217;est d&#8217;une simplicité biblique !</p>
<p>Or, notre simple travail de traduction s&#8217;est compliqué. En effet, j&#8217;ai découvert que le fichier <em>.po</em> d&#8217;origine comportait une erreur : une chaîne de caractères ne s&#8217;affichait pas, et le fichier <em>.po</em> en anglais ne la connaissait donc pas. Aussi nous fallait-il générer un fichier <em>.pot</em>.</p>
<p>Pour reprendre la métaphore, si les fichiers <em>.po</em> et <em>.mo</em> sont respectivement le négatif et le positif d&#8217;une photo, le fichier <em>.pot</em> est la pellicule.</p>
<p>Autrement dit, un fichier <em>.pot</em> permet de générer un fichier <em>.po</em> qui, lui, saura créer un fichier <em>.mo</em>.</p>
<p>Le logiciel <em>PoEdit</em> permet de reconstruire un fichier <em>.pot</em> à partir d&#8217;un fichier <em>.po</em>.</p>
<p>À cet effet, il convient de créer un nouveau catalogue. L&#8217;opération, fastidieuse, est longuement décrite par <a href="http://www.herewithme.fr/2007/07/28/explications-sur-linternationalisation-de-wordpress-et-crer-un-fichier-po-avec-poedit.html" target="_blank" title="aller sur le site d'Amaury (s'ouvre dans une nouvelle fenêtre)">Amaury</a>. L&#8217;indication du chemin (menu <em>Path</em>) doit être correcte, sinon <em>PoEdit</em> ne parcourera pas les fichiers du plugiciel concerné. On peut aussi inscrire un point (<em>.</em>) dans l&#8217;indication du chemin pour rendre le fichier portable. Si les instructions sont correctes, <em>PoEdit</em> va analyser le contenu du répertoire et en extraire les chaînes de caractères.</p>
<p><em>PoEdit</em> va parcourir le code du <em>Plugin</em> <em>exemple</em>, qui est sous la forme&#8230; </p>
<p class="left"<code>&#60;?php _e(&#8216;No posts found. Try a different search?&#8217;,'exemple&#8217;); ?&#62;</code></p>
<p>... et stocker la chaîne de caractères... </p>
<p class="left"><code>'No posts found. Try a different search?'</code></p>
<p>Lorsque le message est passé à une fonction <abbr title="pre-hypertext processing">Php</abbr>, la syntaxe est différente :</p>
<p class="left"><code>&#60;?php posts_nav_link(&#34; | &#34;,&#34;&#60;span&#62;(__('&#171; Previous Entries','exemple'))&#60;/span&#62;&#34; ?&#62;</code></p>
<p>À ce stade, il faut enregistrer le fichier au format <em>.pot</em> en ajoutant après <em>Nom du fichier</em> l'extension <em>.pot</em> et en sélectionnant <em>All Files</em> dans <em>Type</em>. Ensuite, on enregistre ce fichier au format <em>.po</em>, et l'on peut travailler, par exemple, à sa traduction.</p>
<p>Si les sources du <em>Plugin</em> doivent être modifiées, il faut rouvrir le fichier <em>.pot</em> et dans le menu <em>Catalog</em> cliquer sur <em>Update from sources...</em>.</p>
<p>Au cours de la traduction, le fond de certains champs peut être coloré en jaune par <em>PoEdit</em>, c'est-à-dire <em>Fuzzy</em> (<em>incohérent</em>). L'indication apparaît aussi dans la barre d'état du logiciel. Dans ce cas, la méthode la plus simple consiste à effacer (une partie de) l'entrée traduite et à recommencer.</p>
<p>Une solution alternative, mais sans doute peu orthodoxe (!), consiste à ouvrir le fichier <em>.po</em> comme un fichier <em>plat</em> puis à supprimer manuellement la mention <em>fuzzy</em>. De même, pour remplacer plusieurs occurrences, il est peut sembler plus ergonomique de travailler avec un éditeur de texte, sans oublier de rouvrir le fichier avec <em>PoEdit</em> pour qu'il applique sa <em>moulinette</em>.</p>
<p><strong>&#60;addendum&#62;</strong></p>
<p><em>02/08/2008.</em></p>
<p>Dans certains programmes, l'auteur peut prévoir la distinction entre singulier et pluriel. Dans ce cas, le fichier original se présente ainsi :</p>
<p class="left"><code>&#60;?php printf(__ngettext('&#60;strong&#62;&raquo;&#60;/strong&#62; &#60;strong&#62;%s&#60;/strong&#62; vote is casted by guests', '&#60;strong&#62;&raquo;&#60;/strong&#62; &#60;strong&#62;%s&#60;/strong&#62; votes are casted by guests', number_format_i18n(), 'wp-polls'), number_format_i18n()); ?&#62;</code></p>
<p>Le fichier <em>plat</em> de traduction présente les chaînes de caractères sous la forme :</p>
<p class="left"><code>msgid "&#60;strong&#62;&raquo;&#60;/strong&#62; &#60;strong&#62;%s&#60;/strong&#62; vote is casted by guests"<br />msgid_plural "&#60;strong&#62;&raquo;&#60;/strong&#62; &#60;strong&#62;%s&#60;/strong&#62; votes are casted by guests"<br />msgstr[0] "&#60;strong&#62;&raquo;&#60;/strong&#62; &#60;strong&#62;%s&#60;/strong&#62; vote a été reçu d'invité"<br />msgstr[1] "&#60;strong&#62;&raquo;&#60;/strong&#62; &#60;strong&#62;%s&#60;/strong&#62; votes ont été reçu d'invités"</code></p>
<p><strong>&#60;/addendum&#62;</strong></p>
<p>Enfin, il ne faut pas omettre de provoquer le chargement du fichier de langue dans la page, par exemple pour un thème dans <em>header.php</em>. Pour un plugiciel, faute de disposer d'une explication de l'auteur, son architecture permettra de savoir où placer le fichier <em>.mo</em>.</p>
<p>Au hasard des téléchargements de modules d'extension, on peut se retrouver face à une page présentant les fichiers linguistiques, par exemple sur le <em>WordPress Plugin Repository</em>. Si le téléchargement d'un fichier <em>.mo</em> est automatique puisqu'il n'est pas reconnu, le contenu du fichier <em>.po</em> s'ouvre dans l'éditeur de texte par défaut :  il convient d'aller à la fin de la page pour le télécharger au format <abbr title="pre-hypertext processing">Php</abbr>. Nous préférons donner ici la précision, car nous avons été perplexe au premier essai.</p>
<p>Une <a href="http://www.commentcamarche.net/faq/sujet-6326-traduire-un-logiciel-open-source-poedit" target="_blank" title="consulter l'article sur la traduction d'un logiciel avec PoEdit (s'ouvre dans une nouvelle fenêtre)">explication</a> différente mais complète sur l'utilisation de <em>PoEdit</em> pour traduire un logiciel est disponible sur le site <em>Comment Ça Marche</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2007/08/21/utiliser-les-fichiers-pot-po-mo/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

