カルチャ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>国際化対応項目]]
* 目次 [#nc4f9c25]
#contents
*概要 [#v7967294]
-Windowsでは、ロケール(win32)をカルチャ(.net)と呼ぶ。
-.NETでは、カルチャ設定によって自動的に動作が変わる国際化...
--Date型の文字列化時の既定のフォーマットが変化する。
--画面上のコントロールの配置・キャプションなどの各種プロ...
-参考
--CultureInfo クラス (System.Globalization)~
http://msdn.microsoft.com/ja-jp/library/system.globalizat...
**種類 [#vbe1ddad]
アプリケーションの国際化(多言語化)に利用されるWindows ...
***既定カルチャ(Invariant Culture) [#h052242f]
-特定の言語や国・地域に依存しない特別なカルチャ
-英語圏で使われるものを基本とする書式・規則が設定されてい...
特定のカルチャに依存しない形式への変換や比較を行いたい場...
***ニュートラル・カルチャ(en, ja, fr など) [#j6ccb1b8]
-「日本語」などのように「<言語名>」形式で記述されたカル...
-国や地域に依存せず、言語のみに依存する。
***固有カルチャ(en-US, en-GB, ja-JP, fr-FR など) [#m466a9...
-「日本語 (日本)」などのように「<言語名> (<国・地域名...
-国や地域に依存する。
**構造 [#jd411d68]
カルチャには階層関係があり、基本的に3階層となっている。
既定カルチャ
├ja 日本語
│└ja-JP 日本
│
├en 英語
│├en-US 米国
│├en-GB 英国
│├en-AU オーストラリア
:
例外的に中国語のカルチャは5階層となる。~
※ zh, zh-Hans, zh-CHS, zh-Hant, zh-CHTはニュートラルカル...
既定カルチャ
└zh 中国語
├zh-Hans 簡体字中国語
│└zh-CHS 簡体字中国語(古いカルチャ名)
│ ├zh-CN 中国
│ └zh-SG シンガポール
│
└zh-Hant 繁体字中国語
└zh-CHT 繁体字中国語(古いカルチャ名)
├zh-HK 香港
├zh-MO マカオ
└zh-TW 台湾
*Culture [#sd43ff60]
-.NETでは、カルチャを指定することによって、ユーザの文化的...
-カルチャにはUICultureとCultureの2つのカルチャ値があり、2...
**CurrentUICulture概要 [#y49eb4cd]
-UIに表示される言語に関すカルチャ、例外メッセージ等も、こ...
-カルチャ固有の「[[リソースファイル]]」を検索するために使...
-命名規則によりカルチャ毎に読み込むリソース ファイルが選...
***サンプルコード [#y85b5b7d]
//CurrentUICultureの取得
System.Globalization.CultureInfo uiCulture = System.Thre...
//CurrentUICultureの設定
System.Threading.Thread.CurrentThread.CurrentUICulture =...
***参考 [#d31a3ebd]
-Thread.CurrentUICulture プロパティ (System.Threading)~
http://msdn.microsoft.com/ja-jp/library/system.threading....
-CultureInfo クラス (System.Globalization)~
http://msdn.microsoft.com/ja-jp/library/system.globalizat...
-ResourceManager クラス (System.Resources)~
http://msdn.microsoft.com/ja-jp/library/system.resources....
**CurrentCulture概要 [#e63e0e65]
-.NET Framework APIの内部動作で使用されるスレッドのカルチ...
-CurrentUICultureのUI以外のすべて(「日付の形式」、「数値...
-設定
--.NET Framework 3.5以前は、en-US や en-GB などの「特定カ...
ニュートラル・カルチャを設定しようとするとNotSupportedExc...
--NET4.からはニュートラル・カルチャを設定可能になっている...
これにより、en-US と en-GBで異なる通貨記号が使用され、en ...
-用途(例)
--フォーマット
---DateTime.ToString()の既定のフォーマット
---通貨の書式指定子のフォーマット
--メソッド
---Microsoft.VisualBasic.Strings.StrConv メソッド(全角半...
全角文字が存在しないカルチャではエラーとなる。
***サンプルコード [#v7b8cf7a]
-基本
//CurrentCultureの取得
System.Globalization.CultureInfo culture = System.Thread...
//CurrentCultureの設定
System.Threading.Thread.CurrentThread.CurrentCulture = n...
-[[Windows Forms]]限定で以下の書き方も可能
//CurrentCultureの取得 ※[[Windows Forms]]限定
System.Globalization.CultureInfo culture = Application.C...
//CurrentCultureの設定 ※[[Windows Forms]]限定
Application.CurrentCulture = new System.Globalization.Cu...
***参考 [#d357a7bb]
-Thread.CurrentCulture プロパティ (System.Threading)~
http://msdn.microsoft.com/ja-jp/library/system.threading....
-Application.CurrentCulture プロパティ (System.Windows.Fo...
http://msdn.microsoft.com/ja-jp/library/system.windows.fo...
-CultureInfo クラス (System.Globalization)~
http://msdn.microsoft.com/ja-jp/library/system.globalizat...
*動作まとめ [#n2f84f49]
**デフォルト値 [#w08e7537]
何も設定せずにアプリケーションを実行した際の値は、~
それぞれ以下の環境設定が使用される。
***CurrentCulture [#i9ef38a5]
地域と言語の設定値によって決定される。
-WindowsXP~
[コントロールパネル]-[地域と言語のオプション]-[地域オプシ...
-Windows7~
[コントロールパネル]-[時計、言語、および地域]-[地域と言語...
***CurrentUICulture [#bca66b8a]
OSの言語バージョンによって決定される。
-日本語OSの場合は、ja-JP
-マルチ言語OSの場合は、選択中の言語
**リッチ・クライアントのカルチャ [#v8b9c15b]
-[[Windows Forms]]、[[WPF]]などのウィンドウ・システム(メ...
UIサブシステムは、基本的にUI処理を行うスレッド=1つの主...
-このため、モーダルダイアログ、モードレスダイアログで表示...
親画面と同一スレッドとなり、カルチャ値は子画面と親画面で...
**ASP.NETのカルチャ [#p790670e]
Webアプリケーション(ASP.NET, ASP.NET AJAX, Webサービス)では
config設定にて動作の定義が可能である。~
※ Windowsアプリケーションにconfig設定は存在しない。
***既定値の設定 [#hc4ef439]
[[Web.config>.NET config#u3d1af27]]のglobalization要素を...
-culture属性にCurrentCultureの既定値
-uiCulture属性にCurrentUICultureの既定値
<system.web>
<globalization culture="ja-JP" uiCulture="ja-JP"
※ 空文字を設定するとデフォルト値が使用される。~
既定カルチャ(Invariant Culture)は定義できない。
***ブラウザの言語設定の使用 [#bdacf964]
culture属性、uiCulture属性に"auto"を定義すると、~
クライアントのブラウザの言語設定の値が既定値となる。
<system.web>
<globalization culture="auto" uiCulture="auto"
-Internet Explorer8~
--[ツール]-[インターネットオプション]-[全般]タブ-[言語]
--ここの設定により、HTTPヘッダに言語情報が追加される(Acc...
※ クライアントのブラウザの言語設定がされていない(全て削除...
※ Request.UserLanguagesプロパティ(string[]型)にてブラウザ...
***参考 [#p2da03cc]
-globalization 要素 (ASP.NET 設定スキーマ)~
http://msdn.microsoft.com/ja-jp/library/hy4kkhe0.aspx
-HttpRequest.UserLanguages プロパティ (System.Web)~
http://msdn.microsoft.com/ja-jp/library/system.web.httpre...
**作成されたスレッドのカルチャ [#o18b42b2]
新しく作成されたスレッドのカルチャはデフォルト値となる。~
※ [[Web.config>.NET config#u3d1af27]]の設定は適用されない。
***サンプルコード [#pded24d8]
-基本
public sub Method1()
{
System.Threading.Thread th = new System.Threading.Th...
th,Start()
}
public static StaticMethod1()
{
Debug.WriteLine(System.Threading.Thread.CurrentThrea...
Debug.WriteLine(System.Threading.Thread.CurrentThrea...
}
-新しく作成されたスレッドにカルチャを設定する
public sub Method1()
{
System.Threading.Thread th = new System.Threading.Th...
th.CurrentCulture = System.Threading.Thread.CurrentT...
th.CurrentCulture = System.Threading.Thread.CurrentT...
th,Start()
}
public static StaticMethod1()
{
Debug.WriteLine(System.Threading.Thread.CurrentThrea...
Debug.WriteLine(System.Threading.Thread.CurrentThrea...
}
**並列処理のカルチャ [#f9c20c5a]
-Parallel.For、Parallel.Invokeを利用した並列処理では、~
本体スレッドによる処理と別スレッドによる処理が混在する。~
-別スレッドのカルチャはデフォルト値となる。~
※ [[Web.config>.NET config#u3d1af27]]の設定は適用されない。
***サンプルコード [#xce6ae20]
-基本
System.Threading.Tasks.Parallel.For(0, 5, i =>
{
Debug.WriteLine(System.Threading.Thread.CurrentT...
Debug.WriteLine(System.Threading.Thread.CurrentT...
});
-別スレッドにカルチャを設定する
System.Globalization.CultureInfo culture = System.Thread...
System.Globalization.CultureInfo uiCulture = System.Thre...
System.Threading.Tasks.Parallel.For(0, 5, i =>
{
System.Threading.Thread.CurrentThread.CurrentCul...
System.Threading.Thread.CurrentThread.CurrentUIC...
Debug.WriteLine(System.Threading.Thread.CurrentT...
Debug.WriteLine(System.Threading.Thread.CurrentT...
});
***参考 [#leffa37d]
-Parallel クラス (System.Threading.Tasks)~
http://msdn.microsoft.com/ja-jp/library/system.threading....
*参考 [#r426ebba]
-文字列の書式設定 - クラスライブラリ | ++C++; // 未確認飛...
http://ufcpp.net/study/dotnet/bcl_format.html#culture
-総武ソフトウェア推進所
--Programming-.NET Framework-ロケール(カルチャ)
---カルチャの基本とカルチャ情報 (CultureInfo) ~
http://smdn.jp/programming/netfx/locale/0_abstract/
---カルチャと書式・テキスト処理・暦~
http://smdn.jp/programming/netfx/locale/1_infoes/
--Programming-.NET Framework-文字列
---文字列と比較オプション・カルチャの並べ替え規則~
http://smdn.jp/programming/netfx/string/2_2_compareoptions/
----
Tags: [[:.NET開発]], [[:国際化対応]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>国際化対応項目]]
* 目次 [#nc4f9c25]
#contents
*概要 [#v7967294]
-Windowsでは、ロケール(win32)をカルチャ(.net)と呼ぶ。
-.NETでは、カルチャ設定によって自動的に動作が変わる国際化...
--Date型の文字列化時の既定のフォーマットが変化する。
--画面上のコントロールの配置・キャプションなどの各種プロ...
-参考
--CultureInfo クラス (System.Globalization)~
http://msdn.microsoft.com/ja-jp/library/system.globalizat...
**種類 [#vbe1ddad]
アプリケーションの国際化(多言語化)に利用されるWindows ...
***既定カルチャ(Invariant Culture) [#h052242f]
-特定の言語や国・地域に依存しない特別なカルチャ
-英語圏で使われるものを基本とする書式・規則が設定されてい...
特定のカルチャに依存しない形式への変換や比較を行いたい場...
***ニュートラル・カルチャ(en, ja, fr など) [#j6ccb1b8]
-「日本語」などのように「<言語名>」形式で記述されたカル...
-国や地域に依存せず、言語のみに依存する。
***固有カルチャ(en-US, en-GB, ja-JP, fr-FR など) [#m466a9...
-「日本語 (日本)」などのように「<言語名> (<国・地域名...
-国や地域に依存する。
**構造 [#jd411d68]
カルチャには階層関係があり、基本的に3階層となっている。
既定カルチャ
├ja 日本語
│└ja-JP 日本
│
├en 英語
│├en-US 米国
│├en-GB 英国
│├en-AU オーストラリア
:
例外的に中国語のカルチャは5階層となる。~
※ zh, zh-Hans, zh-CHS, zh-Hant, zh-CHTはニュートラルカル...
既定カルチャ
└zh 中国語
├zh-Hans 簡体字中国語
│└zh-CHS 簡体字中国語(古いカルチャ名)
│ ├zh-CN 中国
│ └zh-SG シンガポール
│
└zh-Hant 繁体字中国語
└zh-CHT 繁体字中国語(古いカルチャ名)
├zh-HK 香港
├zh-MO マカオ
└zh-TW 台湾
*Culture [#sd43ff60]
-.NETでは、カルチャを指定することによって、ユーザの文化的...
-カルチャにはUICultureとCultureの2つのカルチャ値があり、2...
**CurrentUICulture概要 [#y49eb4cd]
-UIに表示される言語に関すカルチャ、例外メッセージ等も、こ...
-カルチャ固有の「[[リソースファイル]]」を検索するために使...
-命名規則によりカルチャ毎に読み込むリソース ファイルが選...
***サンプルコード [#y85b5b7d]
//CurrentUICultureの取得
System.Globalization.CultureInfo uiCulture = System.Thre...
//CurrentUICultureの設定
System.Threading.Thread.CurrentThread.CurrentUICulture =...
***参考 [#d31a3ebd]
-Thread.CurrentUICulture プロパティ (System.Threading)~
http://msdn.microsoft.com/ja-jp/library/system.threading....
-CultureInfo クラス (System.Globalization)~
http://msdn.microsoft.com/ja-jp/library/system.globalizat...
-ResourceManager クラス (System.Resources)~
http://msdn.microsoft.com/ja-jp/library/system.resources....
**CurrentCulture概要 [#e63e0e65]
-.NET Framework APIの内部動作で使用されるスレッドのカルチ...
-CurrentUICultureのUI以外のすべて(「日付の形式」、「数値...
-設定
--.NET Framework 3.5以前は、en-US や en-GB などの「特定カ...
ニュートラル・カルチャを設定しようとするとNotSupportedExc...
--NET4.からはニュートラル・カルチャを設定可能になっている...
これにより、en-US と en-GBで異なる通貨記号が使用され、en ...
-用途(例)
--フォーマット
---DateTime.ToString()の既定のフォーマット
---通貨の書式指定子のフォーマット
--メソッド
---Microsoft.VisualBasic.Strings.StrConv メソッド(全角半...
全角文字が存在しないカルチャではエラーとなる。
***サンプルコード [#v7b8cf7a]
-基本
//CurrentCultureの取得
System.Globalization.CultureInfo culture = System.Thread...
//CurrentCultureの設定
System.Threading.Thread.CurrentThread.CurrentCulture = n...
-[[Windows Forms]]限定で以下の書き方も可能
//CurrentCultureの取得 ※[[Windows Forms]]限定
System.Globalization.CultureInfo culture = Application.C...
//CurrentCultureの設定 ※[[Windows Forms]]限定
Application.CurrentCulture = new System.Globalization.Cu...
***参考 [#d357a7bb]
-Thread.CurrentCulture プロパティ (System.Threading)~
http://msdn.microsoft.com/ja-jp/library/system.threading....
-Application.CurrentCulture プロパティ (System.Windows.Fo...
http://msdn.microsoft.com/ja-jp/library/system.windows.fo...
-CultureInfo クラス (System.Globalization)~
http://msdn.microsoft.com/ja-jp/library/system.globalizat...
*動作まとめ [#n2f84f49]
**デフォルト値 [#w08e7537]
何も設定せずにアプリケーションを実行した際の値は、~
それぞれ以下の環境設定が使用される。
***CurrentCulture [#i9ef38a5]
地域と言語の設定値によって決定される。
-WindowsXP~
[コントロールパネル]-[地域と言語のオプション]-[地域オプシ...
-Windows7~
[コントロールパネル]-[時計、言語、および地域]-[地域と言語...
***CurrentUICulture [#bca66b8a]
OSの言語バージョンによって決定される。
-日本語OSの場合は、ja-JP
-マルチ言語OSの場合は、選択中の言語
**リッチ・クライアントのカルチャ [#v8b9c15b]
-[[Windows Forms]]、[[WPF]]などのウィンドウ・システム(メ...
UIサブシステムは、基本的にUI処理を行うスレッド=1つの主...
-このため、モーダルダイアログ、モードレスダイアログで表示...
親画面と同一スレッドとなり、カルチャ値は子画面と親画面で...
**ASP.NETのカルチャ [#p790670e]
Webアプリケーション(ASP.NET, ASP.NET AJAX, Webサービス)では
config設定にて動作の定義が可能である。~
※ Windowsアプリケーションにconfig設定は存在しない。
***既定値の設定 [#hc4ef439]
[[Web.config>.NET config#u3d1af27]]のglobalization要素を...
-culture属性にCurrentCultureの既定値
-uiCulture属性にCurrentUICultureの既定値
<system.web>
<globalization culture="ja-JP" uiCulture="ja-JP"
※ 空文字を設定するとデフォルト値が使用される。~
既定カルチャ(Invariant Culture)は定義できない。
***ブラウザの言語設定の使用 [#bdacf964]
culture属性、uiCulture属性に"auto"を定義すると、~
クライアントのブラウザの言語設定の値が既定値となる。
<system.web>
<globalization culture="auto" uiCulture="auto"
-Internet Explorer8~
--[ツール]-[インターネットオプション]-[全般]タブ-[言語]
--ここの設定により、HTTPヘッダに言語情報が追加される(Acc...
※ クライアントのブラウザの言語設定がされていない(全て削除...
※ Request.UserLanguagesプロパティ(string[]型)にてブラウザ...
***参考 [#p2da03cc]
-globalization 要素 (ASP.NET 設定スキーマ)~
http://msdn.microsoft.com/ja-jp/library/hy4kkhe0.aspx
-HttpRequest.UserLanguages プロパティ (System.Web)~
http://msdn.microsoft.com/ja-jp/library/system.web.httpre...
**作成されたスレッドのカルチャ [#o18b42b2]
新しく作成されたスレッドのカルチャはデフォルト値となる。~
※ [[Web.config>.NET config#u3d1af27]]の設定は適用されない。
***サンプルコード [#pded24d8]
-基本
public sub Method1()
{
System.Threading.Thread th = new System.Threading.Th...
th,Start()
}
public static StaticMethod1()
{
Debug.WriteLine(System.Threading.Thread.CurrentThrea...
Debug.WriteLine(System.Threading.Thread.CurrentThrea...
}
-新しく作成されたスレッドにカルチャを設定する
public sub Method1()
{
System.Threading.Thread th = new System.Threading.Th...
th.CurrentCulture = System.Threading.Thread.CurrentT...
th.CurrentCulture = System.Threading.Thread.CurrentT...
th,Start()
}
public static StaticMethod1()
{
Debug.WriteLine(System.Threading.Thread.CurrentThrea...
Debug.WriteLine(System.Threading.Thread.CurrentThrea...
}
**並列処理のカルチャ [#f9c20c5a]
-Parallel.For、Parallel.Invokeを利用した並列処理では、~
本体スレッドによる処理と別スレッドによる処理が混在する。~
-別スレッドのカルチャはデフォルト値となる。~
※ [[Web.config>.NET config#u3d1af27]]の設定は適用されない。
***サンプルコード [#xce6ae20]
-基本
System.Threading.Tasks.Parallel.For(0, 5, i =>
{
Debug.WriteLine(System.Threading.Thread.CurrentT...
Debug.WriteLine(System.Threading.Thread.CurrentT...
});
-別スレッドにカルチャを設定する
System.Globalization.CultureInfo culture = System.Thread...
System.Globalization.CultureInfo uiCulture = System.Thre...
System.Threading.Tasks.Parallel.For(0, 5, i =>
{
System.Threading.Thread.CurrentThread.CurrentCul...
System.Threading.Thread.CurrentThread.CurrentUIC...
Debug.WriteLine(System.Threading.Thread.CurrentT...
Debug.WriteLine(System.Threading.Thread.CurrentT...
});
***参考 [#leffa37d]
-Parallel クラス (System.Threading.Tasks)~
http://msdn.microsoft.com/ja-jp/library/system.threading....
*参考 [#r426ebba]
-文字列の書式設定 - クラスライブラリ | ++C++; // 未確認飛...
http://ufcpp.net/study/dotnet/bcl_format.html#culture
-総武ソフトウェア推進所
--Programming-.NET Framework-ロケール(カルチャ)
---カルチャの基本とカルチャ情報 (CultureInfo) ~
http://smdn.jp/programming/netfx/locale/0_abstract/
---カルチャと書式・テキスト処理・暦~
http://smdn.jp/programming/netfx/locale/1_infoes/
--Programming-.NET Framework-文字列
---文字列と比較オプション・カルチャの並べ替え規則~
http://smdn.jp/programming/netfx/string/2_2_compareoptions/
----
Tags: [[:.NET開発]], [[:国際化対応]]
ページ名: