Comment localiser et traduire un plugin WordPress – un guide détaillé pour les développeurs de plugins

Publié: 2020-01-20

Lors du développement d'un plugin, c'est toujours une bonne idée de le rendre prêt pour la traduction car il pourrait également atteindre des publics qui n'utilisent pas l'anglais comme langue maternelle. Si vous vous demandez quelle est l'importance d'une option de traduction, vous pouvez consulter le référentiel et voir que chaque plugin populaire est disponible pour la localisation de la langue. Vous constaterez que cette option est disponible avec UpdraftPlus, MetaSlider, WP-Optimize, Contact Form 7 et WooCommerce, ainsi que bien d'autres. Ce sont quelques-uns des plugins les plus populaires disponibles et sont codés de manière à permettre à quiconque de les traduire facilement dans leur langue maternelle.

Le but de ce blog est de montrer à nos lecteurs comment ils peuvent coder un plugin afin qu'il soit localisé et traduit dans n'importe quel langage WordPress pris en charge. Par exemple, si nous voulions traduire un plugin en français, les étapes suivantes permettront la traduction du plugin et le rendront également prêt pour toutes les langues WordPress prises en charge.

Commencer

Lors de la création d'un plugin, nous devons nous assurer que nous chargeons le domaine de texte du plugin. WordPress propose cette fonction :

load_plugin_textdomain()

Ce code chargera les chaînes traduites du plugin. Cela peut sembler un peu déroutant, mais continuez à lire et nous vous expliquerons comment cela fonctionne sous peu.

