Java

サポートされているロケール

サポートされるロケールのセットは、Java 2 プラットフォームの実装により、また機能範囲により異なります。

ここでは、Sun の J2SE Development Kit 5.0 (JDK) と、J2SE Runtime Environment 5.0 (JRE) におけるロケールのサポートについて、次の内容を説明します。

  1. java.util および java.text 機能で有効なロケール
  2. Java Foundation Class (JFC) で有効な書記法
    1. 概要
    2. テキスト入力
    3. テキストのレンダリング
    4. ドラッグ&ドロップ
  3. ユーザインタフェースの翻訳

Sun の J2SE Runtime Environment 5.0 の Windows 版は、完全な国際化版またはヨーロッパ言語版としてインストールすることができます。JRE のインストールプログラムは、ホストオペレーティングシステムがヨーロッパ言語だけをサポートしていることを識別すると、デフォルトでヨーロッパ言語版をインストールします。インストールプログラムが他の言語の必要性を識別した場合、またはカスタマイズされたインストールでユーザがヨーロッパ言語以外のサポートを要求した場合は、完全な国際化版がインストールされます。Solaris および Linux 版の JRE と、すべてのプラットフォーム版の JDK では、完全な国際化版が常にインストールされます。


1. java.util および java.text 機能で有効なロケール

java.util および java.text パッケージでのロケールに依存する動作のサポートは、ほぼ完全にプラットフォームから独立しています。そのため、すべてのロケールは、ホストのオペレーティングシステムとその地域には依存せず、同じ方法で同時にサポートされます。プラットフォームに依存している唯一の機能は、ホストオペレーティングシステムのロケールとタイムゾーンに基づいた、最初のデフォルトのロケールおよび最初のデフォルトのタイムゾーンの設定です。

Sun の J2SE Development Kit 5.0 と、国際化版の J2SE Runtime Environment 5.0 は、下記のロケールをすべてサポートしています。ヨーロッパ言語版の J2SE Runtime Environment 5.0 は、次の言語に対応するすべてのロケールをサポートしています。アルバニア語、ベロルシア語、ブルガリア語、カタロニア語、クロアチア語、チェコ語、デンマーク語、オランダ語、英語、エストニア語、フィンランド語、フランス語、ドイツ語、ギリシャ語、ハンガリー語、アイスランド語、イタリア語、ラトビア語、リトアニア語、マケドニア語、ノルウェー語、ポーランド語、ポルトガル語、ルーマニア語、ロシア語、スロバキア語、スロベニア語、スペイン語、スウェーデン語、トルコ語、ウクライナ語です。

完全にサポートされているロケール

言語

ロケール ID

アラビア語

サウジアラビア

ar_SA

中国語 (簡体字)

中国

zh_CN

中国語 (繁体字)

台湾

zh_TW

オランダ語

オランダ

nl_NL

英語

オーストラリア

en_AU

英語

カナダ

en_CA

英語

英国

en_GB

英語

米国

en_US

フランス語

カナダ

fr_CA

フランス語

フランス

fr_FR

ドイツ語

ドイツ

de_DE

ヘブライ語

イスラエル

iw_IL

ヒンディー語

インド

hi_IN

イタリア語

イタリア

it_IT

日本語

日本

ja_JP

韓国語

韓国

ko_KR

ポルトガル語

ブラジル

pt_BR

スペイン語

スペイン

es_ES

スウェーデン語

スウェーデン

sv_SE

タイ語 (西洋数字)

タイ

th_TH

タイ語 (タイ語数字)

タイ

th_TH_TH

提供済みでテスト未完了のロケール

言語

ロケール ID

アルバニア語

アルバニア

sq_AL

アラビア語

アルジェリア

ar_DZ

アラビア語

バーレーン

ar_BH

アラビア語

エジプト

ar_EG

アラビア語

イラク

ar_IQ

アラビア語

ヨルダン

ar_JO

アラビア語

クウェート

ar_KW

アラビア語

レバノン

ar_LB

アラビア語

リビア

ar_LY

アラビア語

モロッコ

ar_MA

アラビア語

オマーン

ar_OM

アラビア語

カタール

ar_QA

アラビア語

スーダン

ar_SD

アラビア語

シリア

ar_SY

アラビア語

チュニジア

ar_TN

アラビア語

アラブ首長国連邦

ar_AE

アラビア語

イエメン

ar_YE

ベロルシア語

ベロルシア

be_BY

ブルガリア語

ブルガリア

bg_BG

カタロニア語

スペイン

ca_ES

中国語

香港

zh_HK

