워드프레스 번역

/아바다 테마 사용법/워드프레스 번역

워드프레스 번역

최종 수정 : 2016.03.06

‘워드프레스 전체 번역’ 하면 어려운 부분이긴 하지만, 아주 ‘적은’ 필요한 부분만을 번역하는 것은,  간단한 노력으로도 나의 사이트를 크게 변화시킬수 있는 도구가 됩니다.
워드프레스로 사이트를 만들면서 “여기 이 부분의 영어 문장을 한글로 표현하면 좋겠는데…..”, “여기 이 한글문장을 영문으로 표현하면 좋겠는데….” “여기 이 문장이 어려운데…  쉽게 바꿀순 없을까? ” 하고 생각하는 경우가 생깁니다.  이럴때 간단하게 사용할수 있는 방법입니다.
아래에서 소개하는것도 정확히 이해가 되면 10여분 정도의 시간이면 할수 있는 일입니다. 또한 대부분의 테마와 플러그인에 적용할수있는 효과적인 방법입니다.

일단 워드프레스에서 언어표현 시스템을 잠깐 소개하면, 워드프레스는 코어는 물론이고, 테마나 플러그인을 만들때에도 국제화를 합니다. i18n (Internationalization  i와마지막 n 사이에 18개의 알파벳이 있다는 줄임말) 라 불리는 이 작업은 , 테마나 플러그인이 동작할때 프론트엔드(사이트화면)에 나타나는 언어 표현들은 모두 약속된 함수로 표현합니다. (우리눈에는 그냥 영어단어로 보이지만 원래 그 단어는 특정함수로 둘러쌓여있는거죠) 그리고 이 함수는 워드프레스의 국가설정에 의해서 해당 국가의 언어파일로 변환되도록 해줍니다.
테마나 플러그인을 제작할때 의무적으로 이렇게 만들어야만 wordpress.org 에 정식 테마나 플러그인으로 등록이 됩니다. 이렇게 만들어진 테마나 플러그인들은 사용자가 자신의 국가 언어로 쉽게 번역하고, 번역된 언어 파일을 만들수 있습니다. 지역화 l10n (localization) 라는 이 작업은 테마나,플러그인 설치시 동시에 제공되는 원본 언어파일을 이용합니다.

기본 개요 )
 1)워드프레스 테마나 플러그인제작  => 2)테마나 플러그인 내의 제작언어만을 추출 (POT 파일) => 3)각각 사용자의 국가 언어로 번역 (PO파일) => 4)워드프레스 languages 폴더에 업로드 => 5)워드프레스 자동인식
1~2 는 테마나 플러그인 제작자가 공급해 주고 (원시파일인 POT파일을 제공하거나, 이 원시파일을 영어(공용어)로 번역한 PO 파일을 제공) , 3번작업은 번역 에디터 (‘poedit’ 라는 이름의 프로그램사용) 로 하고, 4번은 ftp클라이언트프로그램 (파일질라,알FTP) 를 이용합니다.

참고 : 원시파일인 POT(Portable Object Template) 파일에서  번역을 실시하여 저장할때는 무조건 실제 웹상에서 사용할수 있는 PO(Portable Object) 파일로 합니다. 이때 같은 이름의 MO(Machine Object)파일이 자동 생성됩니다.
PO와MO파일은 항상 쌍으로 움직이는데, 번역프로그램으로 불러오고, 번역하는 것은 PO파일이 담당하고, 저장을 하면 자동으로 MO파일은 업데이트 됩니다. 그러므로 MO파일은 항상 같이 움직일뿐 사용자가 직접 불러오거나 수정할 필요가 없습니다. 그러나 실제 웹상에서 원문이 번역문으로 대체되는 역할을 담당하는 것은 MO파일 입니다.
진짜 필요한 MO파일을 만들기 위해서 PO파일을 가지고 다니며 이용할 뿐인거죠.

아바다 테마에서의 실제 사용법

지금부터 아바다 테마에 번역을 이용해서 커스터마이징 해 보겠습니다.

예제1)아래 그림은 아바다테마에서의 포스트 댓글 창입니다.
워드프레스번역_01

그림속에서 ” Name(required) => 이름(필수) “로 “Email(required) =>Email(필수)”  로 바꾸겠습니다.

예제2)다음 그림은 아바다 테마에서 검색했을때 검색결과가 하나도 없을때 나오는 화면 입니다.

워드프레스 번역_02

그림속에서 “Oops! => 이런!” 으로, “Couldn’t find what you’re looking for! => 찾으시는 것이 없군요!” , “Here are some useful links => 다른 링크를 써보세요” , “Try again! => 다시한번!” , “If you want to rephrase your query, here is your chance => 검색어를 살짝 변경해 보세요 !” 로 바꾸겠습니다.

