Localization em ASP.NET
No inÃcio desta semana, um colega de trabalho me perguntou como funcionam os conceitos Globalization e Localization do ASP.NET e, como não é comum encontrar pessoas que os utilizam na prática, surgiu a idéia de falar um pouquinho sobre eles aqui no blog e explicar do que se trata e como agir para colocá-los em prática.
Hoje vou falar um pouco sobre o Localization!
O que é Localization (ou Localização)?
Localization é a palavra escolhida para definir um conceito fantástico que se resume em tornar sua página Web independente do idioma do visitante, ou seja, caso um brasileiro visite seu site, o verá em português, caso o visitante seja um norte-americano, visualizará em inglês.
Antigamente, para realizar tal tarefa o desenvolvedor poderia optar por, basicamente, duas alternativas:
· Criar uma versão da página para cada idioma;
· Desenvolver um mecanismo que verificasse o idioma do usuário e buscasse em um arquivo ou banco de dados os textos corretos a serem exibidos, exibindo-os na página.
A primeira opção, embora seja a mais simples de executar, duplicaria o tamanho total do seu Website, além da necessidade de se criar uma página principal onde o usuário escolheria, no inÃcio da navegação, com qual idioma ele gostaria de prosseguir.
Notada por muitos como a solução mais elegante, a segunda opção passou então a ser o foco dos arquitetos de sistemas voltados para a Web, uma vez que, dentre várias vantagens, seria possÃvel modificar ou incluir um idioma sem a necessidade de acessar o código-fonte da aplicação, ou seja, dando segurança para o projeto e independência para as equipes de desenvolvimento e tradução.
Como a necessidade de “localização†é comum a quase todos os projetos de software (seja para Web ou não), a Microsoft apresentou este mecanismo já implementado no .NET Framework, sendo possÃvel tornar sua aplicação independente de idioma com apenas alguns procedimentos e cliques (sem digitar uma linha sequer de código).
Como utilizar Localization na minha página ASP.NET?
Hoje em dia ficou fácil adicionar suporte a um determinado idioma na sua aplicação Web desenvolvida em ASP.NET. Veja como fazer, passo a passo:
- Crie um novo projeto (ver imagem):
· No Visual Studio 2008, clique em File, New, Project;
· Em Project Types, escolha sua linguagem de desenvolvimento favorita e em Templates escolha ASP.NET Web Application.
- Adicione alguns controles à página Default.aspx (ver imagem):
· Através do Solution Explorer, clique com o botão direito em Default.aspx e clique em View Designer no menu flutuante;
· Arraste do ToolBox um controle Label para a página, definindo seu texto para “Seja bem vindo!†e seu ID para “cLabelWelcomeâ€;
· Arraste do ToolBox um controle Button para a página, definindo seu texto para “Clique aqui para entrar†e seu ID para “cButtonEnterâ€.
- Crie o arquivo de Resource com a lÃngua padrão (ver imagem):
· Clique no menu Tools, Generate Local Resource.
- Crie o arquivo de Resource com a lÃngua alternativa:
· Através do Solution Explorer, clique com o botão direito no arquivo Default.aspx.resx que está localizado dentro da pasta App_LocalResources criada pelo Visual Studio 2008 e clique em Copy;
· Clique com o botão direito sobre a pasta App_LocalResources e clique em Paste;
· Renomeie o arquivo Copy of Default.aspx.resx para Default.aspx.en-us.resx e clique duas vezes sobre ele para abri-lo;
· Substitua o texto “Clique aqui para entrar†por “Click here to enterâ€, assim como o texto “Seja bem vindo!†por “Welcome!â€;
· No menu do Visual Studio 2008, clique em File, Save App_LocalResources\Default.aspx.en-us.resx.
Pronto! Sua aplicação já oferece suporte para o idioma português (idioma padrão) e inglês… Para adicionar novos idiomas, repita a etapa 4, mas ao renomear o arquivo, substitua “en-us†pelo código da lÃngua desejada, como “en-ca†para inglês canadense ou “es-mx†para espanhol mexicano.
No momento em que sua página for acessada, o ASP.NET verificará o idioma marcado no navegador do usuário e encontrará o arquivo de Resource correto, que será aplicado à página para exibir os textos corretamente. Caso o arquivo correto não seja encontrado (usuário esteja utilizando um idioma que não possui um arquivo de Resource para ele), a página irá utilizar o arquivo padrão (aquele que não tem o código do idioma).
Para testar sua aplicação, execute o projeto e verifique o idioma em que foram exibidos os textos do site. Em seguida, no Internet Explorer, vá em Tools (Ferramentas), Internet Options (Opções de Internet) e clique no botão Languages (Idiomas). Com o botão Add (Adicionar), escolha a opção English (United States) [en-US] e clique em Ok. Com ajuda do botão Move Up (Acima), coloque a nova opção como a primeira da lista e dê Ok nas duas janelas abertas.
Clique em Refresh (Atualizar) ou pressione F5 no navegador para ver a página aplicando os textos conforme a nova linguagem definida no browser…
Bom, é isso pessoal. No próximo post vamos falar um pouco sobre Globalization. Até lá!