クロアチア語

クロアチア

hr_HR

チェコ語

チェコ共和国

cs_CZ

デンマーク語

デンマーク

da_DK

オランダ語

ベルギー

nl_BE

英語

インド

en_IN

英語

アイルランド

en_IE

英語

ニュージーランド

en_NZ

英語

南アフリカ

en_ZA

エストニア語

エストニア

et_EE

フィンランド語

フィンランド

fi_FI

フランス語

ベルギー

fr_BE

フランス語

ルクセンブルク

fr_LU

フランス語

スイス

fr_CH

ドイツ語

オーストリア

de_AT

ドイツ語

ルクセンブルク

de_LU

ドイツ語

スイス

de_CH

ギリシャ語

ギリシャ

el_GR

ハンガリー語

ハンガリー

hu_HU

アイスランド語

アイスランド

is_IS

イタリア語

スイス

it_CH

ラトビア語

ラトビア

lv_LV

リトアニア語

リトアニア

lt_LT

マケドニア語

マケドニア

mk_MK

ノルウェー語 (ボークモール)

ノルウェー

no_NO

ノルウェー語 (ニーノスク)

ノルウェー

no_NO_NY

ポーランド語

ポーランド

pl_PL

ポルトガル語

ポルトガル

pt_PT

ルーマニア語

ルーマニア

ro_RO

ロシア語

ロシア

ru_RU

スロバキア語

スロバキア

sk_SK

スロベニア語

スロベニア

sl_SI

スペイン語

アルゼンチン

es_AR

スペイン語

ボリビア

es_BO

スペイン語

チリ

es_CL

スペイン語

コロンビア

es_CO

スペイン語

コスタリカ

es_CR

スペイン語

ドミニカ共和国

es_DO

スペイン語

エクアドル

es_EC

スペイン語

エルサルバドル

es_SV

スペイン語

グアテマラ

es_GT

スペイン語

ホンジュラス

es_HN

スペイン語

メキシコ

es_MX

スペイン語

ニカラグア

es_NI

スペイン語

パナマ

es_PA

スペイン語

パラグアイ

es_PY

スペイン語

ペルー

es_PE

スペイン語

プエルトリコ

es_PR

スペイン語

ウルグアイ

es_UY

スペイン語

ベネズエラ

es_VE

トルコ語

トルコ

tr_TR

ウクライナ語

ウクライナ

uk_UA

ベトナム語

ベトナム

vi_VN


2. Java Foundation Class (JFC) で有効な書記法

2.1 概要

Java Foundation Classes (AWT、Swing、2D、Input Method Framework、ドラッグ&ドロップ) の場合は、通常、ロケールは書記法によってのみ特徴付けられ、国や言語による特別な違いはありません。JFC 内の書記法のサポートは、ホストオペレーティングシステムにある程度依存しており、複数言語の同時使用は、常に完全にサポートされるとは限りません。

ここでは、ある書記法に対して、JFC によるすべての機能が次の状況で適切に動作する場合に、その書記法が JFC でサポートされていると見なします。

Sun の J2SE Development Kit 5.0 と、国際化版の J2SE Runtime Environment 5.0 は、下記の書記法をすべてサポートしています。ヨーロッパ言語版の J2SE Runtime Environment 5.0 は、キリル、ギリシャ語、およびラテンの書記法だけをサポートしています。ピア AWT コンポーネントでは、書記法のサブセットのみサポートされます。表の右端の列を参照してください。

機能のそれぞれの範囲については、後の各項で詳しく説明します。

完全にサポートされる書記法

書記法

言語

Windows エンコーディング

Solaris エンコーディング

Linux エンコーディング

ピア AWT コンポーネント

アラビア語

アラビア語

1256

8859-6

UTF-8(4)

非サポート

中国語 (簡体字)

中国語

936、
GB18030

gb2312、
UTF-8、
GBK、
gb18030

GBK(2)(3)
GB18030(2)(3)(4)(5)(7)
UTF-8(2)(3)

サポート

中国語 (繁体字)

中国語

950、
HKSCS

cns11643、
UTF-8、
BIG5、
BIG5HK

Big5(2)(3)(4)(5)
Big5-HKSCS(2)(3)
x-EUC-TW (2)(3)
UTF-8(2)(3)

サポート

デーバナーガリー

ヒンディー語

UTF-8

UTF-8

非サポート

非サポート

ヘブライ語

ヘブライ語

1255

8859-8

UTF-8(4)

非サポート

日本語

日本語

932

eucJP(1)
UTF-8、
PCK

