프로그램 번역 수정하기

각종 프로그램을 사용하다 보면 번역이 잘 되어 있지 않거나 틀린 맞춤법이나 띄어쓰기, 어색한 번역이 눈에 띌 때가 있습니다. 우분투에서는 사용자가 이러한 번역을 입맛에 맞게 수정할 수 있습니다.

본 글에서는 XChat을 예제로 하여 기존에 있는 번역 파일을 수정하여 적용하는 방법을 소개합니다.

[size=200:3uf1ameh][b:3uf1ameh]작업 순서[/b:3uf1ameh][/size:3uf1ameh]

[size=150:3uf1ameh][b:3uf1ameh]언어 번역 파일 수정[/b:3uf1ameh][/size:3uf1ameh]

XChat 우측의 '사용자 목록 단추’를 보면 '관리권 뺐기’와 '파일보내기’라는 번역이 눈에 띕니다. '뺐기’의 올바른 표현은 '뺏기’이고, '파일보내기’의 올바른 띄어쓰기는 '파일 보내기’입니다. 본 글에서는 이 두 가지 표현을 수정합니다.
[attachment=2:3uf1ameh]XChat-Translate-before-NLT.png[/attachment:3uf1ameh]
터미널에서 아래 코드를 실행해 작업할 디렉터리를 만들어 이동하고 XChat 소스를 내려받습니다.

[code:3uf1ameh]$ mkdir translate && cd translate
$ apt-get source xchat[/code:3uf1ameh]
소스를 모두 내려받으면 터미널에서 아래 코드를 실행해 XChat의 한글 번역 파일을 엽니다.

[code:3uf1ameh]$ gedit ./xchat-2.8.6/po/ko.po[/code:3uf1ameh]
번역 파일은 [b:3uf1ameh]#[/b:3uf1ameh]으로 시작하는 참조 파일 주석과 [b:3uf1ameh]msgid "blah"[/b:3uf1ameh]와 같은 원문, [b:3uf1ameh]msgstr "한글 번역"[/b:3uf1ameh]과 같은 번역문으로 이루어진 파일임을 알 수 있습니다. 이 파일에서 '관리권 뺐기’와 '파일보내기’를 찾아 각각 '관리권 뺏기’와 '파일 보내기’로 수정하고 저장합니다.

※ 각종 프로그램의 한국어 UI 번역은 [url:3uf1ameh]http://l10n.gnome.org/languages/ko/all/ui/[/url:3uf1ameh]에서 확인할 수 있습니다. *.pot 파일은 번역을 위한 기본적인 내용을 담고 있습니다. 이 파일은 소스의 po 디렉터리에 있으며 각 프로그램의 번역 페이지에서도 내려받을 수 있습니다.

[size=150:3uf1ameh][b:3uf1ameh]수정한 번역 파일 적용[/b:3uf1ameh][/size:3uf1ameh]

수정한 번역 파일을 적용하는 방법은, 소스를 직접 컴파일하는 방법과 Poedit를 이용해 해당 번역 파일만 수정하는 방법 두 가지가 있습니다. 두 가지를 각각 소개합니다.

[b:3uf1ameh]1. 소스 컴파일하는 방법[/b:3uf1ameh]

