Comment traduire automatiquement les plugins et les thèmes WordPress avec Google Translate

Publié: 2019-07-31

Nous avons tous entendu la statistique selon laquelle WordPress alimente désormais plus de 33 % des sites Web, mais comment pouvez-vous vous assurer que votre plugin ou votre thème peut être utilisé aussi largement que possible au sein de l'écosystème ?

Étonnamment, moins de la moitié de tous les sites WordPress ont leurs paramètres régionaux en anglais ! Si vous n'avez pas encore configuré les traductions, cela signifie que plus de 50 % de vos clients potentiels ne peuvent probablement pas travailler avec votre produit dans la langue qu'ils comprennent le mieux.

Statistiques locales de WordPress.org

L'un des meilleurs moyens d'ouvrir votre produit au monde consiste à créer des traductions de haute qualité de tous les textes destinés à l'utilisateur, mais le problème est que la traduction prend beaucoup de temps (plus vous avez de texte dans votre produit, plus il y a de chaînes traduire). La traduction nécessite également la maîtrise de différentes langues, la connaissance de la gestion des fichiers MO et PO et, dans l'ensemble, beaucoup d'efforts.

Je m'appelle Diego Imbriani et je suis développeur de plugins depuis 2011. Je vends mes plugins via ma société GreenTreeLabs et mes produits sont actuellement actifs sur environ 70 000 sites Web dans le monde.

Heureusement, j'ai trouvé un moyen d'alléger l'ensemble du processus de traduction et de rendre la traduction des plugins et des thèmes beaucoup plus facile.

Introduction

J'ai récemment voulu ajouter une traduction italienne à l'un de mes plugins : Final Tiles Gallery pour WordPress, j'ai donc ouvert le fichier PO du plugin, qui contient toutes les chaînes traduisibles, et j'ai commencé à traduire mon plugin ligne par ligne.

Fichier PO italien de Final Tiles Gallery

Un extrait du fichier PO italien de Final Tiles Gallery

Le fichier PO de Final Tiles Gallery compte environ 350 entrées et les traduire toutes nécessite environ 2 heures et – honnêtement – ​​je ne trouve pas ce travail très attrayant. En fouillant dans les traductions, je me suis demandé s'il existait un moyen de traduire automatiquement mon fichier PO…

J'ai décidé d'expérimenter un peu l'API Google Translate et j'ai réussi à coder un script pour accomplir cette tâche exacte ! Ci-dessous, je vais vous guider étape par étape, en vous montrant comment vous pouvez utiliser le script que j'ai créé pour traduire automatiquement vos plugins ou thèmes WordPress.

WordPress et les langues

Je dois admettre que je n'ai jamais été très inquiet à propos de la traduction de mes plugins. Je suis italien, mais j'ai toujours utilisé des programmes et des systèmes d'exploitation en anglais. C'est "bizarre" d'utiliser n'importe quel type d'interface utilisateur qui n'est pas en anglais. Peut-être que c'est juste moi

WordPress est utilisé par des millions de personnes de toutes origines, langues et cultures - du monde entier. Nous ne pouvons tout simplement pas ignorer la traduction de nos plugins et thèmes.

WordPress est utilisé par des millions de personnes de toutes origines, langues et cultures - de n'importe quelle partie du monde. Nous ne pouvons tout simplement pas ignorer la traduction de nos plugins et thèmes.Tweet

Je vends mes plugins en utilisant Freemius, qui a un tableau de bord astucieux avec des analyses et des statistiques extrêmement utiles. Il y a quelques jours, j'ai jeté un coup d'œil au tableau "Top 10 Languages" que vous trouvez dans leur Developer Dashboard , et bien que je sache que de nombreux sites sur lesquels Final Tiles Gallery est installé ne sont pas en anglais, j'ai été très surpris de constatez que sur un échantillon d'environ 25 000 installations, moins de 50% des sites web sont en anglais ! Voici l'aperçu :

Nombre total d'installations par pays

Comme vous pouvez le constater, le français, l'allemand et le russe représentent un pourcentage important d'utilisateurs avec près de 20 % au total.

