WPML
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.

Todos os problemas conhecidos