eucJP(1)(2)(3)(4)(5)(7)
UTF-8(2)(3)

サポート

韓国語

韓国語

949

5601、
UTF-8

EUC-KR(3)(4)(5)
UTF-8(3)

サポート

ラテン - 西欧語派サブセット

英語、フランス語、ドイツ語、イタリア語、スペイン語、スウェーデン語など

1252

8859-1、
8859-15

UTF-8(2)(3)(4)(5)
ISO-8859-1(6)

サポート

タイ語

タイ語

874

TIS620.2533、
UTF-8

非サポート

非サポート

(1) Solaris 上の eucJP は JIS 文字セットの X 0201、X 0208、および X 0212 をサポートし、Linux 上の eucJP は X 0201 および X 0208 のみをサポートする
(2) Sun Java Desktop System 2003 上でサポートする
(3) Sun Java Desktop System リリース 2 上でサポートする
(4) Red Hat Linux 9.0 上でサポートする
(5) Red Hat Enterprise Linux AS 3.0 上でサポートする
(6) SuSE Linux 9.0、SuSE Linux Enterprise Server 8 上でサポートする
(7) Turbolinux 10 Desktop 上でサポートする

 

提供済みでテスト未完了のもの

書記法

言語

Windows コードページ

Solaris エンコーディング

Linux エンコーディング

ピア AWT コンポーネント

中国語 (簡体字)

中国語

(上記参照)

(上記参照)

GB2312(3)(4)
GBK (4)
GB18030(2)(4)
UTF-8(4)

サポート

中国語 (繁体字)

中国語

(上記参照)

(上記参照)

Big5(2)(3)(4)
Big5-HKSCS(4)
UTF-8(4)

サポート

キリル

ベロルシア語、ロシア語など

1251

8859-5、
KOI8-R、
ANSI1251

非サポート

サポート

ギリシャ語

ギリシャ語

1253

8859-7

非サポート

サポート

日本語

日本語

(上記参照)

(上記参照)

eucJP(1)(2)(3)(4)
UTF-8(4)

サポート

韓国語

韓国語

(上記参照)

(上記参照)

EUC-KR(2)(3)

サポート

ラテン - バルト語派のサブセット

ラトビア語、リトアニア語

1257

8859-13

非サポート

サポート

ラテン - 中欧語派サブセット

チェコ語、ハンガリー語、ポーランド語など

1250

8859-2

非サポート

サポート

ラテン - トルコ語派サブセット

トルコ語など

1254

8859-9

非サポート

サポート

ラテン - 西欧語派サブセット

英語、フランス語、ドイツ語、イタリア語、スペイン語、スウェーデン語など

(上記参照)

(上記参照)

ISO-8859-1(3)
UTF-8(2)

サポート

(1) Solaris 上の eucJP は JIS 文字セットの X 0201、X 0208、および X 0212 をサポートし、Linux 上の eucJP は X 0201 および X 0208 のみをサポートする
(2) Red Hat Linux 8.0 上でサポートする
(3) Red Hat Enterprise Linux AS 2.1 上でサポートする
(4) Turbolinux 8 Workstation 上でサポートする

 

2.2 テキスト入力

テキスト入力に対するサポートは、キーボード配列の解釈と、インプットメソッドを使用したテキスト変換の、2 つの部分から構成されます。Java 2 プラットフォームでは、キーボード配列の解釈は、ホストオペレーティングシステムに全面的に依存しています。インプットメソッドを使用したテキスト変換については、Java 2 プラットフォームでは、Java プログラミング言語で開発されたインプットメソッドのほかに、ホストオペレーティングシステムのインプットメソッドマネージャを使用した、ネイティブインプットメソッドもサポートされます。

Java プログラミング言語により実装されたインプットメソッドによるロケールのサポートは、インストールされているインプットメソッドのセットにのみ依存し、ホストオペレーティングシステムとその地域対応には依存しません。ただし、Java プログラミング言語により実装されたインプットメソッドをピアコンポーネントで使用する場合のサポートは、以下のように、その実装方法に依存します。

キーボード配列とネイティブインプットメソッドのサポートは、プラットフォームによって異なります。

Windows

Windows 98 および Me では、JRE は、すべてのキーボード配列と、特定地域対応版のホストオペレーティングシステムにインストール可能な、IMM ベースのインプットメソッドの使用をサポートします。

Windows 2000、XP、および 2003 では、JRE は、すべてのキーボード配列と IMM ベースのインプットメソッドの使用をサポートします。

グローバル IME はサポートされません。

