WPML에서 위젯 번역하기
다국어 번역 플러그인인 WPML을 사용하여 위젯을 번역할 수 있습니다. 위젯 번역은 WPML String Translation이라는 모듈을 통해 이루어지는데, 이 모듈은 Multilingual CMS version 버전에 포함되어 있습니다("다국어 번역 플러그인 WPML 버전" 비교 참조).
워드프레스에는 몇 가지 기본 위젯이 탑재되어 있는데, WPML String Translation을 설치하면 이러한 위젯이 자동으로 등록되어 번역이 가능합니다.
간혹 테마와 플러그인에서 커스텀 위젯을 제공하거나 사용자가 직접 위젯을 만들 수 있습니다. 이 경우 이러한 위젯이 항상 자동으로 번역이 가능하도록 등록되지 않을 수 있으며, 경우에 따라 위젯 제목만 등록되고 다른 위젯 텍스트는 등록되지 않을 수 있습니다.
위젯 제목
위젯 제목은 WPML이 등록하여 번역할 수 있도록 필터로 처리되어야 합니다. 가령 코드는 다음과 같을 수 있습니다.
function widget( $args, $instance ) { extract($args); $title = apply_filters( 'widget_title', empty($instance['title']) ? '' : $instance['title'], $instance ); }
위젯 내의 다른 텍스트
위젯에 textarea나 input 필드와 같이 다른 텍스트 필드가 있을 수 있습니다. 두 가지 방식으로 이러한 필드가 존재하는 것을 WPML에 알려서 번역하도록 등록할 수 있습니다.
코딩 방식과 비코딩 방식이 있는데, 비코딩 방식은 String Translation을 통해 번역할 위젯 필드를 등록하는 방식입니다.
String Translation의 고급 기능 중 하나는 wp-options 데이터베이스 테이블에 저장된 텍스트를 선택하여 번역이 가능하도록 등록할 수 있는 기능입니다. 워드프레스 위젯은 텍스트를 wp-options 테이블 내에 저장하므로 이 기능을 사용하여 위젯을 번역할 수 있습니다.
이를 위해 String Translation을 방문하여 설정 페이지의 맨 아래로 스크롤합니다. "Translate texts in admin screens"(관리자 화면의 텍스트 번역)을 찾아서 링크를 클릭합니다.
그러면 옵션이 트리로 표시된 새로운 화면이 열립니다. 해당 위젯을 찾고 이름을 클릭하여 필드를 확장시키십시오.
번역하도록 등록하고자 하는 텍스트를 활성화하고 화면 맨 아래의 "Apply"(적용)를 클릭하십시오.
이제 기본 String Translation 설정 페이지를 방문하여 텍스트를 번역할 수 있습니다.
이상으로 WPML에서 위젯 타이틀과 텍스트를 번역하는 방법에 대해 살펴보았습니다. 위젯이 자체적으로 PO 파일로 번역되는 경우 Loco Translate 같은 플러그인을 사용하여 번역하면 언어에 따라 해당 언어 버전이 표시될 것 같습니다. 만약 자체적으로 PO 파일을 제공하지 않거나 Loco Translate를 통해 번역할 수 없는 경우 WPML을 사용하면 좋을 듯 합니다.
WPML을 사용하여 위젯/플러그인을 번역하는 방법을 다음 글에서 다시 다루었습니다.
https://www.thewordcracker.com/basic/wpml%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-%ED%85%8C%EB%A7%88-%EC%9C%84%EC%A0%AF-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B2%88%EC%97%AD%ED%95%98%EA%B8%B0/