Oracle® Solaris 11.2의 국제 언어 환경 설명서

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

시스템 로켈을 기반으로 새 로켈 만들기

기존 로켈을 기반으로 새 로켈을 사용자 정의하여 만들려면 로켈 정의 소스 파일을 3개 이상 준비해야 합니다.

  • localedef 소스 파일 – 로켈에 필요한 정의를 포함합니다.

  • charmap 소스 파일 – 코드점 값과 사용자가 읽을 수 있는 심볼릭 이름 간의 매핑을 포함합니다. 심볼릭 이름은 localedef 소스 파일에 사용됩니다. charmap 소스 파일에는 로케일의 코드 세트 이름, 로케일 코드점으로 표시할 수 있는 최대 바이트 수 및 기타 다른 정의도 포함됩니다.

  • extension 소스 파일 – strcoll (3C), fgetwc(3C) 등의 표준 인터페이스와 내부 로케일 메소드 및 로케일의 적절한 작동에 필요한 기타 정보 간의 매핑을 포함합니다.

시스템에서 제공하는 로켈에는 source/locale/localedef 패키지에서 사용 가능한 개별 로켈 정의 데이터 파일이 있습니다. 이러한 로켈은 기존 시스템 로켈을 약간만 변경해야 할 경우 유용할 수 있습니다.

사용자 정의 로켈을 만드는 방법

  1. 다음 명령을 입력하여 필요한 패키지를 설치합니다.
    $ sudo pkg install system/header source/locale/localedef
  2. PATH에 Oracle Solaris Studio C 컴파일러가 있는지 확인합니다.
    $ export PATH=<oracle-studio-path>/bin:$PATH
  3. 다음 명령을 사용하여 작업 공간을 준비합니다.
    $ mkdir mynewlocale
    $ cd mynewlocale 
    $ mkdir amd64 
    $ cp /usr/lib/locale/common/methods_unicode.so.3 . 
    $ cp /usr/lib/locale/common/amd64/methods_unicode.so.3 amd64/ 
    $ cp /usr/lib/localedef/src/charmaps/UTF-8.charmap \
    /usr/lib/localedef/src/extensions/UTF-8.x \
    /usr/lib/localedef/src/locales/fr_FR.UTF-8.src .
  4. 필요에 따라 localedef, charmap 또는 extension 소스 파일을 변경합니다.
  5. 64비트 로켈 객체를 구축합니다.
    $ localedef -m lp64 -f UTF-8.charmap -x UTF-8.x -i fr_FR.UTF-8.src \
    -L "-R\\\$ORIGIN/../../common/amd64 -Bdirect -M /usr/lib/ld/map.pagealign \
    -M /usr/lib/ld/map.noexdata" fr_FR.UTF-8@custom
    $ mv fr_FR.UTF-8@custom.so.3 amd64/
  6. 32비트 로켈 객체를 구축합니다.
    $ localedef -m ilp32 -f UTF-8.charmap -x UTF-8.x -i fr_FR.UTF-8.src \
    -L "-R\\\$ORIGIN/../common" fr_FR.UTF-8@custom
  7. 사용자 정의 로켈을 설치합니다.
    $ sudo mkdir -p /usr/lib/locale/fr_FR.UTF-8\@custom/amd64 
    $ sudo cp fr_FR.UTF-8\@custom.so.3 /usr/lib/locale/fr_FR.UTF-8\@custom/ 
    $ sudo cp amd64/fr_FR.UTF-8\@custom.so.3 /usr/lib/locale/fr_FR.UTF-8\@custom/amd64/
  8. 다음 명령을 입력하여 로켈 사용을 시작합니다.
    $ export LANG=fr_FR.UTF-8@custom