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

印刷ビューの終了

更新: 2016 年 11 月
 
 

デフォルトのシステムロケールの管理

デフォルトのシステムロケールは、システムがブートおよび動作するロケールです。Oracle Solaris の以前のリリースでは、デフォルトのシステムロケールは /etc/default/init ファイルで構成されていました。nlsadm コマンドを get-system-localelist-locale、および set-system-locale サブコマンドとともに使用できます。詳細は、nlsadm(1M) のマニュアルページを参照してください。

現在のデフォルトのシステムロケールを表示するには、get-system-locale コマンドを使用します。

# nlsadm get-system-locale
LANG=en_US.UTF-8
LC_CTYPE=	
LC_NUMERIC=
LC_TIME=
LC_COLLATE=
LC_MONETARY=
LC_MESSAGES=
LC_ALL=

使用可能なシステムロケールを一覧表示するには、次のコマンドを使用します。

# nlsadm list-locale

デフォルトのシステムロケールを設定するには、set-system-locale コマンドを使用します。たとえば、デフォルトのロケールを fr_FR.UTF-8 に設定するには、次のコマンドを使用します。

# nlsadm set-system-locale fr_FR.UTF-8

インストーラでのロケール選択

初期のデフォルトのシステムロケールは、インストール中に設定されます。Oracle Solaris のインストーラはローカライズされているため、コア言語の話者であれば、自分の母国語を使用してインストール操作を進めることができます。Oracle Solaris 11 Live CD の 2 番目の画面では、インストール中に使用する言語をユーザーが選択できます。10 種類のコア言語のみを選択可能です。

図 1  インストーラでの言語選択

image:インストーラでの言語選択

この言語選択によって、インストール先システムのデフォルトの言語サポートとその他のデータ形式も決定されます。

デフォルト設定にかかわらず、10 個のすべてのコアロケールがインストールされ、ユーザーに対して使用可能になります。Automated Installer を使用してデフォルトを変更することにより、言語スコープを拡大または縮小できます。あるいは、distro_const コマンドを使用してカスタムの Live CD を生成できます。詳細は、distro_const(1M) のマニュアルページを参照してください。


注 -  テキストインストーラのローカリゼーションは、シリアルコンソール経由でのみ使用可能であり、物理コンソール経由では使用できません。

自動インストーラでのロケール選択

このセクションでは、Automated Installer マニフェストに対する可能な調整のうち、ロケール、キーボード、およびタイムゾーンの設定を変更するものについて説明します。

インストールするロケールの選択

インストールされるロケールの選択は、AI マニフェスト内のファセットによって制御されます。<software><image> 要素には、次の構文を持つ facet 要素が含まれます。

<facet set="true|false">facet-name</facet>

次のサンプルマニフェストでは、facet 要素を使用して、ドイツ語 (ドイツ) と英語 (米国) のロケールおよび翻訳のみがターゲットシステムに確実にインストールされるようにします。

<!DOCTYPE auto_install SYSTEM "file:///usr/share/install/ai.dtd.1">
<auto_install>
	<ai_instance auto_reboot="true" name="ai-german">
...
	<software type="IPS">
		<destination>
			<image>
				<!-- deselect all locales -->
				<facet set="false">facet.locale.*</facet>
				<!-- specify specific locales to install -->
				<!-- install German and English only -->
				<facet set="true">facet.locale.de</facet>
				<facet set="true">facet.locale.de_DE</facet>
				<facet set="true">facet.locale.en</facet>
				<facet set="true">facet.locale.en_US</facet>
			</image>
		</destination>
...
	</software>
	</ai_instance>
</auto_install>

次の例のようなコマンドを実行することにより、使用可能なロケールファセットのリストを system/locale パッケージから取得できます。

$ pkg contents -m system/locale | /usr/gnu/bin/grep -o facet.locale.[^\ ]* | sort -u

マニフェストの作成の詳細は、 ai_manifest (4) のマニュアルページを参照してください。

UTF-8 以外のロケールのインストール

UTF-8 以外 (レガシー) のロケールはデフォルトインストールの一部ではありませんが、system/locale/extra パッケージでも引き続き使用できます。たとえば、de_DE.ISO8859-1 ロケールをインストールするには、system/locale/extra パッケージも AI マニフェストに追加する必要があります。

...
	<software_data action="install">
		<name>pkg:/entire@release</name>
		<name>pkg:/group/system/solaris-desktop</name>
		<name>pkg:/system/locale/extra</name>
	</software_data>
...

デフォルトのシステムロケール、キーマップ、およびタイムゾーンの設定

service_bundle(4) および installadm(1M) マニュアルページで説明するように、システム構成 (SC) プロファイルで Automated Installer を使用してインストールされるシステムのデフォルトロケールを指定します。詳細は、Oracle Solaris 11.3 システムのインストール の 構成プロファイルの指定を参照してください。

次の例は、デフォルトのシステムロケールをドイツ語に設定するシステム構成プロファイルを示しています。

<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="profile" name="system configuration">
...
	<service name='system/environment' version='1'>
		<instance name='init' enabled='true'>
			<property_group name='environment'>
				<propval name='LANG' value='de_DE.UTF-8'/>
			</property_group>
		</instance>
	</service>
...
</service_bundle>

サービス管理機構 (SMF) に移行されたその他の国際環境設定を、同様の方法で設定できます。次の例は、英国英語キーボードレイアウトおよび GMT タイムゾーンを使用する方法を示しています。

<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="profile" name="system configuration">
...
	<service name='system/keymap' version='1'>
		<instance name='default' enabled='true'>
			<property_group name='keymap'>
				<propval name='layout' value='UK-English'/>
			</property_group>	
		</instance>
	</service>

	<service name='system/timezone' version='1'>
		<instance name='init' enabled='true'>
			<property_group name='timezone'>
				<propval name='localtime' value='GMT'/>
			</property_group>
		</instance>
	</service>
...
</service_bundle>