Get Started: Internationalizing an ASP.NET Core Application
Software systems allow organizations to scale globally like never before. As users from different parts of the world interact with global applications, development teams need to contemplate internationalizing their software.
This is the first of a series of articles on Briteris’ blog covering the internationalization process of an ASP.NET Core application. In this first post in the series, we lay the ground for a sample project and describe some key concepts and terms related to internationalization.
The Project
Our sample project will be the simplest blog in the world. We will have two screens: one to register a post and another one to list registered users. All posts will be multilingual.
First, we will create a project and set support for globalization. Then we will show how to identify the user’s culture and localize the application for different languages. After that, we will work on the registration and visualization of the blog and, finally, we will customize formats and time zones.
Along the way, we will be using ASP.NET’s native globalization features and some custom filters to make development easier.
Let’s start with key concepts and terms.
Internationalization, Globalization, Localization?
Internationalization is the process of getting an application ready in different languages and cultural settings. It is often abbreviated as i18n, where 18 stands for the number of letters between the first “i” and last “n” in internationalization.
Internationalization consists of Globalization and Localization.
Globalization is the process of designing apps that support different cultural requirements. Texts, inputs, labels and formats must follow the rules of the selected language/region.
Localization is the process of adapting a “globalized” application to a specific language. Texts and labels must be translated and data must be formatted for a specific region, such as dates and decimals.
Culture
The language and the region are part of cultural settings or requirements. There are two types of cultures: the specific culture, when it provides information about the language and the locale (en-US, pt-BR), and the neutral culture, when it provides information about the language, but not the locale (en, pt). Neutral cultures can be considered “parent cultures” of specific cultures (en is the “parent culture” of en-US and en-GB).
You have probably already seen these language codes: pt-BR, en-US, es-ES. All of them follow the RFC 4646 format [languagecode2]-[country/regioncode2]. [languagecode2] refers to the language code and [country/regioncode2] to the code of a subculture associated with a country or locale.
Stay with us fort the next few posts in the series
We hope we have been able to provide you with useful information about the internationalization process and the meaning of some important terms. They will be widely used in our future articles and it’s essential to understand them to make the most of their content.
See you soon!