.NET

6 ago, 2018

Implementando location em projetos ASP.Net Core

Publicidade

Sobre localização

Localização é o processo de adaptar e globalizar o seu sistema ou aplicativo para que o mesmo possa exibir informações em diferentes línguas para atender públicos que falem diferentes idiomas. Esse tipo de técnica é muito comum e uma ótima boa prática em sistemas web.

Similar a outras versões do ASP.Net, o ASP.Net Core também suporta os arquivos de localização (*.resx) que fornecem e configuram recursos de idiomas baseado na localização do usuário.

Nesse artigo veremos uma forma de incluir os arquivos de localização em um sistema ASP.Net Core.

Como iniciar

No Visual Studio, crie um projeto ASP.net Core clicando em “File > New Project” e selecione a opção “.NET Core” e “ASP.Net Core Web Application”.

No projeto, crie uma pasta chamada “Resources”.

Dentro dessa pasta, crie dois arquivos do tipo “Resources File”.

O nome do arquivo deve ser criado para cada Controller, dessa forma, existe um padrão a ser seguido para que o location funcione adequadamente.

O padrão para isso seria “Controllers.NomeController.CodigoCultura.resx”, ficando por exemplo:

  • Controllers.HomeController.en-US.resx
  • Controllers.HomeController.pt-BR.resx

Dentro do arquivo, coloque o Name “Welcome” e dentro de value, as traduções que desejar.

Agora será necessário configurar o ASP.net Core para carregar os arquivos de recursos e injetar isso no controller usando injeção de dependência. Para fazer isso você precisa mudar a classe “Start”, nos métodos “ConfigureServices()” e “Configure”;

No método ConfigureServices, adicione o location.

No método Configure, crie uma lista de CultureInfo, que são as mesmas culturas que você gerou no arquivo de resource.

Em seguida, instancie um novo objeto do tipo RequestLocationOptions, especificando as culturas suportadas e também a cultura padrão.

No controller, através de injeção de dependência, estamos pegando uma instância de IStringLocalizer<> passando seu controller.

A leitura pode ser feita através da string que você criou no recurso.

Inicie sua aplicação e faça um teste.

Apresentação na UI em inglês:

Apresentação da UI em português:

Conclusão

Nesse artigo pudemos analisar como usar localização e prover opções de diferentes idiomas na sua aplicação ASP.net Core.