WPML

Aperçu de l’anomalie

Si vous créez un tableau avec l’extension TablePress, vous ne pouvez pas le traduire avec WPML. WPML n’affiche pas les cellules du tableau comme des textes séparés dans l’Éditeur de traduction.

Solution de contournement

Il existe trois façons d’afficher un tableau TablePress dans plus d’une langue. Choisissez l’une d’entre elles.

Option 1 : un tableau par langue (recommandé)

Créez un tableau pour chaque langue. Ajoutez ensuite chaque tableau à la page dans sa langue. L’auteur de TablePress recommande (s'ouvre dans un nouvel onglet) également cette solution.
  1. Allez dans TablePressTous les tableaux.
  2. Survolez le tableau d’origine et cliquez sur Copier.

    L’action Copier sur la page Tous les tableaux de TablePress
    L’action Copier sur la page Tous les tableaux de TablePress

  3. Modifiez la copie et traduisez ses cellules dans TablePress.
  4. Ajoutez la copie à la page traduite. Utilisez le bloc TablePress table ou le shortcode de la copie.

Option 2 : filtrage des lignes (TablePress Premium)

Utilisez le module Row Filtering (s'ouvre dans un nouvel onglet) de TablePress Premium. Copiez chaque ligne pour chaque langue. Utilisez le code de langue comme terme de filtre, par exemple dans une première colonne supplémentaire masquée.

Option 3 : traduire le tableau avec WPML (avancé)

N’utilisez cette option que si les options 1 et 2 ne fonctionnent pas pour vous. Faites une sauvegarde complète de votre site avant de commencer.

Limites : TablePress enregistre toutes les cellules d’un tableau comme un seul bloc de code. WPML envoie ce bloc à l’éditeur de traduction sous la forme d’un seul champ.

  • Vous ne pouvez pas traduire les cellules dans l’Éditeur de traduction avancé.
  • Dans l’Éditeur de traduction classique, vous ne pouvez modifier les cellules que sous forme de code brut, par exemple [["Tour","Days","Price"],["Coastal Loop","2","240 EUR"]]. Traduisez uniquement les mots entre guillemets. Conservez chaque crochet, guillemet et virgule. Une seule erreur cassera le tableau.
Suivez ces étapes :
  1. Allez dans WPMLParamètresÉditeur de traduction. Sous Éditeur de traduction classique, cliquez sur Choisir.
  2. Allez dans WPMLParamètresTraduction des types de publication. Définissez TablePress Tables sur Traduisible – afficher uniquement les éléments traduits et cliquez sur Enregistrer.
    Rendre le type de publication TablePress Tables traduisible
    Rendre le type de publication TablePress Tables traduisible
  3. Allez dans WPMLParamètresTraduction des champs personnalisés. Cliquez sur Afficher les champs système. Définissez ces champs sur Copier et cliquez sur Enregistrer :
    • _tablepress_table_options
    • _tablepress_table_visibility

    Définir les deux champs système de TablePress sur Copier
    Définir les deux champs système de TablePress sur Copier

  4. Allez dans WPMLTraductions, dans l’onglet Tableau de bord. Dans la section TablePress Tables, sélectionnez le tableau. Cliquez sur Traduire votre contenu, choisissez Traduire moi-même et cliquez sur Traduire le contenu.

    Sélection du tableau dans le tableau de bord de traduction
    Sélection du tableau dans le tableau de bord de traduction

  5. Allez dans l’onglet Tâches de traduction et cliquez sur Traduire sur la ligne du tableau.
  6. Dans le champ Corps, cliquez sur l’onglet Code. Traduisez les cellules à cet endroit, comme décrit ci-dessus. N’utilisez pas l’onglet Visuel. Sélectionnez La traduction est terminée pour chaque champ et cliquez sur Enregistrer et fermer.

    Les cellules du tableau sous forme de code brut dans l’Éditeur de traduction classique
    Les cellules du tableau sous forme de code brut dans l’Éditeur de traduction classique

  7. Obtenez l’ID du tableau traduit :
    1. Dans l’onglet Tâches de traduction, trouvez la ligne du tableau. Si la ligne ne s’y trouve pas, la tâche est attribuée à un autre traducteur. Prenez d’abord la tâche.
    2. Cliquez sur Afficher.

      Le bouton Afficher dans l’onglet Tâches de traduction
      Le bouton Afficher dans l’onglet Tâches de traduction

    3. Le navigateur ouvre une adresse telle que example.com/fr/?post_type=tablepress_table&p=8. Le numéro après p= est l’ID du tableau traduit. La page affiche « Page non trouvée ». C’est normal, car les tableaux TablePress ne sont pas des pages publiques.
  8. Allez dans l’onglet Chaînes. Dans la section Utilitaires, sous Vous ne trouvez pas les chaînes que vous cherchez ?, cliquez sur Traduction des textes d’administration.

    Le lien vers la Traduction des textes d'administration dans la section Utilitaires
    Le lien vers la Traduction des textes d’administration dans la section Utilitaires

  9. Recherchez tablepress_tables. Sélectionnez le résultat et cliquez sur Ajouter à la traduction de chaînes.

    Ajout de l’option tablepress_tables à la Traduction de chaînes
    Ajout de l’option tablepress_tables à la Traduction de chaînes

  10. Retournez dans l’onglet Chaînes. Dans la liste déroulante des domaines, sélectionnez admin_texts_tablepress_tables et cliquez sur Filtrer.
  11. Trouvez l’ID du tableau d’origine. La chaîne contient des paires telles que "table_post":{"1":5}. Le premier numéro est l’ID du tableau affiché dans TablePressTous les tableaux. Le deuxième numéro est l’ID du tableau d’origine.
  12. Cliquez sur l’icône en forme de crayon pour traduire la chaîne. Copiez l’original dans la traduction. Remplacez ensuite l’ID du tableau d’origine (5 dans cet exemple) par l’ID du tableau traduit (8 dans cet exemple). Appuyez sur la touche Entrée pour enregistrer.
    Remplacement de l’ID du tableau d’origine par l’ID du tableau traduit
    Remplacement de l’ID du tableau d’origine par l’ID du tableau traduit
  13. Traduisez la page qui affiche le tableau comme d’habitude. Le bloc de tableau ou le shortcode conserve le même ID de tableau. Sur la page traduite, il affiche désormais le tableau traduit.

Toutes les anomalies connues

Besoin d'aide pour ce problème ?

Faites une demande d’assistance et nous l’examinerons avec vous.