오픈소스 한글화 문서 원본 보기
←
오픈소스 한글화
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
오픈소스 라이선스와 오픈소스의 한글화를 진행하고 이와 관련된 정보를 정리 한다. 한글화를 위해 CAT(Computer Aided Translation) 도구와 TM(Translation Memory)을 활용한다. 다국어 지원을 위한 문서 양식은 GNU Gettext의 PO(Portable Object) 형식을 중심으로 변환 도구를 사용하여 다양한 문서 양식을 포함 한다. ==주요 용어== {| 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"|현지화<br>(Localization, L10n) | *해당 지역의 전문가를 거쳐서 만들어 지는 번역(의역) |- |align="center"|국제화<br>(Internationalization, I18n) | *세계화, 현지화가 가능 하도록 하는 기반을 마련해 주는 시스템 *지역적 언어 표현 방법을 모두 수용할 수 있도록 만들어주는 시스템 |- |align="center"|세계화<br>(Globalization, G11n) | *다국어 시스템를 구성하는 것 *I18n + L10n |- |align="center"|Glocalization | *세계화(Globalization)와 현지화(Localization)를 합성한 신조어 *세계화를 추구하면서 동시에 현지 국가의 풍토를 존중하는 방식 |- |align="center"|Translation (T9n) | *번역, 통역 *GILT외에 MT(Machine translation)까지 포함한 영역 |- |align="center"|MT<br>(Machine Translation) | *기계 번역, 자동 번역 *컴퓨터를 사용하여 한국어나 영어 등의 자연 언어를 다른 자연 언어로 자동 번역 하는 것 |- |align="center"|CAT<br>(Computer Aided Translation) | *사람의 번역을 컴퓨터가 도와주는 번역 *핵심에는 TM(Translation Memory)을 통한 번역 시스템이 있다. |- |align="center"|TM<br>(Translation Memory) | *번역 메모리, 번역본 기억 장치 *원문과 번역문을 함께 저장한 데이터베이스로 업계 표준인 TMX 포맷을 따른다. *이전에 번역한 것을 참고로, Fuzzy 알고리즘에 따라 동일 또는 유사한 번역을 찾아 준다. *주로 Translation Editor와 함께 사용 한다. *도구 : Trados, Wordfast, SDLX, STAR Transit, ... *이미 번역한 PO 파일을 사용하여 번역과 관련된 정보를 저장하는 번역본 기억 장치를 생성하며, 또한 생성된 번역본 기억 장치로 새로운 PO 파일을 초벌 번역할 수 있다. *번역본 기억 장치의 DB 폴더가 c:/koreanTranslationDB 일 경우 구조 :*ko 폴더 ::*strings.db 파일 ::*translations.db 파일 ::*words.db 파일 *[[Media:Poedit TM db.zip|poedit 용 TM 파일(gnome, kde, gimp, openoffice(sun gloss))]] : [http://openoffice.or.kr/team/doku.php?id=l10n:poedit_%ED%8C%81 출처] |- |align="center"|Terminology Management | *효율적인 용어 관리 *용어, 설명, 정의, 분류 |- |align="center"|L10 Workflow System | |- |align="center"|프로젝트 | *카탈로그 관리자에서 하나의 단위로 관리할 카탈로그의 모음을 지칭 한다. |- |align="center"|PO<br>(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 "안녕하세요" *non GNU Version 샘플 domain "messages" #--- 여기서 부터 실제 다국어 메시지가 저장 된다. msgid "Hello" msgstr "안녕하세요" |- |align="center"|POT<br>(Portable Object Template) | *GNU Gettext 템플릿 *PO 파일을 생성하기 위해 사용 한다. |- |align="center"|MO<br>(Machine Object) | *PO 파일이 컴파일된 Binary 기반의 파일로 실제로 gettext 함수에서 사용 한다. |} *참고 문헌 :*[http://talkable.egloos.com/tag/l10n/page/1 T9n, G11n, I18n, L10n 용어 정리] ==한글화 요소== *오픈소스 한글화 (Localization, L10n, 지역화) :*SW Localization (필수) ::*개발자 : 한글 처리가 가능하도록 관련 자원의 문자셋을 UTF-8로 변경 ::*번역가 : 메뉴, 메시지 등을 한글로 번역 ::*디자이어 : 로고, 이미지, 아이콘, 폰트 등을 한국에 맞도록 변경 ::*개발자 : Localization에 따른 프로그램 오류 수정 :::*GET 방식으로 호출시 한글 깨어짐 :*SW Localization (옵션) ::*개발자 : "이름 성"을 "성 이름"으로 변경 ::*개발자 : 통화, 숫자 표시 방법 등을 한국식으로 변경 ::*개발자 : 미국식 주소 체계를 한국식으로 변경 ::*개발자 : 달력에 한국의 공휴일 등 적용 :*Manual Localization ::*번역가 : 한글 매뉴얼/가이드 작성 ==CAT 도구 가이드== *[[Translate Toolkit]]과 [[poedit]]를 사용한 다국어 파일의 한글화 방법 :*다국어 파일을 [[Translate Toolkit]]을 사용하여 PO 파일 또는 POT 파일로 변환 한다. :*[[poedit]]와 여기에 포함된 Translation Memory를 사용하여 PO 파일을 한국어로 번역 한다. :*[[Translate Toolkit]]과 번역한 PO 파일로 다국어 파일을 한국어로 번역된 다국어 파일로 변환 한다. [[그림:Localization.png|700px]] <br> *CAT 도구 {| 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"|[[Translate Toolkit]] | *다국어 지원을 위한 다양한 변환 도구를 제공 한다. *특히 GNU Gettext에서 지원하는 PO (Portable Object) 형식을 중심으로 하는 변환 도구가 많이 있다. |- |align="center"|[[poedit]] | *멀티 플랫폼(Windows, Linux, Mac)을 지원 한다. *한글 입출력이 자유롭고 TM (Translation Memory) 기능을 지원 한다. *기타 PO 편집기 :*[http://kbabel.kde.org/ KBabel (GPL)] :*[http://sourceforge.net/projects/gtranslator gtranslator] |- |align="center"|[[pootle|pootle (웹 기반)]],<br>[[Virtaal|Virtaal (Stand-alone)]] | *프로젝트 성으로 다수의 사람들이 협업하여 번역을 하기 위한 지원 도구 |- |align="center"|[http://kldp.net/projects/ko-po-check ko-po-check] | *한국어 PO 파일 검사툴 *그놈용 프로그램의 번역에서 자주 실수하는 부분들을 확인하기 위한 프로그램 |- |align="center"|[https://open-language-tools.dev.java.net/ open-language-tools] | *XLIFF & TMX 기반의 번역 지원 도구 |} ==주요 개념 설명== ===gettext=== gettext는 다국어 지원을 위해 사용되는 함수로 msgid를 넘겨 주면 현재 시스템의 언어 설정에 맞는 메시지(msgstr)를 반환한다. *C 언어에서의 gettext 사용 setlocale(LC_ALL, ""); //--- 현재 시스템의 locale을 사용하도록 한다. //--- "textDomain01" 도메인을 "/usr/locale/share/locale"로 지정한다. bindtextdomain("textDomain01", "/usr/locale/share/locale"); //--- 메시지 테이블의 Default 도메인을 "textDomain01"로 설정 한다. textdomain("textDomain01"); //--- "Greeting"에 해당하는 다국어 메시지를 가져온다. printf("gettext trans : %s\n", gettext("Greeting")); *참고 문헌 :*[http://wiki.kldp.org/wiki.php/DocbookSgml/Gettext-KLDP GETTEXT Howto] :*[http://php.infosys.lt/manual/kr/book.gettext.php PHP gettext 매뉴얼] ==PO (Portable Object)== 사용자의 언어에 따라 메시지의 다국어 처리 기능을 제공하는 [http://www.gnu.org/software/gettext/ gettext]는 GNU version과 non GNU version의 두가지가 존재하며, 관련 프로그램도 동일한 버전의 것을 사용하여야 문제가 발생하지 않는다. ===gettext용 mo 파일 생성=== *messages.po 파일 생성 (text 기반, po : Portable Object file, pot : po template) :xgettext Hello.c *messages.po 파일에서 msgid에 해당하는 msgstr을 한글로 작성 한다. (po 편집기 : [[poedit]]) *Hello.mo 파일 생성 (binary 기반, mo : Machine Object file) :msgfmt -o Hello.mo messages.po */usr/local/share/locale/ko/LC_MESSAGE/ 폴더 아래에 Hello.mo 파일을 복사해 둔다. :*$SOFTWARE_HOME/locale/ko 아래에 ~.mo 파일을 복사 한다. ===참고 문헌=== *[http://wiki.kldp.org/wiki.php/DocbookSgml/Gettext-KLDP GETTEXT Howto] ==sdf== 오픈오피스 전용 포맷 ===sdf 한글화=== *파일 변환에 필요한 [http://translate.sourceforge.net/wiki/ Translate Toolkit]을 다운로드 한다. *sdf 파일을 po 파일로 변환 :*po-dir 폴더 아래에 여러 po 파일이 생성됨 ::oo2po --duplicates=msgid_comment --input <sdf file> -l ko -o po-dir *po 에디터를 사용하여 편집 *po 파일을 sdf 파일로 변환 ::po2oo -l ko -t en-US.sdf -i po-dir -o backconvert_ko.sdf ===참고 문헌=== *[http://openoffice.or.kr/team/doku.php?id=l10n:sdf_%ED%8C%8C%EC%9D%BC%EC%9D%84_%EB%B2%88%EC%97%AD%ED%95%98%EB%8A%94_%EB%B0%A9%EB%B2%95 l10n:sdf_파일을_번역하는_방법] *[http://markmail.org/search/?q=openoffice&x=0&y=0 Open Office Mark Mail] *[http://openlamp.co.kr/tag/L10n 오픈오피스 번역 과정 소개] *[http://openoffice.or.kr/team/doku.php 오픈오피스 한국어 팀] ==오픈소스 매뉴얼 번역== *[[번역 사전]] *[[Maven]] *[[Hibernate]] *[[Spring Framework]] ==참고 문헌== *[[문자셋과 인코딩]] *번역 가이드 :*[http://mr-dust.pe.kr/attachment/cfile24.uf@180ED70C49E076EC2B6574.pdf 모질라 한국어 스타일 가이드] :*[http://mr-dust.pe.kr/attachment/cfile4.uf@130F4D0C49E076EC272717.pdf 스타스위트 한국어 스타일 가이드] :*[http://mr-dust.pe.kr/attachment/cfile2.uf@150E050C49E076ED12E3D0.pdf 한국어 지역화 스타일 가이드] *[http://mr-dust.pe.kr/ To live like a Dust..] :*[http://mr-dust.pe.kr/entry/make-and-use-a-glossary 2008.07.11 용어집 만들기와 사용하기] :*[http://openlamp.co.kr/114 오픈소스 프로그램 한글화하기 - 1] : i18n 방식 파악 :*[http://openlamp.co.kr/115 오픈소스 프로그램 한글화하기 - 2] : 실제 번역 :*[http://openlamp.itcanus.net/118 오픈소스 프로그램 한글화하기 - 3] : 번역 테스트 :*[http://openlamp.itcanus.net/119 오픈소스 프로그램 한글화하기 - 4] : 개발팀에 패치 전달 *[http://translate.sourceforge.net/wiki/start Translate Toolkit & Pootle] *[http://l10n.kde.org/docs/translation-howto/ The KDE Translation HOWTO], [http://wiki.kldp.org/wiki.php/KDETranslationHowto 한글] *[http://www.tca.or.kr/ 사단법인 한국 TC 협회, KTCA] *[http://www.liberotown.net/15 프로그램 번역 수정하기] *번역 프로그램 :*http://jpdic.naver.com/trans.nhn [[분류:오픈소스]] [[Category:한글화]] [[Category:문자셋과 인코딩]]
오픈소스 한글화
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보