De que se trata o artigo

O artigo demonstra os aspectos, técnicas e recursos necessários para que uma aplicação Web do tipo ASP.NET possa dar suporte para outros idiomas, tornando-a flexível e permitindo o uso por pessoas de outros países.

Para que serve

Aplicações Web estão expostas para usuários do mundo inteiro. Ao dar suporte para outros idiomas, aumenta-se o alcance destas aplicações. Muitas vezes os desenvolvedores evitam implantar este aspecto por desconhecerem as facilidades que o Framework .NET dispõe. Com o que é exposto no artigo, esta barreira é rapidamente vencida e em poucos minutos, já se tem um exemplo consistente que poderá servir de base para outros projetos.

Em que situação o tema é útil

Quando estiver desenvolvendo aplicações que precisem ser acessadas por usuários de outros países ou precisar dar ao seu projeto Web uma visibilidade maior permitindo que cada usuário use a interface no seu idioma de preferência.

ASP.NET - Globalização

Com o lançamento do Framework .NET um dos componentes mais importantes foi a estrutura para desenvolvimento de aplicações para a Internet representada pelo ASP.NET. Este, concebido para substituir as aplicações ASP (Active Server Pages) que era até então a plataforma da Microsoft para aplicações WEB, incluiu vários recursos além de melhorar elementos já existentes. Uma das melhorias foi a integração com a plataforma .NET como um todo. Isto pode ser sentido na conectividade com banco de dados proporcionada pelo ADO.NET, a fácil integração com documentos XML e a facilidade para adaptar as aplicações para outros idiomas. Existem muitas maneiras de fazer isto, mas no ASP.NET o uso de arquivos de recursos - os arquivos resources.resx nos projetos – simplifica demais a tarefa. Para poder fazer isto de maneira mais fácil alguns passos devem ser dados pelo desenvolvedor e estes serão tratados aqui. Completando o artigo propus um exemplo que demonstra os conceitos que foram exibidos.

Usando um termo já gasto mais muito válido, vivemos em uma sociedade globalizada. Quando pensamos em aplicações Web isto se torna mais verdadeiro do que nunca.

Qualquer aplicação disponibilizada na Internet recebe visitas do mundo inteiro. Se seu site permitir, faça uso da ferramenta Google Analitics e verifique. Assim, mesmo que a sua intenção ao publicar seu site não seja que o mesmo seja visitado por usuários de outros países, isto acaba acontecendo naturalmente.

Se puder disponibilizar a interface em outros idiomas isto irá aumentar sua visibilidade. Ainda que somente a interface seja mudada, isto já garante um pouco mais de facilidade para o seu visitante estrangeiro.

No artigo serão demonstrados os passos e recursos necessários para fazer isto com o ASP.NET.

O que a princípio parece complicado é implementado com relativa simplicidade com os recursos do Framework .NET. Rapidamente você irá perceber que com poucos passos estará personalizando suas páginas ASP.NET.

As páginas ASP.NET

Na plataforma .NET uma das principais formas de desenvolver aplicações Web é utilizando os recursos do Framework conhecidos por ASP.NET que está presente desde as primeiras versões e que vem sendo aperfeiçoado a cada atualização.

Uma aplicação ASP.NET constitui-se basicamente de arquivos onde controles do servidor são colocados para definir a interface em um código semelhante ao ASP/HTML original. Estes arquivos são nomeados de Web Page e possuem a extensão ASPX.

Para implementar a lógica da página o usuário pode escrever o seu código usando as linguagens suportadas pelo Framework .NET tais como C# e Visual Basic .NET.

O código dessas linguagens fica vinculado com a página ASPX através de uma partial class que possui o nome da página ASPX seguido da extensão correspondente à linguagem.

Uma página chamada Default.aspx com a Partial Class correspondente escrita em C# teria um arquivo chamado Default.aspx.cs vinculado.

Nota do DevMan

Partial Class são classes escritas em arquivos separados. Elas começaram a se tornar comuns nas aplicações Windows Forms onde o Visual Studio gera um código para desenhar os controles da interface, mas mantém um arquivo para que o desenvolvedor escreva a lógica correspondente ao formulário. Uma classe deste tipo precisa ter a palavra chave “partial” na sua declaração.

O desenvolvedor utiliza componentes chamados Server Controls para escrever páginas ASP.NET sendo que no momento da execução, o servidor Web onde a página está sendo executada gera o código HTML necessário procurando adaptar-se da melhor forma ao navegador que fez a solicitação. Todos os controles de servidor precisam ter o atributo runat="server" como visto a seguir:

<asp:Label ID="lblCustomer" runat="server" Text="Customer" />

Estes Server Controls possuem inúmeras propriedades (correspondem à classes do Framework .NET) e podem interagir com outros Server Controls, com Java Script e ser formatados com folhas de estilo CSS.

Outra vantagem destes componentes é que podem ser populados a partir de fontes de dados diversas como bancos de dados, Web Services etc.

Mesmo com as páginas ASP.NET e os Server Controls é possível trabalhar com HTML puro nos projetos Web do Framework e também escrever projetos Web com uma maior separação entre as camadas de apresentação, de dados e lógica através do ASP.NET MVC.

Nota do DevMan

MVC é a sigla para Model – View – Control. É uma tecnologia para o desenvolvimento das páginas onde há uma separação bem clara das camadas lógicas que compõem a aplicação. Model corresponde à estruturação dos dados, normalmente feita independentemente do banco de dados usando um mapeamento OR/M. View é a camada responsável pela interface e exibição dos dados e geralmente é desenvolvida usando HTML em vez de Server Controls. Control trata de como os dados são recuperados e tratados e como são enviados para a camada de visualização.

Para o desenvolvedor uma das principais vantagens de utilizar páginas ASP.NET e Server Controls é a rapidez no desenvolvimento de seus projetos já que com o Visual Studio o trabalho pode ser feito através de designers visuais usando recursos de arrastar / soltar e escrever a lógica através do editor de eventos.

Aliado a tudo isto está a facilidade proporcionada para dar suporte a várias linguagens como veremos à frente.

Como globalizar

Existem várias opções para fazer com que uma aplicação Web apresente sua interface em vários idiomas, entre elas destaco:

  1. Criar páginas próprias em cada idioma e armazená-las em diferentes diretórios na sua aplicação. Assim, seria necessário escrever a aplicação completamente para cada idioma que se deseja suportar;
  2. Fazer com que o conteúdo da interface (além dos dados que são manipulados) seja armazenado num banco de dados estruturado para que seja possível recuperar e construir os dados da interface para o idioma selecionado. Como é de se esperar, esta opção aumenta a quantidade de código que precisa ser escrita;
  3. Usando os arquivos de resources. Estes arquivos serão vistos à frente, permitem vincular os elementos da interface com um idioma específico de uma forma mais transparente e proporcionam uma alta flexibilidade principalmente por exigir pouco, ou, nenhum código dependendo do caso.

Uma preocupação é se sua aplicação Web irá detectar automaticamente o idioma do navegador e retornar a página no idioma específico, ou, se o usuário deverá selecionar este através de algum elemento da interface.

...
Quer ler esse conteúdo completo? Tenha acesso completo