エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

CultureInfo クラス

2013/12/12

特定のカルチャに関する情報を提供します。この情報には、カルチャの名前、書記体系、使用する暦、数値と日付に使用する書式、および文字列の並べ替え順序が含まれます。

System.Object
  System.Globalization.CultureInfo

Namespace:  System.Globalization
アセンブリ:  mscorlib (mscorlib.dll 内)

public class CultureInfo : IFormatProvider

CultureInfo 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドCultureInfo名前で指定するカルチャに基づいて、CultureInfo クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティCalendarカルチャで使用する既定の暦を取得します。
パブリック プロパティCompareInfoカルチャの文字列を比較する方法を定義する CompareInfo オブジェクトを取得します。
パブリック プロパティ静的メンバーCurrentCulture現在のスレッドで使用するカルチャを表す CultureInfo オブジェクトを取得します。
パブリック プロパティ静的メンバーCurrentUICulture実行時にカルチャ固有のリソースを参照するためにリソース マネージャーによって使用される現在のカルチャを表す CultureInfo オブジェクトを取得します。
パブリック プロパティDateTimeFormat日時を文字列に変換するためのカルチャに対応した書式を定義する DateTimeFormatInfo オブジェクトを取得または設定します。
パブリック プロパティ静的メンバーDefaultThreadCurrentCulture現在のアプリケーション ドメインのスレッドの既定のカルチャを取得または設定します。
パブリック プロパティ静的メンバーDefaultThreadCurrentUICulture現在のアプリケーション ドメインのスレッドの既定の UI カルチャを取得または設定します。
パブリック プロパティDisplayNameローカライズされた .NET Framework の言語で表した "language (country/region)" という形式のカルチャ名を取得します。
パブリック プロパティEnglishName英語で表した "language (country/region)" という形式のカルチャ名を取得します。
パブリック プロパティ静的メンバーInvariantCultureカルチャに依存しない (インバリアントな) CultureInfo を取得します。
パブリック プロパティIsNeutralCulture現在の CultureInfo オブジェクトがニュートラル カルチャを表しているかどうかを示す値を取得します。
パブリック プロパティIsReadOnly現在の CultureInfo オブジェクトが読み取り専用かどうかを示す値を取得します。
パブリック プロパティName"languagecode-country/regioncode" という形式のカルチャ名を取得します。
パブリック プロパティNativeNameカルチャの表示設定である、言語、国/地域、およびオプションの文字の種類で構成されるカルチャのネイティブ名を取得します。
パブリック プロパティNumberFormat数値、通貨、および割合を文字列に変換するためのカルチャに対応した書式を定義する NumberFormatInfo オブジェクトを取得または設定します。
パブリック プロパティOptionalCalendarsこのカルチャで使用できる暦の一覧を取得します。
パブリック プロパティParent現在の CultureInfo の親カルチャを表す CultureInfo を取得します。
パブリック プロパティTextInfoカルチャに関連付けられている書記体系を定義する TextInfo オブジェクトを取得します。
パブリック プロパティTwoLetterISOLanguageName現在の CultureInfo の言語に対する ISO 639-1 の 2 桁の文字コードを取得します。
このページのトップへ

  名前説明
