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의 사용자 정의 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