WPML

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의 다른 요소를 구성하려면 다음 추가 가이드를 참조하세요.

작성자: Amir · 마지막 업데이트: 2025년 7월 23일