- Status
- Resolvido
- Tipo
- Bug
- Resolvido em
- 0.3.0
- Plugin/tema relacionado
- Ninja Forms
- Tags de tópico
- Compatibility
Visão geral do problema
O Ninja Forms tem um novo recurso chamado Campos repetíveis (abre em uma nova aba). Esse recurso ainda não está disponível para tradução no nosso Editor de tradução avançado. No entanto, planejamos torná-lo compatível em breve.
Solução alternativa
- Faça um backup completo do seu site antes de prosseguir.
- Agora que o seu backup está pronto, precisamos modificar 2 arquivos:
- Abra /wp-content/plugins/wpml-ninja-forms/classes/Hooks/NinjaForms/Strings.php.
- Procure a linha 76:
$package->registerField( $field->get_id(), $field->get_settings() );
- E logo depois adicione:
// 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 ); } } - Em seguida, abra /wp-content/plugins/wpml-ninja-forms/vendor/wpml/forms/classes/Translation/Package.php.
- Procure a linha 314:
return $data;
- E logo antes adicione:
// 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 ); } } } } }
Próximas etapas
Resolveremos esse problema na próxima versão do Ninja Forms Multilingual.