Java プログラミング言語に実装されたインプットメソッドは、Windows のすべてのバージョンのすべてのコンポーネントでサポートされます。

Solaris および Linux

JRE は、すべてのキーボード配列と、特定の Solaris または Linux ロケールで使用可能なインプットメソッドの使用をサポートします。

Java プログラミング言語に実装されたインプットメソッドは、Swing テキストコンポーネントなどの軽量コンポーネントでサポートされますが、AWT テキストコンポーネントなどのピアコンポーネントではサポートされません。

2.3 テキストのレンダリング

アプリケーションには、フォントを選択する 2 つのオプションがあります。

軽量コンポーネント内でのテキストのレンダリング

論理フォント名を使用する場合は、少なくとも、ホストのロケールの書記法と、ラテン書記法の西欧語派サブセットによるテキストがサポートされます。

物理フォントを使用する場合は、単純書記法と複雑書記法を区別する必要があります。単純書記法では文字とグリフが 1 対 1 で対応し、各グリフはベースライン上に左から右へと連続して配置されています。複雑書記法では、同じ文字でも文脈によって異なるグリフが使用されたり、合字が使用されたり、右から左へと書かれる場合があります。また、行のレイアウト中に再配置されたり、結合記号などにより、グリフの配置に別の規則が適用されることもあります。

2D のテキストレンダリングシステムでは、上の表に一覧表示されている単純書記法と複雑書記法のどのような組み合わせでもサポートされます。これらの制限内では、サポートされる書記法の範囲はフォントによって決まります。1 つの TrueType フォントで、Unicode 全体に対応するグリフと、Unicode ベースの文字からグリフへの 1 つのマッピング情報を提供できます。このようなフォントによって、2D ではすべての単純書記法のほか、複雑書記法もサポートできます。その他の複雑書記法はサポートされません。

ピアコンポーネント内でのテキストのレンダリング

論理フォント名を使用する場合は、少なくとも、ホストオペレーティングシステムのロケールの書記法によるテキストがサポートされます。

ピアコンポーネントでは、物理フォントはサポートされません。

印刷時のテキストのレンダリング

印刷 API には、次の 3 つがあります。

AWT および 2D の印刷 API を使用したテキストレンダリングは、画面上のテキストレンダリングと同等の機能です。プラグイン機能サービスの印刷 API を使用したテキストレンダリングは、使用する印刷サービスによって異なります。JRE により提供されるサービスは、画面上のテキストレンダリングと同等の機能です。

2.4 ドラッグ&ドロップ

Windows 98 および Me の場合、ホストオペレーティングシステムの地域対応の書記法によるテキストは、アプリケーション間で転送できます。

Windows 2000、XP、および 2003 の場合、任意の Unicode テキストをアプリケーション間で転送できます。

Solaris および Linux の場合、ホストオペレーティングシステムのロケールの文字エンコーディングによるテキストをアプリケーション間で転送できます。

ホストオペレーティングシステムから独立した任意の Unicode テキストを転送する必要のあるアプリケーションでは、直列化を使用してテキストを転送します。それには、DataFlavor.stringFlavor フレーバのみをサポートする Transferable を作成します。このフレーバは、String の直列化表現を表します。転送先でも stringFlavor がサポートされていることを確認してください。転送時に、AWT は転送元で String を直列化し、転送先で直列化を解除します。この動作はネイティブプラットフォームのテキスト転送よりもかなり低速ですが、ネイティブの転送が利用できない場合に有効です。


3. ユーザインタフェースの翻訳

Java 2 Runtime Environment

J2SE Runtime Environment 5.0 で提供されるユーザインタフェース要素には、Swing ダイアログや、実行環境が標準出力ストリームと標準エラーストリームに書き出すメッセージのほか、JRE に付属のツールから生成されるメッセージも含まれます。ユーザインタフェース要素は次の言語に地域対応されます。

言語

ロケール ID

中国語 (簡体字)

zh_CN

中国語 (繁体字)

zh_TW

英語

en

フランス語

fr

ドイツ語

de

イタリア語

it

日本語

ja

韓国語

ko

スペイン語

es

スウェーデン語

sv

Java 2 Software Development Kit

J2SE Development Kit 5.0 で提供されるユーザインタフェース要素には、JRE で提供される要素に加えて、JDK でのみ提供されるツールから生成されるメッセージも含まれます。追加のユーザインタフェース要素は、以下の言語に地域対応されます。

言語

ロケール ID

英語

en

日本語

ja


Copyright © 2004 Sun Microsystems, Inc. All Rights Reserved.

連絡先

Sun
Java ソフトウェア