@wordpress/i18n

Définition : @wordpress/i18n est le paquet JavaScript de localisation WordPress. Il fournit des fonctions de traduction et de formatage afin que les interfaces côté navigateur puissent afficher des messages adaptés à la langue.

Comprendre et utiliser

À quoi sert ce terme ?

Il permet à une interface de bloc ou d’administration d’éviter les chaînes écrites en dur dans une seule langue. Les traductions s’appuient sur des catalogues gérés par les outils WordPress.

Fonctionnement technique

Le paquet expose notamment __(), _x(), _n() et sprintf(). Les textes utilisent un domaine de traduction cohérent avec les fichiers de langues et le processus d’extraction.

Dans quels contextes l’utiliser ?

À utiliser dans les blocs personnalisés et les écrans JavaScript d’extensions destinées à un public multilingue. L’intégration PHP est distincte et emploie les fonctions de localisation du serveur.

Cas concret : ATOOLPHA

ATOOLPHA souhaite afficher « Enregistrer » dans un panneau de l’éditeur en suivant les traductions disponibles.

Exemple de code commenté

Extrait JavaScript destiné à un fichier de ressources enregistré avec ses dépendances dans WordPress ; pas à coller dans le contenu public.

// Dans un module ou fichier JS construit avec les outils WordPress.
import { __ } from '@wordpress/i18n';

const button = document.querySelector('[data-atoolpha-save]');
if (button) {
  button.textContent = __('Enregistrer', 'atoolpha');
}

Décryptage de l’exemple

La fonction __() demande la traduction de la chaîne dans le domaine atoolpha. Le texte est placé via textContent, ce qui évite de l’interpréter comme du HTML.

Résultat attendu

Le bouton reçoit le texte localisé si le catalogue nécessaire est disponible ; sinon la chaîne d’origine reste utilisable.

Exercice pratique et vérification

Créer une traduction de test pour un libellé puis changer la langue de l’interface d’administration et comparer le rendu.

Précautions et limites

Ne pas construire les phrases traduisibles par concaténation de fragments arbitraires. Maintenir un domaine unique et extraire correctement les messages du code.

À ne pas confondre

@wordpress/i18n traduit côté JavaScript ; __() PHP fournit une fonction homonyme mais intégrée à un environnement d’exécution distinct.

Diagnostic avancé

Si la traduction fonctionne en PHP mais pas dans le bloc, vérifier les catalogues JavaScript et wp_set_script_translations().

Choix d’architecture et déploiement

Le travail multilingue exige des messages entiers et contextualisés ; traduire des mots isolés assemblés en JavaScript crée souvent une mauvaise grammaire. Le catalogue doit être maintenu avec chaque changement de libellé, et les langues RTL méritent des vérifications spécifiques.

Contrôle avant intégration

Valider textdomain, extraction des chaînes, catalogues JS et affichage accessible des contrôles traduits.

Notions associées

  • wp_set_script_translations()
  • __()
  • wp_localize_script()

Références officielles

Bouton retour en haut de la page