Avantages de la traduction d'un plugin ou d'un thème

Pour les entreprises de plugins ou de thèmes WordPress, traduire nos produits est également une opportunité marketing pour de nombreuses raisons :

Public plus large

Tous les utilisateurs de WordPress ne sont pas disposés à installer un plugin qui n'a pas de traduction dans leur langue. Cela pourrait être pour de nombreuses raisons, mais principalement parce qu'ils ne comprennent probablement pas l'anglais.

Dans d'autres cas, les utilisateurs peuvent comprendre l'anglais, mais préfèrent simplement leur propre langue. Ainsi, étant donné le choix entre deux plugins similaires, ces clients choisiraient celui dans leur langue, même si l'autre plugin était un peu meilleur.

Cela peut aussi être lié à des raisons culturelles. A titre d'exemple, pour des raisons historiques, en particulier l'ancienne génération de Français n'aime pas la langue anglaise. Si vous recherchez sur Google "pourquoi les français détestent l'anglais", vous trouverez des dizaines d'articles sur le sujet. De plus, seulement environ 40% des Français parlent réellement la langue. Ainsi, si votre produit n'est pas traduit en français, vous perdez immédiatement 60 % de la part de marché de WordPress en français. Et s'il existe une alternative française à votre produit, vous les perdez probablement toutes, ou du moins la grande majorité. Des analyses similaires sont pertinentes pour de nombreux pays asiatiques comme le Japon qui ne sont pas encore « américanisés ».

Référencement WordPress.org

Vova Feldman, PDG de Freemius, a écrit un peu sur les avantages de la traduction pour le référencement sur le référentiel WordPress.org, mais on ne saurait trop le souligner. Le fait est que l'algorithme de recherche sur le référentiel est très sensible à l'utilisation de différentes langues dans votre fichier readme.txt.

Concentrer vos efforts de traduction non seulement sur vos chaînes de produits, mais également sur votre fichier readme.txt peut aggraver votre portée marketing sur le référentiel. Alors que la plupart des utilisateurs recherchent en anglais, il est clair, sur la base des statistiques locales de WordPress.org mentionnées ci-dessus, que de nombreux utilisateurs ne recherchent pas en anglais et n'ont donc qu'un accès limité à de nombreux plugins et thèmes disponibles pour ceux-ci. qui comprennent l'anglais.

L'algorithme donne des résultats différents en fonction des paramètres régionaux d'une installation WordPress donnée - la traduction de votre produit surmonte cet obstacle à l'exposition à des utilisateurs que vous ne pourriez normalement jamais atteindre.

Vova l'a très bien dit lorsqu'il a dit : "En bout de ligne, les traductions sont maintenant plus importantes que jamais !" – et c'est toujours vrai plus d'un an après.

Réputation

La traduction de votre plugin ou de votre thème a des implications psychologiques positives pour votre client. Un plugin ou un thème qui propose des traductions dans la langue de vos clients peut être perçu comme un produit de meilleure qualité. Cela signifie que le développeur a investi du temps sur plus que de simples problèmes techniques. Les clients reconnaîtront cette valeur et, espérons-le, verront la qualité de votre produit d'une manière différente.

Un plugin ou un thème qui propose une traduction dans votre propre langue peut être perçu comme un produit de haute qualité. Cela signifie que le développeur a pris soin de passer du temps sur plus que de simples problèmes techniques.Tweet

Contributeurs

L'ajout de traductions à votre plugin ou à votre thème peut créer un effet d'entraînement sur les traducteurs volontaires sur le référentiel WordPress.org si vous proposez un plugin ou un thème gratuit. Un plugin qui n'a même que quelques langues traduites est perçu comme étant beaucoup plus populaire qu'un plugin sans aucune traduction, de sorte que les bénévoles peuvent être plus enclins à contribuer.

Statistiques de traduction pour le plugin Gutenberg

Liste de quelques statistiques de traduction pour le plugin Gutenberg

Maintenant que nous comprenons les avantages de la traduction de nos produits, la question suivante est : combien de langues devons-nous prendre en charge ?

Choix des langues prises en charge

