如何:在 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 对象将从默认区域性资源文件中检索该资源。
请参见
任务
参考
My.Resources 对象 (Visual Basic)