워드프레스 필터를 사용하여 플러그인(예: 우커머스) 한글 번역 수정하기

워드프레스에서 테마나 플러그인 번역은 Loco Translate라는 워드프레스 플러그인을 사용하여 수정할 수 있습니다. 우커머스 한글 번역도 마찬가지로 이 플러그인을 사용하여 쉽게 수정이 가능합니다.

다른 방법으로 특정 문자열을 변경하고 싶은 경우 gettext 필터를 사용할 수 있습니다. 예를 들어, 우커머스에서 Weight가 '무게'로 번역되어 있는데, 이 단어를 '배송 무게'로 수정하고 싶다면 다음과 같은 코드를 테마의 함수 파일에 추가할 수 있습니다.

add_filter('gettext', 'translate_reply');
add_filter('ngettext', 'translate_reply');

function translate_reply($translated) {
$translated = str_ireplace('무게', '배송 무게', $translated);
return $translated;
}
// 출처: How to change woocommerce text shipping in checkout (체크아웃에서 우커머스 텍스트 'shipping'을 변경하는 방법)

위 코드를 자식 테마 내의 함수 파일(functions.php)에 추가해야 추후 테마가 업데이트되더라도 초기화되지 않습니다. 위의 코드를 아바다 테마에서 테스트해보니 '배송'이 '배송 무게'로 변경되어 표시되네요.

상품 페이지 편집 화면:

우커머스 배송 문자열 변경하기

상품 설명 페이지:

우커머스 배송 문제

다음과 같은 방법을 사용할 수도 있습니다.

function projectnamespace_woocommerce_text( $translated, $text, $domain ) {
if ( $domain === 'woocommerce' ) {
$translated = str_replace(
array( 'Apply Coupon', 'Update Basket', 'Coupon code', 'Free!' ),
array( '' , 'Update' , 'Voucher' , '' ),
$translated
);
}

return $translated;
}

add_filter( 'gettext', 'projectnamespace_woocommerce_text', 30, 3 );
// 출처: Change WooCommerce text strings (우커머스 텍스트 문자열 변경)

자바스크립트에 익숙하다면 javascript를 사용하여 문자열을 변경할 수도 있을 것입니다.

워드프레스 gettext 필터에 대한 자세한 정보는 워드프레스 Codex 문서를 참고해보세요.

참고:


4개 댓글

  1. 그러면, 한글이 아닌 영문으로 weight -> shipping weight 로 변경하는 방법은 무엇인가요? 미리 감사합니다.^^

    1. 안녕하세요?

      블로그를 방문해주시고 댓글을 남겨주셔서 감사합니다.

      혹시 위에 제시된 코드를 적용해보셨어요?

      우커머스 문자열 변경

      Weight를 Shipping weight로 변경해보니 잘 되는 것을 확인했습니다.

댓글 남기기

* 이메일 주소는 공개되지 않습니다.