Voyons d'abord comment ajouter cette fonction à notre code de plugin. Dans votre dossier de plugins, créez un répertoire appelé 'languages'. Ensuite, ajoutez le code ci-dessous au fichier principal de votre plugin.

 * Load plugin textdomain. */ function plugin_load_textdomain() { load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' ); } add_action( 'init', 'plugin_load_textdomain' );

Dans le code ci-dessus, nous gardons le premier paramètre (domaine) comme 'udp'. Nous devrions conserver ce nom de domaine selon notre nom de plugin. Le deuxième paramètre est défini par défaut sur false. Le troisième paramètre est le chemin de notre répertoire 'languages'. Ce code garde nos fichiers de traduction prêts lors de l'initialisation de WordPress.

Utilisation des méthodes __() et _e()

Comme nous visons à rendre notre plugin disponible dans toutes les langues, nous devrions envelopper tout le texte de notre plugin à l'intérieur soit :

Fonctions __() ou _e() .

Il est très facile d'utiliser ces méthodes. Les deux méthodes fonctionnent exactement de la même manière, mais il existe une règle pour les utiliser toutes les deux.

Dans notre code de plugin, nous avons normalement deux types de texte. Le premier est directement enveloppé en HTML et le second est affiché à l'aide de la fonction d'écho PHP. Vous trouverez ci-dessous des exemples des deux types :

Type 1

 <h2>My Plugin Title</h2>

Type 2

 <?php echo 'Mes paramètres de plugin' ; ?>

La règle générale est que si vous imprimez du texte à l'aide de PHP echo, vous devez envelopper le texte dans le code suivant :

<code>__()</code>

S'il est en HTML, utilisez le code : <code>_e()</code>.

Le code ci-dessus doit être écrit de la manière suivante :

 <h2><?php _e('Mon titre de plugin', 'udp'); ?></h2>

et

 <?php echo __('Mes paramètres de plugin', 'udp'); ?>

Comme on peut le voir dans les exemples ci-dessus, le deuxième paramètre a été écrit comme 'udp', qui est le domaine de texte de notre plugin. En utilisant ce domaine, cela nous permettra de traduire ultérieurement notre texte dans n'importe quelle langue. C'est ainsi que d'autres plugins préparent la traduction de leurs plugins.

Si vous le souhaitez, vous pouvez consulter notre plugin :

Courant ascendantPlus

Si vous recherchez le domaine de texte 'updraftplus', vous verrez comment le texte de notre plugin est enveloppé dans les fonctions __() et _e() .

Créer un exemple de plugin

L'étape suivante consiste à créer un exemple de plugin avec du texte afin que nous puissions tester nos traductions. Tout d'abord, créez un dossier 'udp' dans votre répertoire de plugins. A l'intérieur de ce dossier créez le fichier : udp.php et le dossier languages ​​. Ensuite, ajoutez le code ci-dessous au fichier du plugin.

udp.php

 <?php
/*
Nom du plug-in : UDP
Description : Ceci est un exemple de plugin pour tester le domaine de texte du plugin
Auteur : équipe éditoriale
Version : 1.0
Licence : GPLv3 ou ultérieure
Domaine de texte : udp
Chemin du domaine : /languages
*/

if (!defined('ABSPATH')) die('Aucun accès direct autorisé');/**
* Charger le domaine de texte du plug-in.
*/
fonction udp_load_textdomain() {
load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' );
}
add_action( 'init', 'udp_load_textdomain' ); 

fonction udp_menu_page() {
add_menu_page(
__( 'Page de configuration UDP', 'udp' ),
__( 'Page de configuration UDP', 'udp' ),
'gérer_options',
'udp_setting_page',
'udp_setting_page',
'',
6
);
}
add_action('admin_menu', 'udp_menu_page');

fonction udp_setting_page() {
?>
<h2><?php _e('Mon titre de plugin', 'udp'); ?></h2>
<?php
}

Créer les fichiers de traduction

Pour générer nos fichiers de traduction, nous utiliserons le logiciel d'édition de traduction suivant :

POEDIT

Les fichiers de traduction (.po et .mo) contiennent la chaîne à traduire et la chaîne traduite. Lors de la création du fichier .po, nous devons l'enregistrer au format '{domain}-language code'. Dans cet exemple, le fichier sera udp-fr_FR.po .

Ensuite, installez le logiciel POEDIT sur votre système. Ce logiciel est disponible pour toutes les plateformes et peut être installé sur Windows, Linux ou Mac.

Une fois installé, ouvrez POEDIT et allez dans File->New , où nous entrerons notre code de langue dans l'invite de la fenêtre.

Cliquez sur l'icône "Enregistrer", après quoi l'explorateur de fichiers s'ouvrira. Rendez-vous dans le répertoire des langues des plugins et enregistrez-le sous le nom suivant : udp-fr_FR.po .

Nous sommes maintenant en mesure d'ajouter la traduction française pour le texte de notre plugin. Pour ce faire, cliquez sur la section 'Extraire des sources'.

Cela ouvrira une fenêtre contextuelle des propriétés du catalogue. Nous devons maintenant configurer les trois onglets suivants : Propriétés de la traduction, Chemins source et Mots clés source. Dans l'onglet Propriétés de traduction, ajoutez notre domaine 'udp' comme nom de projet. Les chemins source seront notre dossier de plug-in et nous ajouterons '__ et _e' dans les mots-clés source.

Si vous avez plusieurs dossiers dans le plugin, nous devrons choisir chaque répertoire individuellement.

Après avoir sélectionné le dossier du plugin, vous devriez voir '.' dans la section Chemins. Répétez le même processus pour les autres dossiers de votre répertoire de plugins si nécessaire.

Sous Mots-clés source, cliquez sur l'icône + et ajoutez '__' et '_e' comme mot-clé et cliquez sur le bouton OK.

Dans la fenêtre suivante, sous Texte source, vous aurez toutes les chaînes disponibles à traduire à partir de votre plugin. Choisissez la chaîne une par une et ajoutez votre traduction française à la chaîne.

Une fois que vous avez ajouté toutes les traductions, cliquez sur l'icône Enregistrer. Cela enregistrera automatiquement toutes vos traductions de chaînes dans votre fichier udp-ft_FR.po . Votre fichier .po contiendra désormais le code suivant :

 # : udp.php:24 udp.php:25
msgstr "Page de configuration UDP"
msgstr "Page de configuration UDP"

# : udp.php:37
msgstr "Mon titre de plugin"
msgstr "Titre de mon plugin"

Testez notre traduction de plugins

Nous avons maintenant terminé la tâche de créer des fichiers .po et .mo pour notre plugin. Il est maintenant temps de tester notre plugin et de vérifier la traduction en français.

Tout d'abord, téléchargez notre fichier de langue à l'adresse suivante :

Référentiel de langage WordPress.

Pour la langue française, le cheminement est le suivant :

Référentiel français de la langue WordPress.fr_FR.mo et fr_FR.po

Téléchargez les fichiers à partir de ce lien et stockez-les dans le répertoire wp-content/languages . Créez le dossier 'languages', s'il n'existe pas déjà.

Ensuite, nous devons changer la langue par défaut de notre installation WordPress. Ouvrez le fichier wp-config.php et ajoutez la langue comme suit :

 définir('WPLANG', 'fr_FR');

Maintenant, si vous allez sur le tableau de bord, votre plugin devrait s'afficher en français.

En conclusion

Créer une traduction localisée pour votre plugin WordPress peut sembler un peu intimidant et compliqué au début. Cependant, les avantages potentiels d'offrir à de grands pays non anglophones comme le Brésil, la France et l'Allemagne votre plugin dans leur langue maternelle peuvent aider à ouvrir votre plugin à un tout nouveau public apprécié. Bien que cela puisse sembler beaucoup de travail, les récompenses pourraient être considérables.

Le post Comment localiser et traduire un plugin WordPress - un guide détaillé pour les développeurs de plugins est apparu en premier sur UpdraftPlus. UpdraftPlus – Plugin de sauvegarde, de restauration et de migration pour WordPress.