번역 과정

구글에서 poedit 프로그램을 검색하여 설치합니다.

translate-easy-customizing_03

translate-easy-customizing_04

translate-easy-customizing_05

설치하여 실행하면 위와 같은 화면이 나옵니다.

다음은 테마의 번역문 원본을 내려 받겠습니다.
파일질라로 나의 계정에 접속하여 테마의 폴더로 들어가면 languages폴더가 있습니다. (wp-content/themes/avada/languages ) 이속에 아바다에서 기본 제공하는 원본파일POT 파일이 있습니다(버전 5 현재) 파일을 다운받습니다. 그리고 이 다운받은 파일을 위에서 설치한 poedit 프로그램으로 열어줍니다.
* POT 파일이 제공되면 이것을 사용하면되고, 없을때는 번역 영역이 하나도 없는(원문만 있는 기본파일을 편집하면 되는겁니다.) 아래와 같은 화면이 나옵니다.
POT 파일은 번역문 원본이기 때문에 어떤 나라의 언어로 번역할 것인지를 설정해 주어야 합니다. “새 번역 만들기”를 클릭합니다.

국가를 대한민국 으로 선택 해 줍니다.
그러면 아래의 화면이 나타납니다.
translate-easy-customizing_06

1번 영역이 원문, 2번영역이 번역문 (현재 번역된것이 하나도 없음), 3번 영역이 선택된 원문 , 4번영역이 선택된 원문을 번역하여 넣는 영역입니다.(여기에 번역하여 넣으면 2번의 영역에 보임) 먼저 2번 영역의 상단에 보면 ‘translation-영어’ 라고 되어있습니다. 번역을 영어로 하겠다는 설정인데(제공된 원본임) 이 설정부터 바꿔 줍니다. 상단의 메뉴중에서 ‘카탈로그 – 속성 에 들어가서 중간에 ‘언어’ 설정을 ‘영어 => 한국어(대한민국)’ 으로 변경합니다.

translate-easy-customizing_07

이제 모든 설정이 끝났습니다. 원하는 문장을 찾아서 번역하면 됩니다. 상단에서 목표로 정한 문장을 찾습니다. 방법은 컨트롤+F 키를 누르거나 상단 메뉴의 ‘편집 – 찾기’를 누르면 검색창이 나오고 여기에 원하는 문장을 적어넣습니다. translate-easy-customizing_08 1번 처럼 검색창에 검색어를 넣고 찾으면 ‘require’ 가 들어간 문장을 차례대로 볼수 있고, 그중에 원하는 문장이 나왔을때 2번처럼 원하는 번역문을 입력합니다. 그러면 3번처럼 화면에 번역문이 보입니다. 위와 같이 반복하여 원하는 문장을 입력합니다.

translate-easy-customizing_09

번역이 끝났습니다. 이제 파일을 나의 웹 서버에 저장하겠습니다. 번역문이 저장될위치는 현재 테마의 languages  폴더(저장 방법1)여도 되고(wp-content/themes/avada/languages 폴더), 번역문의 통합폴더(저장 방법2)인 (wp-content/languages 폴더 안에 있는 themes 폴더여도 됩니다.)

저장 방법1) – 테마내의 폴더에 번역문을 저장
먼저 “언어코드(소문자)-지역코드(대문자)” 조합의 문장만으로 파일 이름을 만듭니다.  한국어는 ko_KR.po와  ko_KR.mo 라는 이름의  파일이 될것입니다. poedit에서  메뉴의 ‘파일 – 다른이름으로저장’ 을 누릅니다.  파일이름은 ko_KR.po 로 입력하고 저장합니다. (그러면 자동으로 ko_KR.mo 파일이 생성됩니다.) 두개의 파일을  wp-content/themes/avada/languages 에 올려 놓습니다.
저장 방법2) – 통합폴더에 번역문을 저장
이 통합 폴더(wp-content/languages)는 두개의 폴더와 몇개의 파일들을 가지고 있습니다. (만약 이 통합폴더가 보이지 않는다면, 현재 워드프레스 영문판을 사용하는 것입니다. 이 글에서 서술하는것과 같이 번역문을 사용하려면 워드프레스 한국어판을 사용해야 합니다. 만약 _ 워드프레스 는 영문판을 사용면서 위와 같이 몇개의 단어를 번역해서 사용하려면 이글의 맨 아래 부분에 우회팁을 이용하면 됩니다.) 두개의 폴더란 plugins와 themes 입니다.그리고 파일들이란 한글 워드프레스 어드민 화면에 사용되는 번역문들입니다. (아래의 그림에는 plugins 폴더가 없습니다. 아직 플러그인중에는 번역문이 없기 때문입니다. 비비프레스나 버디프레스등 한국어번역문을 자동지원하는 플러그인을 사용할때는 plugins 폴더가 생성됩니다. 아래 처럼 폴더가 없을때는 plugins폴더를 직접 만들어서 넣어주고 플러그인 번역문을 작성하여 넣어주면 됩니다.)

