Este é o início de uma série de artigos no blog da Iteris onde iremos demonstrar, desde o início, como internacionalizar uma aplicação ASP.NET Core. Serão utilizadas as features de globalização nativas do ASP.NET, bem como algumas customizações para facilitar o desenvolvimento do projeto.

O projeto

Nosso projeto de exemplo será o blog mais simples do mundo. Teremos duas telas no total: uma para cadastrar um post e outra para listar os cadastrados. Todos os posts serão multi-idiomas.

Começaremos criando o projeto e adicionando o suporte à globalização. Veremos como identificar a cultura do usuário e localizaremos a aplicação para alguns idiomas diferentes. Em seguida, partiremos para o cadastro e visualização do blog e, por fim, customizaremos os formatos e timezones.

Internacionalização, Globalização, Localização?

Internacionalização, como você pode imaginar, é o processo de tornar uma aplicação funcional em diferentes idiomas e culturas. Ela é comumente referenciada pela abreviação i18n, que simplesmente é a junção da primeira e última letra da palavra em inglês (Internationalization) e o número de letras entre elas.

A internacionalização é composta pela Globalização e Localização.

Globalização é o processo de fazer a aplicação suportar múltiplos idiomas e culturas. Textos, inputs, labels e formatações devem seguir as regras do idioma/região selecionado.

Localização é o processo de adaptar uma aplicação já “globalizada” para um idioma específico. É necessário fornecer as traduções dos textos e labels, formatação de informações para aquela região específica, como data e decimais.

Cultura

O idioma e, opcionalmente, a região, são também conhecidos pelo termo Cultura. A Cultura pode ser específica, indicando o idioma e região (en-US, pt-BR), ou neutra, indicando o idioma mas não a região (en, pt). As culturas neutras podem ser consideradas “pais” de culturas específicas (pt é “pai” de pt-BR e pt-PT).

Você já deve ter esbarrado estes códigos de idiomas em algum lugar: pt-BR, en-US, es-ES. Todos eles seguem o formato RFC 4646, [languagecode2]-[country/regioncode2]. [languagecode2] refere-se ao código do idioma e [country/regioncode2] ao código da subcultura associada a um país ou região.


Esperamos ter conseguido esclarecer um pouco do processo de internacionalização de uma aplicação, os termos importantes e seus significados. Eles serão bastante utilizados nos próximos artigos e uma boa compreensão será essencial no que vem pela frente. Até a próxima!