次の方法で共有


方法 : Visual Basic で、ローカライズされたリソースを取得する

My.Resources オブジェクトを使用すると、アプリケーションを実行中のコンピューターのカルチャ設定に基づいて、ローカライズされたアプリケーション リソースを取得できます (用意されている場合)。 コンピューターのカルチャ設定は、UICultureを設定することによりオーバーライドできます。

ランタイムはカルチャの署名、つまり名前によって、ローカライズされたリソースを識別します。 My.Resources オブジェクトで表示されるプロパティは、プロジェクトの既定のリソース ファイルである Resources.resx により決定されます。 ローカライズされたリソースを用意するためには、以下の操作が必要です。

  • リソース ファイルをコピーし、Resources.CultureSignature.resx に名前を変更します。

  • 文字列、およびリソース ファイルが参照するファイルをローカライズします。

  • ローカライズされたリソース ファイルをプロジェクトに追加します。

My.Resources オブジェクトは、それぞれのリソースを読み取り専用プロパティとして公開します。 プロパティの名前はリソース名と同じです。プロパティの型はリソースの分類によって決定されます。 詳細については、「My.Resources オブジェクト (Visual Basic)」および「アプリケーションのリソース」を参照してください。

各カルチャは一意の名前を持ちます。この名前は、言語と関連付けられた 2 文字の小文字のカルチャ名と、必要に応じて、国または地域と関連付けられた 2 文字の大文字のサブカルチャ名の組み合わせで構成されます。 サブカルチャ名がある場合は、カルチャ名の後ろにダッシュ (-) で区切って続けます。 たとえば、日本の日本語を表す ja-JP、米国の英語を表す en-US、ドイツのドイツ語を表す de-DE (オーストリアのドイツ語を表す de-AT などのフォールバック カルチャとは異なります) などがあります。 カルチャ名の詳細については、「CultureInfo」を参照してください。

使用例

この例では、Message という名前の、フランスのカルチャのバージョンのアプリケーションの文字列リソースを取得します。

My.Resources オブジェクトが使用するカルチャを変更するために、この例では 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 を用意する必要があります。 詳細については、「方法 : リソースを追加または削除する」を参照してください。

アプリケーションに、このリソース ファイルの French カルチャ用のバージョンがない場合は、My.Resource オブジェクトは、既定のカルチャのリソース ファイルからリソースを取得します。

参照

処理手順

方法 : Visual Basic で文字列リソースを取得する

参照

My.Resources オブジェクト (Visual Basic)

その他の技術情報

アプリケーション リソースの管理