Artigos / Tekever.eu

Artigos de desenvolvimento e opinião em tecnologia.

Secções:

Linux | Windows | .NET / ASP | LAMP | Java | Só Conversa |

 


Localização - ASP.NET/C#

  2006-09-25




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:

 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>

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

</div>
</form>
</body>
</html>
 


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:

 
<asp:Label ID="Label1" runat="server" Text="<%$ Resources:Resource, Text %>"
BackColor="<%$ Resources:Resource, Color %>"></asp:Label>
 


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.

Comentários

Comentários a este artigo

Enviado em 2006-11-07 por DotNetSpace
Há alguns exemplos sobre isso no site www.dotnetspace.com

Faça um comentário

Comentário

Nome
E-mail

Este comentário só ficará válido depois de fazer clique no link que lhe será enviado já a seguir para o e-mail indicado. Como tal garanta que o seu e-mail está válido e operacional, se não receber o nosso e-mail verifique os seus filtros de SPAM, ou a caixa de Lixo/Trash do seu cliente de e-mail.

 

Avaliar artigo

Avalie este artigo

 



Nome
E-mail

Este voto só ficará contabilizado depois de fazer clique no link que lhe será enviado já a seguir para o e-mail indicado. Como tal garanta que o seu e-mail está válido e operacional, se não receber o nosso e-mail verifique os seus filtros de SPAM, ou a caixa de Lixo/Trash do seu cliente de e-mail.

 

 

 

 

Recomendar este artigo a alguém

Envie a alguém conhecido

De:  
Nome E-mail
 
Para:  
Nome E-mail
Será enviado um link da página deste artigo para o e-mail que indicar como destino.