Go to main content
Oracle® Solaris 11.3 国際化対応言語環境の利用ガイド

印刷ビューの終了

更新: 2016 年 11 月
 
 

旧バージョンのロケール

Oracle Solaris でのデフォルトのシステムロケールは UTF-8 エンコーディングを使用しますが、旧バージョンのロケールもいくつか使用できます。nlsadm を使用したロケールの追加または削除で説明されているように、nlsadm コマンドを使用して、旧バージョンのロケールをインストールまたは削除できます。


注 -  GNOME デスクトップ環境は UTF-8 ロケールのみをサポートします。

旧バージョンのロケールのサポートは system/locale/extra パッケージに含まれています。nlsadm コマンドは、必要な場合、このパッケージを自動的にインストールします。pkg ファセットの変更を使用してロケールを追加または削除している場合は、次のコマンドを使用してこのパッケージをインストールします。

# pkg install pkg:/system/locale/extra

特定言語のサポートを有効にするには、対応するロケールファセットを true に設定します。たとえば、da_DK.ISO8859-1 ロケールと、da_DK ロケールのすべてをインストールするには、次のコマンドを使用します。

# pkg install pkg:/system/locale/extra
# pkg change-facet locale.da=True
# pkg change-facet locale.da_DK=True

ロケールの別名化

もっとも一般的なロケールは通常、主要な オペレーティングシステム でサポートされていますが、多くの場合、ロケールの名前は異なっています。たとえば、Oracle Solaris では UTF-8 エンコーディングを使用しているフランスで話されるフランス語のロケール名として fr_FR.UTF-8 を使用しますが、IBM AIX では FR_FR を使用し、HP-UX 11.11 および RHEL 5.4 では fr_FR.utf8 を使用します。この不整合は、異機種システム混在環境において、または Oracle Solaris への移行時に問題となる可能性があります。

この問題に対処するために、ロケール別名のサポートが Oracle Solaris 11 の libc で導入されました。setlocale(3C) のマニュアルページで指定されているロケール選択プロセス中、および gettext(1)catopen(3C)gettext(3C) の各マニュアルページで指定されているメッセージオブジェクトまたはメッセージカタログ処理中に、ロケール名の別名が受け入れられ、対応する標準のロケール名 (存在する場合) にマップされます。

加えて、以前の Oracle Solaris リリースとの互換性向上のために、メッセージ処理関数では、チェック対象の追加ロケール名として、frfr_FR のような廃止された Solaris ロケール名を使用してメッセージオブジェクトまたはカタログを検索するようになりました。詳細は、Oracle Solaris 11 - End of Feature Notices ページの「Localization」セクションの「Short Form Locales」を参照してください。

たとえば、代表的なユースケースはほぼ、ユーザーのシェル初期化ファイル内のロケール宣言で Linux スタイルのロケール名が使用される Linux 環境です。たとえば、setenv LANG ja_JP.utf8 コマンドは $HOME/.login に含まれ、ホームディレクトリは NFS マウントされます。このネットワーク環境では、ユーザーが Oracle Solaris 11 システムにログインすると、ロケール別名サポートメカニズムが内部的かつ透過的にそのロケール名を対応する Oracle Solaris ロケール名 (ja_JP.UTF-8) にマップし、ユーザー指定のロケール名を尊重およびサポートします。同じように、Solaris 以外のロケール名が ssh(1) を通してリモートの Oracle Solaris 11 システムに渡されるとき、そのロケール名が認識、尊重、およびサポートされます。

ロケールの別名化の詳細は、locale_alias(5) のマニュアルページを参照してください。ここには、ロケール名マッピングの完全なリストも収められています。