6.47. Gettext-0.20.1

Gettext 패키지에는 다국어화와 현지화를 위한 유틸리티가 포함되어 있다. 이를 통해 프로그램을 현지 언어를 지원(Native Language Support, NLS)하도록 컴파일할 수 있어 사용자의 모국어로 메시지를 출력할 수 있다.

예상 빌드 시간: 2.7 SBU
필요 디스크 공간: 249 MB

6.47.1. Gettext 설치

Gettext 컴파일을 준비한다:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/gettext-0.20.1

패키지를 컴파일한다:

make

결과를 테스트하려면(이 작업은 시간이 오래 걸린다, 약 3 SBUs), 실행하라:

make check

패키지를 설치한다:

make install
chmod -v 0755 /usr/lib/preloadable_libintl.so

6.47.2. Gettext의 내용

설치된 프로그램들: autopoint, envsubst, gettext, gettext.sh, gettextize, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq, ngettext, recode-sr-latin, xgettext
설치된 라이브러리들: libasprintf.so, libgettextlib.so, libgettextpo.so, libgettextsrc.so, libtextstyle.so, preloadable_libintl.so
설치된 디렉토리들: /usr/lib/gettext, /usr/share/doc/gettext-0.20.1, /usr/share/gettext, /usr/share/gettext-0.19.8

요약

autopoint

표준 Gettext 인프라 파일을 원본 패키지로 복사

envsubst

셸 서식 문자열에서 환경 변수 대체

gettext

메시지 카탈로그에서 번역 자료를 찾아 원본 언어의 메시지를 사용자의 언어로 번역

gettext.sh

주로 gettext의 셸 함수 라이브러리 역할

gettextize

다국어화를 시작하기 위해 패키지의 지정된 최상위 디렉토리에 모든 표준 Gettext 파일들을 복사

msgattrib

속성에 따라 번역 카탈로그의 메시지들을 필터링하고 속성을 조작

msgcat

지정된 .po 파일 연결 및 병합

msgcmp

.po 파일을 비교하여 두 파일이 모두 동일한 msgid 문자열을 포함하고 있는지 확인

msgcomm

지정된 .po 파일들에서 공통적인 메시지를 찾음

msgconv

번역 카탈로그를 다른 문자 인코딩으로 변환

msgen

영어 번역 카탈로그 생성

msgexec

번역 카탈로그의 모든 번역에 명령을 적용

msgfilter

번역 카탈로그의 모든 번역에 필터를 적용

msgfmt

번역 카탈로그로부터 바이너리 메시지 카탈로그 생성

msggrep

지정된 패턴과 일치하거나 지정된 원본 파일에 속하는 번역 카탈로그의 모든 메시지 추출

msginit

사용자 환경의 값으로 메타데이터 정보를 초기화하는 새 .po 파일 생성

msgmerge

두 원시 번역문을 하나의 파일로 결합

msgunfmt

바이너리 메시지 카탈로그를 원시 번역 텍스트로 디컴파일

msguniq

번역 카탈로그에서 중복 번역 통합

ngettext

문법 형식이 숫자에 따라 달라지는 텍스트 메시지의 기본 언어 번역 표시

recode-sr-latin

세르비안 텍스트를 키릴 문자에서 라틴 문자로 리코딩

xgettext

첫 번째 번역 템플릿을 만들기 위해 지정된 원본 파일로부터 번역 가능한 메시지 라인을 추출

libasprintf

<string> 문자열 및 <iostream> 스트림과 함께 사용하기 위해 C 형식 출력 루틴을 C++ 프로그램에서 사용할 수 있도록 하는 autosprintf 클래스를 정의한다.

libgettextlib

다양한 Gettext 프로그램들이 사용하는 공통 루틴을 포함하는 private 라이브러리; 이것들은 일반적인 용도로 사용되지 않는다

libgettextpo

.po 파일을 처리하는 특수 프로그램 작성에 사용됨; 이 라이브러리는 Gettext와 함께 제공된 표준 응용 프로그램들(msgcomm, msgcmp, msgattrib, msgen)만으로는 충분하지 않을 때 사용됨

libgettextsrc

다양한 Gettext 프로그램에서 사용하는 일반적인 루틴을 포함하는 private 라이브러리; 이것들은 일반적인 용도로 사용되지 않음

libtextstyle

텍스트 스타일링 라이브러리

preloadable_libintl

번역되지 않은 메시지를 기록할 때 libintl을 보조하는 LD_PRELOAD에서 사용할 라이브러리