Posts Tagged ‘ASP.NET Globalization and Localization’

Globalization is the process of designing and developing applications that function for multiple cultures.

  1. .NET Framework resource manager is used by ASP.NET at run time to retrieve the culture-appropriate resource for each resource in the default resource file
  2. Localization is the process of customizing your application for a given culture and locale. Localization consists primarily of translating the user interface using resource files. Resource File Types …
    • Global Resource Files – present in App_GlobalResources folder in app root level. Naming for global resource files – name.language.resx, name.language-culture.resx – used across pages
    • Local Resource Files – present in App_LocalResources Folder at any level. Naming for local resource files – pageOrControlName.extension.language.resx, pageOrControlName.extension.language-culture.resx – used for specfic page
  3. Use Resources to Set Property Values in Web Server Controls 
    • Implicit localization – <asp:Button ID=”Button1″ runat=”server” Text=”DefaultText”  meta:resourcekey=”Button1″ />
    • Explicit localization – <asp:Button ID=”Button1″ runat=”server” Text=”<%$ Resources:WebResources, Button1Caption %>” />
  4. To retrieve resource values programmatically (These overloaded methods are available in the HttpContext and TemplateControl classes)
    • GetLocalResourceObject(“Button1.Text”) – read resources from local resource file
    • GetGlobalResourceObject(“WebResourcesGlobal”, “LogoUrl”) – read resources from global resource file
  5. Retrieve global resources using strong typing – Resources.Class.Resource
  6. To set the culture and UI culture for an ASP.NET Web page declaratively
    • for all pages – <globalization uiCulture=”es” culture=”es-MX” />
    • individual page – <%@ Page UICulture=”es” Culture=”es-MX” %>
  7. To set the culture and UI culture in C#
    • Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(“en-US”);
    • Thread.CurrentThread.CurrentUICulture = new CultureInfo(“en”);
  8. Use fiddler to access website/page to check the local view in different country or local view of other country
  9. Follow HTML Layout guidelines for web page globalization – like avoiding absolute positions, utilizing max available width/height, allow wrapping, don’t use fixed size … etc

References