Commençons par dire qu'il n'y a pas de limite au nombre de langues que vous pouvez prendre en charge. Mais, nous devons considérer quelques éléments avant de simplement traduire votre plugin ou votre thème en chacun d'eux.

Le problème est que si vous traduisez toutes les langues à l'aide de Google Translate, il y aura inévitablement des traductions incorrectes. Le problème qui en résulte est que vous pouvez obtenir des commentaires des utilisateurs sur des traductions incorrectes dans votre plugin ou votre thème.

Afin de résoudre ce problème, je suggère de commencer par les langues les plus populaires, et ce type de données peut être obtenu à partir de 3 endroits. Le premier est le tableau de bord du développeur Freemius, comme mentionné ci-dessus. Si vous n'utilisez pas Freemius, une autre option utile est la page de statistiques de WordPress.org qui affiche les paramètres régionaux WordPress les plus populaires. Une autre option solide serait de consulter les statistiques de Google Analytics pour le site Web de votre produit.

Abonnez-vous et obtenez une copie gratuite de notre

Livre d'affaires du plugin WordPress

Exactement comment créer une entreprise prospère de plugins WordPress dans l'économie des abonnements.

Partager avec un ami

Saisissez l'adresse e-mail de votre ami. Nous leur enverrons seulement ce livre par e-mail, l'honneur du scout.

Merci pour le partage

Génial - une copie de 'The WordPress Plugin Business Book' vient d'être envoyée à . Vous voulez nous aider à faire passer le mot encore plus ? Allez-y, partagez le livre avec vos amis et collègues.

Merci pour votre subscription!

- nous venons d'envoyer votre copie de 'The WordPress Plugin Business Book' à .

Vous avez une faute de frappe dans votre e-mail ? cliquez ici pour modifier l'adresse e-mail et envoyer à nouveau.

Couverture du livre
Couverture du livre

Partout où les chiffres indiquent, vous pouvez choisir d'aller avec les langues qui ont le plus grand public. Si vous proposez d'abord quelques traductions à ces publics, vous pouvez demander à certains de vos clients ou collègues de réviser les traductions avant de les rendre publiques, afin de ne pas être submergé par les commentaires des clients concernant des problèmes de traduction mineurs. Fiverr a également des tonnes de professionnels qui peuvent vous aider à confirmer vos traductions. Vous pouvez réduire davantage votre charge de support en ajoutant une notification dans les paramètres WP Admin de votre plugin ou thème pour informer les utilisateurs de suggérer des mises à jour de traduction sur le référentiel WordPress.org au lieu de soumettre un support. billet.

Suivre ce processus étape par étape pour chaque langue est une manière logique de procéder afin que vous puissiez obtenir des traductions de haute qualité et éviter que votre file d'attente d'assistance ne déborde de tonnes de petits tickets.

Utilisation de l'API Google Translate pour traduire votre plugin/thème

Google Cloud fournit une API pour que vous puissiez utiliser Traduction en tant que service.

Tarification de l'API Google Traduction

La version 3 de l'API est gratuite jusqu'à 500 000 caractères par mois, et 20 $ par million de caractères si vous dépassez le quota. Vous pouvez lire les détails des prix ici.

Tarification de l'API de traduction

Tarification de l'API Google Traduction (mai 2019)

Une note rapide - internationalisée

Tous les plugins doivent être internationalisés avant d'être localisés . Un bon point de départ est le guide WordPress.org I18n pour les développeurs WordPress qui explique les étapes. Une fois que vous avez créé vos fichiers .pot/.po, vous pouvez poursuivre le processus de script ci-dessous.

Tous les plugins doivent être internationalisés avant d'être localisés. Un bon point de départ est le guide WordPress.org I18n pour les développeurs WordPress qui explique les étapes.Tweet

Scriptons !

