워드프레스, 테마 그리고 플러그인 영어를 한글로 번역하기

드프레스에는 영어로 된 자료가 참 많죠? 웹 자료도 그렇고 테마나 플러그인도 마찬가지입니다. 웹에는 영어를 해석해주는 프로그램들(예:구글 번역)이 있기 때문에 매끄러운 해석은 아니더라도 웹 문서를 읽는데 조금은 도움은 받을 수 있습니다.

그런데 여러분의 한글 웹 사이트에 설치한 플러그인이나 테마에서 홈 화면에 영어를 보여줄 때는 어떻게 해야할까요? 물론 컨텐츠가 한글이기 때문에 크게 문제될 일은 없겠지만 웹사이트의 일관성을 유지하기 위해서 혹은 방문자에게 편의를 제공하기 위해서 영어보다는 한글을 표시하는 것이 좋겠죠.

그래서 오늘은 플러그인이나 테마 등에서 보여주는 영어를 한글로 변환하는 방법에 대해 소개해보겠습니다.


언어 파일을 찾아라!

테마, 플러그인 또는 워드프레스 코어 중에서 한글화를 하고 싶은 언어 파일을 찾으세요. 언어 파일의 위치는 워드프레스 폴더에서 파일의 확장자 pot, po, 또는 mo 중에 하나로 검색하면 쉽게 파악할 수 있습니다. (파일 이름 예: xxx.pot, xxx.po 또는 xxx.mo) 어떤 경우에는 pot 파일이 없고 각 나라의 po와 mo 파일만 있을 때도 있습니다.

poedit을 다운로드 받고 설치

po파일을 에디팅하는데 필요한 poedit을 다운로드 받고 설치하세요. poedit은 무료 오픈소스이며 window나 mac어디에서나 사용이 가능합니다. poedit에서 pot를 불러 po를 만들고 po에서 mo파일을 만드는 프로세스입니다. 워드프레스에서는 마지막 생성된 mo파일을 사용합니다.

POT (Portable Object Template) files
가장 처음 단계로 파일에 존재하는 모든 메시지를 골라옵니다. 파일에 보면 __()나 _e()등을 자주 보실텐데요 여기에 있는 영어 메시지를 검색해서 찾아둔 것이 POT파일이라고 보시면 됩니다.
PO (Portable Object) files
두번째 단계로 POT파일에서 불러온 모든 메시지를 번역하는 단계입니다. 불러온 영어 메시지와 일치하는 한국어를 번역하여 입력하면 됩니다.
MO (Machine Object) files
마지막 단계로 PO파일을 최적화된 machine-readable 바이너리 파일로 변환하여 MO파일을 생성합니다. 기계어로 컴파일이 되었기 때문에 번역된 언어를 불러오는 과정이 매우 빠릅니다.

자세한 내용은 wordpress org에서 Translation wordpress 를 참고하세요.

pot파일이나 po파일을 번역하고 저장

Theme my login 플러그인의 languages 폴더의 예

보통 pot파일이 있지만 없는 경우에는 다른 나라 언어의 po파일을 오픈하고 다른 나라 언어 대신에 한글을 입력하면 됩니다. poedit 설정에서 “저장할 때 .mo파일 자동 생성”을 선택해두시면 번역을 모두 마치고 po파일을 저장할 때 mo파일이 자동 생성되어 편리합니다. 생성된 파일은 해당 플러그인, 테마 또는 워드프레스 languages 폴더에 정확히 저장되었는 지 확인하세요.

저장하실 때는 pot파일 이름이나 다른 나라 po파일을 참고하시면 쉽습니다. 예를 들어  hwangc 테마 언어 폴더(languages)에 hwangc.pot, hwangc-fr_FR.po 그리고 hwangc-fr_FR.mo이 있었다면 한국어 파일을 저장하실 때는 파일 이름을 hwangc-ko_KR.po로 저장하시면 hwangc-ko_KR.mo파일이 동일한 폴더에 자동 생성됩니다.  *가끔 ko_KR.po ko_KR.mo 처럼 되어있는 경우도 있으니 참고하세요.

wp-config.php파일에서 WPLANG 설정

이제 FTP에 접속해서 루트에 위치한 wp-config.php파일을 열어 아래의 설정을

이렇게 변경해주세요.

poedit 사용 예

그럼 지금부터 실제로 번역을 해볼까요. 현재 워드프레스 번역 중에서 잘못 번역된 것이 있어 poedit을 이용해서 바로 잡아볼게요. 에디터에서 미디어를 삭제하기 위해 미디어 버튼을 누르고 미디어를 삭제하기를 누르면 아래와 같은 문구가 나옵니다. 파일을 삭제하는데 댓글을 삭제한다는 문구가 보이네요.

그래서 아래와 같이 변경했습니다.

위의 예제 번역 과정

우선 번역하려는 언어는 워드프레스 코어 언어 파일이기 때문에 언어 파일이 어디있는 지 찾아야겠죠. 워드프레스 코어 언어 파일은 ../wp-contents/languages/ 밑에 있네요. ko_KR.po 파일을 열고 잘못 번역된 한글을 검색을 통해 찾습니다.

그리고 찾은 부분에 아래와 같이 알맞은 번역을 하시면 됩니다.