パブリック メソッドClone現在の CultureInfo オブジェクトのコピーを作成します。
パブリック メソッドEquals指定したオブジェクトのカルチャがこの CultureInfo オブジェクトと同じかどうかを判断します。 (Object.Equals(Object) をオーバーライドします。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetFormat指定した型に書式指定する方法を定義するオブジェクトを取得します。
パブリック メソッドGetHashCode現在の CultureInfo のハッシュ関数として機能します。ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object.GetHashCode() をオーバーライドします。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッド静的メンバーReadOnly指定した CultureInfo オブジェクトをラップする読み取り専用のラッパーを返します。
パブリック メソッドToString現在の CultureInfo オブジェクトの名前が格納された "languagecode-country/regioncode" という形式の文字列を返します。 (Object.ToString() をオーバーライドします。)
このページのトップへ

CultureInfo クラスは、関連付けられた言語、サブ言語、国/地域、暦、文化的な慣習など、カルチャ固有の情報を提供します。このクラスは、DateTimeFormatInfoNumberFormatInfoCompareInfo、および TextInfo のカルチャ固有のインスタンスへのアクセスも提供します。これらのオブジェクトは、日付と数値のキャスト、書式指定、文字列の比較など、カルチャ固有の操作に必要な情報を格納します。

String クラスのメンバーは、このクラスを直接的または間接的に使用して、既定のカルチャに関する情報を取得します。

メモメモ:

CultureInfo.InvariantCulture 以外の CultureInfo オブジェクトは、オペレーティング システムからデータを取得します。そのため、個々の CultureInfo プロパティの値は、オペレーティング システムだけでなく、同じオペレーティング システムのバージョンによっても異なる場合があります。

カルチャ名と識別子

CultureInfo クラスは、各カルチャの一意の名前を RFC 4646 に基づいて指定します。この名前は、言語に関連付けられている ISO 639 の 2 桁の小文字のカルチャ コードと、国または地域に関連付けられている ISO 3166 の 2 桁の大文字のサブカルチャ コードの組み合わせです。

メモメモ:

CultureInfo クラスのコンストラクターに渡される場合、カルチャ名の大文字/小文字は重要ではありません。

カルチャ名の形式は、"languagecode-country/regioncode" です。この languagecode は言語コード、country/regioncode はサブカルチャ コードです。例として、日本語 (日本) に対応する "ja-JP" や英語 (U.S.) に対応する "en-US" が挙げられます。2 文字の言語コードを使用できない場合は、ISO 639-2 から派生した 3 文字のコードが使用されます。

カルチャ名によっては、ISO 15924 の文字の種類も示されます。たとえば、"-Cyrl" はキリル文字を示し、"-Latn" はラテン文字を示します。文字の種類を含むカルチャ名は、"languagecode-scripttag-country/regioncode" というパターンを使用して表示されます。この種類のカルチャ名の例は、ウズベク語 (ウズベキスタン、キリル文字) に対応する "uz-Cyrl-UZ" です。

ニュートラル カルチャ (特定の国/地域を持たない言語によって定義されるカルチャ) は、2 文字の小文字の言語コードのみで示されます。たとえば、"fr" はフランス語のニュートラル カルチャを示し、"de" はドイツ語のニュートラル カルチャを示します。

メモメモ:

この規則に矛盾するカルチャ名が 2 つ存在します。"zh-Hans" (簡体字中国語) および "zh-Hant" (繁体字中国語) の 2 つのカルチャはニュートラル カルチャです。

次の表は、.NET Framework によって認識される定義済みのカルチャ名の一覧です。CultureInfo オブジェクトをインスタンス化するときに、これらのカルチャ名を使用できます。ただし、.NET Framework はオペレーティング システムからカルチャ情報を取得するため、プラットフォームやオペレーティング システムのバージョンによってはカルチャ情報を使用できない場合もあります。

カルチャ名/言語名

カルチャ

"" (空の文字列)

インバリアント カルチャ

af

アフリカーンス語

af-ZA

アフリカーンス語 (南アフリカ)

sq

アルバニア語

sq-AL

アルバニア語 (アルバニア)

ar

アラビア語

ar-DZ

アラビア語 (アルジェリア)

ar-BH

アラビア語 (バーレーン)

ar-EG

アラビア語 (エジプト)

ar-IQ

アラビア語 (イラク)

ar-JO

アラビア語 (ヨルダン)

ar-KW

アラビア語 (クウェート)

ar-LB

アラビア語 (レバノン)

ar-LY

アラビア語 (リビア)

ar-MA

アラビア語 (モロッコ)

ar-OM

アラビア語 (オマーン)

ar-QA

アラビア語 (カタール)

ar-SA

アラビア語 (サウジアラビア)

ar-SY

アラビア語 (シリア)

ar-TN

アラビア語 (チュニジア)

ar-AE

アラビア語 (U.A.E.)

ar-YE

アラビア語 (イエメン)

hy

アルメニア語

hy-AM

アルメニア語 (アルメニア)

az

アゼリ語

az-Cyrl-AZ

アゼリ語 (アゼルバイジャン、キリル文字)

az-Latn-AZ

アゼリ語 (アゼルバイジャン、ラテン文字)

eu

バスク語

eu-ES

バスク語 (バスク)

be

ベラルーシ語

be-BY

ベラルーシ語 (ベラルーシ)

bg

ブルガリア語

bg-BG

ブルガリア語 (ブルガリア)

ca

カタルニア語

ca-ES

カタルニア語 (カタルーニャ)

zh-HK

中国語 (香港特別行政区)

zh-MO

中国語 (マカオ)

zh-CN

中国語 (中国)

zh-Hans

簡体字中国語

zh-SG

中国語 (シンガポール)

zh-TW

中国語 (台湾)

zh-Hant

繁体字中国語

hr

クロアチア語

hr-BA

クロアチア語 (ボスニア-ヘルツェゴヴィナ)

hr-HR

クロアチア語 (クロアチア)

cs

チェコ語

cs-CZ

チェコ語 (チェコ共和国)

da

デンマーク語

da-DK

デンマーク語 (デンマーク)

dv

ディベヒ語

dv-MV

ディベヒ語 (モルジブ)

nl

オランダ語

nl-BE

オランダ語 (ベルギー)

nl-NL

オランダ語 (オランダ)

en

英語

en-AU

英語 (オーストラリア)

en-BZ

英語 (ベリーズ)

en-CA

英語 (カナダ)

en-029

英語 (西インド諸島)

en-IE

英語 (アイルランド)

en-JM

英語 (ジャマイカ)

en-NZ

英語 (ニュージーランド)

en-PH

英語 (フィリピン)

en-ZA

英語 (南アフリカ)

en-TT

英語 (トリニダードトバゴ)

en-GB

英語 (英国)

en-US

英語 (米国)

en-ZW

英語 (ジンバブエ)

et

エストニア語

et-EE

エストニア語 (エストニア)

fo

フェロー語

fo-FO

フェロー語 (フェロー諸島)

fa

ペルシア語

fa-IR

ペルシア語 (イラン)

fi

フィンランド語

fi-FI

フィンランド語 (フィンランド)

fr

フランス語

fr-BE

フランス語 (ベルギー)

fr-CA

フランス語 (カナダ)

fr-FR

フランス語 (フランス)

fr-LU

フランス語 (ルクセンブルク)

fr-MC

フランス語 (モナコ)

fr-CH

フランス語 (スイス)

gl

ガリシア語

gl-ES

ガリシア語 (スペイン)

ka

グルジア語

ka-GE

グルジア語 (グルジア共和国)

de

ドイツ語

de-AT

ドイツ語 (オーストリア)

de-DE

ドイツ語 (ドイツ)

de-DE_phoneb

ドイツ語 (ドイツ、電話帳の並べ替え順序)

de-LI

ドイツ語 (リヒテンシュタイン)

de-LU

ドイツ語 (ルクセンブルグ)

de-CH

ドイツ語 (スイス)

el

ギリシャ語

el-GR

ギリシャ語 (ギリシア)

gu

グジャラート語

gu-IN

グジャラート語 (インド)

he

ヘブライ語

he-IL

ヘブライ語 (イスラエル)

hi

ヒンディー語

hi-IN

ヒンディー語 (インド)

hu

ハンガリー語

hu-HU

ハンガリー語 (ハンガリー)

is

アイスランド語

is-IS

アイスランド語 (アイスランド)

id

インドネシア語

id-ID

インドネシア語 (インドネシア)

it

イタリア語

it-IT

イタリア語 (イタリア)

it-CH

イタリア語 (スイス)

ja

日本語

ja-JP

日本語 (日本)

kn

カナラ語

kn-IN

カナラ語 (インド)

kk

カザフ語

kk-KZ

カザフ語 (カザフスタン)

kok

コンカニ語

kok-IN

コンカニ語 (インド)

ko

韓国語

ko-KR

韓国語 (韓国)

ky

キルギス語

ky-KG

キルギス語 (キルギス)

lv

ラトビア語

lv-LV

ラトビア語 (ラトビア)

lt

リトアニア語

lt-LT

リトアニア語 (リトアニア)

mk

マケドニア語

mk-MK

マケドニア語 (マケドニア)

ms

マレー語

ms-BN

マレー語 (ブルネイ ダルサラーム)

ms-MY

マレー語 (マレーシア)

mr

マラティー語

mr-IN

マラティー語 (インド)

mn

モンゴル語

mn-MN

モンゴル語 (モンゴル)

no

ノルウェー語

nb-NO

ノルウェー語 (ブークモール、ノルウェー)

nn-NO

ノルウェー語 (ニノーシク、ノルウェー)

pl

ポーランド語

pl-PL

ポーランド語 (ポーランド)

pt

ポルトガル語

pt-BR

ポルトガル語 (ブラジル)

pt-PT

ポルトガル語 (ポルトガル)

pa

パンジャブ語

pa-IN

パンジャブ語 (インド)

ro

ルーマニア語

ro-RO

ルーマニア語 (ルーマニア)

ru

ロシア語

ru-RU

ロシア語 (ロシア)

sa

サンスクリット語

sa-IN

サンスクリット語 (インド)

sr-Cyrl-CS

セルビア語 (セルビア、キリル文字)

sr-Latn-CS

セルビア語 (セルビア、ラテン文字)

sk

スロバキア語

sk-SK

スロバキア語 (スロバキア)

sl

スロベニア語

sl-SI

スロベニア語 (スロベニア)

es

スペイン語

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-ES

スペイン語 (スペイン)

es-ES_tradnl

スペイン語 (スペイン、従来の並べ替え順序)

es-UY

スペイン語 (ウルグアイ)

es-VE

スペイン語 (ベネズエラ)

sw

スワヒリ語

sw-KE

スワヒリ語 (ケニア)

sv

スウェーデン語

sv-FI

スウェーデン語 (フィンランド)

sv-SE

スウェーデン語 (スウェーデン)

syr

シリア語

syr-SY

シリア語 (シリア)

ta

タミル語

ta-IN

タミル語 (インド)

tt

タタール語

tt-RU

タタール語 (ロシア)

te

テルグ語

te-IN

テルグ語 (インド)

th

タイ語

th-TH

タイ語 (タイ)

tr

トルコ語

tr-TR

トルコ語 (トルコ)

uk

ウクライナ語

uk-UA

ウクライナ語 (ウクライナ)

ur

ウルドゥー語

ur-PK

ウルドゥー語 (パキスタン)

uz

ウズベク語

uz-Cyrl-UZ

ウズベク語 (ウズベキスタン、キリル文字)

uz-Latn-UZ

ウズベク語 (ウズベキスタン、ラテン文字)

vi

ベトナム語

vi-VN

ベトナム語 (ベトナム)

1 つのカルチャに密接に関連付けられる複数の識別可能な名前があります。これらの名前が関連付けられるクラス メンバーとして、次のものが特に挙げられます。

  • CultureInfo.ToString

    これは通常、CultureInfo クラス コンストラクターに渡される文字列の "標準化" バージョンです。言語部分は常に小文字に変換され、国/地域部分は常に大文字に変換されます。

  • CultureInfo.Name

    この名前は、CultureInfo オブジェクトの言語部分および国/地域部分と、文字の種類 (存在する場合) を表します。特定の並べ替え順序を定義する文字列を使用して CultureInfo オブジェクトがインスタンス化された場合、並べ替え順序の情報は含まれません。

  • CompareInfo.Name

    この名前は、言語部分および国/地域部分と、文字の種類 (存在する場合) を表します。さらに、必要に応じて並べ替え順序も示されます。

インバリアント カルチャ、ニュートラル カルチャ、および特定カルチャ

通常、カルチャは、インバリアント カルチャ、ニュートラル カルチャ、および特定カルチャの 3 つのセットにグループ化されます。

インバリアント カルチャは、カルチャ固有の設定ではありません。アプリケーションは、空の文字列 ("") またはカルチャ識別子を使用して、名前でインバリアント カルチャを指定します。InvariantCulture は、インバリアント カルチャのインスタンスを定義します。この設定は、英語と関連付けられていますが、国や地域には関連付けられていません。これは、カルチャを必要とする System.Globalization 名前空間のほとんどのメソッドで使用できます。

ニュートラル カルチャは、国や地域ではなく、言語に関連付けられているカルチャです。特定のカルチャは、1 つの言語、および 1 つの国または地域に関連付けられたカルチャです。たとえば、"fr" はニュートラル カルチャであり、"fr-FR" は特定のカルチャです。"zh-Hans" (簡体字中国語) および "zh-Hant" (繁体字中国語) はニュートラル カルチャです。

ニュートラル カルチャの CompareInfo クラスのインスタンスに格納されるデータは任意であるため、このインスタンスを作成することはお勧めしません。データの表示および並べ替えを行うには、言語と地域の両方を指定します。

定義されたカルチャは、特定のカルチャの親がニュートラル カルチャで、ニュートラル カルチャの親がインバリアント カルチャという階層構造になっています。Parent プロパティには、特定のカルチャに関連付けられているニュートラル カルチャが格納されます。カスタム カルチャは、このパターンに合わせて Parent プロパティを定義する必要があります。

DateTimeFormatInfo.CalendarTaiwanCalendar で、Thread.CurrentCulture が "zh-TW" でない場合、DateTimeFormatInfo.GetEraName および DateTimeFormatInfo.GetAbbreviatedEraName は空の文字列 ("") を返します。

カスタム カルチャ

ソフトウェアでカスタム カルチャを処理する場合は、その準備として以下を考慮してください。

  • カスタム カルチャが Microsoft が用意したカルチャの範囲外の値を持つ可能性がある。たとえば、カルチャによっては、月の名前が非常に長い、または予期しない日付や時刻の形式があるなど、標準的ではないデータを持つことがあります。

  • ユーザーのカルチャ データ値を有効にする。たとえば、ユーザーが 24 時間表示や yyyyMMdd という日付形式を好む可能性があります

  • カスタム カルチャは既定値をオーバーライドするということを忘れないでください。つまり、カルチャ データを不変と考えてはなりません。国名、日付の形式、およびスペルは将来変わる可能性があります。

動的なカルチャ データ

インバリアント カルチャを除き、カルチャ データは動的なものです。これは、定義済みのカルチャでも同様です。たとえば、国または地域が新しい通貨を採用したり、単語のスペルを変更したり、使用する暦を変更したりすると、この追跡のためにカルチャの定義が変更されます。カスタム カルチャは予告なしに変更されることがあり、特定のカルチャは、いずれもカスタムの置換カルチャによってオーバーライドされる可能性があります。また、各ユーザーがカルチャの設定をオーバーライドすることもできます。アプリケーションでは、必ず実行時にカルチャ データを取得する必要があります。

実装されているインターフェイス

このクラスは、アプリケーションに形式指定情報を提供するために、IFormatProvider を実装します。

中国語を使用する特定の各カルチャの親カルチャを決定する例を次に示します。


using System;
using System.Globalization;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Displays the header.
      outputBlock.FontFamily = new System.Windows.Media.FontFamily("Courier New");
      outputBlock.Text += "SPECIFIC CULTURE                             PARENT CULTURE" + "\n";

      // Create an array of Chinese culture names.
      string[] cultureNames = { "zh-CN", "zh-Hans", "zh-Hant", "zh-HK",  
                                "zh-MO", "zh-SG", "zh-TW", };

      // Determines the specific cultures that use the Chinese language, and displays the parent culture.
      foreach (string cultureName in cultureNames)
      {
         CultureInfo ci = new CultureInfo(cultureName);
         outputBlock.Text += String.Format("{0,-7} {1,-37}", ci.Name, ci.EnglishName);
         outputBlock.Text += String.Format("{0,-7} {1}\n", ci.Parent.Name, ci.Parent.EnglishName);
      }
   }
}
/*
This example produces the following output.

SPECIFIC CULTURE                             PARENT CULTURE
zh-CN   Chinese (People's Republic of China) zh-Hans Chinese 
zh-Hans Chinese                                      Invariant Language (Invariant Country)
zh-Hant Chinese                                      Invariant Language (Invariant Country)
zh-HK   Chinese (Hong Kong S.A.R.)           zh-Hant Chinese 
zh-MO   Chinese (Macao S.A.R.)               zh-Hant Chinese 
zh-SG   Chinese (Singapore)                  zh-Hans Chinese 
zh-TW   Chinese (Taiwan)                     zh-Hant Chinese 
*/


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2014 Microsoft