Avant de pouvoir exécuter le script, nous devons créer un nouveau projet dans la console Google Cloud. Si vous avez besoin d'aide pour cette tâche, consultez ce guide ou suivez ces étapes :

  1. Accédez à https://console.developers.google.com et connectez-vous.
  2. Cliquez sur "Aucune organisation" ou sélectionnez votre organisation préférée (nous supposons que vous n'en avez pas) :

Organisation Google Cloud Select

3. Cliquez sur "Nouveau projet":

Nouveau projet Google Cloud

4. Entrez un nom de projet et cliquez sur "Créer":

Nouveau projet Google Cloud

5. Vous devriez maintenant être redirigé vers le tableau de bord de la console. Cliquez sur "Activer les API et les services":

Tableau de bord Google Cloud Console

6. Recherchez l'« API Cloud Translation » :

Bibliothèque d'API Google Cloud

7. Cliquez sur "Activer":

Activer l'API Cloud Translation

Maintenant que nous avons un projet, nous devons configurer un compte de service pour autoriser nos requêtes aux API Google. Vous pouvez suivre les étapes 1 et 2 de ce guide à partir de la plate-forme Google Cloud, sinon procédez comme suit :

  1. Allez dans la section "Comptes de service" du menu principal : "IAM & Admin":

GIA et administration Google Cloud

2. Cliquez sur "Créer un compte de service":

Créer un compte de service Google Cloud

3. Entrez un nom et une description pour le compte de service et cliquez sur "Créer":

4. Cliquez sur "Continuer" pour ignorer la sélection du rôle car nous n'en avons pas besoin :

Création d'un compte de service Google Cloud

5. Cliquez maintenant sur "Créer une clé" puis cliquez sur "Créer", assurez-vous d'avoir sélectionné le format JSON :

Activation de la clé de création de compte de service Google Cloud

6. Après avoir créé la clé, le navigateur la téléchargera automatiquement. Rappelez-vous le dossier dans lequel vous allez enregistrer le fichier car nous en aurons besoin plus tard.

Tout est maintenant prêt, mais avant d'exécuter le script, assurez-vous d'avoir défini la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS comme décrit dans le guide :

Exemple : Linux ou macOS

Remplacez [PATH] par le chemin d'accès au fichier JSON contenant la clé de votre compte de service.

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

Par exemple:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

Exemple : Windows :

Remplacez [PATH] par le chemin d'accès au fichier JSON contenant la clé de votre compte de service et [FILE_NAME] par le nom du fichier.

Avec PowerShell :

$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

Par exemple:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"

Avec l'invite de commande :

set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

Maintenant que nous en avons fini avec les trucs ennuyeux, nous pouvons commencer à traduire !

  1. Cloner le dépôt depuis https://github.com/GreenTreeLabs/po-gtranslator
    1. Ouvrez votre ligne de commande et exécutez la commande suivante :
    2. Clone Git https://github.com/GreenTreeLabs/po-gtranslator.git
    3. Si vous n'avez pas installé git, vous pouvez le télécharger ici.
  2. Entrez dans le répertoire po-translator :

cd po-gtranslator

  1. Installez les dépendances :

npm install

  1. Si vous n'avez pas l'utilitaire npm, assurez-vous d'installer Node.js à partir d'ici.
  2. Exécutez le script avec tous les paramètres nécessaires :

node po-gtranslator.js --project_id=final-tiles-gallery --po_source=it.po --po_dest=it_IT.po --mo=it.mo --lang=it

Examinons chaque paramètre :

--project_id : ID de votre projet Google, vous pouvez l'obtenir depuis Google Cloud Console

--po_source : chemin du fichier PO vide que vous souhaitez traduire

--po_dest : chemin du fichier PO avec les traductions

--mo : chemin du fichier MO

--lang : code de la langue vers laquelle vous voulez traduire

Notez que le fichier PO source ne sera pas traduit et qu'il peut être utilisé pour générer autant de langues que nécessaire. Le fichier PO que vous devez ajouter à votre plugin ou thème est celui que vous transmettez comme –po_dest, qui est unique pour chaque langue.

La traduction automatique en action !
po-gtranslator.js en action !

Merci d'avoir écrit avec moi !

Ce fut une expérience d'apprentissage amusante pour moi de comprendre ce processus, et j'espère que cela vous aidera dans vos efforts de traduction. Contactez-moi @GreenTreeLabs ou commentez ci-dessous pour toute question ou commentaire.