Recherche des traductions manquantes dans votre thème ou extension WordPress

Si certaines parties de votre thème ou extension apparaissent non traduites après avoir utilisé PTC, utilisez ce guide pour vérifier si la chaîne fait partie de votre projet et si WordPress charge le fichier correct.

Vérifiez si la chaîne est disponible dans PTC

Depuis le tableau de bord PTC, accédez à l’onglet Traductions et recherchez la chaîne d’origine. Si vous ne la voyez pas, PTC ne l’a pas reçue. Cela signifie généralement l’une des choses suivantes :

  • La chaîne est manquante dans votre fichier POT

Si votre POT n’inclut pas toutes les chaînes traduisibles, recréez-le en utilisant WP-CLI. Ensuite, suivez les étapes de notre guide d’internationalisation des thèmes et plugins WordPress depuis le début.

  • Le texte n’est pas inclus dans une fonction GetText

Assurez-vous que tout le texte traduisible est encapsulé dans __() ou _e() et utilise le domaine de texte correct.

Exemple :

__('Hello, world!', 'your-plugin');

Pour plus de détails, consultez l’étape 2 de notre guide de traduction des thèmes et extensions WordPress.

  • Les chaînes JavaScript n’ont pas été marquées comme traduisibles

Si votre extension inclut du texte traduisible en JavaScript :

  1. Accédez à PTC → Paramètres et cliquez sur Fichiers surveillés. Modifiez le fichier de ressources concerné et activez « S’agit-il d’un projet WordPress avec JavaScript localisable ? »
Indiquer à PTC que votre produit inclut du texte traduisible en Javascript

Cela indique à PTC d’analyser les fichiers JavaScript à la recherche de chaînes traduisibles. Il régénérera les traductions et créera une nouvelle demande de fusion avec les fichiers mis à jour.

  1. Assurez-vous que WordPress sait où charger les fichiers de traduction .json créés par PTC.

Si les fichiers .json sont placés dans le répertoire /languages/ de votre thème ou extension, appelez wp_set_script_translations() avec le chemin correct.

Pour les extensions :

wp_set_script_translations( 'script-handle', 'text-domain', plugin_dir_path( __FILE__ ) . 'languages' );

Pour les thèmes :

wp_set_script_translations( 'script-handle', 'text-domain', get_template_directory() . '/languages' );

Cela indique explicitement à WordPress de charger les fichiers .json depuis le dossier de votre thème ou extension.

Confirmez que WordPress charge vos fichiers de traduction

Si votre chaîne traduite apparaît dans PTC mais ne s’affiche pas dans votre plugin ou thème, WordPress ne charge peut-être pas le bon fichier .mo.

  1. Vérifiez que votre domaine de texte est chargé

Si votre projet utilise plusieurs domaines de texte ou des plugins intégrés, assurez-vous que chacun d’eux est correctement chargé en utilisant load_plugin_textdomain() ou load_theme_textdomain().

Chaque domaine de texte doit correspondre à celui utilisé dans les noms de vos fichiers de traduction et dans votre export PTC.

  1. Prevent Community Translations from Overriding Your MO Files

Par défaut, WordPress donne la priorité aux fichiers de traduction stockés dans /wp-content/languages/.
Si votre plugin ou thème dispose de traductions fournies par la communauté sur WordPress.org, ces fichiers peuvent remplacer les fichiers .mo fournis avec votre projet.

Pour éviter que cela se produise, ajoutez un petit extrait de code indiquant à WordPress d’utiliser vos fichiers de traduction.

Assurez-vous que la convention de nommage des fichiers MO correspond aux attentes de WordPress

WordPress s’attend à différentes conventions de nommage pour les fichiers .mo selon l’endroit où vous les stockez.

  • Si vos fichiers de traduction se trouvent dans le dossier de votre thème, utilisez :

{locale}.mo
Exemple
: de_DE.mo (associé à de_DE.po)

  • Si vous avez placé les fichiers dans le répertoire global des langues de WordPress (wp-content/languages/themes/), utilisez :

{text-domain}-{locale}.mo
Exemple
: my-theme-de_DE.mo (associé à my-theme-de_DE.po)

Faire défiler vers le haut