로그인
Sign in
조회 수 381 추천 수 0 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
영문 배포판을 한글화하는 방법


1. 개 요 

영문으로 된 외국 배포판을 한글화하는 방법에 대해서 기술합니다. 여기서 기술되는 내용은 배포판 전체를 한글화하는 것이 아니라 응용프로그램을 한글화하는 방법에 대해서 간단하게 설명하고자 합니다. 맨드리바 계열의 배포판인 OpenMandriva, Mageia, RosaLinux 그리고 넘버원 리눅스의 기반인  PCLinuxOS 등의 배포판에서 한글화하는 방법에 대해서는 필자의 "리눅스의 모든 것" 서적에서 다루고 있는데, 이 책이 현재는 절판되어 있는 상태로 여건이 되는대로 이 부분에 대해서는  PDF 문서로 만들어 제공할 예정입니다. 이 내용 가운데 응용프로그램들에 대해서 한글화를 적용하기 위해서는 어떠한 방법으로 하는지를 설명하고자 합니다.

2. 대부분의 배포판들은 지역화(Localization)를 위해 카달로그 파일인 POT 파일을 제공한다.

/usr/share/locale/ko/LC_MESSAGES 디렉토리를 보면 프로그램명.mo 파일들이 존재합니다. 이 파일들이 하는 역할은 해당 국가에 대한 로케일이 설정되어 있을 프로그램들내의 문자들이 그 국가의 언어대로 출력할 수 있게 해 줍니다. 이 경로의 파일들은 한국어로 해당 프로그램들이 실행되었을 때 한글로 출력할 수 있도록 영문 스트링에 대해서 한글화되어 있습니다. 따라서 영문 프로그램들을 한글화하거나 수정하고자 할 때는 이 디렉토리에 있는 mo 파일들을 생성해 주거나 수정해 주면 될 것입니다. 그런데 이 파일들은 텍스트 파일이 아니라서 편집기로 편집할 수 없습니다. 그래서 이 파일을 편집하기 위해서는 텍스트 형태로 변환해 주어야 하는데 이 때 사용하는 명령이 msgunfmt입니다. 이 명령으로 mo 파일을 po 파일로 변환할 수 있습니다. 그러면 /usr/share/locale/ko/LC_MESSAGES/libDrakX.mo 파일을 변환해 봅니다.

 # msgunfmt /usr/share/locale/ko/LC_MESSAGES/libDrakX.mo > libDrakX.po

해당 명령을 내린 경로에 libDrakX.po 파일이 생성되어 있으며 에디터로 이 파일을 열어 보면 다음과 같은 형식으로 되어 있습니다.

localization_160408.png 

이 파일의 형식은 다음과 같습니다.

msgid "Choose a partition"

msgstr "파티션을 선택해 주세요."


msgid는 프로그램 소스에 사용된 문자열로, 이 부분을 msgstr으로 해당 로케일에 맞게 번역해 주면 됩니다. 그런 후에 다시 mo 파일로 변환하려면 msgfmt 명령을 사용합니다.

  # msgfmt libDrakX.po -o /usr/share/locale/ko/LC_MESSAGES/libDrakX.mo

이런식으로 한글화가 덜 된 파일을 수정하여 한글화를 완료시킬 수 있습니다.


3. 소스의 po 파일을 수정하여 패키지에 포함시킨다.

오픈소스마다 Po 파일의 탬플릿 파일인 Pot 파일을 지원합니다. 이 파일을 가지고 로케일에 맞는 po 파일(ko.po)을 만들어 소스와 함께 컴파일하여 패키징하는 것이 원칙입니다. 앞에서 설명한 것은 해당 패키지가 업데이트되어 설치하였을 때 패키지내에 있는 파일로 대치하게 되면 한글화에 변화가 있게 됩니다. 개인적으로 사용하는 것은 앞 방법대로 하면 되지만, 배포판 개발자는 RPM 패키지내에 한글화된 파일을 넣어 패키징하여 리포지토리에 올려 놓아야 합니다. 이러한 과정을 수행하기 위해선 다음과 같이 합니다.


오픈소스 압축 해제 -> 압축한 오픈소스를 다른 이름으로 복사 -> 다른 이름의 소스에 있는 Po 파일을 수정 -> 원소스와 복사 소스에 대한 패치 생성 -> rpm spec 파일에 패치 적용 추가 -> rpm 패키징


