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
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.
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
No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.HTML Client e escolha Adicionar Tela.
Adicione uma tela Procurar Dados chamada BrowseContacts e escolha Contatos como Dados de Tela.
No Gerenciador de Soluções, abra o menu de atalho do nó Cliente HTML e escolha Adicionar Tela.
Adicione uma tela Adicionar/Editar Detalhes chamada AddEditContact e escolha Contato como Dados de Tela.
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.
Na caixa de diálogo Adicionar Botão, na lista showTab, escolha showAddEditContact.
No campo Contato, digite (Novo Contato) e escolha o botão OK.
No Gerenciador de Soluções, abra o menu de atalho do nó Exemplo de Localização e escolha Adicionar Cliente.
Aceite o Cliente de Área de Trabalho padrão e escolha o botão OK.
No Gerenciador de Soluções, abra o menu de atalho do nó Cliente de Área de Trabalho e escolha Adicionar Tela.
Adicione uma tela Novos Dados chamada NewContact e escolha Contato como os Dados de Tela.
No Designer da Tela, escolha o nó Adicionar e Adicionar Texto.
Na caixa de diálogo Editar Texto, insira Adicione um novo contato aqui.
Para localizar a camada de servidor
No Gerenciador de Soluções, expanda o nó Fontes de Dados e abra a entidade Contacts.lsml.
No Entity Designer, escolha o campo ContactName.
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.
No Entity Designer, escolha o campo ContactPhone.
Na janela Propriedades, escolha a propriedade Nome para Exibição e insira $(ContactPhone).
No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.Server, escolha Adicionar e Novo Item.
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.
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.
No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.Server, escolha Adicionar e Novo Item.
Adicione um Arquivo de Recursos e nomeie-o Service.de-DE.resx.
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
No Gerenciador de Soluções, abra a tela NewContact.lsml.
No Designer da Tela, escolha o nó Layout das Linhas | Novo Contato.
Na janela Propriedades, escolha a propriedade Nome para Exibição e insira $(AddContact).
No Designer da Tela, abra o menu de atalho do nó Texto e escolha Editar Conteúdo.
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
No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.DesktopClient, escolha Adicionar e Novo Item.
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.
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
No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.DesktopClient, escolha Adicionar e Novo Item.
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.
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
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.
Abra o arquivo Service.de-DE.resx e adicione os seguintes valores:
Nome
Valor
ErrorMessage
Name darf keine Ausrufezeichen enthalten.
No Gerenciador de Soluções, abra a entidade Contacts.lsml.
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.
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
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
No Gerenciador de Soluções, abra a tela BrowseContacts.lsml.
No Designer de Tela, escolha o nó Exibir Adicionar Editar Contato.
Na janela Propriedades, escolha a propriedade Nome para Exibição e insira $(add).
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.
Nomeie a pasta Recursos.
Abra o menu de atalho do nó Recursos, escolha Adicionar e Novo Item.
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.
No Editor de Códigos, substitua o código pelo seguinte:
{ “add” : “Add a Contact”, “errorMessage” : “Name can’t contain an exclamation mark.“ }
Abra o menu de atalho do nó Recursos, escolha Adicionar e Novo Item.
Adicione outro item Arquivo de Recursos (.resjson) e nomeie-o client.lang-de-DE.resjson.
No Editor de Códigos, substitua o código pelo seguinte:
{ “add” : “Hinzufügen eines Kontakts”, “errorMessage” : “Name darf keine Ausrufezeichen enthalten.“ }
No Gerenciador de Soluções, abra o menu de atalho do nó Localization Sample.HTMLClient e escolha Definir como Cliente de Inicialização.
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