Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

Problem:
Vous utilisez ACF via des plugins avec des champs déclarés dans des fichiers PHP, et les traductions sont gérées via un textdomain. Depuis la dernière mise à jour d'ACFML, les traductions ne se chargent pas correctement dans la zone d'administration de vos sites multilingues, alors qu'elles fonctionnent sur un site monolingue.

Solution:
Le client a résolu le problème de la manière suivante:
Le problème de chargement du textdomain était lié au hook utilisé, init au lieu de plugin_loaded. Les deux exemples sont donnés dans le codex.

En utilisant init, manifestement, le domaine se chargeait avant de pouvoir être pris totalement en compte par ACFML

If this solution does not apply to your case, or if it seems outdated, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If you still need assistance, please open a new support ticket at https://wpml.org/forums/forum/french-support/.

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Tagged: 

This topic contains 15 replies, has 3 voices.

Last updated by Marie-Aude 1 month, 3 weeks ago.

Assisted by: Nicolas V..

Author Posts
September 12, 2024 at 3:15 pm #16172291

Marie-Aude

Background of the issue:
I heavily use ACF through plugins. The fields are declared in php files, all labels, choices etc are correctly i8ned with __( and translations are in the plugin language files. The text_domain is declared at the beginning of the plugin, this way

add_action('init', function ( ) { load_plugin_textdomain( 'lln_magic', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );} );

as well as

function lln_acf_settings(){ acf_update_setting('capability', 'delete_pages'); acf_update_setting('l10n', true ); acf_update_setting('l10n_lln_magic', 'lln_magic'); } add_action('acf/init', 'lln_acf_settings') ;

Since the last update of ACFML, the translations do not load anymore in the admin. I know this is linked to WPML/ACFML as I use this plugin on a monolingual website, where the translations appear as they should, and they do not on the two multilingual sites I use my plugin.

Symptoms:
ACF related strings in English in a French speaking admin

Questions:
Why are ACF related strings not loading correctly in the admin after the last ACFML update?
How can I ensure that ACF related strings are correctly loaded in the admin through the language domain?

September 12, 2024 at 3:58 pm #16172719

Marie-Aude

Correction: it works correctly on another multilingual website. So it is really link to this website configuration. Not sure it is linked to ACFML anymore.

September 13, 2024 at 11:13 am #16175271

Nicolas V.
Supporter

Languages: English (English ) French (Français )

Timezone: America/Lima (GMT-05:00)

Bonjour,

Merci d'avoir contacté le support de WPML.

Pourriez-vous essayer de rescanner votre thème afin de voir si WPML trouve les chaînes de textes?
- Allez dans "WPML > Localisation du thème et plugins"
- Sélectionnez votre thème puis cliquez sur le bouton "Analyser les thèmes sélectionnés"

Si le problème persiste, faisons un test rapide en activant temporairement les options "Suivi de l'emplacement des chaînes sur le site" et "Auto-enregistrer les chaînes pour la traduction" dans la section "WPML > Traduction de chaînes".
- Si les traductions apparaissent, il se peut qu'il y ait un problème pour charger le textdomain.

September 15, 2024 at 9:11 pm #16180834

Marie-Aude

Bonjour,

le problème se produit uniquement avec les chaines liées à ACF.

Le premier screenshot (option-page-translation) montre deux menus dans l'admin, avec la création de la page d'option via la fonction WordPress ou la fonction ACF. Traduit correctement dans le premier cas, pas traduit dans le second. Cela prouve que le textdomain lln_magic se charge bien en dehors d'ACF.

Et c'est le cas pour tous les customs fields dans l'admin.

En appliquant votre méthode pour analyser les thèmes, il ne se passe rien d'autre que l'ajout de plus de 3000 chaines à traduire. J'en ai sélectivement traduites deux, et en activant les options temporairement, là oui, la traduction apparait.

option-page-translation.jpg
September 15, 2024 at 10:01 pm #16180867

Marie-Aude

Bonjour,

le problème se produit uniquement avec les chaines liées à ACF.

Le premier screenshot (option-page-translation) montre deux menus dans l'admin, avec la création de la page d'option via la fonction WordPress ou la fonction ACF. Traduit correctement dans le premier cas, pas traduit dans le second. Cela prouve que le textdomain lln_magic se charge bien en dehors d'ACF. Et j'ai le même fichier .po/.mo sur un site monolingue en français où tout s'affiche correctement.

Et c'est le cas pour tous les customs fields dans l'admin.

En appliquant votre méthode pour analyser les thèmes, il ne se passe rien d'autre que l'ajout de plus de 3000 chaines à traduire. J'en ai sélectivement traduites deux, et en activant les options temporairement, là oui, la traduction apparait (traduction avec recherche de chaines).

Ce qui est très bizarre, c'est que seules ces trois custom taxonomies (Brands/Sociétés, Places et People) ont un problème de traduction. Tout le reste des "outils magiques" - dont les pages sont toutes générées de la même façon et via la fonction wordpress - se traduit correctement.

Les autres pages d'options (La Magie) sont elles générées via ACF et ne se traduisent pas. (screenshot sous-pages-optons)

Plus grave, ces trois taxonomies ne sont pas traduites non plus ailleurs dans l'admin alors qu'elles ont été traduites "deux fois" (via le fichier .po/.mo et via la traduction de taxonomie). Quand je vais dans la traduction de taxonomies, la langue d'origine est l'anglais, ce qui m'oblige à les "retraduire" en Français. Pour les autres taxonomies, la langue d'origine est bien identifiée comme le français.

J'ai cherché dans la base de données les chaines correspondantes, pour la taxonomie Brands, traduite en "Société" dans le fichier .po et en "Companies" via la traduction de taxonomie et il manque des traductions pour les strings id 203 et 204. (icl_string_translations-brand).

Je me suis dit que peut être cela venait de la différence entre le nom anglais de la taxonomie (Brands) et sa traduction (Companies) et j'ai donc fait la même recherche pour les lieux avec le même résultat (traductions manquantes)

Pour résumer :
1- il y a manifestement un problème avec les chaines liées à WPML

2- il y a en plus (sans que je sache si c'est lié) un problème sur la traduction de trois taxonomies.

(PS désolée pour le message partiel au dessus)

icl_string_translations_lieux.jpg
icl_strings_lieux.jpg
icl_string_translations-brands.jpg
traduction-taxo-langue-fr-correcte.jpg
taxonomy-translation-does-not-appear-in-admin.jpg
taxonomies-non-traduites-dans-traduction-taxonomie-wpml.jpg
sous-pages-options.jpg
traduction-avec-recherche-chaines.jpg
option-page-translation.jpg
September 16, 2024 at 2:12 pm #16184356

Nicolas V.
Supporter

Languages: English (English ) French (Français )

Timezone: America/Lima (GMT-05:00)

Bonjour,

Merci pour toutes ces précisions. Pour être honnête, je ne suis pas certain de pouvoir identifier le problème.

La traduction des pages d'options ACF peut être assez complexe. Par le passé, un problème survenait lors de la traduction des pages d'options avec un post_id différent de 'options', mais ce problème a été résolu dans une version récente d'ACFML. Cependant, il reste un problème avec la traduction des "sous-champs" sur une page d'option. Le problème est peut être similaire avec les sous pages: https://wpml.org/errata/advanced-custom-fields-sub-fields-are-overwritten-in-options-page/

Serait-il possible de reproduire cela sur un site de test pour que je puisse reporter ce problème?

J'ai créé un site de test pour vous sur nos serveurs :
hidden link (connexion en 1 clic)

- Paramétrez WPML et ses add-ons exactement comme sur votre site (les plugins sont déjà installés). Configurez ACF pour reproduire le problème.
- Merci de ne pas installer d'autres plugins qui ne sont pas nécessaires à la reproduction du problème.
- Si le problème est reproduit sur notre serveur, je pourrai alors transmettre votre ticket à notre équipe de compatibilité.

Concernant le problème lié aux taxonomies, comment les avez-vous créées? Si vous avez utilisé ACF pour cela, merci de confirmer que vous avez suivi les instructions de cette documentation : https://wpml.org/compatibility/2024/04/acfml-2-1-0-translate-labels-for-acf-custom-posts-taxonomies-options-pages/

Merci d'avance pour votre coopération!

September 16, 2024 at 3:06 pm #16184663

Marie-Aude

Bonjour,

les valeurs des sous champs sont traduites correctement. C'est "uniquement" les chaines qui s'affichent dans l'admin qui ne se traduisent pas correctement. Et c'est récent, je n'ai pas vraiment fait attention, mais le problème est arrivé il y a trois semaines environ.

Mes customs posts et customs taxonomies sont créés via les fonctions WordPress.

De plus j'ai remarqué que sur un autre textdomain, les étiquettes des champs ACF apparaissent correctement dans l'admin.

Je préfère faire le site de test sur mon propre serveur, si cela ne vous dérange pas. J'utilise des versions pros pour un certain nombre de plugins.

Est ce qu'il pourrait y avoir une erreur quelque part dans le fichier .po ? Y a t il un moyen de le vérifier ? PoEdit ne me signale pas d'erreur.

Merci à vous

September 16, 2024 at 4:02 pm #16184885

Marie-Aude

Meme avec une configuration minimum, le problème est reproduit sur votre site de test pour les titres des pages d'options. Par contre, les libellés sur les pages elles mêmes sont partiellement correctement traduits : les champs message ne chargent pas la traduction.

J'ai chargé ACF Pro, qui est ma version d'ACF, et deux plugins : lln-magical-stuff avec lequel le problème se produit, et omaroc

Mes trois taxonomies (Brands, People, Place) ne sont pas traduites.

Pour info, les plugins "requis" le sont pour le front end seulement, ils ajoutent des fonctionnalités aux types de champs

sur-site-de-test-taxonomies.jpg
sur-site-de-test.jpg
September 16, 2024 at 10:50 pm #16185662

Nicolas V.
Supporter

Languages: English (English ) French (Français )

Timezone: America/Lima (GMT-05:00)

Bonjour,

Pourriez vous me donner temporairement accès à ce site test où le problème a été reproduit?

J'ai activé un champ privé pour votre prochaine réponse où vous pourrez partager ces informations de manière confidentielle avec notre support. Ne partagez pas votre propre compte admin, créez un nouveau compte que vous pourrez éliminer une fois l'assistance terminée.

IMPORTANT: Avant de continuer, faites un backup complet de votre site et base de données.

Je vous demanderai également la permission de désactiver et réactiver certaines extensions, et faire des changements de configuration. C'est pour cela que l'utilisation d'une copie test de votre site et d'un backup sont importantes.

September 17, 2024 at 12:36 am #16185751

Marie-Aude

Bonjour,

pour l'instant je ne l'ai pas créé, étant donné que j'ai réussi à reproduire le problème sur votre sandbox.

Si vous avez besoin du site de test, je vous le fefrai demain.

September 17, 2024 at 9:34 am #16187200

Marie-Aude

Voilà le domaine est créé, si vous pouvez remettre les éléments de réponse privés ?

September 17, 2024 at 3:15 pm #16189581

Nicolas V.
Supporter

Languages: English (English ) French (Français )

Timezone: America/Lima (GMT-05:00)

Bonjour,

Si vous avez réussi à reproduire le problème sur notre snadbox cela devrait être suffisant.

J'active tout de même le champ privé pour vous et je vais faire quelques tests sur la sandbox avant de remonter le problème.

Merci de patienter

September 17, 2024 at 7:09 pm #16190370

Nicolas V.
Supporter

Languages: English (English ) French (Français )

Timezone: America/Lima (GMT-05:00)

Bonjour,

Pour information, votre ticket a été remonté à l'équipe de deuxième niveau. Le fait que les traductions apparaissent lorsqu'on active l'option "Auto Register Strings" me fais penser que cela est lié à la déclaration du textdomain masi je reviens vers vous dès que j'ai un feedback de leur part.

September 19, 2024 at 3:36 pm #16200105

Marie-Aude

Bonjour,

je vous remercie.

Pour info, j'ai réussi à résoudre le problème de traduction des taxonomies, qui était lié à une priorité trop basse sur l'action init, en priorité 4, que j'ai repassé en priorité 10.

J'ai rechargé la modif dans la sandbox et cela fonctionne (à l'exception d'une chaine que les testeurs ont introduite, mais ce n'est pas grave).

Reste le problème de la traduction des titres des pages d'options, sachant qu'ils ont manifestement résolu le problème des champs ACF qui ne se traduisaient pas dans l'admin.

September 20, 2024 at 3:12 pm #16203525

Ilyes
Supporter

Languages: English (English ) French (Français )

Timezone: Pacific/Easter (GMT-05:00)

Bonjour,

Mon collègue Nicolas est actuellement en vacances, je vais m'occuper de votre ticket entre-temps,

Après avoir consulté votre ticket et contacté notre équipe de deuxième niveau, nous ne parvenons toujours pas à déterminer la cause de ce comportement.

Actuellement, le seul moyen de faire fonctionner ces chaînes est de les enregistrer dans un domaine différent et de les traduire comme indiqué ici : hidden link

Si j'ai bien compris le problème, ces chaînes auraient dû être automatiquement chargées dans la bonne langue en utilisant le fichier PO du plugin que vous avez configuré, ce qui ne fonctionne pas.

Cela signifierait qu'il y a un problème dans le code de ce plugin personnalisé, ce qui dépasse le cadre de notre service d'assistance.

Lorsqu'il s'agit de Custom Codes, nous n'offrons pas de support mais nous guidons généralement les utilisateurs sur les solutions possibles, dans votre cas, j'attends plus d'informations de la part de notre équipe de deuxième niveau pour savoir s'ils peuvent nous indiquer la bonne direction.

En attendant, je vous recommande de vérifier vos fichiers PO et MO, ou d'essayer notre outil PTC pour générer automatiquement ces fichiers : https://wpml.org/documentation/support/translating-the-theme-you-created/#create-the-translations
hidden link

Vous pouvez également faire appel à l'un de nos contractants pour vous aider à développer votre plugin : https://wpml.org/contractors/

et enfin, vous pouvez officiellement rendre votre plugin totalement compatible en rejoignant notre programme Go-Global : https://wpml.org/documentation/support/go-global-program/
Ce processus peut prendre un peu plus de temps.

Merci pour votre compréhension,

Marie-Aude confirmed that the issue was resolved on 2024-09-21 00:17:18.
This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.