Java

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

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

ここでは、Sun の Java 2 Software Development Kit, Standard Edition, v. 1.4 (J2SDK) と Java 2 Runtime Environment, Standard Edition, v. 1.4 (J2RE) でサポートされるロケールについて、次の範囲で説明します。

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


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

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

Sun の Java 2 Software Development Kit, Standard Edition, v1.4 および Java 2 Runtime Environment, Standard Edition, v1.4 の国際化版では、以下の表に示すすべてのロケールがサポートされます。 Java 2 Runtime Environment, Standard Edition, v1.4 の米国語版では、英語 (米国) ロケールのみがサポートされます。

ID の最後に「_EURO」が付いているロケールは、ユーロ通貨記号を使用するロケールです。 _EURO 拡張子が付いていない同名のロケールは、2001 年 12 月 31 日まで旧通貨を使用し、2002 年 1 月 1 日からユーロを使用します。

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

言語

ロケール ID

アラビア語

サウジアラビア

ar_SA

中国語 (簡体字)

中国

zh_CN

中国語 (繁体字)

台湾

zh_TW

オランダ語

オランダ

nl_NL

オランダ語

オランダ

nl_NL_EURO

英語

オーストラリア

en_AU

英語

カナダ

en_CA

英語

英国

en_GB

英語

米国

en_US

フランス語

カナダ

fr_CA

フランス語

フランス

fr_FR

フランス語

フランス

fr_FR_EURO

ドイツ語

ドイツ

de_DE

ドイツ語

ドイツ

de_DE_EURO

ヘブライ語

イスラエル

iw_IL

ヒンディー語

インド

hi_IN

イタリア語

イタリア

it_IT

イタリア語

イタリア

it_IT_EURO

日本語

日本

ja_JP

韓国語

韓国

ko_KR

ポルトガル語

ブラジル

pt_BR

スペイン語

スペイン

es_ES

スペイン語

スペイン

es_ES_EURO

スウェーデン語

スウェーデン

sv_SE

タイ語

タイ

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

ブルガリア語

ブルガリア

bg_BG

ベロルシア語

ベロルシア

be_BY

カタロニア語

スペイン

ca_ES

カタロニア語

スペイン

ca_ES_EURO

中国語

香港

zh_HK

クロアチア語

クロアチア

hr_HR

チェコ語

チェコ共和国

cs_CZ

デンマーク語

デンマーク

da_DK

オランダ語

ベルギー

nl_BE

オランダ語

ベルギー

nl_BE_EURO

英語

インド

en_IN

英語

アイルランド

en_IE

英語

アイルランド

en_IE_EURO

英語

ニュージーランド

en_NZ

英語

南アフリカ

en_ZA

エストニア語

エストニア

et_EE

フィンランド語

フィンランド

fi_FI

フィンランド語

フィンランド

fi_FI_EURO

フランス語

ベルギー

fr_BE

フランス語

ベルギー

fr_BE_EURO

フランス語

ルクセンブルク

fr_LU

フランス語

ルクセンブルク

fr_LU_EURO

フランス語

スイス

fr_CH

ドイツ語

オーストリア

de_AT

ドイツ語

オーストリア

de_AT_EURO

ドイツ語

ルクセンブルク

de_LU

ドイツ語

ルクセンブルク

de_LU_EURO

ドイツ語

スイス

de_CH

ギリシャ語

ギリシャ

el_GR

ギリシャ語

ギリシャ

el_GR_EURO

ハンガリー語

ハンガリー

hu_HU

アイスランド語

アイスランド

is_IS

イタリア語

スイス

it_CH

ラトビア語

ラトビア

lv_LV

リトアニア語

リトアニア

lt_LT

マケドニア語

マケドニア

mk_MK

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

ノルウェー

no_NO

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

ノルウェー

no_NO_NY

ポーランド語

ポーランド

pl_PL

ポルトガル語

ポルトガル

pt_PT

ポルトガル語

ポルトガル

pt_PT_EURO

ルーマニア語

ルーマニア

ro_RO

ロシア語

ロシア

ru_RU

セルビア語 (キリル)

ユーゴスラビア

sr_YU

セルビア-クロアチア語

ユーゴスラビア

sh_YU

スロバキア語

スロバキア

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


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

2.1 概要

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

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

Sun の Java 2 Software Development Kit, Standard Edition, v1.4 および Java 2 Runtime Environment, Standard Edition, v1.4 の国際化版では、以下に示すすべての書記体系がサポートされます。 Java 2 Runtime Environment, Standard Edition, v1.4 の米国語版では、ラテン書記体系の西欧語派サブセットのみがサポートされます。 ピア AWT コンポーネントは、書記体系のサブセットに対してのみサポートされます。表の右端の列を参照してください。

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

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

書記体系

言語

Windows コードページ

Solaris エンコーディング

Linux エンコーディング

ピア AWT コンポーネント

アラビア語

アラビア語

1256

8859-6

非サポート

非サポート

中国語 (簡体字)

中国語

936

