Demonstra Passo a passo: Localizando do Windows Forms
O sistema do projeto Visual Studio oferece suporte considerável para localizar aplicativos Formulários do Windows. Há duas maneiras para gerar arquivos de recurso usando o ambiente de desenvolvimento Visual Studio:
Tem o sistema do projeto gerado os arquivos de recurso para elementos interface do usuário localizáveis como texto e imagens no formulário. Os arquivos de recurso, em seguida, são criados em satélite conjuntos de módulos (assemblies). Eles são conhecidos como recursos com base em formulários.
Adicionar um modelo de arquivo de recurso e em seguida, edite o modelo com o designer XML. Um motivo para fazer a última é para tornar localizável seqüências de caracteres que aparecem em caixas de diálogo e mensagens de erro. Você deve escrever código para acessar esses recursos. Eles são conhecidos como recursos do projeto.
Em geral, você deve usar os recursos com base em formulários para todos os recursos específicos de um formulário em seu aplicativo Formulários do Windows. Você deve usar os recursos do projeto para todas as seqüências de interface do usuário nã0 baseada em formulários e imagens, como mensagens de erro.
Dica
É importante ser consistente e usar recursos com base em formulários ou recursos do projeto para a mesma propriedade.Muitas propriedades de imagens, como a propriedade Image no PictureBox, permitem que você selecione uma imagem dos recursos do projeto, ou importar uma nova imagem como um recurso com base em formulários.Se você tentar definir a imagem padrão usando um recurso do projeto e versões específicas do idioma da imagem usando recursos baseados em formulário, a imagem padrão nunca será exibida.
Este tópico passo a passo demonstra ambos os processos em um único projeto aplicativos do Windows.
Você também pode converter um arquivo de texto um arquivo de recurso; para obter mais informações, consulte Recursos no Formatar de arquivo de texto e Gerador de Arquivo de Recurso (ResGen.exe).
Para ter o Visual Studio gerando arquivos de recurso para você
Crie um novo aplicativo do Windows chamado "WindowsApplication1". Para obter detalhes, consulte Como: Create a Windows Aplicativo Project.
Na janela Properties, defina o formulário da propriedade Localizable para true.
A propriedade Language já está definida como (Padrão).
Arraste um controle Button da guia Formulários do Windows do ToolBox para o formulário e defina sua propriedade Text para Hello World.
Defina a propriedade do formulário Language para Alemão (Alemanha).
Definir a propriedade do botão Text como Hallo Welt.
Definira propriedade do formulário Language para Francês (França).
Defina a propriedade do botão Text para Bonjour Le Monde. Você pode redimensionar o botão para acomodar a seqüência mais longa, se necessário.
Salve e crie a solução.
Clique no botão Show All Files no Gerenciador de Soluções.
Os arquivos de recurso aparecem sob Form1.vb, Form1.cs ou Form1.jsl. Form1.resx é a arquivo de recurso para a cultura padrão, que será criada para o conjunto principal. Form1.de-DE.resx é o arquivo de recurso para alemão como falado na Alemanha. Form1.fr-FR.resx é a arquivo de recurso para francês como falado na França.
Além disso, você irá ver arquivos Aparecer nomeado Form1.de.resx e Form1.fr.RESX. Visual Studio automaticamente cria esses arquivos na ordem para trabalho em torno uma limitação no tendo Visual SourceSafe A Fazer com adicionando novos arquivos a um projeto durante um salvar operação. Os arquivos .resx são vazios e não contém nenhum recurso.
Pressione a tecla F5 ou escolha Debug do menu Start.
Agora você verá um caixa de diálogo com uma saudação inglês, francês ou alemão dependendo do idioma da UI do seu sistema operacional.
Dica
O idioma da UI usado no Windows é uma função da configuração C urrentUICulture.Se sua cópia do Windows possui um Multilingual User Interface Pack (MUI) instalado, você pode alterar o idioma da UI no Painel de controle.Para obter mais informações, consulte o site Windows Server 2003, Windows XP & Windows 2000 MUI.Se você não tiver o MUI instalado, você pode alterar a cultura atual da interface do usuário por meio de programação, como será explicado.
O procedimento a seguir mostra como definir a cultura da interface do usuário assim o aplicativo exibe os recursos em francês. Em aplicativos do mundo real, você não embutiria a cultura da interface do usuário dessa forma. A configuração para a cultura UI depende de uma configuração de usuário ou uma configuração de aplicativo.
Para definir a cultura da UI para exibir os recursos específicos
Na caixa Code Editor, adicione o seguinte código no início do módulo, antes da declaração Form1:
' Visual Basic Imports System.Globalization Imports System.Threading // C# using System.Globalization; using System.Threading; // Visual J# import System.Globalization.*; import System.Threading.*;
Adicione o seguinte código. No Visual Basic, ele deverá ir na função New, antes de chamar a função InitializeComponent. Em Visual C# e Visual J#, ele deve ir no Form1 e também antes de chamar a função InitializeComponent.
' Visual Basic ' Sets the UI culture to French (France). Thread.CurrentThread.CurrentUICulture = New CultureInfo("fr-FR") // C# // Sets the UI culture to French (France). Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR"); // Visual J# // Sets the UI culture to French (France). System.Threading.Thread.get_CurrentThread().set_CurrentUICulture( new CultureInfo("fr-FR"));
Salve e crie a solução.
Pressione a tecla F5 ou escolha Debug do menu Start.
Agora o formulário será sempre exibido em francês. Se você alterou o tamanho do botão anterior para acomodar a seqüência mais longa em francês, notará que o botão Tamanho tem também foi persistente no arquivo de recurso de francês.
Para adicionar arquivos de recurso para o projeto e editá-los manualmente.
No menu Project, clique em Add New Item.
Na caixa Templates, selecione o modelo Assembly Resource File. Digite o nome de arquivo "WinFormStrings.resx" na caixa Name. O arquivo WinFormStrings.resx será contém recursos de fallback em inglês. Esses recursos serão acessados sempre que o aplicativo não conseguir encontrar os recursos mais apropriados para a cultura de interface do usuário.
O arquivo é adicionado ao seu projeto em Solution Explorer e automaticamente abre no criador de XML no modo Data.
No painel Data Tables, selecionados Data.
No painel Data, clique em uma linha vazia e insira strMessage na coluna Name e Hello World na coluna Value.
Não é necessário especificar o tipo ou mimetype para uma seqüência de caracteres; eles são usados para objetos. O especificador de tipo contém o tipo de dados do objeto sendo salvo. O especificador de tipo MIME mantém o tipo base (base64) das informações binárias armazenadas, se o objeto consiste dados binários.
No menu File, clique em Salve WinFormStrings.resx.
Fazer as etapas 1 a 5 mais duas vezes para criar mais dois arquivos de recursos chamados WinFormStrings.de-DE.resx e WinFormStrings.fr-FR.resx, com os recursos de seqüência de caracteres especificados na tabela a seguir. O arquivo WinFormStrings.de-DE.resx conterá que recursos específicos para alemão falado na Alemanha. O arquivo WinFormStrings.fr-FR.resx conterá que recursos específicos para francês falado na França.
Resource file name
Name (Nome)
Value (Valor)
WinFormStrings.de-DE.resx
strMessage
Hallo Welt
WinFormStrings.fr-FR.resx
strMessage
Bonjour le Monde
Para acessar os recursos adicionados manualmente
Na caixa Code Editor, importar o namespace System.Resources no início do módulo do código.
' Visual Basic Imports System.Resources // C# using System.Resources; // Visual J# import System.Resources.*;
No modo de exibição de design, clique duas vezes no botão para exibir o código para seu manipulador de eventos Click e adicionar o código a seguir. O construtor ResourceManager leva dois argumentos. O primeiro é o nome de raiz dos recursos — isto é, o nome do arquivo de recurso sem os cultura e sufixos .RESX. O segundo argumento é o conjunto principal.
Nessa explicação passo a passo, os namespaces não são declarados, para o primeiro argumento do construtor ResourceManager pode assumir a forma de ProjectName.ResourceFileRootName. No entanto, em um aplicativo do mundo real, você definiria a propriedade DefaultNamespace. Nesse caso, será necessário declarar o recurso com o nome de raiz totalmente qualificado do arquivo de recurso, incluindo seu namespace. Por exemplo, se o espaço para nome padrão é MyCompany.MyApplication.MyComponent, o primeiro argumento do construtor ResourceManager talvez seja MyCompany.MyApplication.MyComponent.WinFormStrings.
' Visual Basic ' Declare a Resource Manager instance. Dim LocRM As New ResourceManager("WindowsApplication1.WinFormStrings", GetType(Form1).Assembly) ' Assign the string for the "strMessage" key to a message box. MessageBox.Show(LocRM.GetString("strMessage")) // C# // Declare a Resource Manager instance. ResourceManager LocRM = new ResourceManager("WindowsApplication1.WinFormStrings",typeof(Form1).Assembly); // Assign the string for the "strMessage" key to a message box. MessageBox.Show(LocRM.GetString("strMessage")); // Visual J# // Declare a Resource Manager instance. ResourceManager LocRM = new ResourceManager("WindowsApplication1.WinFormStrings", System.Type. GetType("WindowsApplication1.Form1").get_Assembly()); // Assign the string for the "strMessage" key to a message box. MessageBox.Show(LocRM.GetString("strMessage"));
Dica
Por padrão, o objeto ResourceManager diferencia maiúsculas de minúsculas.If you desejar to sem diferenciação de maiúsculas e minúsculas Lookups so that "TXTWELCOME" retrieves the same recurso as "txtWelcome", you can Set the recurso IgnoreCase propriedade to true.No entanto, por razões de desempenho, é melhor especificar sempre o caso correto para seus nomes de recursos.Fazer pesquisas que não diferencia maiúsculas de minúsculas de recursos pode causar problemas de desempenho.
Criar e executar o formulário. Clique no botão.
A caixa de mensagem irá exibir uma seqüência de caracteres apropriada para a configuração de cultura de interface do usuário; ou se não é possível localizar um recurso para a cultura interface do usuário, ele irá exibir uma seqüência dos recursos de fallback.