다음 이전 차례

7. catopen 버그 고치기

로케일을 인스톨하게 되면 리눅스 libc 에 있는 catopen 명령에 있는 버그(기능?) 을 고치게 된다. 메세지 목록을 사용하는 프로그램을 만든 후 독일어 목록을

/home/peeter/catalogs/de_DE 에 만들어 넣으라.

de_DE 로케일을 인스톨하기 전에 다음을 수행한다.

export LC_MESSAGES=de_DE export NLSPATH=/home/peeter/catalogs/%L/%N.cat:$NLSPATH 독일어 메세지는 열리지 않고 catget 의 기본 메세지가 사용된다.

이 이유는 catopen 이 올바른 메세지 범주를 얻어내기 위해 setlocale 를 호출하 하는데 setlocale 은 환경변수가 제대로 세팅되어 있음에도 불구하고 실패하 기 때문이다.

catopen 은 NLSPATH의 모든 "%L"에 대하여 C 로 교체하려고 한다. 로케일을 설치하지 않아도 여러분의 메세지 목록을 사용할 수는 있다. 하지만 NLSPATH를 정확히 다음과 같이 명시해주어야 할 것이다.

export NLSPATH=/home/peeter/catalogs/de_DE/%N.cat:$NLSPATH 하지만 이렇게 되면 로케일 범주에 대한 환경변수를 사용할 필요성 자체가 사라 지는 것이다.


다음 이전 차례