Locale
日本語 | 舞台 |
英語 | locale |
ふりがな | ろけーる |
フリガナ | ロケール |
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.util.Locale。
ロケールを管理するクラス。Localeクラスのインスタンスが、ひとつのロケールに対応する。デフォルトのロケールの取得や変更を行うstaticメソッドを持つ。また、各国のロケールに対応したstatic finalフィールドも持つ。
デフォルトのロケールは、実行環境のOSの言語等によって自動的に設定され、これはLocaleクラスのgetDefault()メソッドで取得できる。
ロケールの変更はLocaleクラスのsetDefault()メソッドで変更できる。ロケールの指定は通常、Localeクラスに定義されているstatic finalフィールドを使用する。たとえば日本であればLocale.JAPAN、等。また、コンストラクタに「言語コード」「国コード」を指定してLocaleクラスのインスタンスを作ることもできる。この「言語コード」「国コード」はISOで指定されたコードから選択する。
ロケールを管理するクラス。Localeクラスのインスタンスが、ひとつのロケールに対応する。デフォルトのロケールの取得や変更を行うstaticメソッドを持つ。また、各国のロケールに対応したstatic finalフィールドも持つ。
デフォルトのロケールは、実行環境のOSの言語等によって自動的に設定され、これはLocaleクラスのgetDefault()メソッドで取得できる。
ロケールの変更はLocaleクラスのsetDefault()メソッドで変更できる。ロケールの指定は通常、Localeクラスに定義されているstatic finalフィールドを使用する。たとえば日本であればLocale.JAPAN、等。また、コンストラクタに「言語コード」「国コード」を指定してLocaleクラスのインスタンスを作ることもできる。この「言語コード」「国コード」はISOで指定されたコードから選択する。
// Sample.java
import java.util.Locale;
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class Sample
{
public static void main( String[] args )
{
// デフォルトのロケールを取得します。
// LocaleクラスのgetDefault()メソッドで取得します。
Locale locale = Locale.getDefault();
System.out.println( locale.toString() );
System.out.println( "言語コード : " + locale.getLanguage() );
System.out.println( "国コード : " + locale.getCountry() );
System.out.println( "名前 : " + locale.getDisplayName() );
System.out.println( "国 : " + locale.getDisplayCountry() );
System.out.println( "言語 : " + locale.getDisplayLanguage() );
// ja_JP
// 言語コード : ja
// 国コード : JP
// 名前 : 日本語 (日本)
// 国 : 日本
// 言語 : 日本語
// 日時もロケールに左右されます。
String format = "yyyy/MMMMM/dd'('EEEEE')' a hh:mm:ss";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat( format );
String formated = simpleDateFormat.format( Calendar.getInstance().getTime() );
System.out.println( formated );
// 2005/6月/03(金曜日) 午後 12:32:44
// この「6月」「金曜日」「午後」が日本語なのはロケールが日本だからです。
// それぞれの国のロケールはLocaleクラスの各定数フィールド
// として定義されています。
locale = Locale.US;
System.out.println( locale.toString() );
System.out.println( "言語コード : " + locale.getLanguage() );
System.out.println( "国コード : " + locale.getCountry() );
System.out.println( "名前 : " + locale.getDisplayName() );
System.out.println( "国 : " + locale.getDisplayCountry() );
System.out.println( "言語 : " + locale.getDisplayLanguage() );
// en_US
// 言語コード : en
// 国コード : US
// 名前 : 英語 (アメリカ合衆国)
// 国 : アメリカ合衆国
// 言語 : 英語
// 言語コードと国コードから作ることもできます。
locale = new Locale( "ja", "JP" );
System.out.println( locale.toString() );
System.out.println( "言語コード : " + locale.getLanguage() );
System.out.println( "国コード : " + locale.getCountry() );
System.out.println( "名前 : " + locale.getDisplayName() );
System.out.println( "国 : " + locale.getDisplayCountry() );
System.out.println( "言語 : " + locale.getDisplayLanguage() );
// ja_JP
// 言語コード : ja
// 国コード : JP
// 名前 : 日本語 (日本)
// 国 : 日本
// 言語 : 日本語
// この「日本語」とかも、現在のデフォルトロケールが
// 「日本」(Locale.JAPAN)だから、日本語で出力されています。
// ロケールを変更します。
Locale.setDefault( Locale.US );
System.out.println( locale.toString() );
System.out.println( "言語コード : " + locale.getLanguage() );
System.out.println( "国コード : " + locale.getCountry() );
System.out.println( "名前 : " + locale.getDisplayName() );
System.out.println( "国 : " + locale.getDisplayCountry() );
System.out.println( "言語 : " + locale.getDisplayLanguage() );
// ja_JP
// 言語コード : ja
// 国コード : JP
// 名前 : Japanese (Japan)
// 国 : Japan
// 言語 : Japanese
// このように、デフォルトロケールを変更すれば、出力が
// 日本語以外になります。
// 日時もロケールに左右されます。
simpleDateFormat = new SimpleDateFormat( format );
formated = simpleDateFormat.format( Calendar.getInstance().getTime() );
System.out.println( formated );
// 2005/June/03(Friday) PM 12:32:44
}
}
import java.util.Locale;
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class Sample
{
public static void main( String[] args )
{
// デフォルトのロケールを取得します。
// LocaleクラスのgetDefault()メソッドで取得します。
Locale locale = Locale.getDefault();
System.out.println( locale.toString() );
System.out.println( "言語コード : " + locale.getLanguage() );
System.out.println( "国コード : " + locale.getCountry() );
System.out.println( "名前 : " + locale.getDisplayName() );
System.out.println( "国 : " + locale.getDisplayCountry() );
System.out.println( "言語 : " + locale.getDisplayLanguage() );
// ja_JP
// 言語コード : ja
// 国コード : JP
// 名前 : 日本語 (日本)
// 国 : 日本
// 言語 : 日本語
// 日時もロケールに左右されます。
String format = "yyyy/MMMMM/dd'('EEEEE')' a hh:mm:ss";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat( format );
String formated = simpleDateFormat.format( Calendar.getInstance().getTime() );
System.out.println( formated );
// 2005/6月/03(金曜日) 午後 12:32:44
// この「6月」「金曜日」「午後」が日本語なのはロケールが日本だからです。
// それぞれの国のロケールはLocaleクラスの各定数フィールド
// として定義されています。
locale = Locale.US;
System.out.println( locale.toString() );
System.out.println( "言語コード : " + locale.getLanguage() );
System.out.println( "国コード : " + locale.getCountry() );
System.out.println( "名前 : " + locale.getDisplayName() );
System.out.println( "国 : " + locale.getDisplayCountry() );
System.out.println( "言語 : " + locale.getDisplayLanguage() );
// en_US
// 言語コード : en
// 国コード : US
// 名前 : 英語 (アメリカ合衆国)
// 国 : アメリカ合衆国
// 言語 : 英語
// 言語コードと国コードから作ることもできます。
locale = new Locale( "ja", "JP" );
System.out.println( locale.toString() );
System.out.println( "言語コード : " + locale.getLanguage() );
System.out.println( "国コード : " + locale.getCountry() );
System.out.println( "名前 : " + locale.getDisplayName() );
System.out.println( "国 : " + locale.getDisplayCountry() );
System.out.println( "言語 : " + locale.getDisplayLanguage() );
// ja_JP
// 言語コード : ja
// 国コード : JP
// 名前 : 日本語 (日本)
// 国 : 日本
// 言語 : 日本語
// この「日本語」とかも、現在のデフォルトロケールが
// 「日本」(Locale.JAPAN)だから、日本語で出力されています。
// ロケールを変更します。
Locale.setDefault( Locale.US );
System.out.println( locale.toString() );
System.out.println( "言語コード : " + locale.getLanguage() );
System.out.println( "国コード : " + locale.getCountry() );
System.out.println( "名前 : " + locale.getDisplayName() );
System.out.println( "国 : " + locale.getDisplayCountry() );
System.out.println( "言語 : " + locale.getDisplayLanguage() );
// ja_JP
// 言語コード : ja
// 国コード : JP
// 名前 : Japanese (Japan)
// 国 : Japan
// 言語 : Japanese
// このように、デフォルトロケールを変更すれば、出力が
// 日本語以外になります。
// 日時もロケールに左右されます。
simpleDateFormat = new SimpleDateFormat( format );
formated = simpleDateFormat.format( Calendar.getInstance().getTime() );
System.out.println( formated );
// 2005/June/03(Friday) PM 12:32:44
}
}
// Sample.java import java.util.Locale; import java.util.Calendar; import java.text.SimpleDateFormat; public class Sample { public static void main( String[] args ) { // デフォルトのロケールを取得します。 // LocaleクラスのgetDefault()メソッドで取得します。 Locale locale = Locale.getDefault(); System.out.println( locale.toString() ); System.out.println( "言語コード : " + locale.getLanguage() ); System.out.println( "国コード : " + locale.getCountry() ); System.out.println( "名前 : " + locale.getDisplayName() ); System.out.println( "国 : " + locale.getDisplayCountry() ); System.out.println( "言語 : " + locale.getDisplayLanguage() ); // ja_JP // 言語コード : ja // 国コード : JP // 名前 : 日本語 (日本) // 国 : 日本 // 言語 : 日本語 // 日時もロケールに左右されます。 String format = "yyyy/MMMMM/dd'('EEEEE')' a hh:mm:ss"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat( format ); String formated = simpleDateFormat.format( Calendar.getInstance().getTime() ); System.out.println( formated ); // 2005/6月/03(金曜日) 午後 12:32:44 // この「6月」「金曜日」「午後」が日本語なのはロケールが日本だからです。 // それぞれの国のロケールはLocaleクラスの各定数フィールド // として定義されています。 locale = Locale.US; System.out.println( locale.toString() ); System.out.println( "言語コード : " + locale.getLanguage() ); System.out.println( "国コード : " + locale.getCountry() ); System.out.println( "名前 : " + locale.getDisplayName() ); System.out.println( "国 : " + locale.getDisplayCountry() ); System.out.println( "言語 : " + locale.getDisplayLanguage() ); // en_US // 言語コード : en // 国コード : US // 名前 : 英語 (アメリカ合衆国) // 国 : アメリカ合衆国 // 言語 : 英語 // 言語コードと国コードから作ることもできます。 locale = new Locale( "ja", "JP" ); System.out.println( locale.toString() ); System.out.println( "言語コード : " + locale.getLanguage() ); System.out.println( "国コード : " + locale.getCountry() ); System.out.println( "名前 : " + locale.getDisplayName() ); System.out.println( "国 : " + locale.getDisplayCountry() ); System.out.println( "言語 : " + locale.getDisplayLanguage() ); // ja_JP // 言語コード : ja // 国コード : JP // 名前 : 日本語 (日本) // 国 : 日本 // 言語 : 日本語 // この「日本語」とかも、現在のデフォルトロケールが // 「日本」(Locale.JAPAN)だから、日本語で出力されています。 // ロケールを変更します。 Locale.setDefault( Locale.US ); System.out.println( locale.toString() ); System.out.println( "言語コード : " + locale.getLanguage() ); System.out.println( "国コード : " + locale.getCountry() ); System.out.println( "名前 : " + locale.getDisplayName() ); System.out.println( "国 : " + locale.getDisplayCountry() ); System.out.println( "言語 : " + locale.getDisplayLanguage() ); // ja_JP // 言語コード : ja // 国コード : JP // 名前 : Japanese (Japan) // 国 : Japan // 言語 : Japanese // このように、デフォルトロケールを変更すれば、出力が // 日本語以外になります。 // 日時もロケールに左右されます。 simpleDateFormat = new SimpleDateFormat( format ); formated = simpleDateFormat.format( Calendar.getInstance().getTime() ); System.out.println( formated ); // 2005/June/03(Friday) PM 12:32:44 } }