translate-easy-customizing_10

이 통합 폴더에 저장할때는 파일이름형식이 있습니다. ‘테마폴더이름(또는 플러그인폴더이름)-언어코드_지역코드’ 형식입니다. poedit 프로그램의 메뉴에서  ‘파일 – 다른이름으로저장’ 을 누릅니다. 파일이름을 Avada-ko_KR.po 로 입력해서 저장합니다.(그러면 자동으로 Avada- ko_KR.mo 파일이 생성됩니다.) 두개의 파일을 wp-content/languages/themes 폴더에 올려 놓습니다.

위의 두가지 방법중에서 방법2)를 권장합니다. 테마나 플러그인 업데이트시에도 번역파일을 유지할수 있고, 한꺼번에 모아서 관리하므로 편리하기도 하고, 워드프레스 코어의 업데이트시에도 영향을 받지 않습니다.

두개의 파일을 업로드한후, 다시 사이트를 동작시켜보면
translate-easy-customizing_11
translate-easy-customizing_12
원하는 문장만 번역되어 표현됩니다.

*  위의 방법은 테마와 플러그인 양쪽에서 다 가능합니다.
* 이미 번역되어 있는 문장중에서도 내 마음에 들지 않는 문구도 , 현재 사용중인 번역문을 다운로드받아서 변환한 후 다시 업로드하면 됩니다.
* 사이트에 표현되는 문장을 더 알아보기 쉬운 영어문장으로 변화 시킬때도 가능합니다. (번역영역에 다른 영어 문장을 넣어도 되니까요 ^^)

영문 워드프레스를 사용하면서 필요한 부분만 번역문을 사용하고 싶을때

방법1 – 한글 워드프레스를 사용하여, 위와 같이 필요한 부분을 번역한후에 번역파일을  wp-content/languages 폴더내에 업로드한후 , 그 번역파일을 제외한 나머지 번역파일들은 모두 삭제합니다. 그러면 워드프레스는 영문워드프레스로 되돌아 가며,한글 워드프레스로 인스톨하라는 메세지가 ‘Updates’ 코너에 나타납니다만, 무시하면 됩니다.

방법2 – 영문 워드프레스를 사용하면서 서버내의 wp-config.php 파일을 엽니다. 아래부분에 define(‘WPLANG’, ”); 문장에 나만의 언어-지역 코드를 입력합니다. ex.  define(‘WPLANG’, ‘ko_KRR’);    (*한국의 언어-지역코드는 ko-KR 입니다.이것을 변형한 것입니다.)그리고 위에서 번역한 파일의 이름에 지금 새로 만든 언어-지역코드(전세계어디에서도 사용하지않는)를 사용하여(ex Avada-ko-KRR.po 와 Avada-ko-KRR.mo ) 만들고 업로드 합니다. (나만의 언어-지역 코드 이므로  해당 언어로 업데이트하라는 메세지도 없고, 영문 워드프레스를 사용하면서, 필요한 번역파일은 ko-KRR 로 만들어 올리면 됩니다.-워드프레스 4.0 이후에 사용되는 번역 시스템에도 적용됩니다.)

6 Comments

  1. 유석규 2018/01/06 - 12:55 - 답글쓰기

    안녕하세요. 아바다 테마를 공부하면서 정말 많은 도움이 되었습니다.
    번역에 대한 좋은 정보도 정말 감사드립니다.
    문의를 드리자면, 제가 아바다 블로그 화면에서 read more를 자세히 보기로 바꾸고 싶은데
    poedit 프로그램에서 바꾸고 업데이트를 해도 반영되지 않아서요..
    다른 글들은 변경이 잘 되는데 유독 read more만 되지 않습니다.
    이곳에도 read more를 번역하신 것 같은데 노하우가 있으신지요^^

    • 이명성 2018/01/09 - 09:50 - 답글쓰기

      어떤 po 파일을 이용하는지 모르겠습니다만.
      현재 사용중인 아바다 테마의 버전과 일치하는 po 파일을 이용해서 번역/적용 하셔야 합니다.
      적합한 파일이라면 위에서 처럼 번역하면 적용됩니다.

  2. 안순석 2017/04/26 - 17:04 - 답글쓰기

    좋아요 이런 것 없어요? 따봉 열개 주고 싶은데 방법이 없네요.

  3. 제로 2017/02/23 - 22:29 - 답글쓰기

    정말 유용한 정보 얻고 갑니다.
    이 기능 찾기 위해서 엄청 헤맸는데 ㅠㅠ 감사합니다.

댓글 쓰기