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.- Allez dans TablePressTous les tableaux.
- Survolez le tableau d’origine et cliquez sur Copier.
- Modifiez la copie et traduisez ses cellules dans TablePress.
- 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.
- Allez dans WPMLParamètresÉditeur de traduction. Sous Éditeur de traduction classique, cliquez sur Choisir.
- 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 - 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
- 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.
- Allez dans l’onglet Tâches de traduction et cliquez sur Traduire sur la ligne du tableau.
- 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 - Obtenez l’ID du tableau traduit :
- 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.
- Cliquez sur Afficher.
- Le navigateur ouvre une adresse telle que
example.com/fr/?post_type=tablepress_table&p=8. Le numéro aprèsp=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.
- 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 - 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 - Retournez dans l’onglet Chaînes. Dans la liste déroulante des domaines, sélectionnez admin_texts_tablepress_tables et cliquez sur Filtrer.
- 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. - 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 - 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.



