WPML
סטטוס
ממתין למפתח
סוג
באג
דווח עבור
Complianz | GDPR/CCPA Cookie Consent 7.5.0
תוסף/ערכת עיצוב קשורים
Complianz | GDPR/CCPA Cookie Consent
תגיות נושא
Compatibility

סקירת התקלה

כאשר אתה משתמש ב־Complianz | GDPR/CCPA Cookie Consent באתר ששפת ברירת המחדל שלו אינה אנגלית, כמה ממחרוזות התוסף נרשמות ב־WPML → תרגום מחרוזות עם אנגלית כשפת המקור.

Complianz רושם כמה ממחרוזות באנר העוגיות שלו לאחר ש־WordPress מתרגם אותן. באתר בספרדית, מחרוזת ברירת המחדל Accept נשמרת כ־Aceptar, ו־Complianz רושם את Aceptar ללא שפת מקור. לאחר מכן WPML מתייחס למחרוזת כאנגלית.

הדבר משפיע על מחרוזות באנר העוגיות ועל המחרוזות ש־Complianz רושם באמצעות פונקציית העזר שלו cmplz_register_translation(). מסד נתוני העוגיות של התוסף אינו מושפע, מכיוון שקוד זה רושם את הערכים באנגלית.

פתרון עוקף

צור גיבוי מלא של האתר שלך לפני שתמשיך.

החלק הראשון משנה את קוד התוסף, כך ש־Complianz רושם את המחרוזות שלו בשפת האתר. מספרי השורות הם מ־Complianz 7.5.5. החל את השינוי שוב לאחר כל עדכון של Complianz, עד שהתוסף ישחרר את התיקון.

  • פתח את הקובץ …/wp-content/plugins/complianz-gdpr/cookiebanner/class-cookiebanner.php.
  • חפש את שורות 491 ו־494.
  • החלף את:
    icl_register_string( 'complianz', $fieldname . $key, $string );
    do_action( 'wpml_register_single_string', 'complianz', $fieldname, $string );
            
  • ב:
    $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 );
            
  • פתח את הקובץ …/wp-content/plugins/complianz-gdpr/functions.php. הוא רושם את כותרות המסמכים, את כתובות ה־URL ואת ההגדרות בפונקציה cmplz_register_translation().
  • חפש את שורות 2255 ו־2258.
  • החלף את:
    icl_register_string( 'complianz', $fieldname, $string );
    do_action( 'wpml_register_single_string', 'complianz', $fieldname, $string );
            
  • ב:
    $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 );
            
  • שמור שוב את הבאנר ב־Complianz → Cookie banner, כדי שהתוסף ירשום את המחרוזות בשפת האתר.

שינוי הקוד עוזר רק למחרוזות חדשות. המחרוזות ש־Complianz כבר רשם שומרות על אנגלית כשפת המקור שלהן, לכן תקן אותן באופן ידני:

  • עבור אל WPML → תרגום מחרוזות.
  • ב־Select strings within domain, בחר את הדומיין complianz.
  • בחר את המחרוזות שמציגות את השפה השגויה.
  • פתח את Change the language of selected strings בתחתית העמוד.
  • בחר את השפה האמיתית של המחרוזות, לדוגמה ספרדית, והחל את השינוי.
  • תרגם את המחרוזות לשפות המשניות שלך.

כל התקלות הידועות →