오픈소스 라이선스와 오픈소스의 한글화를 진행하고 이와 관련된 정보를 정리 한다. 한글화를 위해 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"|현지화
(Localization, L10n)
|
해당 지역의 전문가를 거쳐서 만들어 지는 번역(의역)
|-
|align="center"|국제화
(Internationalization, I18n)
|
세계화, 현지화가 가능 하도록 하는 기반을 마련해 주는 시스템
지역적 언어 표현 방법을 모두 수용할 수 있도록 만들어주는 시스템
|-
|align="center"|세계화
(Globalization, G11n)
|
다국어 시스템를 구성하는 것
I18n + L10n
|-
|align="center"|Glocalization
|
세계화(Globalization)와 현지화(Localization)를 합성한 신조어
세계화를 추구하면서 동시에 현지 국가의 풍토를 존중하는 방식
|-
|align="center"|Translation (T9n)
|
번역, 통역
GILT외에 MT(Machine translation)까지 포함한 영역
|-
|align="center"|MT
(Machine Translation)
|
기계 번역, 자동 번역
컴퓨터를 사용하여 한국어나 영어 등의 자연 언어를 다른 자연 언어로 자동 번역 하는 것
|-
|align="center"|CAT
(Computer Aided Translation)
|
사람의 번역을 컴퓨터가 도와주는 번역
핵심에는 TM(Translation Memory)을 통한 번역 시스템이 있다.
|-
|align="center"|TM
(Translation Memory)
|
번역 메모리, 번역본 기억 장치
원문과 번역문을 함께 저장한 데이터베이스로 업계 표준인 TMX 포맷을 따른다.
이전에 번역한 것을 참고로, Fuzzy 알고리즘에 따라 동일 또는 유사한 번역을 찾아 준다.
주로 Translation Editor와 함께 사용 한다.
도구 : Trados, Wordfast, SDLX, STAR Transit, ...
이미 번역한 PO 파일을 사용하여 번역과 관련된 정보를 저장하는 번역본 기억 장치를 생성하며, 또한 생성된 번역본 기억 장치로 새로운 PO 파일을 초벌 번역할 수 있다.
번역본 기억 장치의 DB 폴더가 c:/koreanTranslationDB 일 경우 구조
[poedit 용 TM 파일(gnome, kde, gimp, openoffice(sun gloss))](Media:Poedit TM db.zip.md) : [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
(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: 산사랑 \n"
"Language-Team: pnus \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
(Portable Object Template)
|
GNU Gettext 템플릿
PO 파일을 생성하기 위해 사용 한다.
|-
|align="center"|MO
(Machine Object)
|
PO 파일이 컴파일된 Binary 기반의 파일로 실제로 gettext 함수에서 사용 한다.
|}
참고 문헌
gettext는 다국어 지원을 위해 사용되는 함수로 msgid를 넘겨 주면 현재 시스템의 언어 설정에 맞는 메시지(msgstr)를 반환한다.
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"));
사용자의 언어에 따라 메시지의 다국어 처리 기능을 제공하는 gettext는 GNU version과 non GNU version의 두가지가 존재하며, 관련 프로그램도 동일한 버전의 것을 사용하여야 문제가 발생하지 않는다.
오픈오피스 전용 포맷