가이드

워드프레스 i18n이란 무엇이며 왜 중요한가요? 알아야 할 모든 것이 여기에 있습니다!

Weglot 제품 이미지
Merve Alsan
작성자
Merve Alsan
검토자
업데이트 날짜
2026년 2월 2일

워드프레스는 전 세계 웹사이트의 43%에 달하는 웹사이트의 핵심입니다. 또한 콘텐츠 관리 시스템(CMS)은 205개의 다른 로케일로 제공됩니다. 글로벌 플랫폼인 만큼 로컬라이제이션이 중요합니다. 워드프레스 i18n 프로세스가 그 핵심입니다.

i18n의 '리프트 피치'는 번역을 위해 테마와 플러그인 코드를 준비할 수 있는 방법입니다. 이를 통해 다른 언어에 정확한 번역을 적용하고 다른 문화 및 로케일에 맞게 조정하여 이점을 얻을 수 있습니다.

이 글에서는 워드프레스 i18n에 대해 더 자세히 설명하고 적용하는 방법을 보여드리겠습니다. 코딩 지식이 어느 정도 있어야 하겠지만, 워드프레스 i18n의 정의와 기능에 대해서도 자세히 설명할 것입니다.

i18n의 의미

과거 시대의 산물인 '렛 스피크'는 웹 개발계에서 여전히 살아 숨 쉬고 있습니다. 'l33t'와 'n00b'는 많이 볼 수 없지만, 접근성에 대한 논의에서 'a11y'와 같은 숫자는 많이 볼 수 있습니다.

사실 i18n은 또 다른 숫자 이름입니다. 이는 "국제화"를 의미하며, 첫 글자와 마지막 글자가 결합된 숫자와 그 사이에 몇 개의 다른 글자가 있는지를 나타내는 숫자로 구성됩니다. 로컬라이제이션에도 l10n이라는 고유한 숫자가 있습니다. 글로벌라이제이션(g11n), 유럽라이제이션(e13n) 등 다른 숫자도 있습니다.

여기서는 국제화에 대해 구체적으로 살펴보겠습니다. 월드와이드웹 컨소시엄(W3C) 의 공식 브리핑에 따르면 다양한 문화, 지역, 언어 등의 사용자를 위해 설계 및 개발을 통해 간단한 로컬라이제이션이 가능하다고 합니다.

국제화는 번역 프로세스의 첫 단계일 뿐이라는 점에 유의하는 것이 중요합니다. 그 이후에는 적합한 번역 솔루션을 사용하여 로컬라이제이션을 수행하게 됩니다.

i18n 로컬라이제이션 프로세스의 기본 사항

i18n 프로세스 자체의 경우, 워드프레스 개발자가 번역가에게 넘기기 전에 여러 단계를 거치게 됩니다. 간단히 말해서 로컬라이제이션 프로세스는 다음과 같이 진행됩니다:

  • 페이지 헤더에 '텍스트 도메인' 태그를 추가합니다.
  • 몇 가지 전용 워드프레스 함수를 사용하여 언어 파일을 로드합니다.
  • 'gettext' 함수를 사용하여 텍스트 문자열을 '마크업'합니다(이에 대해서는 잠시 후에 설명하겠습니다).
  • 테마 또는 플러그인을 위한POT(휴대용 객체 템플릿) 파일을 생성하고 이를 포함합니다.
  • 오른쪽에서 왼쪽(RTL) 음성을 위한 캐스케이딩 스타일시트(CSS) 파일을 만들 수 있습니다.

번역가는 .pot 파일을 가져와서 로컬라이제이션을 수행하는 데 사용하므로 절차에서 중요한 부분입니다.

gettext 도구에 대한 간략한 입문서

잘 모르시는 분들을 위해 설명하자면, POT 파일은 GNU gettext 도구를 사용하여 생성하는 파일의 한 예입니다. 이것은 1980년대에 개발된 기술이자 소프트웨어로, 오늘날에도 i18n을 수행하는 사람들에게 여전히 엄청난 가치를 제공합니다.

이것이 무엇인지 정확히 아는 것은 워드프레스 i18n을 수행하는 데 필요하지 않지만 일반적인 의미에서 무엇을 하고 무엇을 생성하는지 이해하는 것이 유용합니다. 워드프레스에서 다국어 메시지를 생성하는 데 도움이 되는 프레임워크로 gettext를 생각해 보세요.

