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