Passo a passo: Usando recursos para localização com o ASP.NET

Uma maneira eficaz para criar páginas da Web localizadas é usar recursos para a página de texto e controles com base no idioma e cultura do usuário.Usando propriedades colocadas em objetos de recurso, o ASP.NET pode selecionar a propriedade correta em tempo de execução de acordo com o idioma e cultura do usuário.O processo é simples:

  • Um arquivo de recursos (.resx) armazena valores.

  • Na sua página, você indica que controles devem usar recursos para seus valores de propriedade.

  • Em tempo de execução, os valores das propriedades dos controles são derivados do arquivo de recursos.

    Observação:

    Na prática, você pode armazenar valores em objetos de recursos personalizados, como um banco de dados.Entretanto, nesta explicação passo a passo você usará um arquivo .resx para armazenar valores.

O Visual Web Developer permite a você gerar recursos para controles, propriedades de controle, e HTML para sem escrever nenhum código.

Tarefas ilustradas nesta explicação passo a passo incluem:

  • Ativação da localização de páginas ASP.NET.

  • Geração de um arquivo de recursos e associação implícita de seus valores com os controles em seu aplicativo.

  • Criação de arquivos de recurso de localização e referência explícito em suas páginas usando expressões declarativas.

Pré-requisitos

A fim de concluir este explicação passo a passo, será necessário:

  • O Visual Web Developer (Visual Studio).

  • O .NET Framework.

Criando um site da Web

