ManuceTraduire un fichierTraduire un site Drupal en anglais à partir du fichier .po

Traduire un site Drupal en anglais à partir du fichier .po

Pour mettre l'interface d'un site Drupal en anglais, on exporte un fichier .po gettext, on le traduit, puis on le réimporte avec le module Interface Translation. Manuce traduit ce fichier et vous rend le même .po, structure intacte, avec les variables Drupal vérifiées chaîne par chaîne et un rapport de ce qui a été laissé tel quel.

Déposer mon fichier Voir les tarifs

Combien ça coûte

Pour les fichiers de langue d'un site Drupal totalisant environ 5 000 mots, vers l’anglais :

Essentiel
29 €

Comprendre, usage interne.

Professionnel
90 €

Prêt à transmettre, par le spécialiste technique.

Premium
175 €

Relecture croisée. Pour ce qui engage.

Prix pour une langue, mise en page d'origine comprise. TVA non applicable, article 293 B du CGI. Le devis exact, calculé sur le nombre de mots de votre fichier, s'affiche avant paiement.

Ce que contient vraiment le fichier .po d'un site Drupal

Drupal stocke les textes de son interface dans des entrées gettext : un msgid (le texte source), un msgstr (sa traduction), parfois un msgctxt qui distingue deux sens d'un même mot, par exemple May le mois et May le verbe. Le module Interface Translation sait exporter et importer ces fichiers.

Particularité propre à Drupal quand la langue cible est l'anglais : le cœur et les modules contribués sont écrits en anglais. Leurs chaînes n'ont pas besoin de vous. Ce qui doit être traduit, ce sont surtout :

  • les chaînes de vos modules et de votre thème sur mesure, écrites en français dans le code, par exemple t('Ajouter au panier') ;
  • les libellés personnalisés que vous avez saisis en français.

Pour que ces chaînes françaises puissent recevoir une traduction anglaise, la langue anglaise doit être traduisible dans votre installation : Drupal propose une option qui autorise la traduction de l'interface vers l'anglais, désactivée par défaut. Vérifiez-la avant d'exporter, sinon le fichier sera vide ou incomplet.

Les contenus (nœuds, termes de taxonomie, menus, blocs) ne passent pas par ce fichier : ils relèvent de Content Translation et de Configuration Translation.

Ce qui change quand l'interface passe à l'anglais

  • Britannique ou américain. Décidez avant de commander : colour ou color, organise ou organize, et surtout le vocabulaire du commerce : « panier » devient basket au Royaume-Uni, cart aux États-Unis. Le cœur de Drupal est en anglais américain ; un site britannique mélangera donc les deux si vous ne surchargez pas certaines chaînes.
  • Ponctuation. Les espaces insécables disparaissent : Nom d'utilisateur : devient Username:. Les guillemets « » deviennent “ ” ou ‘ ’.
  • Majuscules. L'interface anglaise de Drupal suit la casse de phrase : Save configuration, pas Save Configuration. Gardez la même convention pour vos chaînes.
  • Pluriels. L'anglais a deux formes, one et other, comme le français, mais zéro y est pluriel : « 0 commentaire » devient 0 comments. Dans le fichier, msgstr[0] reçoit 1 comment et msgstr[1] reçoit @count comments, avec l'en-tête nplurals=2; plural=(n != 1);.
  • Longueur. Le texte anglais est en général 10 à 15 % plus court : peu de risque pour les boutons, mais l'ordre des mots change. Une phrase découpée en morceaux, comme Publié par suivi du nom puis le suivi de la date, se traduit mal ; une seule chaîne avec variables, Publié par @name le @date, se traduit proprement.

Ce que Manuce rend, et ce qu'il ne fait pas

Vous récupérez le même fichier .po : en-tête, commentaires #: qui indiquent l'origine des chaînes, msgid, msgctxt, ordre des entrées, guillemets, fins de ligne, encodage et BOM sont conservés. Seules les traductions changent.

