Olá pessoal, meu nome é Mauricio Junior e estou disposto a continuar mostrando como utilizar os arquivos resources e internacionalização usando o Visual Studio.NET 2005 parte IV.
Se você perdeu alguma parte, acesse o site www.aspneti.com ou www.juliobattisti.com.br, lá existem todas as partes anteriores.
Continuando, depois que fiz o código da página, gerei os arquivos de internacionalização; falta apenas escrever um código dentro de minha página default.aspx.cs. Para acessar a parte CODE BEHING da página, cliquei com o botão direito e fui na opção VIEW CODE.
No início do código, importei algumas classes. (2.4)
|
//ímportes
using System.Globalization;
using System.Threading;
|
Referência: 2.4
Dentro da classe depois que importei as classes, criei uma classe override chamada InitializeCulture(). Onde atribui a língua escolhida dentro da página. (2.5)
|
protected override void InitializeCulture()
{
if (Request.Form["cmbLinguagem"] != null)
{
String selectedLanguage = Request.Form["cmbLinguagem"];
UICulture = selectedLanguage;
Culture = selectedLanguage;
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = new
CultureInfo(selectedLanguage);
}
base.InitializeCulture();
}
|
Referência: 2.5
Explicação:
Esse método sobre escreve o base configurando a língua ou cultura da página. Depois de configurar a cultura o sistema sabe automaticamente qual arquivo de resource pegar, ou seja, o português, inglês ou alemão.
Pergunto se o valor da combo é nulo. (2.6)
|
(Request.Form["cmbLinguagem"] != null)
|
Referência: 2.6
Atribuo o valor da variável “selectedLanguage” ao valor da combo. Atribui o valor a variáveis UICulture e Culture o próprio valor atribuído a variável selectedLanguage. (2.7)
|
UICulture = selectedLanguage;
Culture = selectedLanguage;
|
Referência: 2.7
A referência 2.8, mostro como criar primeiramente uma cultura corrente específica e depois criar uma nova instância do objeto para o UICulture. (2.8)
|
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = new
CultureInfo(selectedLanguage);
|
Referência: 2.8
Em sequência, mostro uma ilustração da classe criada, o arquivo default.aspx.cs. (2.9)

Referência: 2.9
No método Page_Load, atribui as variáveis dentro da página para ser mostradas junto ao usuário. Referência 3.0.
|
lblDescricao.Text |
Resources.ResourceKey.Label |
|
cmdLinguagem.Text |
Resources.ResourceKey.Button |
Dessa forma, pego os valores do arquivo de resources e mostro na tela para o usuário.
Cliquei no botão F5 do Visual Studio.NET 2005 e apareceu a referência 3.0. No brownser, pelo fato do padrão estar em português, já aparece os valores do arquivo de resources dentro da página web.
Referência: 3.0
Escolhi a opção em inglês e cliquei no botão SETAR LINGUAGEM. Veja você mesmo o resultado da página. (3.1)

Referência: 3.1
Foram passados todos os valores da página para a língua inglesa. Isto é, foi lido do arquivo de resources. Para testar o alemão, fiz a mesma coisa. Escolhi a opção GERMAN na combo e cliquei em SET LINGUAGE. (3.2)

Referência: 3.2
Bom, o meu alemão não é grande coisa. Mesmo assim, os valores da página foram mudados automaticamente para alemão, ou seja, para a língua escolhida.
Fico por aqui com mais um artigo.
Segue meus livros publicados.
Qualquer dúvida, favor mandar e-mail.
Mauricio Junior
mauricio@aspneti.com
www.aspneti.com
www.ascompras.com