오픈소스를 한글화할 때 가장 많이 발생하는 문제점은 번역을 좀 더 효율화할 수 있는 방법은 무엇일까와 번역된 용어의 통일성일 것이다. 오픈소스에서 많이 사용하고 있는 GNU Gettext 기반의 PO(Portable Object) 파일의 편집기인 poedit는 이러한 문제에 대한 해결책을 제시하여 준다.
첫째로 번역본 기억 장치(TM)가 있어 이미 번역한 정보를 Database 형태로 관리를 하고 있다가 새로운 번역 항목에 대한 초벌 번역을 해 주며 또는 TM을 통해 용어의 통일을 꾀할 수 있다.
둘째로 PO 파일을 가장 많이 사용하기 때문에 여러가지 다른 다국어 지원을 위한 파일 포맷과 호환되는 기능을 제공하므로 다양한 한글화(다국어) 파일의 편집이 가능 하다. (
Translate Toolkit & Pootle 참조)
poedit를 사용하기 위해 간단한 용어 정리와 각각의 메뉴에 대한 정리를 하였다. 메뉴를 하나 하나 선택하여 보고 정리한 사항이므로 부족한 부분이 있을 수 있고 몇개는 설명이 빠져 있다. poedit를 많이 사용해 본 분은 참고로 링크를 단 위키페이지에서 내용을 보완해 주기 바란다.
주요 용어
| 메뉴
| 설명
|
| 프로젝트
|
- 카탈로그 관리자에서 하나의 단위로 관리할 카탈로그의 모음을 지칭 한다.
|
| PO, 카탈로그
|
- Portable Object, GNU Gettext 카탈로그, 번역 파일
- Text 기반의 파일로 GNU version과 non GNU version이 있다.
- GNU version 샘플
msgid "" msgstr "" "Project-Id-Version: koreanProject\n" "POT-Creation-Date: \n" "PO-Revision-Date: \n" "Last-Translator: 산사랑 <consult@jopenbusiness.com>\n" "Language-Team: pnus <consult@jopenbusiness.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Korean\n" "X-Poedit-Country: KOREA, REPUBLIC OF\n" "X-Poedit-SourceCharset: utf-8\n"
#--- 여기서 부터 실제 다국어 메시지가 저장 된다. msgid "Hello" msgstr "안녕하세요"
domain "messages" #--- 여기서 부터 실제 다국어 메시지가 저장 된다. msgid "Hello" msgstr "안녕하세요"
|
| POT
|
- Portable Object Template, GNU Gettext 템플릿
- PO 파일을 생성하기 위해 사용 한다.
|
| MO
|
- Machine Object
- PO 파일이 컴파일된 Binary 기반의 파일로 실제로 gettext 함수에서 사용 한다.
|
| TM
|
- 번역본 기억 장치
- 이미 번역한 PO 파일을 사용하여 번역과 관련된 정보를 저장하는 번역본 기억 장치를 생성하며, 또한 생성된 번역본 기억 장치로 새로운 PO 파일을 초벌 번역할 수 있다.
- 번역본 기억 장치의 DB 폴더가 c:/koreanTranslationDB 일 경우 구조
-
- strings.db 파일
- translations.db 파일
- words.db 파일
|
파일 메뉴
| 메뉴
| 설명
|
| 카탈로그 관리자
|
- 프로젝트 단위 그룹핑하여 카탈로그를 관리 한다.
- 프로젝트 생성
- 카탈로그 관리자에서 붉은 네모 박스로 표시된 아이콘("번역 프로젝트 생성")을 선택 한다.
- 프로젝트 이름 : "koreanTranslation"
- 디렉토리 : "둘러보기" 버튼을 선택하여 "c:/koreanTranslation/koreanProject.po"를 추가 한다.
|
| 새 카탈로그
|
- 프로젝트 이름과 버전 : koreanProject, 카탈로그의 프로젝트 명
- 팀 : pnus, 카탈로그 작성 팀명
- 팀 메일 주소 : consult(골뱅이)jopenbusiness.com, 카탈로그 작성 팀의 메일 주소
- 언어 : "Korean"
- 국가 : "KOREA, REPUBLIC OF"
- 문자코드 : "utf-8"
- 소스 코드 문자코드 : "utf-8"
- 문장내 복수 표시 형식 :
- 새 카탈로그를 c:/koreanTranslation/koreanProject.po 로 저장할 경우 파일 내용
- koreanProject.po 파일은 utf-8 형태로 저장 된다.
msgid "" msgstr "" "Project-Id-Version: koreanProject\n" "POT-Creation-Date: \n" "PO-Revision-Date: \n" "Last-Translator: 산사랑 <consult(골뱅이)jopenbusiness.com>\n" "Language-Team: pnus <consult(골뱅이)jopenbusiness.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Korean\n" "X-Poedit-Country: KOREA, REPUBLIC OF\n" "X-Poedit-SourceCharset: utf-8\n"
|
| POT 파일로부터 새로운 카탈로그 작성...
|
- GNU Gettext 템플릿(~.pot) 파일로 부터 새로운 카탈로그(GNU Gettext 파일, ~.po)를 작성 한다.
|
| 열기...
|
- 카탈로그(GNU Gettext 파일, ~.po)를 연다.
|
| 저장
|
- 현재 작성 중인 카탈로그(GNU Gettext 파일, ~.po)를 저장 한다.
|
| 다른 이름으로 저장...
|
- 카탈로그(GNU Gettext 파일, ~.po)를 다른 이름으로 저장 한다.
|
| 다른 형식으로 저장...
|
- 카탈로그(GNU Gettext 파일, ~.po)를 다른 형식(~.po.html)으로 저장 한다.
|
| 선택사항
|
poedit의 기본 설정과 사용자 정보를 등록 한다.
- 이름 : 산사랑
- 이메일 : consult(골뱅이)jopenbusiness.com
-
- 저장할 때, .mo 파일 자동 생성 : 선택시 c:/koreanTranslation 폴더의 koreanProject.po를 저장할 경우 자동으로 koreanProject.mo 파일이 생성 된다.
- 카탈로그 업데이트 후 요약 정보 보기
- Poedit 시작시에 카탈로그 관리자 열기
- 항상 포커스를 입력창으로 옮김
- 주석을 수정 가능하게 합니다.
- 개행 서식 : 유닉스, MS 윈도우즈, 매킨토시, 현재 플랫폼 기본 사항
- 존재하는 카탈로그의 포맷을 변경하지 마세요
- 편집기 실행파일
- 파일 뷰어에서 열지 않고, 편집기에서 소스 파일 열기
- 번역 목록에 대한 사용자 글꼴
- 본문 영역에 대한 사용자 글꼴
-
- DB 경로 : c:/koreanTranslationDB, 번역본 기억 장치(TM)가 저장될 폴더
- 내 언어 : ko (korean), 아래 추가 버튼을 선택하여 사용할 언어를 지정 한다.
-
- 디폴트로 등록된 "C:"를 삭제 한다.
- "둘러보기"를 선택하여 PO 파일이 저장된 "c:/koreanTranslation"을 선택 한다.
- "Next" 버튼을 선택 한다.
- 번역본 기억 장치(TM)를 생성할 번역 파일(PO 파일 또는 MO 파일)을 지정
- 번역본을 생성할 PO 파일을 지정 한다.
- "Finish" 버튼을 눌러 데이터베이스 생성을 종료 한다.
- 번역본 기억 장치의 DB 폴더가 c:/koreanTranslationDB 일 경우 구조
c:/koreanTranslationDB/ko 폴더 strings.db 파일 translations.db 파일 words.db 파일
-
- 누락된 최대 단어 수
- Max. difference in sentence length
- 카탈로드 업데이트할 때, 자동 번역
- 소스 코드를 분석하여 PO 파일을 생성할 때 필요한 정보를 관리 한다.
-
-
|
| 닫기
| poedit 프로그램을 종료 한다.
|
편집 메뉴
| 메뉴
| 설명
|
| 원본을 번역창으로 복사
|
- 번역을 하기 위해 선택한 메시지의 원본 메시지(msgid)를 번역 메시지(msgstr)로 복사 한다.
|
| 참조 보기
|
|
| 찾기
|
|
| 모호한 번역
|
- 선택한 메시지가 모호한 번역일 경우에 표시를 한다.
- poedit에서는 노란색 별표로 표시되며, PO 파일에서는 "#, fuzzy"라는 주석이 추가 된다.
|
| 주석 편집
|
|
카탈로그 메뉴
| 메뉴
| 설명
|
| 소스로부터 업데이트
|
- 카탈로그를 원본 소스(Java, PHP 등)로 부터 업데이트 한다.
|
| POT 파일로부터 업데이트
|
|
| TM을 사용하여 자동 번역
|
- 생성된 번역본 기억 장치(TM)의 정보를 이용하여 초벌 번역을 한다.
|
| 삭제된 번역을 완전히 제거
|
|
| 설정
|
- 프로젝트 정보 : 프로젝트의 기본 정보를 저장 한다.
- 경로 : 원본 소스(Java, PHP 등)의 경로를 저장 한다.
- 키워드 : 소스 파일에서 번역할 문자열을 인식할 키워드(함수명)를 저장 한다.
|
보기 메뉴
| 메뉴
| 설명
|
| 전체 화면
|
|
| 따옴표 보이기
|
- msgid와 msgstr에 따옴표를 보여 준다.
|
| 줄번호 보이기
|
|
| 주석 창 보이기
|
|
| 자동 주석 창 보이기
|
|
| 음영으로 구분된 번역 리스트
|
|
책갈피 메뉴
| 메뉴
| 설명
|
| 책갈피 삽입 0, 1, ..., 9
|
- 선택한 메시지를 책갈피 0번에서 부터 9번까지 지정 한다.
- 단축키로 Alt-0에서 Alt-9까지 사용 한다.
- PO 파일에서는 "X-Poedit-Bookmarks"가 추가되어 관리 되며, 책갈피에 해당하는 메시지 번호(0, 1, 2, ..., -1은 책갈피가 지정되지 않음을 표시함)가 저장된다.
# 0번 책갈피에 6번째 메시지(5)가 할당되었고 # 다른 책갈피에는 메시지가 할당되지 않았을 경우 "X-Poedit-Bookmarks: 5,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
|
| 책갈피로 바로 가기 0, 1, ..., 9
|
- 지정한 책갈피로 바로 간다.
- 단축키로 Ctrl-0에서 Ctrl-9까지 사용 한다.
|
도움말 메뉴
| 메뉴
| 설명
|
| 목차 및 검색
|
- poedit의 영문 사용자 가이드를 보여 준다.
|
| GNU gettext 문서
|
- 영문 GNU gettext manual을 보여 준다.
|
| Poedit 정보
|
|
참고 :
오픈소스 비즈니스 컨설팅 - poedit
트랙백 주소 :: http://openlamp.co.kr/trackback/107
잘 정리해주셨네요.
제 블로그가 살면 일전에 말씀드린 글과 TM DB 생성에 관한 글을 하나 써서 트랙백 보내겠습니다. 그리고 위에 링크하신 TM DB 파일은 음.. 좀 거시기할건데.. 다시 만들어야하는데 -_-;;;
넵, 감사합니다.
그리고 TMDB는 참고용 입니다. 어짜피 새로운 프로젝트를 생성해서 번역을 하면 용어도 틀리고 하니 새로 만들어야 하지 않을까요.
그리고 블로그 빨리 살려 주세요. 보고 싶은 것이 많은데 ...
http://www.coachfactorystore-outlet.net
http://www.coachfactory-outlet-onlines.net
http://www.coachfactoryoutlet-onlinee.com
http://www.coachoutletstoreonline2012.net
http://www.coachoutletonlinestore.ca
http://www.coachfactorystoresonline.net
http://www.lvbagss-online.net
http://www.coachfactorysoutletsonlines.com
http://www.coachfactorys-onlines.net
http://www.louisvuittonbags2012.net
http://www.coachbagsz.net
http://www.burberryscarfs2012.com