WPML을 사용하여 플러그인, 테마 및 직접 개발한 숏코드를 번역하는 방법을 알아보세요.
WPML을 사용하면 텍스트 기반 및 ID 기반 숏코드를 모두 번역할 수 있습니다. 텍스트 기반 숏코드는 다음과 같이 텍스트를 출력합니다.
[goodmorning name="Dear client"]
반면 ID 기반 숏코드는 ID 번호를 사용하여 요소를 출력합니다.
[myslider id="1"] [myslider id="2"]
여기서 각 숏코드는 서로 다른 슬라이더를 출력합니다. 예를 들어 하나는 영어 슬라이더를 출력하고 다른 하나는 스페인어 슬라이더를 출력할 수 있습니다.
숏코드를 번역하려면 한 슬라이더의 ID를 다른 ID로 바꿉니다(예: 1 → 2).
호환되는 플러그인 및 테마의 숏코드 번역
호환되는 플러그인 및 테마의 숏코드를 번역하려면 WPML → 번역 대시보드로 이동하여 숏코드가 포함된 페이지를 번역용으로 보내세요. 숏코드는 페이지의 다른 콘텐츠와 함께 고급 번역 에디터에 표시됩니다.
예를 들어 다음 숏코드가 에디터에 표시되는 방식은 다음과 같습니다.
[goodmorning name="Dear client"]

숏코드에 링크(URL) 속성이 포함된 경우 검색 표시줄을 사용하여 찾으세요. WPML은 기본적으로 숏코드의 링크를 숨깁니다.

호환되지 않는 플러그인 및 테마의 숏코드 번역
호환되지 않는 플러그인 및 테마의 숏코드를 번역하려면 먼저 WPML의 사용자 정의 XML 구성 파일에 등록해야 합니다.
두 개의 숏코드가 있는 다음 예시를 살펴보겠습니다.
[fanpage link="https://example.com"]Some content[/fanpage] [goodmorning name="dear client" type="official"]
이 숏코드를 WPML에 등록하려면 다음 구성 코드를 사용합니다.
<wpml-config>
<shortcodes>
<shortcode>
<tag>goodmorning</tag>
<attributes>
<attribute>name</attribute>
<attribute>type</attribute>
</attributes>
</shortcode>
<shortcode>
<tag label="Fanpage shortcode">fanpage</tag>
<attributes>
<attribute>link</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>
WPML의 구성 방식은 다음과 같습니다.
- 모든 숏코드를 <shortcodes> 안에 배치
- <shortcode>로 개별 숏코드 설정 감싸기
- <tag>로 숏코드 이름을 정의하고 필요에 따라 사용자 정의 레이블 포함(이 레이블은 고급 번역 에디터의 텍스트 옆에 표시됨)
- <attribute>로 각 속성 제목 정의
- <attributes>로 모든 속성 감싸기
숏코드를 등록하고 나면 WPML → 번역 대시보드를 통해 페이지의 다른 콘텐츠와 함께 번역할 수 있습니다.
사용자 정의 숏코드 번역
직접 개발한 사용자 정의 숏코드를 번역하려면 먼저 WPML에 등록해야 합니다. 완료되면 페이지의 다른 콘텐츠와 함께 번역할 수 있습니다.
숏코드 내부의 하드코딩된 텍스트 번역
기본적으로 하드코딩된 텍스트는 WPML에서 번역할 수 없습니다. 번역 가능하게 만들려면 Gettext 프레임워크를 사용할 수 있습니다. “Good morning”이 하드코딩된 텍스트인 다음 예시를 살펴보겠습니다.
function goodmorning_att($atts) {
$default = array(
'name' => 'there',
);
$a = shortcode_atts($default, $atts);
return 'Good morning, '.$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');
“Good morning”을 번역할 수 있게 하려면 Gettext를 사용하도록 코드를 조정할 수 있습니다.
function goodmorning_att($atts) {
$default = array(
'name' => 'there',
);
$a = shortcode_atts($default, $atts);
return __('Good morning, ', 'default').$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');
이렇게 하면 “Good morning” 텍스트를 번역할 수 있게 되며 문자열 번역에 추가됩니다.
추가 리소스
wpml-config.xml 파일에 대해 자세히 알아보려면 언어 구성 파일 가이드를 방문하세요. WPML의 다른 요소를 구성하려면 다음 추가 가이드를 참조하세요.