넘버원 리눅스에서는 이러한 방식으로 한글화를 진행하고 있습니다. 사실 이러한 방법보다는 설치되어 있는 mo 파일을 po 파일로 변환하여 한글화하여 리마스터링하는 것이 간단하고 시간도 훨씬 적게 들긴 때문에 이게 편리하긴 합니다. 이러한 걸 거치지 않고 모태 배포판에서 아예 한글화가 진행될 수 있도록 하려면 KDE 지역화 프로젝트에 한글화된 파일을 등록하는 것입니다. 자세한 것은 다음 사이트를 참고하세요.


https://l10n.kde.org/


 


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 넘버원 리눅스 팁은 FAQ 게시판으로 zharyong 2018.07.16 808
15 시스템 [플라즈마] 단축키 설정 방법 (수동) KDE 플라즈마에서 단축키 설정하는 방(KDE 제어판 단축키 설정) KDE 플라즈마에서 단축키 설정은 KDE 제어판의 단축키 설정에서 손쉽게 할 ... No1Linuxer 2020.07.14 536
14 시스템 [Funny Tip] 텍스트를 음성으로 1 file zharyong 2019.01.04 363
13 시스템 [부팅] 윈도7에서 No1.Linux 2018 SE Live 부팅 방법 file zharyong 2018.12.11 415
12 시스템 [시스템] 공인 인증서 anysign4pc 설치후 실행시 libNativeMng.so 오류 발생 anysign4pc 설치 후 실행 바이너리를 실행하였을 때 오류가 발생되는 경우 [root@localhost Downloads]# /opt/anysign4pc/amd64/AnySign.ex ... zharyong 2018.07.06 1031
11 시스템 [시스템] rpm 패키지는 어떻게 푸나? How to extract RPM package dir... file zharyong 2018.05.27 1255
10 시스템 [팁] xterm-256color': unknown terminal type 메시지및 MC에서 키보드 사... xterm-256color': unknown terminal type 대책및 MC에서 일부 키보드 사용이 안될 때 버전이 서로 다른 원격 No1.Linux 서버에 접속하... zharyong 2018.05.04 823
9 시스템 [MC] No1.Linux 2018 SE의 mc에서 ISO 파일 내용물을 보려면 file zharyong 2018.05.03 318
8 시스템 [컴파일오류] /usr/bin/ld: cannot find -lgtk-3 컴파일 오류 : /usr/bin/ld: cannot find -lgtk-3에 대한 대책 소스를 컴파일하다보면 다음과 같이 라이브러리 링크 문제가 발생되는 경우가... zharyong 2018.05.01 9601
7 시스템 [시스템] 쉘에서 set GTK_DEBUG 관련 오류 메시지가 발생되는 경우 file zharyong 2018.04.24 370
6 시스템 [시스템] DKMS(Dynamic Kernel Module Support)를 이용한 모듈 관리 DKMS(Dynamic Kernel Module Support) 모듈 관리 1. 개 요 DKMS(Dynamic Kernel Module Support)는 커널 모듈이 부팅시 생성되고, 활성... zharyong 2018.04.17 4751
5 시스템 [시스템] Alternatives(Update-altenatives)로 하나의 심볼릭 링크로 여러 패... file zharyong 2018.04.17 5849
4 시스템 [시스템] 부팅화면을 바꿔 보고 싶으세요? 플리마우스 변경하기 1 file zharyong 2018.03.31 1452
3 시스템 [System] 바탕화면에 시스템 정보를 모니터하여 멋지게 꾸며볼까 - conky file zharyong 2018.03.31 1003
» 시스템 [시스템] 외국 배포판의 응용프로그램을 한글화(Localization)하는 방법 영문 배포판을 한글화하는 방법 1. 개 요 영문으로 된 외국 배포판을 한글화하는 방법에 대해서 기술합니다. 여기서 기술되는 내용은 배포판... file zharyong 2018.03.24 381
1 시스템 [시스템] MD5SUM 체크섬 파일 만드는 방법과 검사하는 방법 데이터 무결점 체크섬 만드는 방법과 검사하는 방법 넘버원리눅스는 ISO 형태로 배포가 이뤄지고 있는데, 다운로드한 ISO 파일이 배포한 ... zharyong 2018.03.22 1460
목록
Board Pagination Prev 1 Next
/ 1