- Status
- Gelöst
- Gelöst in
- 0.3.0
- Zugehöriges Plugin/Theme
- Ninja Forms
- Themen-Tags
- Compatibility
Übersicht über das Problem
Ninja Forms hat eine neue Funktion namens Wiederholbare Felder. Diese Funktion ist in unserem Erweiterten Übersetzungs-Editor noch nicht für die Übersetzung verfügbar. Wir planen jedoch, sie bald kompatibel zu machen.
Problemumgehung
- Bitte erstellen Sie ein vollständiges Backup Ihrer Website, bevor Sie fortfahren.
- Nachdem Ihr Backup nun bereit ist, müssen wir 2 Dateien ändern:
- Öffnen Sie /wp-content/plugins/wpml-ninja-forms/classes/Hooks/NinjaForms/Strings.php.
- Suchen Sie nach Zeile 76:
$package->registerField( $field->get_id(), $field->get_settings() );
- Und fügen Sie direkt danach Folgendes hinzu:
// 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 ); } } - Öffnen Sie dann /wp-content/plugins/wpml-ninja-forms/vendor/wpml/forms/classes/Translation/Package.php.
- Suchen Sie nach Zeile 314:
return $data;
- Und fügen Sie direkt davor Folgendes hinzu:
// 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 ); } } } } }
Nächste Schritte
Wir werden dieses Problem in der nächsten Version von Ninja Forms Multilingual beheben.