La traduction de WordPress : partage et automatisation

Il ne serait pas déraisonnable de dire que tous sur le web aimeraient que leurs réalisations soient disponibles dans toutes les langues. Ceci permet d’attirer et informer le plus grand nombre de visiteurs ou de clients. La croissance rapide de la popularité de la plateforme WordPress autour du globe a souligné l’importance d’offrir du contenu traduit, mais aussi le fait que la traduction d’un site web est une tâche monumentale. J’aimerais proposer une solution partielle à ce problème.

Cet article est le premier d’une série de deux et couvre la définition du problème et la proposition de cette solution.

 

Votre site est une cible…

Nous sommes tous dans la mire des pirates. Obtenez une analyse gratuite de votre situation en moins de 5 minutes.

Mise en situation

WordPress est un système de gestion de contenu, (ou « CMS »), un logiciel open source qui permet de construire des sites web rapidement et efficacement. Les pages d’un site web utilisant WordPress peuvent être ajoutées, modifiées, mises à jour sans avoir besoin d’apprendre à faire de la programmation. La plateforme est très populaire et hautement personnalisable : environ 30% des sites web l’utilisent. Par conséquent, des développeurs autour du globe travaillent dans l’environnement WordPress.

 

WordPress en plusieurs langues

Cependant, la popularité et la prévalence de WordPress présentent un certain problème : si la langue du site est différente de la langue de l’extension ou du thème, il est nécessaire d’effectuer la traduction du contenu lors de l’ajout. En plus, le « noyau » de WordPress doit aussi être traduit. Certes, l’équipe de WordPress rend disponible le projet en plusieurs langues, mais ils ne peuvent pas à eux seuls couvrir toutes les langues de la planète. Heureusement, WordPress est très flexible et permet de traduire les extensions ou les thèmes publiquement disponibles sur wordpress.org, ainsi que la plateforme comme telle.

 

Comment fonctionne le système de traduction?

Accéder aux traductions est rendu possible grâce aux fichiers PO. Les fichiers PO sont des fichiers textes qui possèdent une structure particulière et qui contiennent les chaines sources (langue originale) et les chaines de traduction (qui sont vides au moment de la création du fichier). Le format PO permet de traduire le contenu du site sans changer le code. La documentation WordPress explique aux développeurs le processus de création des fichiers PO et aux traducteurs le fonctionnement du format.

N’importe qui peut contribuer. Toutefois, les suggestions de traduction doivent être approuvées par une des personnes qui supervisent les traductions. Cela permet aux communautés de profiter de leurs sites dans leur langue native.

Malheureusement, chaque langue (ou « locale ») possède un nombre différent de contributeurs et les contenus des ajouts ne sont donc pas traduits au même rythme. Une extension pourrait avoir des milliers de chaines à traduire et, pour une petite communauté de contributeurs, la tâche peut sembler insurmontable.

En revanche, la traduction de la même extension à l’aide d’une « locale » interchangeable pourrait être complétée et approuvée rapidement. Par exemple, le cas du Français de France et du Français du Canada. Ce contenu est publiquement disponible et peut être réutilisé.

Naturellement, il faut prendre en considération les différences culturelles entre deux « locales » (« email » et « courriel » entre autres), mais en général leurs contenus sont presque interchangeables. Malheureusement, simplement copier le contenu d’une langue vers une autre n’est pas une démarche viable: des traductions déjà approuvées pourraient exister dans le fichier de notre langue.

 

Et si on automatisait la traduction?

La solution est d’utiliser les traductions existantes d’un locale interchangeable pour la langue à laquelle il manque des traductions. Or, l’approche manuelle n’est pas réaliste non plus : la charge de travail reste énorme et les humains sont enclins à faire des erreurs.

La vraie solution est de créer un outil qui traiterait les fichiers PO et produirait le contenu fusionné de façon automatique. Néanmoins, un tel outil présente plusieurs questions et difficultés conceptuelles à résoudre :

  • Est-ce que l’outil doit soutenir deux langues particulières ou toutes les langues possibles dans le contexte de WordPress (cela serait sûrement apprécié par les différentes communautés)?
  • Si l’outil doit soutenir toutes les langues, il doit aussi prendre en considération les formes plurales de chaque langue. Par exemple, la langue arabe possède six formes plurales. Ainsi, la complexité de l’outil augmente significativement.
  • Est-ce qu’une interface d’utilisateur est nécessaire ou non?
  • Quel langage de programmation faut-il utiliser (en fait, WordPress utilise PHP, il serait probablement une bonne idée de garder le même langage)?
  • Comment faut-il procéder avec les cas comme « courriel » et « email »? Remplacer tout simplement le mot en question, ou le marquer pour la révision? Un ensemble de problèmes contextuels fait surface immédiatement en faisant un simple remplacement. Par exemple, « envoyer l’email » deviendrait « envoyer l’courriel ».

En conclusion

Bref, les difficultés sont nombreuses, mais le concept est attrayant. En fait, un tel outil existe déjà, mais je trouve qu’avant de plonger dans les aspects techniques, il est nécessaire d’expliquer pourquoi l’outil doit exister, quel contexte a amené à sa création et quel impact il pourrait avoir sur les utilisateurs potentiels.

Incidemment, cela souligne la puissance de la programmation : un problème qui se répète et qui, chaque fois, prend des heures et des heures de travail fastidieux, ou (si on dramatise en peu)  « une infinité pénible » pourrait être réglée en une fraction de temps!

 

Définition des termes

  • CMS : « Content Management System », Système de gestion de contenu, qui permet de créer facilement et dynamiquement le contenu d’un site WEB.
  • Fichier PO : Un fichier texte qui contient les chaines de traduction.
  • Localisation (« locale ») : Dans le contexte, un identifiant (ou le code) de la langue (fr-CA, fr, en-US, etc.)
  • Open Source : Un logiciel avec le code source librement accessible, mais le cas d’utilisation pourrait être défini par des lignes directrices.

Articles apparentés

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *