O'Reilly logo

ASP.NET Cookbook by Geoffrey T. LeBlond, Michael A Kittel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

14.2. Providing Multiple Language Support

Problem

You want to support multiple languages in your application without developing multiple versions of each page.

Solution

Use resource files to provide the text for each user interface element in the languages you wish to support, and then set the text to use at runtime based on the language setting in the browser.

You don’t need to make any changes to the .aspx files of your application for them to output text in multiple languages.

In the code-behind class for each page that needs to support multiple languages, use the .NET language of your choice to:

  1. Determine the user’s preferred language from the collection of acceptable languages returned with the page request.

  2. Create a CultureInfo object from the user’s language.

  3. Set the CurrentCulture and the CurrentUICulture to the user’s culture object (for controlling the formatting of dates and numbers and locating the appropriate resource file for the selected culture, respectively).

  4. Create a ResourceManager object that will be used to obtain the strings to be displayed in the user’s language.

  5. Set the text for the individual controls using the GetString method of the ResourceManager.

  6. Set the values of the language, current date, and sample currency.

Example 14-1 through Example 14-3 show the .aspx file and VB and C# code-behind files for an application we’ve written to demonstrate this solution. The output is shown in Figure 14-1 (English) and Figure 14-2 (German).

Figure 14-1. Multiple language output—English ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required