如何:在 Visual Basic 中检索本地化资源

根据运行应用程序的计算机的区域性设置,My.Resources 对象提供本地化的应用程序资源(如果有)。 您可以通过设置 UICulture 来重写计算机的区域性设置。

运行时按其区域性签名(即名称)标识本地化资源。 项目的默认资源文件 Resources.resx 确定 My.Resources 对象所显示的属性。 若要提供本地化资源,需要执行下列操作:

  • 复制资源文件并将副本重命名为 Resources.CultureSignature.resx

  • 对该资源文件引用的字符串和所有文件进行本地化

  • 将本地化后的资源文件添加到项目中

My.Resources 对象将每项资源作为只读属性公开。 属性名与资源名相同,属性类型由资源分类决定。 有关更多信息,请参见 My.Resources 对象 (Visual Basic)应用程序中的资源

每一区域性都有一个唯一的名称,该名称包含与语言相关的两个小写字母的区域性名称,如果需要的话,还可包含与国家或地区相关的两个大写字母的子区域性名称。 子区域性名称位于区域性名称之后,用短划线 (-) 隔开。 这方面的示例包括: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。 有关更多信息,请参见如何:添加或移除资源

如果应用程序没有该资源文件的法语区域性版本,则 My.Resource 对象将从默认区域性资源文件中检索该资源。

请参见

任务

如何:在 Visual Basic 中检索字符串资源

参考

My.Resources 对象 (Visual Basic)

其他资源

管理应用程序资源