gettext와 관련된 여러 파일을 자주 볼 수 있습니다:

  • POT 파일. 이 파일은 i18n 작업의 템플릿이며 번역가가 프로세스의 일부를 시작할 때 사용하는 파일입니다.
  • 휴대용 개체(PO) 파일. 모든 의도와 목적에 따라 POT 파일과 PO 파일 사이에는 실질적인 차이가 없습니다. 번역하는 동안 PO 파일에는 원어와 번역된 언어의 텍스트 문자열이 모두 포함됩니다.
  • 머신 오브젝트(MO) 파일. MO 파일은 워드프레스 코드 친화적인 버전의 PO 파일이라고 생각하면 됩니다. 이 파일은 설치한 테마 또는 플러그인 디렉토리에 있으며 워드프레스에서 번역이 필요할 때 번역을 제공합니다.

이 모든 것을 염두에 두면 i18n 프로세스를 거의 시작할 수 있습니다. 먼저, 앞으로의 작업을 위해 워드프레스 사이트를 준비하는 것이 좋습니다.

워드프레스 i18n 프로세스를 시작하기 전에 알아야 할 사항

워드프레스 코어 파일과 관련된 모든 프로젝트와 마찬가지로 시작하기 전에 설치가 '깨끗한' 상태인지 확인해야 합니다. 또한 최악의 시나리오가 발생하여 복원해야 하는 경우를 대비하여 변경한 내용을 롤백할 수 있는지 확인해야 합니다.

따라서 i18n 프로세스 전에는 거의 타협할 수 없는 두 가지 '사전 단계'가 있습니다:

  • 사이트를 전체 백업합니다. 전체 백업은 사이트를 다시 시작해야 하는 경우 사이트를 보호할 수 있는 유일한 방법이므로 반드시 백업해야 합니다.
  • 플러그인 감사를 실시합니다. 사이트에 있는 모든 플러그인을 살펴보고 다음 두 가지 질문을 고려하는 것이 좋습니다: 사용 가능한 업데이트가 있는가, 플러그인이 필요한가?

후자의 경우 유지하려는 플러그인을 업데이트하고 요구 사항에 맞지 않는 플러그인은 삭제하는 것이 좋습니다.

다시 한 번 말씀드리지만, 워드프레스 코어 파일 내에서 작업할 것이므로 이러한 파일의 작동 방식과 내용에 대한 지식이 있어야 합니다. 튜토리얼에서 설명할 개념 중 일부는 단계 자체에는 설명이 없지만 반드시 설명이 필요한 것은 아닙니다.

이 모든 사항이 완료되면 i18n 프로세스 작업을 시작할 수 있습니다.

테마 및 플러그인으로 워드프레스 i18n 프로세스를 수행하는 방법

앞으로 몇 섹션에 걸쳐 테마 및 플러그인을 사용하여 워드프레스 i18n을 수행하는 방법을 보여드리겠습니다. 각 섹션은 코드가 많고 기술적인 부분이 많을 수 있지만 최대한 자세히 설명하고 필요한 추가 리소스를 링크해 드리겠습니다.

테마를 국제화하는 방법부터 시작하겠습니다.

번역 준비된 워드프레스 테마를 만드는 방법

첫 번째 단계는 텍스트 도메인과 도메인 경로를 포함하도록 테마의 헤더를 업데이트하는 것입니다. 간단히 말해

  • 텍스트 도메인은 워드프레스에서 테마에 '속하는' 문자열을 이해하는 데 도움이 됩니다. 이 도메인은 테마(및 플러그인) 슬러그와 일치해야 합니다.
  • 도메인 경로는 번역 파일이 '저장'되는 테마 파일 내의 폴더입니다. 언어/ 디렉터리가 일반적인 기본 이름이지만 필요한 경우 다른 이름을 사용할 수 있습니다.

이렇게 하려면 테마의 헤더 파일에 몇 단어를 추가하면 됩니다:

/*
테마 이름: 내 사용자 정의 테마
작성자: Weglot 번역
텍스트 도메인: 내 테마
도메인 경로: /언어/
*/‍

다음으로 '액션'과 '함수'를 사용하여 해당 텍스트 도메인을 로드해야 합니다:

add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup() {
load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}

이 코드 모음은 사이트가 아닌 테마의 functions.php 파일에 있어야 합니다. 이렇게 하면 '문자열 감사'를 시작할 수 있습니다. 이를 위해서는 테마 내의 모든 텍스트 문자열을 번역 함수로 래핑해야 합니다. 자주 사용하는 두 가지 함수가 있습니다:

  • __(). 여기에는 이중 밑줄(또는 '던더')이 포함되며 번역된 문자열을 반환합니다.
  • _e(). 이 함수는 표시된 대로 번역된 문자열을 에코(또는 인쇄)합니다.

이러한 함수에는 텍스트 문자열과 텍스트 도메인이라는 두 가지 인수가 필요합니다. 예를 들어

__()
$welcome = __( '안녕하세요! 대시보드에 오신 것을 환영합니다!', 'my-theme' );
_e( '다시 안녕하세요!', 'my-theme' );‍

