Oracle® Solaris 11.2 国際化対応言語環境の利用ガイド

印刷ビューの終了

更新: 2014 年 7 月
 
 

旧バージョンのロケール

Oracle Solaris のデフォルトのシステムロケールでは UTF-8 エンコードを使用しますが、旧バージョンの多くのロケールも使用できます。


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

旧バージョンのロケールのサポートは system/locale/extra パッケージに含まれています。旧バージョンのロケールのサポートをインストールするには、次のコマンドを実行します。

# pkg install pkg:/system/locale/extra

特定言語のサポートを有効にするには、対応するロケールファセットを true に設定します。たとえば、da_DK.ISO8859-1 ロケール (および、実際には、すべての da_DK ロケール) をインストールするには、facet.locale.da および facet.locale.da_DK を次のように有効にします。

# pkg change-facet facet.locale.da=True
# pkg change-facet facet.locale.da_DK=True

ロケールの別名化

もっとも一般的なロケールは通常、主要な オペレーティングシステム でサポートされていますが、多くの場合、ロケールの名前は異なっています。例として、フランスで話されるフランス語の、UTF-8 エンコーディングを使用するロケールの名前として、Oracle Solaris では 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) のマニュアルページを参照してください。