번역을 하고 저장하고 해당 폴더를 보시면 업데이트된 ko_KR.po와 ko_KR.mo파일을 보실 수 있을거에요.

*%s는 여는 파일마다 파일의 이름이 다르기 때문에 %s에 해당 파일이름을 넣어서 화면에 디스플레이하게 됩니다.

마치며

언어를 번역하실 때 대시보드의 언어까지 번역하다보면 시간이 매우 많이 걸리겠죠. 그럴 때는 웹사이트에 디스플레이되는 언어만 번역하시면 시간 절약이 되실거에요.

혹시 이렇게 poedit을 사용하시는 것이 불편하다면 codestyling localization플러그인을 사용해보시는 것도 좋을 것같네요. 하지만 codestyling localization에서 가끔 po파일을 제대로 읽지 못하는 경우가 있으니 poedit을 같이 병행해서 번역하시는 것이 좋습니다.

글쓴이

HwangC

안녕하세요! 여러분의 편안한 워드프레스 안내자 황씨입니다.

“워드프레스, 테마 그리고 플러그인 영어를 한글로 번역하기”에 대한 24개의 생각

  1. 좋은 설명 감사드립니다. 덕분에 한글화가 한층쉬워졌습니다. 여기에 연관되서 질문이 가능한지 모르겠습니다만.. 제가하고자 하는 테만의 페이지 편집자체에서 제공해주는 CS코드가 있는데 탭형으로 구성된 템플릿코드를 입력했습니다. 그런데 문제가 탭의 타이틀을 한글로 했을 때 탭의 작동이 멈춥니다. 그러니까 탭이 클릭이 되지 않는 현상이 생기더라구요. 혹여 가르쳐주실 수 있으실련지요.

    1. 소스 코드를 검토해보셔야 할 것 같습니다. 영어 이외의 언어에 대해 소스 코드에서 지원을 안해주어 생길 수도 있으니 테마 개발자에게 문의를 해보세요.

  2. 안녕하세요 워드프레스를 시작하는 사람입니다.
    부분에서
    진행이 안되서 여쭤봅니다.

    FTP서버를 연다는게 파일질라를 통해 여는 것을 말하는건가요?
    만약 파일질라를 통해 열었다면 html 폴더에 wp-config.php파일이
    있는데 편집을 눌러서 봤더니 부분이 없습니다
    WPLANG 글자가 없어서 검색도 안됩니다
    이부분을 수정안해서 그런가 mo파일을 랭귀지 파일에 넣어도
    한글화가 안되었습니다.
    도움 부탁합니다.

  3. 사용자 (Front) 페이지에서 선택한 국가에 따라 읽어올 mo 파일을 결정할 수 있나요?
    ex) 중국 클릭 시 cn_CN.mo 파일 읽음, 일본 클릭 시 jp_JP.mo 파일 읽음

  4. 좋은 정보 감사합니다.

    한가지 질문이 있습니다.
    wp-config.php 파일 내에
    define (‘WPLANG’, ”);
    코드가 없는데 어떻게 해야 하나요?

    1. 안녕하세요.

      워드프레스 4.0 이상에서는 대시보드 >> 설정 페이지에서 언어 변경을 하시면 됩니다.

      아래 워드프레스 사이트의 설명입니다.

      WordPress v4.0 and above

      Change the language in the admin settings screen. Settings > general > Site Language.

  5. 안녕하세요~
    좋은정보 공유에 감사드립니다.
    덕분에 깊은 고민을 해결해가는 중인데요.
    어떻게 된 건지 하기와 같이 “제목”란은 변경이 안되네요.
    테스트용으로 한글판에서 우선 한글파일자체를 번역해 놓은 상태인데,
    혹시 다른방법으로 이부분만 바꿀 수 있는 방법이 있나요? 아니면 제가
    다른 파일을 건드려서 이렇게 된걸까요? 회신주시면 감사드리겠습니다.

  6. pot파일이나 po 파일 둘다 없으면 번역 못하나요? 플러그인을 번역하고 싶은데 아무리 찾아봐도 없네요… translation 폴더에 ko.php 파일은 있는데 혹시 이걸로도 번역 가능한가요? proedit 보니까 ‘소스에서 가져오기’도 있던데 이걸로는 힘든지요.. 도와주세요ㅠ.ㅠ..

    1. 플러그인에서 다언어 지원을 하지 않는 경우에는 언어 파일이 없을거에요. 개발자에게 다언어를 지원하는 지 문의해보세요.

  7. 한가지 질문좀 드릴게요.
    wp-config.php 에서

    define (‘WPLANG’, ‘ko_KR’);

    이 부분에 이렇게 ko_KR을 삽입하면 다른 기타 플러그인들에 속한 .mo 파일들도 파일 네임을 모두 Ko_KR로 변경해 주어야 하는 것인가요? 궁금합니다 ㅠㅠ

    1. 보통 테마에서 language 파일을 제공합니다. poedit이나 플러그인에서 langauge 파일을 열어서 해당 단어들이 있으면 변경이 가능합니다.

      *이런 경우는 드물지만 만일 개발자가 하드코딩(직접 단어를 코드에 입력)했다면 코드 수정을 하셔야 합니다. 🙂

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.