WP_Lang

Lors de la création d’une extension WordPress, je me suis vite retrouvé confronté au problème de langue. Comment traduire mon extension au moins dans ma langue natale? Il existe bien entendu POedit, un très bon outil, mais sous sa version gratuite, il ne permet pas de scanner un projet WordPress pour en générer le fichier pot. C’est pourquoi j’ai créé ce classeur Excel téléchargeable sur ce site. Il vous permettra de générer automatiquement vos fichiers pot depuis vos différents projets, puis de les traduire et de générer les fichiers po et mo correspondant à chacune des langues.

Le classeur contient deux onglets portant le nom des fichiers à générer.

L’onglet pot

Il se compose de trois zones:

  1. Les actions: Chargement et enregistrement
  2. L’entête du fichier (seule la langue des identifiants est à renseigner manuellement)
  3. Le fichier pot résultant de la lecture du projet

La première chose à faire est de charger le projet. Cliquez sur le bouton « Load project » et sélectionnez le dossier racine de votre projet.

Les fichiers php contenus dans le répertoire sélectionné et ses sous répertoires sont analysés. L’entête est extraite de la zone de commentaire située en entête de votre fichier php principal. Le tableau est rempli à partir des fonction __() et _e() trouvées dans le code.

NB: le domaine utilisé à l’intérieur des fonctions n’est pas vérifié, dans le cas ou le projet affiche des textes d’autres domaines (ex: texte déjà traduit dans WordPress), ces derniers seront également affichés.

Une fois l’onglet po renseigné, cliquez sur le bouton Save pour générer vos fichiers de langue (pot, po et mo).

L’onglet po

Cet onglet représente l’ensemble des fichiers po, un fichier par colonne de langue. La colonne ID (zone 1) est la copie de la colonne ID de l’onglet pot, elle est donc remplie automatiquement. Les colonnes de langues sont automatiquement renseignées si votre projet contenait déjà des fichiers po.

Pour ajouter une langue, il suffit d’ajouter une colonne au tableau, tout simplement en saisissant un nouvel entête de colonne correspondant au code de la langue à traiter.

Le bouton « Translate » (zone 2) vous permet de traduire les cellules vides d’une sélection via Google Traduction. A noter qu’il vous est ici possible de sélectionner des cellules de colonnes différentes, c’est l’entête de colonne qui déterminera la langue de destination. La langue d’origine (langue des ID) est elle saisie dans l’onglet pot.

NB: L’application de Google est limitée en nombre de traductions dans un temps donné, il est donc possible que cette action vous retourne une erreur. Dans ce cas, vous pouvez patienter, changer votre IP publique via un VPN ou passer par le site de Google pour une action manuelle.

Outil de traduction intégré à Excel

Excel intègre également un outil de traduction. Dans la barre « Révision », cliquez sur « Traduire ». Un volet de traduction s’ouvre alors. Cet outil traduit le contenu de la cellule sélectionnée via le système de traduction Microsoft.

Cet outil, très pratique pour faire la vérification des traductions saisies, ne me semble pas adapté pour de la traduction de masse. Il faut choisir les langues source et destination manuellement et sélectionner une à une les cellules à traduire.

Intégration dans le site WordPress.org

Si vous utilisez cet outil, c’est probablement pour publier votre projet sur le site WordPress, sachez alors que ce n’est pas parce que vous publiez de nombreux fichiers po et mo que ces langues seront visibles sur le site. WordPress.org suit un processus de traduction avec des traducteurs (dont vous pouvez faire parti) et des valideurs, c’est la validation de chaque langue qui permettra sa publication.

Alors, à quoi servent tous ces fichiers?

  • Le fichier pot est indispensable lors de la publication pour signaler que votre projet est traduisible. Sans ce fichier, le processus de traduction ne peut pas démarrer.
  • Les fichiers po et mo vous seront utiles pour vos tests
  • WordPress offre également la possibilité d’importer une langue via un fichier po ou mo. Le résultat sera soumis à validation mais c’est tout de même un gain de temps.