소스를 직접 컴파일하는 방법은 한국 우분투 사용자 모임 강분도님의 ‘[url=http://www.ubuntu.or.kr/viewtopic.php?t=1527:3uf1ameh]컴파일을 해보자 1 (기존 패키지)[/url:3uf1ameh]’ 글타래를 참조하였습니다.

소스 컴파일에 앞서 컴파일에 필요한 컴파일러를 설치합니다.

[code:3uf1ameh]$ sudo apt-get install build-essential[/code:3uf1ameh]
컴파일러 설치가 끝나면 XChat 컴파일에 필요한 의존 패키지를 설치합니다. 다른 프로그램을 컴파일할 땐 xchat 부분만 해당 프로그램에 맞게 수정합니다.

[code:3uf1ameh]$ sudo apt-get build-dep xchat[/code:3uf1ameh]
의존 패키지 설치가 끝나면 소스가 있는 디렉터리로 이동하고 [u:3uf1ameh]debian/changelog 파일[/u:3uf1ameh]을 읽습니다.

[code:3uf1ameh]$ cd xchat-2.8.6
$ gedit debian/changelog[/code:3uf1ameh]
첫 번째 줄을 보면 '[u:3uf1ameh]xchat (2.8.6-2.1ubuntu[b:3uf1ameh]4[/b:3uf1ameh]) jaunty; urgency=low[/u:3uf1ameh]'라고 되어 있는데, 2.8.6은 XChat의 버전을, 1ubuntu4는 우분투 패키징 버전을 의미합니다. 컴파일을 할 때 저장소의 내용으로 자동 업데이트되지 않도록 '[u:3uf1ameh]xchat (2.8.6-2.1ubuntu[b:3uf1ameh]5[/b:3uf1ameh]) jaunty; urgency=low[/u:3uf1ameh]'와 같이 우분투 패키징 버전을 올려줍니다.

시스템에 Fakeroot가 설치되어 있지 않다면 소스 컴파일을 위해 Fakeroot를 설치하고 소스를 컴파일합니다. 컴파일에는 시간이 다소 소요됩니다.

[code:3uf1ameh]$ sudo apt-get install fakeroot
$ fakeroot debian/rules binary[/code:3uf1ameh]
컴파일이 완료되면 부모 디렉터리에서 컴파일된 파일을 확인할 수 있습니다.

[code:3uf1ameh]$ cd .. && ls -al[/code:3uf1ameh]
터미널에서 아래 코드를 실행해 컴파일된 패키지를 설치합니다.

[code:3uf1ameh]$ sudo dpkg -i xchat*.deb[/code:3uf1ameh]
※ 소스 컴파일 방법을 사용할 때, Banshee와 같이 기존 패키지에 한글 번역을 포함하지 않는 프로그램은 ko.po 파일을 추가함은 물론, [u:3uf1ameh]po/LINGUAS 파일에 ‘ko’ 항목을 추가[/u:3uf1ameh]해야 합니다.

[b:3uf1ameh]2. Poedit를 이용하는 방법[/b:3uf1ameh]

시스템에 Poedit가 설치되어 있지 않다면 터미널에서 아래 코드를 실행해 설치합니다.

[code:3uf1ameh]$ sudo apt-get install poedit[/code:3uf1ameh]
Poedit 설치가 끝나면 번역 파일이 있는 디렉터리로 이동합니다.

[code:3uf1ameh]$ cd xchat-2.8.6/po[/code:3uf1ameh]
Poedit에서 [u:3uf1ameh]ko.po 파일[/u:3uf1ameh]을 열어 저장합니다. 파일을 저장하기 전에 Poedit의 선택사항에서 '[i:3uf1ameh]저장할 때, .mo 파일 자동 생성[/i:3uf1ameh]'을 선택해야 파일을 저장할 때 한글 번역 적용에 필요한 [u:3uf1ameh]ko.mo 파일[/u:3uf1ameh]이 생성됩니다 - 해당 선택사항은 기본적으로 선택되어 있습니다.
[attachment=0:3uf1ameh]Poedit-NLT.png[/attachment:3uf1ameh]
ko.mo 파일이 생성되면 터미널에서 아래 코드를 실행해 번역 파일을 '프로그램명.mo’로 바꾸어 /usr/share/locale/ko/LC_MESSAGES/ 혹은 /usr/share/locale-langpack/ko/LC_MESSAGES/에 복사합니다. XChat의 번역 파일은 /usr/share/locale/ko/LC_MESSAGES/에 존재하므로 해당 디렉터리로 복사합니다.

[code:3uf1ameh]$ sudo cp ./po/ko.mo /usr/share/locale/ko/LC_MESSAGES/xchat.mo[/code:3uf1ameh]
프로그램에 따라 기존 번역 파일이 /usr/share/locale-langpack/ko/LC_MESSAGES/에 존재할 수도 있습니다. 이런 프로그램은 아래와 같이 해당 디렉터리에 번역 파일을 복사합니다.

[code:3uf1ameh]$ sudo cp ./po/ko.mo /usr/share/locale-langpack/ko/LC_MESSAGES/프로그램명.mo[/code:3uf1ameh]
※ 프로그램에 따라 기존 번역 파일의 위치가 다르므로 번역 파일을 복사하기 전에 각 디렉터리의 내용을 먼저 확인해야 합니다.

[code:3uf1ameh]$ ls /usr/share/locale/ko/LC_MESSAGES/
$ ls /usr/share/locale-langpack/ko/LC_MESSAGES/[/code:3uf1ameh]

[size=150:3uf1ameh][b:3uf1ameh]프로그램 실행[/b:3uf1ameh][/size:3uf1ameh]

이제 XChat를 실행하면 수정한 한글 번역이 적용되었음을 확인할 수 있습니다.
[attachment=1:3uf1ameh]XChat-Translate-after-NLT.png[/attachment:3uf1ameh]

오~ 재성님, 팁 작성까지…

대단하십니다. :D

재성님은 고수다. ㄷㄷ

하핫… 사실 더스트님께서 알려주신 세 번째 방법이 있기는 하지만… 그건 생략하도록 하고요…

사실 대부분 강분도님께서 팁을 건네주신거구요… 그냥 혼자 해보기 아까워서 정리한 것뿐이죠…

제 블로그랑 위키 내실도 좀 키우고 포럼 위키도 준비할 겸… ㅋㅋㅋ

오오 역시 재성님도 초고수님… >_< b 팁 감사합니다!

수정하셨으면 혼자만 쓰지 말고, 번역팀 쪽에 넣어주세요. ^^

[quote="떠돌이":v2kk8ewd]오오 역시 재성님도 초고수님… >_< b 팁 감사합니다![/quote:v2kk8ewd]
강분도님이 알려주신 팁을 해보고 정리해본 것뿐이예요~ ^^

[quote="somebody":v2kk8ewd]수정하셨으면 혼자만 쓰지 말고, 번역팀 쪽에 넣어주세요. ^^[/quote:v2kk8ewd]
크리틱한 부분이 아니어서… ㅋㅋㅋ 몇 가지 더 있기는 한데 어떻게 넘기는 건지 모르겠네요… ㅋ 여러 프로그램들 보면 맞춤법이나 띄어쓰기가 잘못되어 있는 경우가 간혹 있더라고요…

오늘까지 번역 수정한 파일 올려봅니다. 대부분 기존 번역을 그대로 썼지만 띄어쓰기가 잘못된 건 최대한 수정하였습니다. 양이 너무 많아서 아직 전부 수정하지는 못했습니다. 그리고 표현이 영어식, 일어식 표현도 의역하는 등 수정하였습니다. 용어 선택에 논란이 좀 있을 것 같은데 입맛에 맞게 수정하셔서 사용하시면 됩니다. 전체적으로 다 본 것이 아니기 때문에 번역 파일 내에서도 용어가 통일되지 않을 수도 있습니다.
[attachment=0:3ak7hgof]xchat-v090410-jaesung.ko.po.tar.gz[/attachment:3ak7hgof]
위 파일을 내려받으시고 터미널에서 아래 코드를 실행하신 다음에 XChat을 실행하시면 됩니다.

[code:3ak7hgof]$ tar xzvf xchat-v090410-jaesung.ko.po.tar.gz && sudo cp ./ko.mo /usr/share/locale/ko/LC_MESSAGES/xchat.mo[/code:3ak7hgof]

오 완성도 높은 번역임 수고 하셨심
[attachment=0:1f35z3oi]screenshot2.png[/attachment:1f35z3oi]
xchat 에 직접 커밋하세요… ;)

http://xchat.org/

[quote="강분도":2j1nj7n1]오 완성도 높은 번역임 수고 하셨심
[attachment=0:2j1nj7n1]screenshot2.png[/attachment:2j1nj7n1]
xchat 에 직접 커밋하세요… ;)

http://xchat.org/[/quote:2j1nj7n1]

이런 걸 안 해봐서 모르겠는데… 그냥 이메일을 보내면 되는 건가요???

깔끔하게 정리 잘하셨네요 ^.^

멋져요!!