[Résolu] Les formulaires gravityform affiche la langue d'origine après la soumissions
Ce sujet est résolu. Voici une description du problème et de la solution.
Problème:
C'est un cas très particulier ici car le client utilisé un code personnalisé pour changer de langue.
$sitepress->switch_lang('en');
Solution:
La solution est spécifique à ce cas. J'ai offert au client un code pour retourner sur la langue actuelle après avoir basculer (voir documentation plus bas). Cependant le client a préféré utiliser un conditionnel avec la fonction is_admin() pour n'appliquer le code que dans le backend admin car cela correspondait mieux à sa situation.
Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.
Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.
Bonjour,
j'ai un soucis vraiment étrange sur un site.
Si je soumet un formulaire gravityform dans la langue traduite et qu'il y a une erreur, l'ajax re-affiche les champs dans la langue d'origine... Alors que le formulaire est bien traduit.
Et c'est uniquement les champs dans le formulaire. Le message d'erreur lui est bien affiché traduit...
Je n'arrive pas à comprendre d'où vient le soucis alors que ma configuration (plugins, site) est semblable à bon nombre d'autres projets...
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Bienvenue sur le support de WPML.
Votre configuration semble correcte.
Pourriez vous me donner un peu plus de détails svp? Comme le site est en maintenance je n'ai pas pu tester le frontend.
- Nous parlons bien des messages d'erreur AJAX qui apparaissent lors du remplissage du formulaire (du genre "email invalide" ou "champ obligatoire")?
- Vous dites que lorsqu'un de ces messages apparait il est bien traduit mais le label du champ lui passe dans la langue par défaut?
- S'agit-il du label du champ ou du "placeholder"? Exemple:
- Label du champ: Email
- Placeholder: votre_email@gmail.com
Enfin, n'hésitez pas à me donner un accès admin pour que je puisse regarder cela de plus près.
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.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Je n'ai pas pu regarder le code de votre thème car l'edition des fichiers du thème dans la backoffice est désactivée. De plus, cela semble être un code personnalisé et malheureusement cela va au dela de notre politique de support.
Cependant je pense que vous pouvez essayer de "retourner" à la langue actuelle de cette manière:
global $sitepress;
// Backup the current language
$current_lang = $sitepress->get_current_language();
// Switch to another language. E.g. English = 'en'
$sitepress->switch_lang('en');
// Whatever you have to do with add_rewrite_rule
...
// Back to the original language to not interfere
$sitepress->switch_lang( $current_lang );
Veuillez tester ce code sur un site dev ou avoir un backup comme point de restauration.
Bonjour Nicolas,
merci pour votre retour. Entre temps j'ai trouvé comment résoudre le souci.
J'utilisais bien le code que vous m'avez transmis pour générer les add_rewrite_rules, mais il fallait simplement englober la fonction dans un is_admin() pour éviter d'intérférer sur le front...