Poedit 문서 원본 보기
←
Poedit
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
gettext에서 사용하는 다국어 지원을 위한 메시지 파일인 po 파일 편집기인 poedit를 정리 한다. *홈페이지 : http://www.poedit.net/, http://sourceforge.net/projects/poedit/ *다운로드 : http://www.poedit.net/download.php *라이센스 : MIT license *플랫폼 : Windows, Unix, Linux / C++ ==설치 가이드== Windows에서 poedit를 다운로드 하여 설치하는 것을 설명 한다. ===poedit 설치=== *[http://www.poedit.net/download.php 다운로드 사이트]에서 "poedit-1.4.2-setup.exe"을 다운로드 한다. *"poedit-1.4.2-setup.exe"를 실행한 후 "Next"를 선택하여 설치를 시작 한다. [[그림:Poedit install 01.png|설치 시작]] *라이선스를 확인하고 "Next"를 선택 한다. [[그림:Poedit install 02.png|라이선스]] *설치 폴더를 선택하고 "Next"를 선택 한다. [[그림:Poedit install 03.png|설치 폴더]] *"Full installation"을 선택한 후 "Next"를 선택 한다. [[그림:Poedit install 04.png|설치 옵션]] *메뉴 폴더로 Poedit를 지정한 후 "Next"를 선택 한다. [[그림:Poedit install 05.png|메뉴 폴더]] *"Install"을 선택하여 실제 설치를 진행 한다. [[그림:Poedit install 06.png|설치]] *"Run Poedit now"를 선택한 후 "Finish"를 선택하여 설치를 종료 한다. [[그림:Poedit install 07.png|설치 종료]] *처음으로 poedit가 실행될 때 사용 언어로 "Korean"을 지정 하여야 메뉴 등이 한글로 표시 된다. [[그림:Poedit install 08.png|언어 선택]] *메시지를 읽고 "확인"은 선택 한다. [[그림:Poedit install 09.png|안내 메시지]] *카탈로그(PO 파일)의 "Last-Translator"에 표시할 신상 정보를 입력 한다. :*이름 : 산사랑 :*이메일 : consult(골뱅이)jopenbusiness.com [[그림:Poedit 02.png|신상 정보]] ===주요 환경 설정=== *여러개의 관련 카탈로그(PO 파일)을 프로젝트로 등록하여 관리를 하려면 다음과 같이 한다. :*"파일 -> 카탈로그 관리자" 메뉴를 선택 한다. :*카탈로그 관리자에서 붉은 네모 박스로 표시된 아이콘("번역 프로젝트 생성")을 선택 한다. [[그림:Poedit 10.png|500px|번역 프로젝트 생성]] :*프로젝트 이름 : "koreanTranslation", 자신이 원하는 프로젝트 이름을 사용할 것 :*디렉토리 : 프로젝트에 해당하는 카탈로그(PO 파일)가 있을 경우 "둘러보기" 버튼을 선택하여 해당 PO 파일을 추가 한다. [[그림:Poedit 11.png|프로젝트 정보 등록]] <br> *poedit는 번역본 기억 장치(TM)을 지원 한다. TM을 사용하여 기존에 번역에 사용 하였던 정보로 손쉽게 초벌 번역이 가능하다. 아래와 같이 하여 TM을 생성할 수 있다. :*"파일 -> 선택사항" 메뉴에서 번역본 기억 장치(TM) 탭을 선택 한다. ::*DB 경로 : c:/koreanTranslationDB, 번역본 기억 장치(TM)가 저장될 폴더를 지정 한다. ::*내 언어 : ko (korean), "추가" 버튼을 선택하여 사용할 언어를 지정 한다. [[그림:Poedit 04.png|번역본 기억 장치(TM)]] ::*"데이터베이스 생성" 버튼을 선택 한다. :::*디폴트로 등록된 "C:"를 삭제 한다. :::*"둘러보기"를 선택하여 PO 파일이 저장된 "c:/koreanTranslation"을 선택 한다. :::"Next" 버튼을 선택 한다. [[그림:Poedit 05.png|로컬 파일이 저장된 디렉토리 추가]] :::*번역본 기억 장치(TM)를 생성할 번역 파일(PO 파일 또는 MO 파일)을 지정 :::*번역본을 생성할 PO 파일을 지정 한다. :::*"Finish" 버튼을 눌러 데이터베이스 생성을 종료 한다. :::* 번역본 기억 장치의 DB 폴더가 c:/koreanTranslationDB 일 경우 구조 c:/koreanTranslationDB/ko 폴더 strings.db 파일 translations.db 파일 words.db 파일 [[그림:Poedit 06.png|번역 파일 추가]] ==사용자 가이드== ===파일 메뉴=== {| cellspacing="1" cellpadding="1" border="1" width="100%" |- |width="20%" bgcolor="cyan" align="center" valign="middle"|메뉴 |width="80%" bgcolor="cyan" align="center" valign="middle"|설명 |- |align="center"|카탈로그 관리자 | *프로젝트 단위 그룹핑하여 카탈로그를 관리 한다. *프로젝트 생성 :*카탈로그 관리자에서 붉은 네모 박스로 표시된 아이콘("번역 프로젝트 생성")을 선택 한다. [[그림:Poedit 10.png|500px|번역 프로젝트 생성]] :*프로젝트 이름 : "koreanTranslation" :*디렉토리 : "둘러보기" 버튼을 선택하여 "c:/koreanTranslation/koreanProject.po"를 추가 한다. [[그림:Poedit 11.png|프로젝트 정보 등록]] |- |align="center"|새 카탈로그 | *새 카탈로그(PO 파일)를 생성 한다. :*프로젝트 이름과 버전 : koreanProject, 카탈로그의 프로젝트 명 :*팀 : pnus, 카탈로그 작성 팀명 :*팀 메일 주소 : consult(골뱅이)jopenbusiness.com, 카탈로그 작성 팀의 메일 주소 :*언어 : "Korean" :*국가 : "KOREA, REPUBLIC OF" :*문자코드 : "utf-8" :*소스 코드 문자코드 : "utf-8" :*문장내 복수 표시 형식 : [[그림:Poedit 01.png|새 카탈로그]] *새 카탈로그를 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" |- |align="center"|POT 파일로부터 새로운 카탈로그 작성... | *GNU Gettext 템플릿(~.pot) 파일로 부터 새로운 카탈로그(GNU Gettext 파일, ~.po)를 작성 한다. |- |align="center"|열기... | *카탈로그(GNU Gettext 파일, ~.po)를 연다. |- |align="center"|저장 | *현재 작성 중인 카탈로그(GNU Gettext 파일, ~.po)를 저장 한다. |- |align="center"|다른 이름으로 저장... | *카탈로그(GNU Gettext 파일, ~.po)를 다른 이름으로 저장 한다. |- |align="center"|다른 형식으로 저장... | *카탈로그(GNU Gettext 파일, ~.po)를 다른 형식(~.po.html)으로 저장 한다. |- |align="center"|선택사항 | poedit의 기본 설정과 사용자 정보를 등록 한다. *"개인 정보" 탭 :*이름 : 산사랑 :*이메일 : consult(골뱅이)jopenbusiness.com [[그림:Poedit 02.png|신상 정보]] *"편집기" 탭 :*동작 ::*저장할 때, .mo 파일 자동 생성 : 선택시 c:/koreanTranslation 폴더의 koreanProject.po를 저장할 경우 자동으로 koreanProject.mo 파일이 생성 된다. ::*카탈로그 업데이트 후 요약 정보 보기 ::*Poedit 시작시에 카탈로그 관리자 열기 ::*항상 포커스를 입력창으로 옮김 ::*주석을 수정 가능하게 합니다. :*CR/LF 변환 ::*개행 서식 : '''유닉스''', MS 윈도우즈, 매킨토시, 현재 플랫폼 기본 사항 ::*존재하는 카탈로그의 포맷을 변경하지 마세요 :*외부 편집기 ::*편집기 실행파일 ::*파일 뷰어에서 열지 않고, 편집기에서 소스 파일 열기 :*글꼴 ::*번역 목록에 대한 사용자 글꼴 ::*본문 영역에 대한 사용자 글꼴 [[그림:Poedit 03.png|편집기]] *"번역본 기억 장치(TM)" 탭 :*데이터베이스 ::*DB 경로 : c:/koreanTranslationDB, 번역본 기억 장치(TM)가 저장될 폴더 ::*내 언어 : ko (korean), 아래 추가 버튼을 선택하여 사용할 언어를 지정 한다. [[그림:Poedit 04.png|번역본 기억 장치(TM)]] ::*"데이터베이스 생성" 버튼을 선택 한다. :::*디폴트로 등록된 "C:"를 삭제 한다. :::*"둘러보기"를 선택하여 PO 파일이 저장된 "c:/koreanTranslation"을 선택 한다. :::"Next" 버튼을 선택 한다. [[그림:Poedit 05.png|로컬 파일이 저장된 디렉토리 추가]] :::*번역본 기억 장치(TM)를 생성할 번역 파일(PO 파일 또는 MO 파일)을 지정 :::*번역본을 생성할 PO 파일을 지정 한다. :::*"Finish" 버튼을 눌러 데이터베이스 생성을 종료 한다. :::* 번역본 기억 장치의 DB 폴더가 c:/koreanTranslationDB 일 경우 구조 c:/koreanTranslationDB/ko 폴더 strings.db 파일 translations.db 파일 words.db 파일 [[그림:Poedit 06.png|번역 파일 추가]] :*설정 ::*누락된 최대 단어 수 ::*Max. difference in sentence length ::*카탈로드 업데이트할 때, 자동 번역 *"분석기" 탭 :*소스 코드를 분석하여 PO 파일을 생성할 때 필요한 정보를 관리 한다. [[그림:Poedit 07.png|분석기]] :*Java 분석기 설정 예 [[그림:Poedit 08.png|Java 분석기 설정 예]] :*PHP 분석기 설정 예 [[그림:Poedit 09.png|PHP 분석기 설정 예]] |- |align="center"|닫기 |poedit 프로그램을 종료 한다. |} ===편집 메뉴=== {| cellspacing="1" cellpadding="1" border="1" width="100%" |- |width="20%" bgcolor="cyan" align="center" valign="middle"|메뉴 |width="80%" bgcolor="cyan" align="center" valign="middle"|설명 |- |align="center"|원본을 번역창으로 복사 | *번역을 하기 위해 선택한 메시지의 원본 메시지(msgid)를 번역 메시지(msgstr)로 복사 한다. |- |align="center"|참조 보기 | *선택한 메시지가 참조된 곳을 보여 준다. |- |align="center"|찾기 | *다양한 조건으로 문자열을 검색 한다. |- |align="center"|모호한 번역 | *선택한 메시지가 모호한 번역일 경우에 표시를 한다. *poedit에서는 노란색 별표로 표시되며, PO 파일에서는 "#, fuzzy"라는 주석이 추가 된다. |- |align="center"|주석 편집 | *선택한 메시지의 주석을 편집 한다. |} ===카탈로그 메뉴=== {| cellspacing="1" cellpadding="1" border="1" width="100%" |- |width="20%" bgcolor="cyan" align="center" valign="middle"|메뉴 |width="80%" bgcolor="cyan" align="center" valign="middle"|설명 |- |align="center"|소스로부터 업데이트 | *카탈로그를 원본 소스(Java, PHP 등)로 부터 업데이트 한다. |- |align="center"|POT 파일로부터 업데이트 | *카탈로그를 POT 파일로부터 업데이트 한다. |- |align="center"|TM을 사용하여 자동 번역 | *생성된 번역본 기억 장치(TM)의 정보를 이용하여 초벌 번역을 한다. |- |align="center"|삭제된 번역을 완전히 제거 | |- |align="center"|설정 | *프로젝트 정보 : 프로젝트의 기본 정보를 저장 한다. *경로 : 원본 소스(Java, PHP 등)의 경로를 저장 한다. *키워드 : 소스 파일에서 번역할 문자열을 인식할 키워드(함수명)를 저장 한다. |} ===보기 메뉴=== {| cellspacing="1" cellpadding="1" border="1" width="100%" |- |width="20%" bgcolor="cyan" align="center" valign="middle"|메뉴 |width="80%" bgcolor="cyan" align="center" valign="middle"|설명 |- |align="center"|전체 화면 | *poedit를 전체 화면으로 표시 한다. |- |align="center"|따옴표 보이기 | *msgid와 msgstr에 따옴표를 보여 준다. |- |align="center"|줄번호 보이기 | *msgid의 줄번호를 보여 준다. |- |align="center"|주석 창 보이기 | *주석 창을 보여 준다. |- |align="center"|자동 주석 창 보이기 | |- |align="center"|음영으로 구분된 번역 리스트 | |} ===책갈피 메뉴=== {| cellspacing="1" cellpadding="1" border="1" width="100%" |- |width="20%" bgcolor="cyan" align="center" valign="middle"|메뉴 |width="80%" bgcolor="cyan" align="center" valign="middle"|설명 |- |align="center"|책갈피 삽입 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" |- |align="center"|책갈피로 바로 가기 0, 1, ..., 9 | *지정한 책갈피로 바로 간다. *단축키로 Ctrl-0에서 Ctrl-9까지 사용 한다. |} ===도움말 메뉴=== {| cellspacing="1" cellpadding="1" border="1" width="100%" |- |width="20%" bgcolor="cyan" align="center" valign="middle"|메뉴 |width="80%" bgcolor="cyan" align="center" valign="middle"|설명 |- |align="center"|목차 및 검색 | *poedit의 영문 사용자 가이드를 보여 준다. |- |align="center"|GNU gettext 문서 | *영문 GNU gettext manual을 보여 준다. |- |align="center"|Poedit 정보 | *설치된 poedit의 정보를 보여 준다. |} == PO 파일 포맷 == msgid ""<br/>msgstr ""<br/>"Project-Id-Version: /root/repo_git/SuiteCRM/lang_ko_kr_pack/include/language/ko_kr.lang.php\n"<br/>"Report-Msgid-Bugs-To: <span style="line-height: 20.7999992370605px;">\n</span>"<br/>"POT-Creation-Date: 2015-08-15 13:00+0900<span style="line-height: 20.7999992370605px;">\n</span>"<br/>"PO-Revision-Date: 2015-08-15 13:00+0900<span style="line-height: 20.7999992370605px;">\n</span>"<br/>"Last-Translator: 산사랑 <consult골뱅이jopenbusiness.com><span style="line-height: 20.7999992370605px;">\n</span>"<br/>"Language-Team: 산사랑 <consult골뱅이jopenbusiness.com><span style="line-height: 20.7999992370605px;">\n</span>"<br/>"MIME-Version: 1.0<span style="line-height: 20.7999992370605px;">\n</span>"<br/>"Content-Type: text/plain; charset=UTF-8<span style="line-height: 20.7999992370605px;">\n</span>"<br/>"Content-Transfer-Encoding: 8bit<span style="line-height: 20.7999992370605px;">\n</span>"<br/><br/># translator-comments (주석)<br/>#. extracted-comments<br/>#: reference… (참조 파일 정보)<br/>#, flag…<br/>#| msgid previous-untranslated-string<br/>msgid "원본 메시지"<br/>msgstr "번역한 메시지"<br/>빈라인<br/># 주석<br/>msgid "원본 메시지"<br/>msgid_plural "복수형 원본 메시지"<br/>msgstr[0] "~"<br/>msgstr[1] "~" 참고 문헌 *[http://www.gnu.org/software/gettext/manual/gettext.html#PO-Files http://www.gnu.org/software/gettext/manual/gettext.html#PO-Files] == 프로그램 매뉴얼 == === PO 파일 생성 및 위치 === PHP 파일에서 po 파일 생성 <pre>yum install gettext xgettext --default-domain=index -k_ index.php</pre> po 파일로 mo 파일 생성 msgfmt -o domain.mo domain.po #--- po 파일을 mo 파일로 변환하기<br/>msgfmt domain.po > domain.mo<br/>msgfmt domain.po -o domain.mo #--- mo 파일을 po 파일로 변환하기<br/>msgunfmt domain.mo > domain.po<br/>msgunfmt domain.mo -o domain.po po 파일 위치 <pre>/usr/local/share/locale/ko_KR/LC_MESSAGE/mydomain.mo # /usr/local/share/locale/ko_KR.UTF8/LC_MESSAGE/mydomain.mo # /usr/local/share/locale/ko/LC_MESSAGE/mydomain.mo</pre> === PHP에서 po 파일 사용 === PHP 환경 설정 <pre>vi php.ini extension=gettext.so</pre> po 파일 사용 준비 <pre>bindtextdomain("mydomain", "/usr/local/share/locale"); # bindtextdomain("mydomain", dirname(__FILE__)."/locale"); bind_textdomain_codeset('mydomain', "UTF-8"); textdomain("mydomain");</pre> po 파일 사용 <pre>putenv("LANG=ko_KR.utf8"); setlocale(LC_MESSAGES, "ko_KR.utf8"); # putenv("LC_ALL=ko_KR.utf8"); # setlocale(LC_ALL, "ko_KR.utf8"); gettext("~"); _("~");</pre> === Python에서 po 파일 사용 === <pre>import gettext gettext.bindtextdomain("mydomain", "/usr/local/share/locale") gettext.bind_textdomain_codeset("mydomain", "UTF-8") gettext.textdomain("mydomain") gettext.gettext("~") _ = gettext.gettext _("~")</pre> === Linux Shell Script에서 po 파일 사용 === <pre>#! /bin/bash export TEXTDOMAINDIR=/usr/local/share/locale export TEXTDOMAIN=mydomain echo "$(gettext -s "Hello")"</pre> == xgettext 사용법 == 참고 문헌 *https://developer.mozilla.org/en-US/docs/gettext *[http://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/xgettext-Invocation.html http://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/xgettext-Invocation.html] == 참고 문헌 == *[[오픈소스 한글화|오픈소스 한글화]] *대표적인 PO 편집기 :*[http://kbabel.kde.org/ KBabel (GPL)] :*[http://sourceforge.net/projects/gtranslator gtranslator] *[http://kldp.net/projects/ko-po-check 한국어 PO 파일 검사툴] *[http://en.wikipedia.org/wiki/Computer-assisted_translation Computer-assisted translation] *[http://lexcode.com/bbs/zboard.php?id=okc8&page=1 http://lexcode.com/bbs/zboard.php?id=okc8&page=1] *[http://www.thewordcracker.com/translation/free-computer-aided-tool-omegat/ OmegaT], SDL Trados, DejaVu, MomoQ *TMX (TM 데이터의 산업 표준 포맷) **http://doc.mapeditor.org/reference/tmx-map-format/ **http://pythonhosted.org/tmx/ [[Category:오픈소스|Category:오픈소스]]<br/>[[Category:한글화|Category:한글화]]
Poedit
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보