Localização - ASP.NET/C#
Quando toca a sites de internet que se querem que tenham uma boa visualização, não há nada como poder disponibiliza-lo em diferentes linguas. Neste exemplo muito simples vamos fazer com que uma mensagem escrita varie consoante a lingua preferida definida no browser do utilizador, e alteramos também uma cor de fundo. Começamos como sempre por criar uma página em branco fazendo Create->New Website. Vamos apenas adicionar uma "Label" para a nossa demosntração, ficando o código:
Vamos agora fazer a especificação da lingua. Deixando o cursor do rato em cima da primeira linha de código, aparecerá em baixo à direita a caixa de propriedades relativa. Nas propriedades vamos então escolher a cultura, em Culture escolhemos na dropdown a opção pt-PT:
E em UICulture escrevemos auto.
Neste exemplo vamos disponibilizar o site em 3 linguas diferentes: português, inglês e alemão. Para isso vamos adicionar um folder especial ao nosso projecto, clicando com o botão direito do rato em cima do projecto no Solution Explorer e escolhendo a opção Add ASP.NET Folder->App_GlobalResources. Desta forma escolhendo Global Resources em vez de Local estamos a dizer que as traduções ficam disponíveis em qualquer página e não só nesta específica.
Podemos depois reparar que efectivamente foi criada a pasta que escolhemos no Solution Explorer. Clicamos depois com o botão direito do rato em cima desta pasta e escolhemos Add New Item, pelo que aparecerá:
Escolhemos a opção Resource File. Este ficheiro será o que vai conter a lingua que queremos por defeito, neste caso português. Para termos as linguas inglês e alemão fazemos copy e paste deste ficheiro e chamamos-lhes Resource.en.resx e Resource.de.resx ficando então o folder com os seguintes itens:
Nas propriedades da nossa "Label" vamos procurar onde diz Data (Expressions):
Carregando no botão, aparecerá a seguinte caixa de opções:
Escolhemos Text e escolhemos Resources em "Expressions Type", escrevemos Resource em "Class Key" e Text em "Resource Key". Podemos também agora alterar várias outras caracteristicas como por exemplo a cor de fundo da Label:
Repare que na propriedade Text da Label o código passou agora a ficar:
Voltando agora aos ficheiros de Resource vamos então edita-los nas várias linguas. Abrindo o ficheiro Resource.resx vamos adicionar Text e Color na coluna de Name e dar-lhe os valores que queremos mostrar:
E editamos igualmente os ficheiros Resource.en.resx e Resource.de.resx:
Depois de editados os ficheiros com os dados correctos, podemos então testar a nossa aplicação, Fazemos Run para ver no browser e consoante a lingua preferida escolhida nas definições do browser vamos então ter a nossa página a mostrar dados diferentes. Por exemplo caso se tenha a lingua definida como português vamos ver o seguinte resultado:
Para vermos o resultado em inglês ou alemão vamos ao nosso browser e escolhemos, no caso do Internet Explorer, Tools->Internet Options->Languages
E escolhemos por no topo a lingua que queremos ver, seleccionando-a e movendo para cima e para baixo. Escolhendo como lingua preferida o inglês ou alemão e fazendo OK basta fazer refresh da pagina e obtemos os seguintes resultados consoante as preferências escolhidas:
Escrito por Tânia Penedo Website do autor: http://www.taniapenedo.com Dados do autor: Programação multi-plataforma; C#, PHP, Java, MySQL, SQL-Server. |
Avalie este artigo
|
|||||||||||||||||||||
|
Envie a alguém conhecido
| ||||||||||||