5

10 Things to Know about Localization in Custom .NET Applications

 2 years ago
source link: https://dev.to/tarungurang/10-things-to-know-about-localization-in-custom-net-applications-3jce
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Cover image for 10 Things to Know about Localization in Custom .NET Applications
Tarun Gurang

Posted on Dec 13

• Originally published at ifourtechnolab.com

10 Things to Know about Localization in Custom .NET Applications

ASP.NET is one of the highly preferred frameworks in most eminent Software Development firms. Localization provides support to a specific culture or language for your application. To talk about ASP.NET localization, it hasn’t been changed since WebForms and ASP.NET 1.0 with some minor updates in ASP.NET 2.0. App localization has many characteristics such as make the app’s content localizable, provide localized resources for the languages and cultures you want your application to support. In .Net localization, you can develop an app that is targeted for localization if your application needs to be executed in multiple cultures. That way you can customize your application based on the specific culture application is running on. Implementation of localization comes from dependency injection. If you want to partition localize string, then you can do it by controller area or have just one container. One important thing to do for an Asp.Net local application is that setting the users as local based on the active browser language setting.

Things that require to be Localized

  1. Text or string which can be seen by a user on UI. You can use a resource file to translate texts of UI. The resource file has XML entries with Key and Value pairs. The Key can be used in place of UI text and which will be replaced with values on Runtime.

  2. Date and time, number format also changes depending on the user’s region. .Net provides CultureInfo class which can be helpful for these types of formats when developing applications that are culture-based. It can also be according to the user’s performance.

  3. Images may contain text which requires translation.

Read More: Importance Of Docker In .net Core Applications

Culture and UICulture

In many cases, if the browser doesn’t provide a language then the language can’t be matched to one of the .NET installed cultures. .Net Culture drives things like number and date formats, sort order, currency symbol, casing, it is primarily geared towards formatting and converting things. If we talk about UICulture in ASP.NET then ‘resx’ resources or a custom ResourceManager or ResourceProvider that is selected by UICulture for display.

Mapping of cultures via the CultureInfo class which is provided by the .Net framework. CultuterInfo class, culture, and UICulture properties that determine the current cultural context for the running code. If we talk about current culture, then it determines how things are formatted which is important for number and date conversions. There is a very important feature of .Net, by which you can switch cultures on the fly by assigning a new culture.

Resource file Resx XML

In XML file, data is stored in key-value pair. For example,

Data saved successfully!

To enable multiple languages, add a resource file for language, and add key-value pairs with the same key.

Culture

The culture property enables us to set the CultureInfo.

internal static System.Globalization.CultureInfo Culture {
    get {
        return resourceCulture;
    }
    set {
        resourceCulture = value;
    }
}

Enter fullscreen mode

Exit fullscreen mode

Resource Manager

The resource manager file is useful for reading XML files into memory and storing values.

internal static System.Resources.ResourceManager ResourceManager {
    get {
        if (object.Equals(null, resourceMan)) {
            System.Resources.ResourceManager rManager = new System.Resources.ResourceManager("MultiLingual", typeof(Language).Assembly);
            resourceMan = rManager;
        }
        return resourceMan;
    }
}

Enter fullscreen mode

Exit fullscreen mode

Resource properties

All the keys used in resource file will be generated and stored in this file.

internal static string DataSave {
    get {
        return ResourceManager.GetString("DataSave ", resourceCulture);
    }
}

Enter fullscreen mode

Exit fullscreen mode

WebForms

WebForms page objects apply UIculture on a per-page basis and the same auto-culture directions can be used. WebForms pages include and InitializeCulture() handler which can be disallowed.

Don’t use page-level settings

Don’t use page-level localization settings it basically to avoid missing no-page resources in your application that might need to be localized.

Unicode Support

This is very crucial for representing the wide variety of characters in the world in many languages. ASP.NET supports the Unicode in the back end which is from the web page to the database that denotes the applications code that is nothing to deal with character set transactions. The meaning of Unicode support in ASP.Net is that the developer's character encoding is largely transparent which works even with the complex language combination.

Planning to Hire ASP.Net Core Developer? Contact Now.

Resource-based Localization

Localizable piece of information is resources, string, and images typically, even anything can be stored as a resource. For example, Resx resources which are stored in XML files and compiled into binary code that is embedded in .net assemblies. The Resource Provider manages and serves the resources that are based on the resource id and currently active locally.

Localization feature in MVC.Net

To talk about the localization feature using MVC, it could also be done in the same way as that we follow in Asp.Net i.e., by utilizing resource files. Simply adding the class library project into the MVC solution, you would find all the required resource files such as en-US, hi-IN, etc.

It would be recommended to use the resource file in .cshtml file as follows:

@MYRESOURCES.RESOURCES.MYAPPLICATIONNAME
Now you need to set the current culture in the application with the help of Application_BeginRequest.

After completing the whole recommended process, you need to change the language preference of the browser then try to test the application for the hi-IN resource file.

Benefits of Localization in Dot Net

  • You do not need to load proper per-language resources specifically.
  • You could find the default fallback mechanism for global resources.
  • Easy resource management using resx files.
  • You can create a wide range of resources (texts, images, etc.) for a particular locale.
  • Easy to fulfill the local culture demands in an application.

Conclusion

As you can understand from the overview that how the localization process works in ASP.NET. You can call localization is the process of customizing an app for a given language and region. There are multiple benefits of using localization in your application. Localization is like rate technology in ASP.Net because it provides sufficient services for automatically setting up one simple task that any localized apps needs. Based on the specific culture you can easily customize the feature of locality using Asp.Net. All you need to do is setting the users locally based on the active browser language setting for any Asp.net application.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK