方法 : Visual Basic で、ローカライズされたリソースを取得する
更新 : 2007 年 11 月
My.Resources オブジェクトを使用すると、アプリケーションを実行中のコンピュータのカルチャ設定に基づいて、ローカライズされたアプリケーション リソースを取得できます (用意されている場合)。コンピュータのカルチャ設定は、My.Application.UICulture プロパティを設定することによりオーバーライドできます。
ランタイムはカルチャの署名、つまり名前によって、ローカライズされたリソースを識別します。My.Resources オブジェクトで表示されるプロパティは、プロジェクトの既定のリソース ファイルである Resources.resx により決定されます。ローカライズされたリソースを用意するためには、以下の操作が必要です。
リソース ファイルをコピーし、Resources.CultureSignature.resx に名前を変更します。
文字列、およびリソース ファイルが参照するファイルをローカライズします。
ローカライズされたリソース ファイルをプロジェクトに追加します。
My.Resources オブジェクトは、それぞれのリソースを読み取り専用プロパティとして公開します。プロパティの名前はリソース名と同じです。プロパティの型はリソースの分類によって決定されます。詳細については、「My.Resources オブジェクト」および「アプリケーションのリソース」を参照してください。
各カルチャは一意の名前を持ちます。この名前は、言語と関連付けられた 2 文字の小文字のカルチャ名と、必要に応じて、国または地域と関連付けられた 2 文字の大文字のサブカルチャ名の組み合わせで構成されます。サブカルチャ名がある場合は、カルチャ名の後ろにダッシュ (-) で区切って続けます。たとえば、日本の日本語を表す ja-JP、米国の英語を表す en-US、ドイツのドイツ語を表す de-DE (オーストリアのドイツ語を表す de-AT などのフォールバック カルチャとは異なります) などがあります。カルチャ名の詳細については、「CultureInfo」を参照してください。
使用例
この例では、Message という名前の、フランスのカルチャのバージョンのアプリケーションの文字列リソースを取得します。
My.Resources オブジェクトが使用するカルチャを変更するために、この例では My.Application.ChangeUICulture メソッドを使用しています。
Sub ShowLocalizedMessage()
Dim culture As String = My.Application.UICulture.Name
My.Application.ChangeUICulture("fr-FR")
MsgBox(My.Resources.Message)
My.Application.ChangeUICulture(culture)
End Sub
この例が動作するためには、アプリケーションのリソース ファイルに Message という名前の文字列があり、かつアプリケーションは、そのリソース ファイルのフランスのカルチャのバージョンである Resources.fr-FR.resx を持っている必要があります。詳細については、「方法 : リソースを追加または削除する」を参照してください。
アプリケーションに、このリソース ファイルのフランスのカルチャのバージョンがない場合は、My.Resource オブジェクトは、既定のカルチャのリソース ファイルからリソースを取得します。
参照
処理手順
方法 : Visual Basic で文字列リソースを取得する