ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris 11.1 国際化対応言語環境の利用ガイド Oracle Solaris 11.1 Information Library (日本語) |
このセクションでは、localedef(1) を使用して、システムとともに提供された既存のロケールを基にしたカスタムロケールを作成する方法について説明します。
注 - Oracle 提供のロケールのみがサポートされます。形式に誤りがあるロケールはエラーの原因になる可能性があります。
既存のロケールをカスタマイズして、そこから新しいロケールを作成するには、少なくとも 3 つのロケール定義ソースファイルを準備する必要があります。
localedef ソースファイル – ロケールに必要な定義が含まれます。
charmap ソースファイル – コードポイント値と判読可能なシンボリック名との間のマッピングが含まれています。シンボリック名は、localedef ソースファイルで使用されます。charmap ソースファイルには、ロケールのコードセット名、ロケールのコードポイントで表すことができる最大バイト数などの、その他の定義も含まれます。
extension ソースファイル – strcoll(3C) および fgetwc(3C) などの標準インタフェースの内部ロケール方式へのマッピングと、ロケールの適切な処理のために必要なその他の情報が含まれます。
システム提供のロケールには、それぞれのロケール定義データファイルがあり、source/locale/localedef パッケージから入手できます。これらは、既存のシステムロケールにわずかな変更だけが必要なときに、便利な場合があります。
$ sudo pkg install system/header source/locale/localedef
$ export PATH=<oracle-studio-path>/bin:$PATH
$ 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 .
$ localedef -m lp64 -f UTF-8.charmap -x UTF-8.x -i fr_FR.UTF-8.src \ -L "-R\\\$ORIGIN/../../common -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/
$ localedef -m ilp32 -f UTF-8.charmap -x UTF-8.x -i fr_FR.UTF-8.src \ -L "-R\\\$ORIGIN" fr_FR.UTF-8@custom
$ 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/
$ export LANG=fr_FR.UTF-8@custom
ロケールをゼロから作成する必要は、めったにありません。ロケールをゼロから作成する場合も、「システムロケールを基にした新しいロケールの作成」と同じアプローチを使用できます。localedef、charmap、および extension ソースファイルに使用可能なロケールとオプションについての詳細は、localedef(1)、locale(5)、extensions(5)、およびcharmap(5) のマニュアルページを参照してください。