pa.jpg src="/imagens/msdnmagazine/edicoes/27/msdn27_capa.jpg" width=160 border=0>

Clique aqui para ler todos os artigos desta edição

 

Globalização

Preparando a UI de um aplicativo ASP.NET para diferentes idiomas

Roberto Lopes

Este artigo discute

Este artigo usa as seguintes tecnologias

·        Visão geral de localização em .NET;

·        Cultura e localização;

·        Localização implícita e explícita.

·        Visual Studio 2005, ASP.NET 2.0.

 

Podemos dizer que “globalizar” significa mais do que “traduzir” o seu aplicativo para um ou mais idiomas, mas sim prepará-lo para funcionar em mais de uma “cultura”, isso é, outro idioma, outro formato de data/hora, moeda etc. A plataforma .NET trouxe muitas novidades nesse sentido, principalmente em sua versão 2.0. Neste artigo estarei focando especificamente a customização de mais de um idioma em um aplicativo Web utilizando ASP.NET 2.0, isso é, a cultura da interface de usuário, ou User Interface (UI).

Visão geral de localização em .NET

Dizer “Localizar” um aplicativo é análogo a dizer ajustar a cultura de um aplicativo (vide o quadro Cultura). Observe alguns itens passíveis de localização na Tabela 1.

 

Item

Descrição

Formato de Data

Cada país possui uma notação padrão para datas. Exemplo: Brasil utiliza o padrão dd/mm/aaaa; EUA utiliza mm/dd/aaaa

Idioma

Seria como traduzir o seu aplicativo para dois ou mais idiomas. Com o .NET Framework 2.0, isso é possível sem que uma linha de código seja escrita

Formato de moeda

Tal qual o formato de data, cada país tem sua notação padrão para moeda. Por exemplo, Brasil utiliza R$999.999,99; EUA utiliza $999,999.99

Tabela 1. Exemplo de itens passíveis de localização

Cultura

Uma cultura representa uma localidade ou país. O Windows utiliza o padrão RFC 1766 para referenciar uma cultura, utilizando a seguinte notação: <Idioma>-<País/CódigoRegião> Exemplo: pt-BR (Português e Brasil), en-US (inglês e Estados Unidos), fr-FR (Francês e França), es-MX (Espanhol e México).

Idioma - Representado por duas ou três letras minúsculas, derivadas do padrão ISO 639-1 (duas letras) ou ISO 639-2 (três letras).

País/Região – Representado por duas letras maiúsculas, derivadas do padrão ISO 3166.

 

Existem dois tipos de cultura a serem consideradas em um aplicativo ASP.NET:

·        Culture – Responsável pela formatação de dados a serem utilizados pelo sistema (data, moeda etc.);

·        UICulture – Responsável pela formatação dos recursos a serem apresentados na interface com o usuário, isso é, tradução dos dados existentes no Web Form (conteúdo de labels, botões, títulos, tooltips etc.).

Como já dito anteriormente, o foco deste artigo está voltado a preparar o aplicativo Web para trabalhar com mais de um idioma. Deste modo, fica claro que estaremos utilizando UICulture.

Existem dois tipos de localização de uma página: Implícita e Explícita:

Implícita – Utiliza recursos locais (um conjunto de arquivos para uma única página). Cada página (ASPX) possui um arquivo de recurso (RESX) para cada idioma. Cada página deverá ter um arquivo de recurso para cada idioma, sendo que todos os arquivos de recurso de uma determinada página deverão ter as mesmas propriedades, somente variando os valores. Cada componente da página é associado a um ou mais itens do arquivo de recurso. Exemplo: se a página default.aspx for traduzida para o inglês e o português, dois arquivos de recurso serão criados para essa página: um para inglês e outro para português (sem considerar o idioma neutro, que falaremos mais adiante). Se o item lblTitulo.Text existir no arquivo de recurso para inglês, deverá também existir para português. Podemos dizer ainda que a localização implícita está diretamente ligada ao atributo “meta:resourcekey”, que será visto mais adiante.

Explícita  Utiliza recursos globais (um conjunto de arquivos compartilhado para todo o assembly). A localização explícita é utilizada quando não existe associação a um componente específico de uma página. É muito útil para criar recursos para serem compartilhados por todo o aplicativo (uma mensagem de erro, por exemplo).

Criando um projeto localizado implicitamente

Para deixar claro o conceito de localização implícita, vamos criar um aplicativo ASP.NET 2.0, utilizando o idioma Português (pt-BR) como base do aplicativo (cultura neutra), Francês canadense (fr-CA) e Inglês canadense (en-CA).

No Visual Studio 2005, crie um novo Web Site chamado “SiteGlobal”. Vou utilizar a linguagem C#, mas a conversão para VB.NET será muito simples, uma vez que no framework 2.0 a localização implícita exige muitíssimo pouco código.

Abra a página default.aspx (caso esteja em Source Mode, mude para Design Mode), adicione e configure os controles conforme a Tabela 2, ajustando os controles conforme a Figura 1.

 

Controle

Nome

Propriedade

Valor

Label

lblTitulo

Text

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