- Statut
- Résolu
- Résolu dans
- 0.3.0
- Extension/thème associé
- Ninja Forms
- Étiquettes de sujet
- Compatibility
Aperçu de l’anomalie
Ninja Forms propose une nouvelle fonctionnalité appelée Champs répétables. Cette fonctionnalité n’est pas encore disponible pour la traduction dans notre Éditeur de traduction avancé. Cependant, nous prévoyons de la rendre compatible prochainement.
Solution de contournement
- Veuillez faire une sauvegarde complète de votre site avant de continuer.
- Maintenant que votre sauvegarde est prête, nous devons modifier 2 fichiers :
- Ouvrez /wp-content/plugins/wpml-ninja-forms/classes/Hooks/NinjaForms/Strings.php.
- Recherchez la ligne 76 :
$package->registerField( $field->get_id(), $field->get_settings() );
- Et juste après, ajoutez :
// Register repeater fields strings if ( 'repeater' === $field->get_settings( 'type' ) && $field->get_settings()['fields'] ) { foreach ( $field->get_settings()['fields'] as $subfield) { $package->registerField( $subfield['id'], $subfield ); } } - Ensuite, ouvrez /wp-content/plugins/wpml-ninja-forms/vendor/wpml/forms/classes/Translation/Package.php.
- Recherchez la ligne 314 :
return $data;
- Et juste avant, ajoutez :
// Translate repeater fields strings if ( $data['fields'] ) { foreach ( $data['fields'] as $key => $field ) { $forTranslation = $this->fieldProperties->forTranslation( $field ); foreach ( $forTranslation as $propertyName => $translationSettings ) { $stringValue = $this->fieldProperties->getValue( $field, $propertyName ); if ( $stringValue ) { if ( $this->isArray( $stringValue, $translationSettings ) ) { $field[ $propertyName ] = $this->translateOptions( $stringValue, $field['id'], $translationSettings ); } else { $data['fields'][$key][$propertyName] = $this->translateString( $stringValue, $field['id'], $propertyName ); } } } } }
Prochaines étapes
Nous résoudrons ce problème dans la prochaine version de Ninja Forms Multilingual.