다양한 번역 기능의 자세한 내용은 이 글의 범위를 벗어나지만, 워드프레스 테마 개발자 핸드북에는 작업에 필요한 거의 모든 정보가 있습니다.


이 시점에서 POT 파일을 만들 수 있습니다. 이를 위한 많은 솔루션이 있지만 워드프레스에서는 무료 오픈소스 솔루션인 Poedit을 추천합니다.

Poedit을 다운로드하여 설치한 후 도구 모음에서 파일 > 새로 만들기로 이동합니다:

Poedit에서 새 파일 만들기

다음으로 새 카탈로그를 만듭니다. 메인 화면에서 소스에서 추출 링크를 클릭하면 됩니다:

Poedit에서 소스 추출

그런 다음 번역 속성 탭에서 프로젝트 이름, 언어 팀 및 기본 언어 필드를 입력합니다:

Poedit의 번역 속성 탭

파일이 새 파일인 경우 여기에 저장하는 것이 좋습니다(파일 이름은 테마의 슬러그와 동일해야 합니다). 그런 다음 소스 경로 탭을 선택하고 컴퓨터에서 /languages/ 폴더를 찾습니다:

Poedit의 소스 경로

마지막 소스 키워드 탭에는 테마에서 사용한 번역 기능의 목록이 표시됩니다:

Poedit의 소스 키워드

올바른 키워드를 찾기가 어려울 수 있지만 여기에 키워드를 추가하고 싶을 것입니다. 우선 다음 목록을 사용할 수 있습니다:


_e
_x

_ex

_n

_nx

_n_noop

_nx_noop

translate_nooped_plural
number_format_i18n
date_i18n
esc_html__
esc_html__
esc_html_x
esc_attr__
esc_attr_e
esc_attr_x‍

클릭하여 확인하고 변경 사항을 저장한 후 새 파일을 확인하면 컴퓨터에 MOPO 파일이 표시됩니다. PO 파일을 복제하는 경우 POT 확장자를 추가하고 여기에서 로컬라이제이션으로 이동할 수 있습니다.

번역 준비된 워드프레스 플러그인을 만드는 방법

여기서 초기 작업은 테마와 비슷합니다. 먼저 헤더의 플러그인 텍스트 도메인 및 도메인 경로 필드를 업데이트합니다:

/*
플러그인 이름: 내 사용자 정의 플러그인
플러그인 URI:weglot
설명: 번역과 i18n을 보여주는 사용자 정의 플러그인입니다.
Author: Weglot 번역
버전: 1.0
작성자 URI:weglot
텍스트 도메인: 내-플러그인
도메인 경로: /언어/
*/‍

도메인 경로로 /languages/ 폴더를 생성하고 이 폴더를 도메인 경로로 설정하는 것이 좋습니다. 여기에서 플러그인의 텍스트 도메인을 로드할 수 있지만 이번에는 functions.php가 아닌 코드에 다음 함수를 추가할 수 있습니다:

load_plugin_textdomain( $domain, $abs_rel_path, $plugin_rel_path );‍

그러나 이렇게 하면 워드프레스에 번역 파일이 있다는 것을 알릴 뿐입니다. 이를 로드하려면 함수를 액션으로 감싸는 것이 좋습니다:

