.NET国際化プログラミング
文化と地域

.NET国際化プログラミングの基本的なポイントはCultureInfoクラスとRegionInfoクラスであり、 特に前者が重要です。全ての.NET APIはCultureInfoクラスの設定に従い国際化機能をサポートし、 いくつかの文化固有の機能を提供します。

CultureInfoとRegionInfoクラスはOS設定のロケール、またはユーザー指定のロケールを識別可能なように 作成されるべきであり、言語や国をハードコードすべきではありません。

*** これらのコードは推奨されません。

CultureInfo myCIintl = new CultureInfo( "es-ES"); <- *ハードコードされた名前から作成
CultureInfo myCIintl = new CultureInfo(0x0409); <- *ハードコードされたLCIDから作成

RegionInfo myRI1 = new RegionInfo("US"); <- *ハードコードされた名前から作成
RegionInfo myRI2 = new RegionInfo(0x0409); <- *ハードコードされたLCIDから作成

他のプログラミング言語(例えばJava)のように、ロケール(.NETではカルチャと呼ばれます) に影響を受ける機能には注意する必要があります。
重要なクラスとメソッドの内幾つかを以下に挙げました。
------------------------------------------------------------------------------------------------
重要なクラスとメソッド
------------------------------------------------------------------------------------------------
*DateTimeFormatInfo               
    日付と時間をフォーマットします
    
*NumberFormatInfo                 
    数値と通貨をフォーマットします

*String.ToUpper/toLower                   
    文字列を大文字/小文字にします
   
*String.Compare/CompareTo/CompareOrdinal                 
    文字列を比較します
   
*Array.Sort                       
    データをソートします

*DateTime.ToString      
   日付と時間を与えられた書式文字でフォーマットします
   ("d", "D", "f", "F", ...など)
                                 
   文化依存の書式(例えば"yyyy/mm/dd")は使うべきではありません。
   
   次のメソッドは各書式文字に対応していますが、ToStringのほうがより多くの
   書式を扱えるのでその使用が推奨されます。
   
  *ToShortDateString
  *ToLongDateString
  *ToShortTimeString
  *ToLongTimeString           
   
*これらはカレンダーについての文化固有のクラスです

*GregorianCalendar   
            
*HebrewCalendar

*HijiriCalendar

*JapaneseCalendar

*JulianCalendar

*koreanCalendar

*PersianCalendar

*TaiwanCalendar

*ThaiBuddhistCalendar

*ChineseLunisolarCalendar

*JapaneseLunisolarCalendar

*KoreanLunisolarCalendar

*ThaiwanLunisolarCalendar

*JalaaliCalendar

*UmAlQuraCalendar

カレントカルチャとカレントUIカルチャは以下のようにして取得できます。

System.Globalization.CultureInfo curCi=
   System.Globalization.CultureInfo.CurrentCulture;
System.Globalization.CultureInfo curUICi=
   System.Globalization.CultureInfo.CurrentUICulture; 
カレントカルチャは現在のスレッドで使用するカルチャであり、カレントUIカルチャは 実行時にリソースを参照するためにResourceManagerによって使用されるカルチャです。

.NET APIの仕様の詳細についてはMSDNを参照してください。

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


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