|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
How to: Retrieve Localized Resources in Visual Basic
The My.Resources object provides the localized application resources (if available) based on the culture settings of the computer on which the application runs. You can override the computer's culture settings by setting the.
The runtime identifies a localized resource by its culture signature, or name. The project's default resource file, Resources.resx, determines the properties that the My.Resources object displays. To provide localized resources, you need to:
Copy and rename the resource file to Resources.CultureSignature.resx
Localize the strings and any files referenced by the resource file
Add the localized resource file to your project
The My.Resources object exposes each resource as a read-only property. The property name is the same as the resource name, and the property type is determined by the resource classification. For more information, seeand .
Each culture has a unique name, which is a combination of a two-letter lowercase culture name associated with a language and, if required, a two-letter uppercase subculture name associated with a country or region. The subculture name follows the culture name, separated by a dash (-). Examples include ja-JP for Japanese in Japan, en-US for US English, or de-DE for German in Germany (as opposed to an alternate, such as de-AT for German in Austria). For more information about culture names, see.
This example retrieves the French-culture version of the application's string resource named Message.
To change the culture that the My.Resources object uses, this example uses the.
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
For this example to work, your application must have a string named Message in the application's resource file, and the application should have the French-culture version of that resource file, Resources.fr-FR.resx. For more information, see.
If the application does not have the French-culture version of that resource file, the My.Resource object retrieves the resource from the default-culture resource file.