WPML

Cette page existe pour le reste : les thèmes et extensions moins populaires, les versions très récentes publiées par l’auteur avant que la compatibilité de WPML ne soit mise à jour, et un petit nombre d’aides génériques pour les sites qui présentent des symptômes spécifiques. La plupart des clients ne viennent jamais ici. Lorsque c’est le cas, c’est généralement parce que l’assistance de WPML vous a orienté vers une option spécifique ou vers un wpml-config.xml à coller.

Deux sous-pages de Paramètres couvrent la compatibilité, et cette page couvre les deux :

  • WPMLParamètresCompatibilité contient les options pour les symptômes courants.
  • WPMLParamètresConfiguration XML personnalisée est l’endroit où vous écrivez votre propre wpml-config.xml, décrit dans la seconde moitié de cette page.

L’interface utilisateur pour les valeurs par défaut les plus courantes (préférences de traduction par type de publication, par taxonomie, par champ) se trouve sur une page de Paramètres distincte couverte dans Ce qui est traduit et ce qui ne l’est pas ; la plupart des clients utilisent cette interface et ne viennent ici que lorsqu’elle ne répond pas à leurs besoins.

Options de compatibilité

Ouvrez WPMLParamètresCompatibilité.

La page comporte quatre cartes. Chaque carte cible une classe spécifique de problème de compatibilité.

Options de localisation – Pour les thèmes et les extensions dont les traductions ne se chargent pas

Lorsqu’un thème ou une extension inclut déjà ses propres traductions d’interface (fichiers .mo dans un dossier /languages/) mais que ces traductions n’apparaissent pas sur votre site, la carte Options de localisation propose trois options qui aident WPML à les trouver et à les appliquer.

  • Charger automatiquement le fichier .mo du thème en utilisant load_textdomain. Force WPML à appeler load_textdomain() pour le domaine de texte du thème. À utiliser lorsque les traductions du thème sont présentes sur le disque mais n’apparaissent pas.
  • Saisir le domaine de texte. Remplace le domaine de texte détecté automatiquement. Certains thèmes enregistrent leur domaine de texte de manière non standard ; ce champ vous permet de le spécifier explicitement.
  • Utiliser les domaines de texte du thème ou de l’extension lorsque les appels gettext n’utilisent pas de chaîne littérale. Un indicateur de compatibilité pour les thèmes/extensions qui utilisent des appels __() avec des arguments variables au lieu de chaînes littérales. WPML ne peut pas les détecter automatiquement, et cette option l’aide à appliquer les traductions malgré tout.

Si l’assistance de WPML vous dirige ici, elle vous indiquera quelle option et quel domaine de texte définir.

Rendre les thèmes multilingues

Ajuster les ID pour la fonctionnalité multilingue. Une couche de compatibilité pour les thèmes qui codent en dur des hypothèses unilingues (par exemple, un thème qui stocke un « ID d’image mise en avant » une seule fois et utilise la même image dans toutes les langues).

La plupart des thèmes modernes compatibles avec WPML n’en ont pas besoin. Les thèmes plus anciens ou moins adaptés à WPML en ont parfois besoin. Activez-la si vous voyez des références de contenu (images, menus, éléments mis en avant) fuiter incorrectement d’une langue à l’autre.

Filtrage de la langue pour les opérations AJAX

Stocker un cookie de langue pour prendre en charge le filtrage de la langue pour AJAX. Certaines extensions utilisent AJAX pour récupérer du contenu : listes de produits filtrées, listes d’articles paginées par AJAX, résultats de recherche instantanée. Sans cookie de langue, le point de terminaison AJAX ne sait pas dans quelle langue répondre et renvoie des résultats dans la mauvaise langue.

Activez le cookie si vous observez ce symptôme : les visiteurs de la page française obtiennent des résultats en anglais dans les sections chargées par AJAX. C’est un correctif en une seule case à cocher pour toute une catégorie de bogues.

Pages de connexion et d’inscription

Autoriser la traduction des pages de connexion et d’inscription. Le fichier /wp-login.php intégré à WordPress et l’écran d’inscription ne font pas partie du contenu standard que WPML traduit. Ils se trouvent en dehors de la chaîne de modèles du thème. Cette option les ajoute à l’ensemble des pages traduisibles de WPML.

Si votre site fonctionne sous nginx, cette option nécessite également un ajustement de la configuration du serveur. La page renvoie au guide nginx de WPML contenant le bloc de configuration exact.

Textes des thèmes et des extensions – Paramètres ici, analyseur ailleurs

