본문으로 바로가기

워드프레스 번역 플러그인을 찾다보니 CodeStyling Localization 이라는 플러그인을 많이들 추천하고 있었습니다. 문제는 현재의 시점에서는 해당 플러그인이 워드프레스에서 검색이 되질 않더군요. 그래서 다른 대안책으로 Loco Translate가 애용되기에 이를 소개합니다.

Loco Translate 소개

Loco Translate 플러그인은 워드프레스 플러그인들과 테마들을 브라우저에서 직접 PO 파일을 수정하여 번역할 수 있게 해준다. 즉, Poedit와 같은 번역 프로그램을 따로 설치하지 않아도 워드프레스상에서 직접 번역 파일을 만들 수 있다.

특징

  • 워드프레스 관리자에 내장된 번역 편집기
  • 테마나 플러그인에 직접적으로 언어 파일을 수정하거나 생성할 수 있다.
  • 소스 코드에서 번역 문자열을 추출한다.
  • 시스템에 Gettext가 없어도 MO 파일을 편집가능
  • Support for PO features including comments, references and plural forms
  • PO 파일 백업 설정가능
  • 내장된 워드프레스 지역 코드(locale code)

설치

자신의 워드프레스에 접속하여 플러그인에서 Loco Translate로 검색하여 설치하면 된다.

Loco Translate FAQ

프로젝트가 자동적으로 번역됩니까?

아니오. 플러그인을 이용해 수동적으로 자신의 번역을 입력해야하지만, 곧 일부라도 자동 번역 서비스를 제공할 계획이다.

테마/플러그인에서 번역이 나오지 않는 이유는 무엇입니까?

모든 Loco Translate는 사람들이 귀하의 사이트를 방문하는 경우 실행되지 않고 번역 처리를 관리하고 파일을 구성한다.

Loco가 잘못된 MO 파일을 혹은 잘못된 장소에 저장된다면 지원을 요청하라.

코드에서 일부 번역 문자열을 추출할 수 없는 이유는 무엇입니까?

추출 과정은 워드프레스에서 __('Foo')와 같은 문자열 리터럴 인수를 이용해 번역할 문자열을 찾는다.

myTranslate('Foo') 와 같은 자신만의 사용자정의 함수를 사용하면 작동하지 않는다. __($foo) 와 같은 변수를 사용해서도 안된다.

POT(template) 파일을 생성해야 합니까?

Gettext 작업 흐름에 익숙하지 않고 플러그인을 배포할 계획이 아니라면 POT 파일없이 작동할 수 있다.

POT 파일을 유지하는게 좋은 이유가 있지만 Loco의 작동에는 필수요소가 아니다. 소스 코드에 직접 번역하여 동기화할 수 있다.

번역을 저장하려 할때 경고가 나타나는 이유는 무엇입니까?

사이트에 직접 PO 파일을 저장하려하면 몇가지 파일과 디렉토리는 쓰기 권한이 필요하다. 서버의 파일 권한을 관리하는 방법을 모르는 경우, 시스템 관리자나 호스팅 공급자에게 문의하도록 하자.

쓰기 가능한 디렉토리에 보안 문제가 발생할 경우 개발 서버에 번역을 제한하게 된다. 파일 권한은 번역을 편집하는 것과 볼수 있는 것과는 관련이 없다.

MO 파일은 어떻게 생성합니까?

Loco Translate는 PO 파일이 저장될때마다 같은 위치에 MO 파일을 컴파일한다. MO 파일의 컴파일이 실패한다면 디스크에 기록할 수 있는지 확인해봐야 한다.

저장 및 동기화시에 구문 오류가 발생하는 이유는 무엇입니까?

이 오류는 서버에서 예기치못한 잘못된 어떤 것이 있다는 것을 의미한다. 무엇을 해야하는지에 대한 몇가지 팁을 확인하도록 하자.

윈도우즈를 지원합니까?

IE를 사용하여 윈도우즈의 인터페이스에 접근할 수 있지만 IE9 이상을 권장한다.

Loco Translate는 PHP의 윈도우즈 버전을 지원하지 않기에 서버가 윈도우즈 버전일 경우 플러그인이 제대로 작동하지 않을 수 있다.

너무 기술적인데 도대체 왜 작동하지 않는거냐고!!

대부분의 경우 정상 작동하겠지만 Loco Translate는 독립적으로 실행되는 프로그램이 아니기에 서버에서 실행하고 있는 외부 요인에 의해 가끔 문제가 발생할 수 있다. 플러그인이 자동적으로 특정 상황을 처리 할 수 없는 경우에 개입이 필요할수도 있다. 그리고 기술적인 문제에 대한 비기술적인 솔류션은 없다.

Loco Translate에서 발생한 문제에 지원을 받을 수 있지만 관련된 세부사항을 제공해야 합니다.

Loco Translate 설명

플러그인을 설치하면 관리자 패널에 새롭게 Loco Translate 메뉴가 등장한다.

Manage transition

이 메뉴를 살펴보면 테마와 플러그인으로 나뉘어진 블럭을 가지고 있다.

  • 번역 파일(PO) 열에서 새로운 언어를 추가할 수 있고 이미 번역된 파일이 있다면 그 링크를 이용해 번역 내용을 수정할 수 있다.
  • 템플릿 파일(POT)의 링크를 이용해 템플릿 자체를 수정할 수 있다.
  • 파일 권한(File permissions)의 링크를 이용해 관련된 파일들에 대한 상태 및 권한등을 확인할 수 있다.
이런! 자세히 들여다보니 테마와 플러그인 번역 파일만 수정이 가능하다. 원하는 건 워드프레스 기본 번역 파일도 수정하는 것이였는데...

Translation options

그 밖의 설정에 대한 메뉴이다.

Loco Translate 번역 예

플러그인 하나를 번역해 보기로 했다. User Access Manager라는 플러그인이 그 대상인데, 보는 바와 같이 한국어 번역이 없고 무언가 경고성 메세지가 띄워져 있다.

일단 경고성 메세지(some file missing)의 링크로 이동해보자.

  • 첫번째 메세지는 네덜란드 번역파일이 없다는 것 같다. 필요없으니 패스~
  • 두번째 메세지는 해당 플러그인 디렉토리에 language 디렉토리를 찾을 수 없다는 것인데, 이 플러그인은 lang 라는 디렉토리가 따로 준비되어 있드라.
  • 세번째 메세지는 "Text Domain"이 선언되어 있지 않다는 것인데 똑똑하게도 이를 유추하고 있다. 유추한게 맞다.

별다른 문제를 발견하지 못했으니 다 패스~

"New language" 버튼을 이용해 새로운 번역 파일을 추가한다. 번역 파일의 언어를 선택하고 해당 파일을 저장할 곳을 선택하면 된다.

원하는 구문을 선택하고 번역을 하면된다. 번역이 완료되면 Save 버튼으로 저장을 하면 자동적으로 컴파일되어 MO 파일이 생성되며 번역이 적용된다.