Partilhar via


Instruções passo a passo: localizando um aplicativo LightSwitch

É possível criar um aplicativo do LightSwitch que exiba automaticamente a interface do usuário em vários idiomas por meio de um cliente do Silverlight, um cliente HTML, ou ambos. Nesta instrução passo a passo, você criará um aplicativo, ambos os tipos de clientes e o localizará para o alemão (ou outro idioma para o qual você possa fornecer traduções).

Para localizar o aplicativo, você adicionará um identificador de recurso para cada cadeia de caracteres de exibição no Designer de Tela. Em seguida, para as camadas do cliente e do servidor, você criará um arquivo de recurso para o idioma padrão e outro para o idioma localizado. É possível localizar um aplicativo mesmo que ele possua apenas um tipo de cliente. Incluímos ambos os tipos de modo que você possa praticar a localização de cada um.

Dica

Se você estiver localizando apenas um cliente do SilverLight, talvez seja necessário atualizá-lo primeiro.Na barra de menus, escolha Projeto, Atualizar Projeto.Se o comando Atualizar Projeto não aparece, o projeto já está atualizado.

Esta explicação passo a passo mostra como realizar as tarefas seguintes:

  • Criar o aplicativo

  • Localizar a camada de servidor

  • Localizar a tela de cliente do Silverlight

  • Adicionar recursos de idioma padrão

  • Adicionar recursos localizados

  • Chamar um recurso do código

  • Localizar um cliente HTML

Pré-requisitos

Você precisa de Atualização 2 do Microsoft LightSwitch para Visual Studio para localizar um aplicativo do LightSwitch.

