각종 프로그램을 사용하다 보면 번역이 잘 되어 있지 않거나 틀린 맞춤법이나 띄어쓰기, 어색한 번역이 눈에 띌 때가 있다. 우분투에서는 사용자가 이러한 번역을 입맛에 맞게 수정할 수 있다.
본 글에서는 XChat을 예제로 하여 기존에 있는 번역 파일을 수정하여 적용하는 방법을 소개한다.
작업 순서
언어 번역 파일 수정
XChat 우측의 ‘사용자 목록 단추’를 보면 ‘관리권 뺐기’와 ‘파일보내기’라는 번역이 눈에 띈다. ‘뺐기’의 올바른 표현은 ‘뺏기’이고, ‘파일보내기’의 올바른 띄어쓰기는 ‘파일 보내기’이다. 본 글에서는 이 두 가지 표현을 수정한다.
터미널에서 아래 코드를 실행해 작업할 디렉터리를 만들어 이동하고 XChat 소스를 내려받는다.
$ mkdir translate && cd translate
$ apt-get source xchat
소스를 모두 내려받으면 터미널에서 아래 코드를 실행해 XChat의 한글 번역 파일을 연다.
$ gedit ./xchat-2.8.6/po/ko.po
번역 파일은 #
으로 시작하는 참조 파일 주석과 msgid "Libero Town"
과 같은 원문, msgstr "리베로타운"
과 같은 번역문으로 이루어진 파일임을 알 수 있다. 이 파일에서 ‘관리권 뺐기‘와 ‘파일보내기‘를 찾아 각각 ‘관리권 뺏기‘와 ‘파일 보내기‘로 수정하고 저장한다.
※ 각종 프로그램의 한국어 UI 번역은 http://l10n.gnome.org/languages/ko/all/ui/에서 확인할 수 있다. *.pot
파일은 번역을 위한 기본적인 내용을 담고 있다. 이 파일은 소스의 po
디렉터리에 있으며 각 프로그램의 번역 페이지에서도 내려받을 수 있다.
수정한 번역 파일 적용
수정한 번역 파일을 적용하는 방법은, 1. 소스를 직접 컴파일하는 방법과 2. Poedit를 이용해 해당 번역 파일만 수정하는 방법 두 가지가 있다. 두 가지를 각각 소개한다.
1. 소스 컴파일하는 방법
소스를 직접 컴파일하는 방법은 한국 우분투 사용자 모임 강분도님의 ‘컴파일을 해보자 1 (기존 패키지)‘ 글타래를 참조하였다.
소스 컴파일에 앞서 컴파일에 필요한 컴파일러를 설치한다.
$ sudo apt-get install build-essential
컴파일러 설치가 끝나면 XChat 컴파일에 필요한 의존 패키지를 설치한다. 다른 프로그램을 컴파일할 땐 xchat
부분만 해당 프로그램에 맞게 수정한다.
$ sudo apt-get build-dep xchat
의존 패키지 설치가 끝나면 소스가 있는 디렉터리로 이동하고 debian/changelog
파일을 읽는다.
$ cd xchat-2.8.6
$ gedit debian/changelog
첫 번째 줄을 보면 ‘xchat (2.8.6-2.1ubuntu4) jaunty; urgency=low
‘라고 되어 있는데, 2.8.6
은 XChat의 버전을, 1ubuntu4
는 우분투 패키징 버전을 의미한다. 컴파일을 할 때 저장소의 내용으로 자동 업데이트되지 않도록 ‘xchat (2.8.6-2.1ubuntu5) jaunty; urgency=low
‘와 같이 우분투 패키징 버전을 올려준다.
시스템에 Fakeroot가 설치되어 있지 않다면 소스 컴파일을 위해 Fakeroot를 설치하고 소스를 컴파일한다. 컴파일에는 시간이 다소 소요된다.
$ sudo apt-get install fakeroot
$ fakeroot debian/rules binary
컴파일이 완료되면 부모 디렉터리에서 컴파일된 파일을 확인할 수 있다.
$ cd .. && ls -al
터미널에서 아래 코드를 실행해 컴파일된 패키지를 설치한다.
$ sudo dpkg -i xchat*.deb
※ 소스 컴파일 방법을 사용할 때, Banshee와 같이 기존 패키지에 한글 번역을 포함하지 않는 프로그램은 ko.po
파일을 추가함은 물론, po/LINGUAS
파일에 ‘ko’ 항목을 추가해야 한다.
2. Poedit를 이용하는 방법
시스템에 Poedit가 설치되어 있지 않다면 터미널에서 아래 코드를 실행해 설치한다.
$ sudo apt-get install poedit
Poedit 설치가 끝나면 번역 파일이 있는 디렉터리로 이동한다.
$ cd xchat-2.8.6/po
Poedit에서 ko.po
파일을 열어 저장한다. 파일을 저장하기 전에 Poedit의 선택사항에서 ‘저장할 때, .mo 파일 자동 생성‘을 선택해야 파일을 저장할 때 한글 번역 적용에 필요한 ko.mo
파일이 생성된다 – 해당 선택사항은 기본적으로 선택되어 있다.
ko.mo
파일이 생성되면 터미널에서 아래 코드를 실행해 번역 파일을 ‘프로그램명.mo
‘로 바꾸어 /usr/share/locale/ko/LC_MESSAGES/
혹은 /usr/share/locale-langpack/ko/LC_MESSAGES/
에 복사한다. XChat의 번역 파일은 /usr/share/locale/ko/LC_MESSAGES/
에 존재하므로 해당 디렉터리로 복사한다.
$ sudo cp ./po/ko.mo /usr/share/locale/ko/LC_MESSAGES/xchat.mo
프로그램에 따라 기존 번역 파일이 /usr/share/locale-langpack/ko/LC_MESSAGES/
에 존재할 수도 있다. 이런 프로그램은 아래와 같이 해당 디렉터리에 번역 파일을 복사한다.
$ sudo cp ./po/ko.mo /usr/share/locale-langpack/ko/LC_MESSAGES/프로그램명.mo
※ 프로그램에 따라 기존 번역 파일의 위치가 다르므로 번역 파일을 복사하기 전에 각 디렉터리의 내용을 먼저 확인해야 한다.
$ ls /usr/share/locale/ko/LC_MESSAGES/
$ ls /usr/share/locale-langpack/ko/LC_MESSAGES/
프로그램 실행
이제 XChat를 실행하면 수정한 한글 번역이 적용되었음을 확인할 수 있다.
기타 정보
테스트 환경
- 운영체제 우분투 9.04 Jaunty Jacklope i386
- 커널 Linux 2.6.28-11-generic
- 기타 환경 그놈 2.26.0
- 프로그램1 XChat 2.8.6
- 프로그램2 Poedit 1.4.2
관련 위키 (리베로타운 위키)
예전 리베로타운의 글을 복구한 게시물입니다. |