WPML
Stato
In attesa dell’autore
Tipo
Bug
Segnalato per
Complianz | GDPR/CCPA Cookie Consent 7.5.0
Plugin/tema correlato
Complianz | GDPR/CCPA Cookie Consent
Tag dell’argomento
Compatibility

Panoramica del problema

Quando usi Complianz | GDPR/CCPA Cookie Consent su un sito la cui lingua predefinita non è l’inglese, alcune stringhe del plugin vengono registrate in WPML → Traduzione stringhe con l’inglese come lingua di origine.

Complianz registra alcune stringhe del suo banner dei cookie dopo che WordPress le ha tradotte. Su un sito in spagnolo, la stringa predefinita Accept viene salvata come Aceptar e Complianz registra Aceptar senza una lingua di origine. WPML tratta quindi la stringa come inglese.

Questo interessa le stringhe del banner dei cookie e le stringhe che Complianz registra tramite il proprio helper cmplz_register_translation(). Il database dei cookie del plugin non è interessato, perché quel codice registra i valori in inglese.

Soluzione alternativa

Fai un backup completo del tuo sito prima di continuare.

La prima parte modifica il codice del plugin, in modo che Complianz registri le sue stringhe con la lingua del sito. I numeri di riga si riferiscono a Complianz 7.5.5. Applica di nuovo la modifica dopo ogni aggiornamento di Complianz, finché il plugin non rilascerà la correzione.

  • Apri il file …/wp-content/plugins/complianz-gdpr/cookiebanner/class-cookiebanner.php.
  • Cerca le righe 491 e 494.
  • Sostituisci:
    icl_register_string( 'complianz', $fieldname . $key, $string );
    do_action( 'wpml_register_single_string', 'complianz', $fieldname, $string );
            
  • Con:
    $lang = apply_filters( 'wpml_default_language', null );
    
    icl_register_string( 'complianz', $fieldname . $key, $string, false, $lang );
    do_action( 'wpml_register_single_string', 'complianz', $fieldname . $key, $string, false, $lang );
            
  • Apri il file …/wp-content/plugins/complianz-gdpr/functions.php. Questo file registra i titoli dei documenti, gli URL e le impostazioni nella funzione cmplz_register_translation().
  • Cerca le righe 2255 e 2258.
  • Sostituisci:
    icl_register_string( 'complianz', $fieldname, $string );
    do_action( 'wpml_register_single_string', 'complianz', $fieldname, $string );
            
  • Con:
    $lang = apply_filters( 'wpml_default_language', null );
    
    icl_register_string( 'complianz', $fieldname, $string, false, $lang );
    do_action( 'wpml_register_single_string', 'complianz', $fieldname, $string, false, $lang );
            
  • Salva di nuovo il banner in Complianz → Cookie banner, in modo che il plugin registri le stringhe con la lingua del sito.

La modifica al codice aiuta solo le nuove stringhe. Le stringhe che Complianz ha già registrato mantengono l’inglese come lingua di origine, quindi correggile manualmente:

  • Vai su WPML → Traduzione stringhe.
  • In Seleziona le stringhe all’interno del dominio, scegli il dominio complianz.
  • Seleziona le stringhe che mostrano la lingua sbagliata.
  • Apri Cambia la lingua delle stringhe selezionate in fondo alla pagina.
  • Scegli la lingua reale delle stringhe, ad esempio lo spagnolo, e applica la modifica.
  • Traduci le stringhe nelle tue lingue secondarie.

Tutti i problemi noti →