Se você já tiver Criado um site da Web em Visual Web Developer (consulte Demonstra Passo a passo: Criando uma página da Web básica no Visual Web Developer, você pode usar esse site e Ir para a Avançar seção, "Localização implícita com o ASP.NET". Caso contrário, Criar um novo site da Web e uma página usando as etapas no procedimento a seguir.

Para criar um site do sistema de arquivos

  1. Abra o Visual Web Developer.

  2. Sobre o File Menu, clique em NovoSite.

    O Novo Site da Web caixa de diálogo é exibida.

  3. Em Modelos Visual Studio instaladoClique em Web Site ASP.NET.

  4. Na Local Digite o nome da pasta onde você deseja manter as páginas do seu site da Web.

    Por exemplo, digite o nome da pasta C:\WebSites.

  5. Na Linguagem lista, clique na programação Idioma você preferir trabalhar no.

  6. Clique em OK.

    Visual Web Developer cria a pasta e uma nova página chamada Default.aspx.

Localização implícita com o ASP.NET

Nesta seção, você irá trabalhar com a localização implícita.Na localização implícita, você especifica que propriedades de controle devem automaticamente ser lidas a partir de um arquivo de recursos, mas você não precisa especificar quais propriedades são localizadas explicitamente.Em seguida, você cria um arquivo de recursos com os valores localizados das propriedades específicas.Em tempo de execução, o ASP.NET examina os controles da página.Se o controle estiver marcado para usar localização implícita, o ASP.NET procurará através do arquivo de recursos para a página.Se encontrar as configurações de propriedade para o controle marcado, o ASP.NET substitui os valores contidos no controle por aqueles contidos no arquivo de recursos.

No exemplo de localização implícita, você usa uma combinação do designer e do editor de recursos para gerar um arquivo de recursos padrão que você usará como um ponto de partida para localização em dois idiomas.O Visual Web Developer irá gerar um arquivo de recursos com base somente em controles na sua página.Por esse motivo, é uma boa idéia gerar o arquivo de recursos após a conclusão do layout de controle da sua página, incluindo controles como botões, rótulos e caixas de texto simples.

Para colocar controles em uma página

  1. No Solução Explorer, clique com o botão direito do mouse em Default.aspx, clique em Renomeare em seguida, digite Exemplo.aspx.

    Isso ajudará a evitar confusão no restante da explicação passo a passo em relação a arquivos de recursos padrão porque nomes de arquivo de recursos implícito usam nomes de página.

  2. Abrir Exemplo.aspxe, em seguida, alterne para design Exibir.

  3. Na caixa de ferramentas, a partir de Padrão Seção, arraste um ButtonUm Rótuloe um TextBox controlar até a página.

  4. Para cada controle, definida Texto para Inglês do botão, Rótulo em inglêse Caixa de texto em inglêsrespectivamente.

Após criar a página e adicionar os controles, você pode usar um comando do Visual Web Developer para gerar um arquivo de recursos local para essa página.O arquivo de recursos local conterá as seqüências de recursos para os controles da página.O Visual Web Developer gera uma seqüência de recurso para cada propriedade que esteja designada internamente no controle como localizável.Cada controle pode ter diferentes propriedades designadas como localizáveis, embora a maioria das propriedades texto estejam marcadas dessa forma.

Para gerar automaticamente um arquivo de recursos

  1. Clique na superfície do designer ou em um controle.

  2. Sobre o Ferramentas Menu, clique em Gerar recurso local.

    Visual Web Developer cria uma Novo pasta chamada App_LocalResourcese dentro de App_LocalResources pasta, um novo arquivo chamado Sample.aspx.resx.Se você chamado sua página algo Outro que Exemplo.aspxa. Arquivo Resx refletirá qualquer nome que você escolheu.Ao usar localização implícita, nomes de arquivo de recursos são baseados nos nomes de página individual.

  3. Alterne para o modo fonte para ver as alterações para as declarações de controle.

    O Visual Web Developer adicionou um atributo para os controles para recuperar seus valores de seu arquivo de recursos recém criado.Por exemplo, o Button marcação do controle tem um novo meta: resourcekey Atributo.

    < ASP:Button ID = "botão1" Runat = "server" meta: resourcekey = "ButtonResource1" Texto = "em inglês do botão" / &Gt;
    

Quando um navegador envia uma solicitação ao servidor Web, a solicitação pode incluir informações sobre o idioma atual e cultura.Por exemplo, um navegador pode enviar a seqüência de caracteres " en - conosco " Para indicar que ele tiver sido configurado para usar Estados Unidos em inglês; outro navegador pode enviar a seqüência de caracteres " en-gb " Para indicar que ele tiver sido configurado para usar O inglês britânico.

Observação:

Configurações de idioma e cultura em uma solicitação do navegador não são uma maneira completamente confiável para detectar o idioma preferencial do usuário.As configurações indicam somente como o navegador está definido ou que o herdou do sistema operacional.Para esta explicação passo a passo, você irá contar com o idioma e configurações de cultura, mas em um aplicativo de produção você também deve incluir uma maneira para os usuários selecionarem um idioma e cultura manualmente.

O arquivo de recursos é usado como o arquivo de recursos padrão para todas as solicitações.(Ele é o arquivo de recursos para a cultura de retorno.) Se nenhuma cultura for especificada pelo navegador, ou se a solicitação do navegador inclui um idioma ou cultura a qual não é oferecido suporte, valores de recursos são recebidos a partir desse arquivo padrão.

Agora que o arquivo de recursos é criado, você pode colocar o texto localizado dentro dele usando o editor de recursos.

Para editar o arquivo de recurso, usando o editor de recursos

  1. Em Gerenciador de Soluções, abrir Sample.aspx.resx.

    Na Editor de Recurso, em Valor, são o Texto Propriedades para cada um dos controles que você inseriu na sua página.Alterando o valor irá alterar o valor para a cultura padrão.

  2. Set ButtonResource1.Text para Editado Inglês Text.

  3. Salve o arquivo.

Agora você pode testar a página.

Para testar a página

  • Pressione CTRL+F5 para executar a página.

    O texto que você forneceu no editor do recurso é mostrado como o rótulo Button1.Ao usar localização implícita, a sintaxe de propriedades em arquivos de recurso substituirão propriedades especificadas na própria página.

Adicionando outras Culturas

Cada combinação de linguagem e cultura requer um arquivo de recursos exclusivo.Para adicionar outras culturas, você pode usar o arquivo padrão como um ponto inicial.Você pode criar arquivos de recurso para diferentes culturas e localidades, criando novos arquivos de recurso no qual os códigos de idioma ISO fazem parte de Nome do Arquivo (por exemplo, en-us, fr-cae en-gb).Esses códigos ISO são colocados entre o nome da página e o .resx extensão de nome de arquivo, as in Sample.aspx.EN-US.RESX.Para especificar um idioma neutro culturally, você deve eliminar o código do país, como Sample.aspx.fr.resx para o idioma francês.

Observação:

Ao usar a sintaxe de localização implícita, você deve criar uma série de arquivos de recurso separados para cada página.

Para criar um arquivo do idioma francês culturalmente neutro

  1. No Gerenciador de Soluções, clique com o botão direito do mouse o Sample.aspx.resx Arquivo e em seguida, clique em Copiar.

  2. Clique com o botão direito do mouse o App_LocalResourcespasta e em seguida, clique em Colar.

    Cria um arquivo denominado Visual Web Developer Cópia de Sample.aspx.resx.

  3. Clique com o botão direito do mouse o Cópia de Sample.aspx.resx Arquivo, clique em Renomear e, em seguida, digiteSample.aspx.fr.RESX.

    Sample.aspx.fr.resx Indica um arquivo de texto do idioma francês culturally neutro.

  4. Abrir Sample.aspx.fr.resx.

  5.    Para o Button, Rótuloe TextBox Definir controles, Texto para Francês do botão, Rótulo francêse Caixa de texto em francêsrespectivamente.

  6. Salve o arquivo.

Testando uma configuração alternativa de idiomas

Antes de ver se esse novo arquivo de recursos é utilizado pelo ASP.NET, você deve alterar suas configurações de navegador para solicitar a cultura desejada.

Para alterar as configurações de idioma do seu navegador

  1. Em Microsoft Internet Explorer, sobre o Ferramentas Menu, clique em Opções da Internet.

  2. Clique em Linguagens.

  3. Na Preferências de idioma caixa de diálogo, clique em Adicionar.

  4. Na Adicionar idioma caixa de diálogo, em LinguagensClique em **Francês (França) [FR]**e em seguida, clique em OK.

  5. Clique em Adicionar e adicionar Espanhol (México) [es-mx] à lista de idiomas.

  6. Clique em Adicionar e adicionar Árabe (Egito) [ar-EG] à lista de idiomas.

    Você usará para teste posteriormente nesta explicação passo a passo espanhol e árabe.

  7. Na Preferências de idioma caixa de diálogo, em LinguagemClique em **Francês (França) [FR]**Clique em Mover para cimae em seguida, clique em OK.

Internet Explorer agora está definida para passar FR Como a configuração de idioma para qualquer Solicitar.Com a cultura definida como. Automático Na Exemplo.aspx página, o ASP.NET tentará localizar um arquivo de recurso e seus valores correspondentes para montar a página de acordo com suas preferências de idioma e cultura.

Para testar a página

  • No Visual Web Developer, pressione CTRL+F5 para executar a página.

    A página é atualizada com valores do arquivo do idioma francês localizados em vez da versão em inglês.

    Observação:

    Você pode redefinir suas configurações de idioma no Internet Explorer voltando para o Preferências de idioma caixa de diálogo e movendo o idioma selecionado na lista de Voltarup.

Localização explícita com o ASP.NET

Na primeira parte desta explicação passo a passo, você usou localização implícita do ASP.NET para ter exibição de texto localizado em controles.Você gerou um arquivo de recursos com valores de propriedade, e no processo, você adicionou um atributo a cada controle que o instruiu a preencher seus valores de propriedade, se houvesse, a partir do arquivo de recurso.Localização implícita funciona automaticamente, pois você não precisa especificar propriedade por propriedade como ler informações de um arquivo de recurso.

Entretanto, às vezes você deseja ter um controle mais direto sobre como propriedades são definidas.Para isso, em vez de usar a localização implícita, você pode usar a localização explícita.Com a localização explícita, você define o valor de uma propriedade, utilizando uma expressão apontando para um arquivo de recursos.Quando a página é executada, a expressão é avaliada, o valor é lido do arquivo de recursos especificado, e o valor é usado para definir a propriedade.

A localização explícita é útil quando você tem grande corpo de texto ou mensagens que você deseja localizar, além de controles e rótulos personalizados.Por exemplo, você pode desenvolver uma série de boas-vindas e mensagens de obrigado localizadas para um site de comércio eletrônico, e usar expressões declarativas explícitas para colocar esse texto em suas páginas.Além disso, a localização explícita permite a você manter um único conjunto de arquivos de recurso localizado em vez de manter um conjunto separado de arquivos para cada página.

In this section, you will create resource files manually and reference them by using ASP.NET declarative expression syntax.You will create a resource file for a simple thank you message.Unlike using the designer, a separate resource file is not required for each ASP.NET page.

O nome base de seu arquivo de recursos poderá ser LocalizedText.Para cada idioma que você deseja localizar, você criará outro arquivo com o código do idioma apropriado (e opcionalmente o código de cultura) como parte do nome do arquivo.Por exemplo, para EUAInglês você criaria um arquivo denominado LocalizedText.RESX.Para o idioma francês no Canadá, você poderia criar um arquivo denominado LocalizedText.fr-ca.RESX.Ambos Arquivos poderiam ser colocados sob o diretório de recursos do seu aplicativo da Web.Diferentemente do exemplo implícito anteriormente, você não precisa manter um arquivo de recursos para cada página.aspx; em vez disso, você pode manter uma única série de arquivos para cada linguagem ou cultura que é oferecido suporte.

Para criar um arquivo de recursos

  1. No Solução Explorer, clique com o botão direito do mouse na raiz do seu site da Web, clique em Adicionar pasta ASP.NETe em seguida, clique em App_GlobalResources.

  2. Clique com o botão direito do mouse o App_GlobalResources pasta e em seguida, clique em Adicionar Novo item.

  3. Em Modelos Visual Studio instaladoClique em Arquivo recurso.

  4. Na Name (Nome) caixa, digite LocalizedText.resxe em seguida, clique em Adicionar.

    O LocalizedText.resx Arquivo atuará como o recurso de fallback de cultura.

  5. Criar um segundo arquivo .resx e nomeá-la LocalizedText.fr.resx.

    A seqüência de caracteres " FR " Identifica o arquivo como o recurso a ser usado se idioma do navegador está configurado para Francês (relação Menos de cultura).

  6. Criar um terceiro arquivo .resx e nomeá-la LocalizedText.es-mx.resx.

    A seqüência de caracteres " es-mx " Identifica o arquivo como arquivo como o recurso a ser usado se idioma do navegador está configurado para Espanhol (México).

  7. Abrir o LocalizedText.resx Arquivo.

  8. Na Primeiro linha sob o Name (Nome) Tipo de coluna Msg1.

  9. Na Primeiro linha sob o Value (Valor) coluna, tipo Saudação.

  10. Salve o arquivo e feche-o.

  11. Abrir o LocalizedText.fr.resxCrie um recurso Cadeia de Caracteres chamado Msg1Atribuir-o valor Boa Viagem jour.Quando tiver terminado, salve e feche o arquivo.

  12. Abrir o LocalizedText.es-mx.resxCrie um recurso Cadeia de Caracteres chamado Msg1Atribuir-o valor Buenos días.Quando tiver terminado, salve e feche o arquivo.

    Observação:

    Para inserir a Carta com agudo (í), digite ALT + 0237 No teclado numérico com número Bloquear no.

    Você tem Criado três valores para o recurso chamado Msg1.ASP.NET will read the value out of the appropriate resource file based on what language the browser is set to.

Agora que seu arquivo de recursos está criado, você pode retornar a página e adicionar controles que referenciarão o recurso.

Para adicionar um controle de rótulo a página

  1. Switch Para Exemplo.aspxe, em seguida, alterne para design Exibir.

  2. Arraste outra Rótulo controlar até a página.

  3. Clique com o botão direito do mouse o Rótulo Controle, clique em Propriedadese, em seguida, clique no botão reticências (…) in a Expressões a caixa.

    O Expressões caixa de diálogo é exibida.

  4. Na Propriedades bindable lista, clique em Texto.

  5. Na Expressão tipo Na lista, selecione Recursos.

  6. Em Propriedades ExpressãoDefinido ClassKey para LocalizedText e ResourceKey para Msg1.

  7. Clique em OK.

  8. Alterne para modo de origem.

    O atributo de texto do seu rótulo agora tem uma expressão explícita informando de qual arquivo base recuperar o recurso e a chave para selecionar.

    < ASP:Label ID = "Label2" Runat = "server" Texto =" < % $ Resources:LocalizedText, Msg1 % > ">
    
    Observação:

    O LocalizedText Atributo tem nenhum indicador de idioma, indicador da cultura ou extensão .resx porque ele não é o nome de arquivo real.Em vez disso, LocalizedText representa a classe base do recurso.The Pendente na cultura enviada pelo navegador, ASP.NET selecionará o recurso fora do arquivo com o idioma apropriado ou código de cultura dentro sua nome de arquivo, como LocalizedText.fr.resx, LocalizedText.es-mx.resxou Se Não idioma correspondente for encontrado, LocalizedText.resx.

Com o arquivo de recursos concluído, e a expressão declarativa adicionada, você pode testar a página.Após o último teste, o navegador foi definido para relatar francês como seu idioma de preferência.Durante o teste, você irá alterar o idioma do navegador várias vezes.

Para testar a página

  1. Pressione CTRL+F5 para executar a página.

    O francês - Versão da Linguagem do texto que você forneceu no editor do recurso é mostrado como o texto para o Rótulo o controle.

  2. Em Microsoft Internet Explorer, sobre o Ferramentas Menu, clique em Opções da Internet.

  3. Clique em Linguagens.

  4. Na Preferências de idioma caixa de diálogo, mover Espanhol (México) [es-mx] Para o início da lista de idiomas.Quando você terminar, clique em OK e Fechar o Opções da Internet caixa de diálogo.

  5. Pressione F5 para atualizar o navegador.

    A versão espanhol do texto é exibida.

  6. Altere o idioma para árabe e pressione F5 para atualizar a página novamente.

    Nesse momento, o texto é exibido no idioma que você usou no arquivo de recursos de retorno.Porque você não criar um arquivo. LocalizedText.ar-EG.resxO ASP.NET não pôde localizar o texto que corresponde a linguagem e cultura relatado pelo navegador, e ela usada a arquivo de recurso de fallback.

  7. Quando você tiver terminado de testar a página, defina o idioma de volta para seu idioma preferencial.

Próximas etapas

A localização pode ser uma tarefa complexa.Esta explicação passo a passo ilustrou alguns dos recursos no Visual Web Developer que podem facilitar alguns trabalhos.Você pode querer Aprenda mais sobre a localização e o ASP.NET.Por exemplo, você pode desejar:

  • Aprender mais sobre utilização de recursos em seus aplicativos.Para obter detalhes, consulte Recursos em aplicativos.

  • Usar classes que definem informações relacionadas a cultura, incluindo o idioma, país ou região, calendários em uso, padrão de formato para datas, moeda, números e ordem de classificação para seqüências de caracteres.Para obter detalhes, consulte System.Globalization.

  • Aprender mais sobre as práticas recomendadas para usar quando codificando para um público global.Para obter detalhes, consulte Best Practices for Developing World-Pronto Applications.

Consulte também

Conceitos

Usando a classe CultureInfo

Outros recursos

Codificação e localização

Namespaces de Globalização e Localização no Visual Studio