Chaque valeur traduite est comparée à la source. Les variables Drupal doivent toutes se retrouver à l'identique : @name (texte échappé), %title (texte mis en valeur), :url (adresse), ainsi que !variable dans les fichiers de Drupal 7. Même chose pour les balises, par exemple <a href=":url">. Si l'écart persiste, la valeur source est gardée et le rapport le signale : mieux vaut une chaîne en français qu'un lien cassé.

Ne sont pas traduits : les clés, les valeurs vides, les URL, les adresses email, les nombres, les couleurs, les formats de date, les identifiants et tout ce qui est marqué non traduisible. Le prix porte sur les mots à traduire, clés et balises exclues. Le rapport livré liste les chaînes traduites et celles laissées telles quelles, avec la raison.

Manuce travaille sur le fichier que vous déposez : il n'intervient pas dans votre back-office, ne traduit pas les nœuds absents du fichier et ne règle pas les formats de date du site, à passer en d/m/Y ou m/d/Y selon le public. Manuce ne produit pas non plus de traduction assermentée, ce qui n'a pas d'objet pour une interface. Le niveau Professionnel convient à une interface publique ; Essentiel suffit pour un intranet.

Préparer l'export, vérifier après l'import

Avant l'export :

  • limitez le fichier à ce qui doit l'être, selon les options d'export proposées : inutile de payer la traduction de chaînes déjà en anglais ;
  • parcourez vos modules sur mesure : une chaîne passée à t() avec une variable concaténée, comme t('Bonjour ') . $name, n'apparaîtra pas correctement dans le fichier ; corrigez-la en t('Bonjour @name', ['@name' => $name]) ;
  • fixez par écrit vos choix : britannique ou américain, basket ou cart, log in ou sign in.

Après l'import du fichier traduit :

  • videz les caches de Drupal, sans quoi d'anciennes chaînes restent affichées ;
  • testez les pluriels avec 0, 1 et 2 éléments ;
  • affichez un message contenant %title pour vérifier la mise en valeur ;
  • relisez les chaînes citées dans le rapport comme laissées en français et traitez-les à la main si besoin.

En pratique

  1. Autorisez la traduction de l'interface vers l'anglais et exportez le fichier .po des chaînes à traduire.
  2. Déposez le fichier sur Manuce, choisissez anglais britannique ou américain et lisez l'extrait gratuit.
  3. Récupérez le .po traduit et son rapport dans votre espace client.
  4. Importez le fichier avec Interface Translation, videz les caches et testez pluriels et variables.

Questions fréquentes

Drupal est déjà en anglais : qu'y a-t-il à traduire ?

Le cœur et les modules contribués sont en anglais, mais pas les chaînes que vous avez écrites en français dans vos modules et votre thème. Ce sont elles qu'on exporte dans le fichier .po pour leur donner une traduction anglaise. L'option qui autorise la traduction de l'interface vers l'anglais doit être activée.

Les pages et articles du site sont-ils traduits avec ce fichier ?

Non. Le fichier .po ne contient que l'interface : boutons, messages, libellés. Les nœuds, menus et termes de taxonomie relèvent de Content Translation et de Configuration Translation et ne figurent pas dans cet export.

Que se passe-t-il si une variable comme @count ou :url disparaît ?

Chaque traduction est comparée à la source. Si une variable ou une balise manque et que l'écart persiste, la chaîne source est conservée et le rapport l'indique. Votre site ne reçoit donc pas de lien ou de compteur cassé.

Faut-il choisir entre anglais britannique et américain ?

Oui, et de préférence avant la commande. Cela change l'orthographe (colour, color), certains termes (basket, cart) et le format de date que vous réglerez dans Drupal. Manuce ne modifie pas les formats de date du fichier.

Les fichiers .po de Drupal 7 sont-ils acceptés ?

Le format gettext est le même. Les variables propres à Drupal 7, comme !variable, sont contrôlées comme les autres, et le fichier vous revient avec la même structure.

Le spécialiste qui s’en charge

Ce sujet est confié à Dédale, le spécialiste technique. Voir comment il travaille.

Testez sur votre fichier, gratuitement

Un extrait de votre fichier traduit au niveau choisi, avant tout paiement. Vous jugez, puis vous décidez.

Déposer mon fichier