Java国際化プログラミング
ロケール

C言語ではmain関数内でsetlocaleなどのロケール関数を呼び出しますが (こちらを参照)、Javaの場合は 通常、こういった処理は必要ありません。
但し、明示的にロケールを設定したい場合 (例えば、ファイルに指定されているロケールで動作させたい場合など) は、以下のようなメソッドをmainメソッド内で呼ぶことでアプリケーション全体に 指定したロケールを反映することができます。
    public static void main(String[] args) {
		Locale.setDefault(bundle.getLocale());		
		// *SwingのAPI(JFileChooserなど)には以下のメソッドが必要です。
		JComponent.setDefaultLocale(bundle.getLocale()); 
		...
	}
以下のクラスは国際化されています。これらのクラスのメソッドはロケールの 影響を受けます。
------------------------------------------------------------------------
国際化されているクラス
------------------------------------------------------------------------
java.io.InputStreamReader
java.io.OutputStreamWriter
java.lang.Character
java.lang.Character.Subset
java.lang.Character.UnicodeBlock
java.text.AttributedCharacterIterator 
java.text.AttributedCharacterIterator.Attribute
java.text.BreakIterator
java.text.CharacterIterator 
java.text.ChoiceFormat
java.text.CollationElementIterator
java.text.CollationKey
java.text.Collator
java.text.DateFormat
java.text.DateFormatSymbols
java.text.DecimalFormat
java.text.DecimalFormatSymbols
java.text.FieldPosition
java.text.Format
java.text.MessageFormat
java.text.NumberFormat
java.text.ParsePosition
java.text.RuleBasedCollator
java.text.SimpleDateFormat       *1)
java.text.StringCharacterIterator
java.util.Calendar
java.util.GregorianCalendar
java.util.ListResourceBundle
java.util.Locale
java.util.PropertyResourceBundle
java.util.ResourceBundle
java.util.SimpleTimeZone
java.util.TimeZone
java.awt.ComponentOrientation
java.awt.Font
java.awt.GraphicsEnvironment
java.awt.font.TextLayout
java.awt.font.CaretPolicy
java.awt.im.InputContext
java.awt.im.InputMethodRequests
java.awt.im.InputMethodHighlight
java.awt.im.InputSubset
java.awt.im.spi.InputMethod
java.awt.im.spi.InputMethodContext
java.awt.im.spi.InputMethodDescriptor
------------------------------------------------------------------------
なお以下のメソッドは非推奨の国際化メソッドですので、推奨される代替メソッドの 方を使用するようにしてください。
------------------------------------------------------------------------
非推奨メソッド					代替メソッド
------------------------------------------------------------------------
java.util.Date.getDate				java.util.Calendar.get
java.util.Date.getDay				java.util.Calendar.get
java.util.Date.getHours				java.util.Calendar.get
java.util.Date.getMinutes			java.util.Calendar.get
java.util.Date.getMonth				java.util.Calendar.get
java.util.Date.getSeconds			java.util.Calendar.get
java.util.Date.getTimezoneOffset		java.util.Calendar.get
java.util.Date.getYear				java.util.Calendar.get
java.util.Date.parse				java.text.DateFormat.parse
java.util.Date.setDate				java.util.Calendar.set
java.util.Date.setHours				java.util.Calendar.set
java.util.Date.setMinutes			java.util.Calendar.set
java.util.Date.setMonth				java.util.Calendar.set
java.util.Date.setSeconds			java.util.Calendar.set
java.util.Date.setYear				java.util.Calendar.set
java.util.Date.toString				java.text.DateFormat.format
java.util.Date.toGMTString			java.text.DateFormat.format
java.util.Date.toLocaleString			java.text.DateFormat.format
java.util.Date.UTC				java.util.Calendar.set
java.io.DataInputStream.readLine		java.io.BufferdReader.readLine
java.lang.Runtime.getLocalizedInputStream	java.io.InputStreamReader
java.lang.Runtime.getLocalizedOutputStream	java.io.OutputStreamWriter
java.lang.Character.isSpace			java.lang.Character.isWhitespece
------------------------------------------------------------------------
*1)SimpleDateFormatは国際化されていますが、DateFormatが推奨されています。

国際化プログラミングトップへ


Copyright (C) 2012 Kokusaika JP, Inc.
本ドキュメントを無断で転載および引用することを禁じます。