WPML
상태
개발자 대기 중
유형
버그
보고 대상
Complianz | GDPR/CCPA Cookie Consent 7.5.0
관련 플러그인/테마
Complianz | GDPR/CCPA Cookie Consent
주제 태그
Compatibility

문제 개요

기본 언어가 영어가 아닌 사이트에서 Complianz | GDPR/CCPA Cookie Consent를 사용할 때, 일부 플러그인 문자열이 WPML → 문자열 번역에 영어를 원본 언어로 하여 등록됩니다.

Complianz는 WordPress가 번역한 후 일부 쿠키 배너 문자열을 등록합니다. 스페인어 사이트에서는 기본 문자열인 AcceptAceptar로 저장되며, 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 파일을 여세요. 이 파일은 cmplz_register_translation() 함수에 문서 제목, URL 및 설정을 등록합니다.
  • 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를 여세요.
  • 스페인어 등 문자열의 실제 언어를 선택하고 변경 사항을 적용하세요.
  • 문자열을 보조 언어로 번역하세요.

모든 알려진 문제 →