NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosCsharp : Resourceseinternacionalizacao005
Quer receber novidades e e-books gratuitos?

Resource e Internacionalização – Parte V

 

Usando Visual Studio.NET 2005

 

Olá pessoal, com esse artigo termino de falar e mostrar como desenvolver utilizando internacionalização junto com o Visual Studio.NET 2005. Espero que possa valer para vocês como valeu para mim.

 

Os passos anteriores estão no site www.aspneti.com.

 

Continuando, mostro de outra forma como utilizar em seu sistema ou site.

 

Outra forma de Internacionalização

 

Mudarei o dispositivo de escolha da linguagem dentro do sistema. O próximo passo foi desenvolver com o mesmo sistema de mudança de cultura apenas clicando nos link’s logo no início da página.

 

Criei uma página chamada Exemplo.aspx com code behing Exemplo.aspx.cs. Adicionei apenas dois objetos do Visual Studio.NET 2005 à página. (3.3)

 

Referência: 3.3

 

Para melhor entendimento, a referência 3.4 mostra o código html da página exemplo.aspx total.

 

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Exemplo.aspx.cs" Inherits="Exemplo" %>

<!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>Internacionalização - Parte III</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Menu ID="menu" runat="server" Orientation="Horizontal">
            <Items>
                <asp:MenuItem NavigateUrl="~/Exemplo.aspx?lang=1" Text="Português | "></asp:MenuItem>
                <asp:MenuItem NavigateUrl="~/Exemplo.aspx?lang=2" Text="English | "></asp:MenuItem>
                <asp:MenuItem NavigateUrl="~/Exemplo.aspx?lang=3" Text="German"></asp:MenuItem>
            </Items>
        </asp:Menu>
        <br /><br />
        <asp:Label ID="lblDescricao" runat="server"></asp:Label>
    </div>
    </form>
</body>
</html>

Referência: 3.4

 

Dentro do objeto menu da ferramenta, pode ser adicionado a propriedade items e em seguida menuitem. A propriedade NavigateUrl é a página ou link que será clicado. A propriedade Text é mostrada ao usuário.

 

Note que os links são adicionados para a mesma página apenas mudando os valores do parâmetro lang. Esses valores irão indicar qual a linguagem dentro do código C#.NET. (3.5)

 

Referência: 3.5

 

 

O objeto label é simples e fácil de criar. Nenhum segredo. (3.6)

 

Referência: 3.6

 

Passando para o código .cs, usei o mesmo método mostrado anteriormente, porém feito para a página exemplo.aspx com algumas alterações.

 

Referência: 3.7

 

A referência 3.7 mostra os importes feitos para uso de métodos específicos.

 

Dentro do método InitializeCulture(), usei uma função para verificar o tipo de parâmetro enviado onde define a cultura que deve ser criada e em seguida mostrar ao usuário final. (3.8)

 

 

  protected override void InitializeCulture()
    {
        if (Request.Params["lang"] != null)
        {
            String selectedLanguage = string.Empty;
            switch (Request.Params["lang"])
            {
                case "1":
                    selectedLanguage = "pt-BR";
                    break;
                case "2":
                    selectedLanguage = "en-US";
                    break;
                case "3":
                    selectedLanguage = "de-CH";
                    break;
            }
            UICulture = selectedLanguage;
            Culture = selectedLanguage;

            Thread.CurrentThread.CurrentCulture =
                CultureInfo.CreateSpecificCulture(selectedLanguage);
            Thread.CurrentThread.CurrentUICulture = new
                CultureInfo(selectedLanguage);

        }
        base.InitializeCulture();
    }

Referência: 3.8

 

Explicação:

 

Logo no início do método, verifico se existe algum valor para o parâmetro “lang” enviado pela página via querystring. Se estiver diferente de nulo faço uma verificação usando switch case onde é verificado o valor atribuindo a variável global selectedLanguage declarada anteriormente.

 

Usei as mesmas culturas. (3.9)

 

Referência: 3.9

 

Se o valor for igual a 1, atribuo a variável o valor português, sendo 2 atribuo o valor inglês e por final sendo 3 atribuo o valor alemão.

 

O restante do código foi explicado nos itens anteriores.

 

No método Page_Load apenas atribuo ao label da tela o valor do recurso. (4.0)

 

Referência: 4.0

 

Segue o código da página Exemplo.aspx total. (4.1)

 

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

//ímportes
using System.Globalization;
using System.Threading;

 

public partial class Exemplo : System.Web.UI.Page
{
    protected override void InitializeCulture()
    {
        if (Request.Params["lang"] != null)
        {
            String selectedLanguage = string.Empty;
            switch (Request.Params["lang"])
            {
                case "1":
                    selectedLanguage = "pt-BR";
                    break;
                case "2":
                    selectedLanguage = "en-US";
                    break;
                case "3":
                    selectedLanguage = "de-CH";
                    break;
            }
            UICulture = selectedLanguage;
            Culture = selectedLanguage;

            Thread.CurrentThread.CurrentCulture =
                CultureInfo.CreateSpecificCulture(selectedLanguage);
            Thread.CurrentThread.CurrentUICulture = new
                CultureInfo(selectedLanguage);

        }
        base.InitializeCulture();
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        lblDescricao.Text = Resources.ResourceKey.Label;
    }
}

Referência: 4.1

 

Referência: 4.2

 

No início da página, o recurso já traz a língua default do cliente, ou seja, português. Cliquei no menu English passando o parâmetro 2. Veja o resultado. (4.3)

 

Referência: 4.3

 

E para finalizar, cliquei na opção do menu German onde todo valor da página foi alterado para alemão. (4.4)

 

 

Referência: 4.4

 

Bom, fico por aqui.

 

Espero ter ajudado a todos.

 

Qualquer dúvida, favor entrar em contato pelo e-mail: mauricio@aspneti.com.

 

Livros publicados:

 

 

Mauricio Junior

 

www.aspneti.com

www.mauriciojunior.org

www.ascompras.com

 

Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2024 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI