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

更新:2007 年 11 月

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

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

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

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

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

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

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

参考

My.Resources 对象

其他资源

管理应用程序资源