Artigo Clube Delphi Magazine 98 - Globalizando Aplicações
Artigo publicado pela Clube Delphi Magazine edição 98.
Globalizando Aplicações
Traduzindo aplicações em ASP.NET
· Novidades do ASP.NET 2.0;
· Técnicas para tradução de sites em ASP.NET.
· Com os recursos do ASP.NET 2.0 é possível preparar a página para se comportar de maneiras diferentes de acordo com a localização do internauta.
· A principal aplicabilidade desses recursos diz respeito a possibilidade de manter um mesmo site em diversas linguagens sem a necessidade de muito trabalho de desenvolvimento.
Entre os diversos recursos do ASP.NET 2.0 está o Globalization, um recurso bastante útil e prático quando se pensa em desenvolver uma aplicação que permita sua visualização em diversas linguagens. Faremos o desenvolvimento de um web site cujo o principal objetivo é fazer com que o site detecte a localização do internauta, ou seja, sua linguagem e redirecione as páginas para a linguagem adequada. Veremos como esse recurso é transparente e simples de ser aplicado em qualquer web site ASP.NET.
Sempre ao navegarmos na internet, reparamos sites que dão a possibilidade do usuário visualizá-lo em diferentes linguagens, porém esse recurso é sempre visto nos sites e aplicações através de botões e imagens que representam as traduções disponíveis, "as típicas bandeirinhas". Ao clicar em uma delas o site/aplicação é, geralmente, redirecionado para a página específica daquela linguagem. Porém, para manter uma aplicação dessas temos um custo muito elevado com manutenção, visto que precisamos manter diferentes cópias da mesma aplicação em cada idioma que se deseja disponibilizar.
Nesse artigo vamos tratar de duas técnicas chamadas de Globalization e Localization existentes no .NET Framework que facilitam o uso para implementação desse tipo de recurso. Esse é um recurso pouco comentando e pouco visto em livros técnicos da área, mas vamos trazer aqui a implementação básica e avançada desse recurso.
Globalization e Localization, o que são?
Globalization é o fato de tornarmos a nossa aplicação de forma compatível a diferentes tipos de usuário que podemos classificar como usuários de países diferentes ou que utilizam em determinado país um idioma diferente como preferência. Porém, não podemos considerar a nossa aplicação globalizada apenas pelo fato de traduzir a mesma para diversas línguas. Esse tipo de trabalho parece ser ágil em curto prazo, mas nos dará posteriormente muitas dores de cabeça com manutenção da aplicação. Além de que, a tradução é o meio principal da globalização e mais conhecido, porém além da tradução precisamos adaptar a formatação dos valores, datas etc. Isso é exatamente o papel do Localization. Esse recurso tem a funcionalidade de adaptar a nossa aplicação de acordo com as preferências culturais do usuário.
Identificando a preferência do usuário
Para que a aplicação seja globalizada automaticamente, primeiramente temos que identificar através do request do usuário qual é a cultura dele. A cultura é selecionada através do <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />browser do usuário. No caso do Internet Explorer podemos conferir a preferência acessando o menu Ferramentas>Opções da Internet>Idiomas e teremos as configurações conforme Figura 1.
Figura 1. Configuração das preferências de Idioma
Para entendermos melhor como funciona esse processo, vamos colocar a mão na massa e criar uma pequena aplicação. Abra o RAD Studio 2007 e crie uma nova aplicação utilizando o menu File|New>Web Application – Delphi for .NET. Salve o projeto com o nome de Globalization_01.dproj. Mantenha o nome da página principal como default.aspx. Nesse exemplo, vamos imaginar que temos uma aplicação que o padrão de idioma é o Português, mas queremos que ela tenha uma versão em Inglês e outra em Espanhol. Para o primeiro exemplo, teremos páginas duplicadas e com os textos traduzidos para os formatos necessários. Com isso, ao usuário acessar a aplicação, de acordo com a cultura escolhida em seu browser, ele será redirecionado para a página correspondente.
Adicione a nossa aplicação mais uma página através do menu File|New>Other>Delphi for .NET Projects>New ASP.NET Files>ASP.NET Page com o nome ingles.aspx. Repita a operação e adicione uma nova página, desta vez com o nome espanhol.aspx.