Para criar o aplicativo

  1. Crie um aplicativo usando o modelo Aplicativo HTML do LightSwitch (Visual Basic) ou o modelo Aplicativo HTML do LightSwitch (Visual C#) e o nomeie como Exemplo de Localização.

  2. Adicione uma tabela, nomeie-a Contato e adicione os seguintes campos:

    Nome

    Tipo

    Obrigatório

    ContactName

    Cadeia de caracteres

    Sim

    ContactPhone

    Número de telefone

    Sim

  3. No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.HTML Client e escolha Adicionar Tela.

  4. Adicione uma tela Procurar Dados chamada BrowseContacts e escolha Contatos como Dados de Tela.

  5. No Gerenciador de Soluções, abra o menu de atalho do nó Cliente HTML e escolha Adicionar Tela.

  6. Adicione uma tela Adicionar/Editar Detalhes chamada AddEditContact e escolha Contato como Dados de Tela.

  7. Abra a tela BrowseContacts no Designer de Tela, abra o menu de atalho do nó Layout das Linhas | Lista de Contatos e escolha Adicionar Botão.

  8. Na caixa de diálogo Adicionar Botão, na lista showTab, escolha showAddEditContact.

  9. No campo Contato, digite (Novo Contato) e escolha o botão OK.

  10. No Gerenciador de Soluções, abra o menu de atalho do nó Exemplo de Localização e escolha Adicionar Cliente.

  11. Aceite o Cliente de Área de Trabalho padrão e escolha o botão OK.

  12. No Gerenciador de Soluções, abra o menu de atalho do nó Cliente de Área de Trabalho e escolha Adicionar Tela.

  13. Adicione uma tela Novos Dados chamada NewContact e escolha Contato como os Dados de Tela.

  14. No Designer da Tela, escolha o nó Adicionar e Adicionar Texto.

  15. Na caixa de diálogo Editar Texto, insira Adicione um novo contato aqui.

Para localizar a camada de servidor

  1. No Gerenciador de Soluções, expanda o nó Fontes de Dados e abra a entidade Contacts.lsml.

  2. No Entity Designer, escolha o campo ContactName.

  3. Na janela Propriedades, escolha a propriedade Nome para Exibição e insira $(ContactName).

    A notação $() significa que o valor da propriedade Nome para Exibição é um identificador de recurso. No tempo de execução, o LightSwitch recuperará o valor real de um arquivo de recursos.

    Dica

    Identificadores de recurso podem conter somente letras e números, além de não espaços.

  4. No Entity Designer, escolha o campo ContactPhone.

  5. Na janela Propriedades, escolha a propriedade Nome para Exibição e insira $(ContactPhone).

  6. No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.Server, escolha Adicionar e Novo Item.

  7. Adicione um Arquivo de Recursos e nomeie-o Service.resx.

    Importante

    É sempre necessário nomear o arquivo de recurso do servidor para qualquer aplicativo do LightSwitch Service.resx, e o arquivo deve estar no nó raiz do projeto do servidor.

  8. Adicione os seguintes valores ao arquivo de recurso:

    Nome

    Valor

    ContactName

    Nome

    ContactPhone

    Telefone

    Os valores da coluna Nome correspondem aos identificadores de recurso que você adicionou anteriormente, mas os valores não têm a notação $(). As cadeias de caracteres Valor aparecerão em todas as telas que usarem a entidade Contatos.

  9. No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.Server, escolha Adicionar e Novo Item.

  10. Adicione um Arquivo de Recursos e nomeie-o Service.de-DE.resx.

  11. Adicione os seguintes valores ao arquivo de recurso:

    Nome

    Valor

    ContactName

    Kontaktname

    ContactPhone

    Telefonnummer

    A cadeia de caracteres Valor localizada aparecerá em qualquer tela que use a entidade Contatos. Agora você pode executar o aplicativo e verificar se as cadeias de caracteres de ContactName e ContactPhone aparecem corretamente. Você também pode implantar o aplicativo em um computador que está definido para o idioma alemão e verificar se as cadeias de caracteres localizadas são exibidas.

    Dica

    Como prática recomendada, considere localizar as cadeias de caracteres para todas as entidades na camada de servidor primeiro.Essas cadeias de caracteres aparecerão em qualquer tela que usar as entidades, e você pode substituir as cadeias de caracteres no nível da tela quando necessário.

Para localizar a tela de cliente do Silverlight

  1. No Gerenciador de Soluções, abra a tela NewContact.lsml.

  2. No Designer da Tela, escolha o nó Layout das Linhas | Novo Contato.

  3. Na janela Propriedades, escolha a propriedade Nome para Exibição e insira $(AddContact).

  4. No Designer da Tela, abra o menu de atalho do nó Texto e escolha Editar Conteúdo.

  5. Na janela Propriedades, substitua o texto existente por $(Text).

    Se executar o aplicativo neste ponto, você notará que os identificadores de recurso reais são exibidos na tela. Não se preocupe, pois você corrigirá isso na próxima etapa criando um arquivo padrão para recursos de idioma.

Para adicionar um arquivo padrão para recursos de idioma

  1. No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.DesktopClient, escolha Adicionar e Novo Item.

  2. Adicione um Arquivo de Recursos e nomeie-o Client.resx.

    Importante

    Para qualquer cliente Silverlight de um aplicativo do LightSwitch, você sempre deve nomear o arquivo padrão para os recursos de idioma Client.resx, e o arquivo deve estar no nó da raiz do projeto do cliente.

  3. Adicione os seguintes valores ao arquivo de recurso:

    Nome

    Valor

    AddContact

    Adicionar contato

    Texto

    Adicione informações de contato e escolha o botão Salvar.

    Os valores da coluna Nome correspondem aos identificadores de recurso que você adicionou anteriormente, mas os valores não têm a notação $(). Os valores da coluna Valor são as cadeias de caracteres que aparecerão quando um usuário executar o aplicativo no idioma definido como Idioma Padrão nas configurações do aplicativo.

Para adicionar um arquivo de recurso localizado

  1. No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.DesktopClient, escolha Adicionar e Novo Item.

  2. Adicione um Arquivo de Recursos e nomeie-o Client.de-DE.resx.

    Importante

    É sempre necessário nomear os arquivos de recurso localizados Cliente.LocaleID.resx, em que LocaleID é a ID local do Windows para o idioma que você está definido, e os arquivos devem estar no nó raiz do projeto do cliente.Se você escolher um idioma diferente de alemão, insira a ID da Localidade do idioma em vez de de-DE e ofereça suas próprias traduções na próxima etapa.

  3. Adicione os seguintes valores ao arquivo de recurso:

    Nome

    Valor

    AddContact

    Einen Newen Kontakt erstellen

    Texto

    Fügen Sie die Kontaktinformationen hinzu und speichern Sie dann.

    Essas cadeias de caracteres aparecerão quando você executar o aplicativo em um computador que esteja definido como alemão (ou qualquer idioma escolhido). Se você quiser localizar para vários idiomas, adicione um arquivo de recurso para cada idioma adicional.

    Dica

    Para um cliente do Silverlight que está localizado em muitos idiomas, o pacote ativo de idiomas do Windows determina qual idioma aparecerá.

Para chamar um recurso do código

  1. No Gerenciador de Soluções, abra o arquivo Service.resx e adicione os seguintes valores:

    Nome

    Valor

    ErrorMessage

    O nome não pode conter um ponto de exclamação.

  2. Abra o arquivo Service.de-DE.resx e adicione os seguintes valores:

    Nome

    Valor

    ErrorMessage

    Name darf keine Ausrufezeichen enthalten.

  3. No Gerenciador de Soluções, abra a entidade Contacts.lsml.

  4. No Entity Designer, na lista Escreva o Código, escolha o método Contacts_Validate.

    Dica

    Certifique-se de que a própria entidade esteja selecionada e não um campo de entidade.Caso contrário, ocorrerá um erro de compilação.

  5. No Editor de Códigos, adicione uma instrução Imports ou using:

    Imports My.Resources
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Reflection;
    using System.Resources;
    using System.Text;
    using Microsoft.LightSwitch;
    using Microsoft.LightSwitch.Security.Server;
    namespace LightSwitchApplication
    
  6. Adicione o seguinte código ao método Contacts_Validate:

    If entity.ContactName.Contains(“!”) Then
                    results.AddEntityError(Service.ErrorMessage)
                End If
    
    if (entity.ContactName.Contains("!"))
                {
                    ResourceManager serviceResources = new ResourceManager(
                        "LightSwitchApplication.Service", Assembly.GetExecutingAssembly());
                results.AddEntityError(serviceResources.GetString("ErrorMessage"));
                }
    

    Agora você pode executar o aplicativo, inserir um novo nome de contato que contenha um ponto de exclamação, salvar e verificar se a mensagem de erro aparece. Você também pode implantar o aplicativo em um computador que está definido para o idioma alemão e verificar se a mensagem é exibida em alemão.

Para localizar o cliente HTML

  1. No Gerenciador de Soluções, abra a tela BrowseContacts.lsml.

  2. No Designer de Tela, escolha o nó Exibir Adicionar Editar Contato.

  3. Na janela Propriedades, escolha a propriedade Nome para Exibição e insira $(add).

  4. No Gerenciador de Soluções, expanda o nó Localization Sample.HTMLClient, abra o menu de atalho do nó Conteúdo, escolha Adicionar e Nova Pasta.

  5. Nomeie a pasta Recursos.

  6. Abra o menu de atalho do nó Recursos, escolha Adicionar e Novo Item.

  7. Adicione um item Arquivo de Recursos (.resjson) e nomeie-o client.lang-en-US.resjson.

    Importante

    Em qualquer cliente HTML para um aplicativo do LightSwitch, você deve sempre nomear o arquivo padrão para recursos de idioma client.lang-LocaleID.resjson, em que LocaleID é a ID de localidade do Windows para o idioma no computador de desenvolvimento.Diferentemente do cliente do Silverlight, o cliente HTML não tem o conceito de um idioma padrão.

  8. No Editor de Códigos, substitua o código pelo seguinte:

    {
       “add” : “Add a Contact”,
       “errorMessage” :  “Name can’t contain an exclamation mark.“
    }
    
  9. Abra o menu de atalho do nó Recursos, escolha Adicionar e Novo Item.

  10. Adicione outro item Arquivo de Recursos (.resjson) e nomeie-o client.lang-de-DE.resjson.

  11. No Editor de Códigos, substitua o código pelo seguinte:

    {
       “add” : “Hinzufügen eines Kontakts”,
       “errorMessage” :  “Name darf keine Ausrufezeichen enthalten.“
    
    }
    
  12. No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.HTMLClient e escolha Definir como Cliente de Inicialização.

  13. Abra a tela AddEditContact.lsml e, no Designer de Tela, na lista Escrever Código, substitua o código no método beforeApplyChanges pelo seguinte:

    myapp.AddEditContact.beforeApplyChanges = function (screen) {
        if (screen.Contact.ContactName.indexOf('!') != -1) {
            screen.findContentItem("ContactName").validationResults = [
                new msls.ValidationResult(
                    screen.Contact.details.properties.ContactName,
                    WinJS.Resources.getString("/client/errorMessage").value
                )
            ];
            return false;
        }
    
    };
    

    Agora você pode executar o aplicativo e verificar se a cadeia de caracteres do botão Adicionar um Contato e a mensagem de erro aparecem corretamente. Você também pode implantar o aplicativo em um computador com um navegador que está definido para o idioma alemão e verificar se as cadeias de caracteres localizadas são exibidas.

    Dica

    Para um cliente HTML que está localizado em muitos idiomas, a configuração de idiomas do navegador determina qual idioma aparecerá.

Próximas etapas

Isso é tudo que você deve fazer para localizar um aplicativo LightSwitch. Talvez você tenha observado que várias partes da interface do usuário, como a barra comandos de tela e o menu de navegação, são localizadas automaticamente. É possível substituir as transições automáticas adicionando identificadores de recurso nas propriedades Nome para Exibição ou Descrição dos elementos apropriados. Na verdade, você pode localizar praticamente qualquer parte do seu aplicativo LightSwitch usando as técnicas que acabou de aprender.

Consulte também

Outros recursos

Projetos: o contêiner do aplicativo LightSwitch

O processo de fallback de recurso

Referência da API NLS (Suporte ao Idioma Nacional)