- Estado
- Resuelto
- Resuelto en
- 0.3.0
- Plugin/tema relacionado
- Ninja Forms
- Etiquetas de temática
- Compatibility
Resumen del problema
Ninja Forms tiene una nueva función llamada Campos repetibles. Esta función aún no está disponible para su traducción en nuestro Editor de traducción avanzado. Sin embargo, tenemos previsto hacerla compatible pronto.
Solución alternativa
- Por favor, haga una copia de seguridad completa de su sitio antes de continuar.
- Ahora que tiene su copia de seguridad lista, necesitamos modificar 2 archivos:
- Abra /wp-content/plugins/wpml-ninja-forms/classes/Hooks/NinjaForms/Strings.php.
- Busque la línea 76:
$package->registerField( $field->get_id(), $field->get_settings() );
- Y justo después, añada:
// 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 ); } } - Luego, abra /wp-content/plugins/wpml-ninja-forms/vendor/wpml/forms/classes/Translation/Package.php.
- Busque la línea 314:
return $data;
- Y justo antes, añada:
// 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 ); } } } } }
Siguientes pasos
Resolveremos este problema en la próxima versión de Ninja Forms Multilingual.