add_action( 'plugins_loaded', 'plugin_load_td' );function plugin_load_td() {
load_plugin_textdomain( 'my-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}

문자열 감사는 대부분 테마 i18n과 유사합니다. 마지막 단계는 이전과 동일한 프로세스를 사용하여 POT 파일을 생성하는 것입니다. 생성된 파일은 현재 작업 디렉터리에 저장됩니다.

워드프레스 i18n의 한계는 무엇인가요?

지금쯤이면 워드프레스 i18n이 얼마나 놀라운 기능인지 이해하셨을 겁니다. 테마나 플러그인을 개발하여 번역할 준비를 하고 싶을 때 유용합니다. 하지만 모든 훌륭한 기능이 그렇듯 몇 가지 단점도 있습니다.

예를 들어 플러그인에 사용자 생성 콘텐츠가 포함되어 있는 경우 i18n 번역에 포함되지 않습니다.

i18n 프로세스는 버튼 텍스트와 같이 코딩하는 정적 요소에 대한 번역을 활성화합니다. 그러나 사용자가 필드에 특정 문구를 입력하거나 고유한 레이블을 만들고 기타 '클라이언트 측' 요소를 만들려는 경우에는 이를 고려할 수 없습니다. 사실 설명할 수는 있지만 이는 복잡한 작업이며 이 글의 범위를 벗어납니다.

또한 개발자가 아닌 경우 i18n은 사이트 번역에 도움을 주지 않습니다. 이를 위해서는 플러그인이 필요하며 적합한 옵션을 찾으려면 다음 섹션으로 건너뛰는 것이 좋습니다.

번역 플러그인은 여러 가지 면에서 도움이 될 수 있지만, 사이트가 다국어를 완벽하게 지원하려면 평균 5개의 플러그인이 필요하다는 점도 알아둘 필요가 있습니다. 이와는 대조적으로 다음과 같은 솔루션은 Weglot 과 같은 솔루션은 작동 속도가 빠르고 사이트의 번역 가능한 부분을 모두 감지할 수 있으며 거의 모든 테마 및 플러그인과 호환됩니다. 이는 해당 테마와 플러그인이 번역할 준비가 되어 있는지 여부와 무관합니다.

또한 Weglot 전면 HTML 페이지의 테마, 플러그인 및 주요 콘텐츠 요소를 사용하여 번역할 수 있도록 합니다. 따라서 .pot 및 .po 파일이 없으며 gettext 메서드도 필요하지 않습니다.

Weglot 워드프레스 i18n을 지원하는 방법

이제 기술적인 측면에서 콘텐츠의 로컬라이제이션, 즉 직접 번역 프로세스에 대해 설명하겠습니다.

좋은 번역 전략은 쉽지 않습니다. 콘텐츠가 다양한 문화, 지역 및 언어에 적합한 방식으로 전달되도록 하기 위해서는 많은 노력이 필요하고 많은 계획이 필요합니다. 이는 콘텐츠 본문의 번역된 텍스트에만 해당되는 것이 아닙니다. 다음 사항도 모두 고려해야 합니다:

  • 예쁜 퍼머링크를 사용하세요.
  • 글 및 페이지 메타데이터.
  • 이미지, 동영상, GIF, 아이콘 등의 미디어(관련 메타데이터도 포함)를 포함합니다.

전자상거래를 이용한다면 여기에도 고려해야 할 사항이 많습니다. 예를 들어, 결제 화면의 모든 요소, 특히 통화 및 세금 필드가 완전히 번역되었는지 확인해야 합니다:

니콘 카메라 - 프랑스어 버전

또한 배송 정보는 완전하고 고품질로 번역해야 하는 핵심 요소입니다. 고객이 사용하는 언어에 관계없이 구매 버튼을 클릭하는 데 변명의 여지가 없도록 해야 합니다.

니콘 제품 결제 페이지

Weglot 은 사용자를 대신하여 많은 작업을 수행합니다. 번역할 수 있는 사이트의 모든 측면을 감지하기 때문에 WordPress i18n 작업에 귀중한 지원군이 될 수 있습니다. 거기서부터 기계 번역의 첫 번째 레이어를 수행합니다:

워드프레스 웹사이트의 번역 목록

이 정도면 충분할 수도 있지만 Weglot 한 단계 더 나아갈 수 있도록 도와드릴 수 있습니다. 전문 번역을 가져오고, 기존 번역을 편집하는 등의 작업을 수행할 수 있습니다. 이를 통해 사이트의 전체 로컬라이제이션을 수행하는 데 필요한 모든 유연성을 제공합니다.

마무리하며

워드프레스는 전 세계 거의 모든 곳에서 사용할 수 있습니다. 따라서 국제화된 테마와 플러그인은 다른 언어로 번역할 때 도움이 됩니다. 워드프레스 i18n은 플랫폼으로 작업하는 개발자에게 중요한 톱니바퀴입니다.

사용자가 소스 코드를 수정하지 않고도 번역을 만들 수 있도록 테마를 국제화할 수 있다면 좋은 위치에 있는 것입니다. 하지만 i18n 개념을 적용한다고 해서 테마나 플러그인이 번역되는 것은 아닙니다.

이 단계를 수행하려면 Weglot 같은 솔루션을 사용하는 것이 좋습니다. 다양한 플랫폼 및 기술과 호환되며 워드프레스와 환상적으로 작동합니다. 워크플로우의 i18n 부분을 완료한 후에는 Weglot 전환하여 거의 모든 언어로 정확하고 구현하기 쉬운 번역을 생성할 수 있습니다.

직접 확인해 Weglot 구매 의무가 없는 10일 무료 체험판을 사용해보세요.

이 가이드에서는 다음 내용을 살펴볼 거예요:
이 웹사이트의 AI 번역, 얼마나 믿을 만할까요?
정확도 점수
당신의 웹사이트와 번역된 언어들의 정확도 점수가 궁금하세요? 저희 무료 도구를 사용해서 정확한 예상 점수와 맞춤 팁을 받아보세요.

Weglot과 함께하는 방법에 대해 더 알아보세요.

자주 묻는 질문 아이콘

자주 묻는 질문

찾는 항목이 없어요.
시작하기

시작할 준비를 해보세요.

팀 시간을 낭비하지 않고 몇 분 만에 새로운 잠재 고객에게 다가가 보세요. 누구나 쉽게 설치할 수 있어요.