Deux types de travaux sur les chaînes de thèmes/extensions sont répartis sur deux écrans :

  • Les paramètres de cette page. Ils gèrent la compatibilité des traductions que le thème ou l’extension inclut déjà : load_textdomain, remplacement du domaine de texte, gettext non littéral.
  • L’analyseur dispose de son propre écran. Lorsque vous avez besoin de trouver des chaînes de thèmes et d’extensions qui ne sont pas encore enregistrées pour la traduction, utilisez l’écran Traduction des textes d'administration. Il est accessible depuis l’onglet Chaînes dans Traductions, sous la section « Vous ne voyez pas les chaînes que vous cherchez ? ».

Pour le flux de travail complet d’analyse des chaînes, voir Traduire les chaînes.

wpml-config.xml personnalisé

Les thèmes et extensions compatibles avec WPML sont fournis avec un fichier wpml-config.xml qui indique exactement à WPML lesquels de leurs champs, types de publication, taxonomies, shortcodes et clés méta doivent être traduisibles. WPML le lit lors de l’activation. Pour tous les thèmes et extensions majeurs et populaires, cela signifie que la traduction fonctionne correctement, prête à l’emploi. Vous n’avez rien à faire.

Lorsque le wpml-config.xml fourni avec un thème ou une extension ne suffit pas pour votre site, vous écrivez le vôtre. WPML l’applique en plus de ce que le thème ou l’extension fournit.

Quand écrire votre propre wpml-config.xml

Trois scénarios.

  • Un champ que vous devez traduire ne figure pas dans le wpml-config.xml fourni. L’auteur du thème ou de l’extension n’a pas déclaré un champ personnalisé comme traduisible, mais vous avez besoin qu’il le soit sur votre site.
  • Un champ a la mauvaise valeur par défaut. Le wpml-config.xml fourni marque un élément comme Copier et vous souhaitez Traduire, ou vice versa.
  • Vous créez un thème ou une extension sur mesure et vous souhaitez déclarer son comportement de traduction depuis la page Paramètres de WPML au lieu d’inclure un fichier wpml-config.xml avec votre code.

Dans tous les cas, l’assistance de WPML peut vous diriger ici avec le wpml-config.xml exact à coller. Il s’agit le plus souvent d’une action guidée par l’assistance, et occasionnellement par un développeur.

Pourquoi modifier wpml-config.xml dans l’interface d’administration de WPML plutôt que dans le fichier du thème

Vous pourriez modifier directement le wpml-config.xml du thème ou de l’extension. Mais cette modification sera perdue lors de la prochaine mise à jour du thème ou de l’extension. L’éditeur de WPML situé dans WPMLParamètresConfiguration XML personnalisée superpose votre wpml-config.xml à celui fourni par le thème ou l’extension, et survit aux mises à jour. C’est le bon endroit pour les ajustements spécifiques au site.

La structure d’un wpml-config.xml

La page est un éditeur XML. Collez un bloc <wpml-config>...</wpml-config>, enregistrez, et WPML applique votre wpml-config.xml.

Un wpml-config.xml minimal déclarant un shortcode comme traduisible :

<wpml-config>
  <shortcodes>
    <shortcode>
      <tag>add_to_cart_link</tag>
    </shortcode>
  </shortcodes>
</wpml-config>

Les types d’éléments que vous déclareriez typiquement :

  • <custom-fields>. Marquer un champ personnalisé comme translate, copy, copy-once ou nothing.
  • <custom-types>. Déclarer un type de publication personnalisé comme traduisible.
  • <taxonomies>. Déclarer une taxonomie personnalisée comme traduisible.
  • <shortcodes>. Lister les shortcodes dont WPML doit traduire le contenu.
  • <custom-term-fields>. Pour les métadonnées de terme.

Chaque élément possède ses propres attributs (par exemple, action="translate" sur un champ personnalisé). Pour la référence complète de wpml-config.xml (chaque élément, chaque attribut, chaque valeur autorisée), consultez les Informations pour les développeurs WPML.

Un flux de travail pratique

Si l’assistance de WPML vous donne un bloc wpml-config.xml à coller :

  1. Ouvrez WPMLParamètresConfiguration XML personnalisée.
  2. Collez leur XML à l’intérieur du bloc <wpml-config> existant (ou remplacez le contenu s’ils vous ont donné le bloc complet).
  3. Enregistrez.
  4. WPML applique votre wpml-config.xml immédiatement. S’il déclare un nouveau type de publication ou champ traduisible, l’entrée apparaît immédiatement dans WPMLParamètresTraduction des types de publication ou WPMLParamètresTraduction des champs personnalisés.

Si vous créez un thème ou une extension sur mesure et souhaitez fournir sa configuration WPML avec le code, vous placerez plutôt le même bloc <wpml-config> dans un fichier wpml-config.xml à la racine de votre thème ou extension. WPML le lit lors de l’activation. L’éditeur de l’interface d’administration est destiné aux ajustements spécifiques au site ; le fichier inclus est destiné aux valeurs par défaut du thème ou de l’extension.

Écrit parAmir

Rédigé parAmir