- Status
- Warten auf Autor
- Typ
- Bug
- Gemeldet für
- Complianz | GDPR/CCPA Cookie Consent 7.5.0
- Zugehöriges Plugin/Theme
- Complianz | GDPR/CCPA Cookie Consent
- Themen-Tags
- Compatibility
Übersicht über das Problem
Wenn Sie Complianz | GDPR/CCPA Cookie Consent auf einer Website verwenden, deren Standardsprache nicht Englisch ist, werden einige Plugin-Strings unter WPML → String-Übersetzung mit Englisch als Ausgangssprache registriert.
Complianz registriert einige seiner Cookie-Banner-Strings, nachdem WordPress sie übersetzt hat. Auf einer spanischen Website wird der Standard-String Accept als Aceptar gespeichert, und Complianz registriert Aceptar ohne eine Ausgangssprache. WPML behandelt den String dann als Englisch.
Dies betrifft die Cookie-Banner-Strings und die Strings, die Complianz über seine eigene Hilfsfunktion cmplz_register_translation() registriert. Die Cookie-Datenbank des Plugins ist davon nicht betroffen, da dieser Code die englischen Werte registriert.
Problemumgehung
Erstellen Sie ein vollständiges Backup Ihrer Website, bevor Sie fortfahren.
Der erste Teil ändert den Plugin-Code, sodass Complianz seine Strings in der Websitesprache registriert. Die Zeilennummern stammen von Complianz 7.5.5. Wenden Sie die Änderung nach jedem Complianz-Update erneut an, bis das Plugin den Fix bereitstellt.
- Öffnen Sie die Datei …/wp-content/plugins/complianz-gdpr/cookiebanner/class-cookiebanner.php.
- Suchen Sie nach den Zeilen 491 und 494.
- Ersetzen Sie:
icl_register_string( 'complianz', $fieldname . $key, $string ); do_action( 'wpml_register_single_string', 'complianz', $fieldname, $string ); - Durch:
$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 ); - Öffnen Sie die Datei …/wp-content/plugins/complianz-gdpr/functions.php. Sie registriert die Dokumenttitel, die URLs und die Einstellungen in der Funktion cmplz_register_translation().
- Suchen Sie nach den Zeilen 2255 und 2258.
- Ersetzen Sie:
icl_register_string( 'complianz', $fieldname, $string ); do_action( 'wpml_register_single_string', 'complianz', $fieldname, $string ); - Durch:
$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 ); - Speichern Sie das Banner erneut unter Complianz → Cookie banner, damit das Plugin die Strings in der Websitesprache registriert.
Die Code-Änderung hilft nur bei neuen Strings. Die Strings, die Complianz bereits registriert hat, behalten Englisch als Ausgangssprache, korrigieren Sie sie also manuell:
- Gehen Sie zu WPML → String-Übersetzung.
- Wählen Sie unter Select strings within domain die Domain complianz aus.
- Wählen Sie die Strings aus, die die falsche Sprache anzeigen.
- Öffnen Sie Change the language of selected strings am Ende der Seite.
- Wählen Sie die tatsächliche Sprache der Strings, zum Beispiel Spanisch, und wenden Sie die Änderung an.
- Übersetzen Sie die Strings in Ihre Sekundärsprachen.