gb2312、UTF-8、GBK、gb18030

GBK、gb2312

サポート

中国語 (繁体字)

中国語

950

cns11643、UTF-8、BIG5HK

非サポート

サポート

デーヴァナーガリー

ヒンディー語

(1)

UTF-8

非サポート

非サポート

ヘブライ語

ヘブライ語

1255

8859-8

非サポート

非サポート

日本語

日本語

932

eucJP(2)、UTF-8、PCK

eucJP(2)

サポート

韓国語

韓国語

949

5601、UTF-8

非サポート

サポート

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

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

1252

8859-1, 8859-15

8859-1

サポート

タイ語

タイ語

874

TIS620.2533、UTF-8

非サポート

非サポート

(1) Java プログラミング言語内に Lucida フォントだけでなくインプットメソッドが実装されていること
(2) Solaris 上の eucJP は JIS 文字セットの X 0201、X 0208、および X 0212 をサポートし、Linux 上の eucJP は X 0201 と X 0208 のみをサポートする

 

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

書記体系

言語

Windows コードページ

Solaris エンコーディング

Linux エンコーディング

ピア AWT コンポーネント

中国語 (繁体字)

中国語

(上記参照)

BIG5 (追加)

非サポート

サポート

キリル

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

1251

8859-5

非サポート

サポート

ギリシャ語

ギリシャ語

1253

8859-7

非サポート

サポート

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

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

1257

8859-4, 8859-13

非サポート

サポート

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

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

1250

8859-2

非サポート

サポート

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

トルコ語など

1254

8859-9

非サポート

サポート

2.2 テキスト入力

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

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

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

Windows

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

Windows 2000 では、J2RE は、Unicode 以外のコードページを使用したすべてのキーボード配列と、IMM ベースのすべてのインプットメソッドの使用をサポートします。

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

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

Solaris および Linux

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

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

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

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

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

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

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

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

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

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

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

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

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

AWT および 2D の印刷 API を使用したテキストレンダリングは、画面上のテキストレンダリングと同等の機能です。 プラグ可能サービスの印刷 API を使用したテキストレンダリングは、使用する印刷サービスに依存します。これらのサービスは、J2RE では提供されません。

2.4 コンポーネントの向き

コンポーネントの向きのプロパティは、Swing コンポーネントとレイアウトマネージャにだけ関係し、ピア AWT コンポーネントには関係しません。また、ホストオペレーティングシステムからは独立しています。 次のクラスで、コンポーネントの向きがサポートされます。

java.awt.BorderLayout
java.awt.FlowLayout
java.awt.GridBagLayout
javax.swing.BorderFactory
javax.swing.BoxLayout
javax.swing.JApplet
javax.swing.JButton
javax.swing.JCheckBox
javax.swing.JCheckBoxMenuItem
javax.swing.JColorChooser
javax.swing.JComboBox
javax.swing.JDesktopPane
javax.swing.JDialog
javax.swing.JEditorPane
javax.swing.JFileChooser

javax.swing.JFrame
javax.swing.JInternalFrame
javax.swing.JLabel
javax.swing.JLayeredPane
javax.swing.JListBox
javax.swing.JMenu
javax.swing.JMenuBar
javax.swing.JMenuItem
javax.swing.JOptionPane
javax.swing.JPanel
javax.swing.JPasswordField
javax.swing.JPopupMenu
javax.swing.JProgressBar
javax.swing.JRadioButton

javax.swing.JRadioButtonMenuItem
javax.swing.JRootPane
javax.swing.JScrollPane
javax.swing.JSlider
javax.swing.JTabbedPane
javax.swing.JTextArea
javax.swing.JTextField
javax.swing.JTextPane
javax.swing.JToggleButton
javax.swing.JToolBar
javax.swing.JToolTip
javax.swing.JTree
javax.swing.ProgressMonitor
javax.swing.border.Border

2.5 ドラッグ&ドロップ

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

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

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

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


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

Java 2 Runtime Environment

Java 2 Runtime Environment, Standard Edition, v1.4 で用意されているユーザインタフェースの要素には、Swing ダイアログや、実行環境が標準の出力ストリームと標準エラーストリームに書き込むメッセージのほか、J2RE に付属のツールから生成されるメッセージも含まれます。 ユーザインタフェース要素は次の言語に地域対応されます。

言語

ロケール ID

中国語 (簡体字)

zh_CN

中国語 (繁体字)

zh_TW

英語

en

フランス語

fr

ドイツ語

de

イタリア語

it

日本語

ja

韓国語

ko

スペイン語

es

スウェーデン語

sv

Java 2 Software Development Kit

Java 2 Software Development Kit, Standard Edition, v1.4 に用意されているユーザインタフェース要素には、J2RE から提供される要素に加えて、J2SDK のみに提供されるツールから生成されるメッセージも含まれます。 追加のユーザインタフェース要素は、以下の言語に地域対応されます。

言語

ロケール ID

英語

en

日本語

ja


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

コメントの送付先: java-intl@java.sun.com

Sun
Java ソフトウェア