Perguntas frequentes e guia de solução de problemas do Kit de Ferramentas de Aplicativo Multilíngue

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente ]

Instalação

Quais são os requisitos do sistema?

Sistemas operacionais com suporte: Windows 8 (RTM ou posterior, edições de 32-bits ou 64-bits).

Software obrigatório: Microsoft Visual Studio.

Requisitos de espaço em disco: 10MB (32 bits), 10MB (64 bits).

Quais linguagens de programação têm suporte pelo Kit de Ferramentas?

O Kit de Ferramentas dá suporte a todo o desenvolvimento de aplicativo do Windows que usa o ambiente de Tempo de Execução do Windows (WinRT). Isso inclui arquivos .resw (XAML) e .resjson (JavaScript), mas para o restante desse documento faremos referência somente a arquivos .resjson.

Habilitando o Kit de Ferramentas de Aplicativo Multilíngue

Preciso de arquivos .resjson em vários idiomas?

Não. Um dos principais benefícios do Kit de Ferramentas é que não são necessários arquivos .resjson em vários idiomas. O Kit de Ferramentas gerencia e sincroniza os recursos do seu aplicativo usando os arquivos .xlf do projeto. Isso remove os desafios associados à manutenção do conteúdo sincronizado em vários arquivos .resjson.

Os projetos que contêm arquivos .resjson e .xlf correspondentes fazem com que as traduções do arquivo .xlf sejam ignoradas. Quando isso acontece, um aviso é exibido durante a compilação para que você saiba que as traduções do .xlf não estão incluídas no aplicativo final. Um arquivo .resjson e um arquivo .xlf são correspondentes quando possuem um idioma de destino com o mesmo código de idioma. Um exemplo de par correspondente seria strings\de-DE\resources.resjson e um arquivo (Germany).xlf em alemão com atributos de idioma de destino de "de-DE".

Posso ter arquivos .resjson em vários idiomas?

Sim, mas não recomendamos. Se você deseja incluir arquivos .resjson em vários idiomas em seu projeto e usar o Kit de Ferramentas, verifique se você não tem arquivos .resjson e .xlf correspondentes.

Não vejo uma opção no menu Ferramentas para Habilitar Kit de Ferramentas de Aplicativo Multilíngue.

Experimente estas etapas:

  1. Verifique se você selecionou o Nome de projeto, não a Solução, antes de selecionar Ferramentas.
  2. Verifique se a extensão do Kit de Ferramentas está instalada usando o Gerenciador de Extensões.
  3. Verifique se que seu projeto é um projeto de aplicativo da Windows Store.

Não vejo a compilação do Kit de Ferramentas de Aplicativo Multilíngue inicializada. quando compilo meu projeto.

Verifique se você habilitou seu projeto usando Habilitar Kit de Ferramentas de Aplicativo Multilíngue no menu Ferramentas. Se seu aplicativo foi habilitado usando uma versão anterior, desabilite e habilite o Kit de Ferramentas de Aplicativo Multilíngue usando o menu Ferramentas. Isso atualiza o projeto para trabalhar com a nova versão do Kit de Ferramentas.

Verifique se o componente "Build Task para todas as edições do Visual Studio" foi instalado. O componente de compilação é instalado com a extensão, mas pode ser desmarcado manualmente durante a instalação. Esse componente é necessário para atualizar os arquivos .xlf e adicionar a tradução ao arquivo PRI. Quando esse componente é instalado e funciona corretamente, você vê as seguintes mensagens de compilação:

1> Multilingual App Toolkit build started.
1> Multilingual App Toolkit build completed successfully.

O Kit de Ferramentas está relatando que não localizou nenhum arquivos de linguagem XLIFF durante a compilação.

Mensagem:

No XLIFF language files were found.  The app will not contain any localized resources.

Isso acontece quando o Kit de Ferramentas não encontra nenhum arquivo no projeto com uma extensão .xlf. Esses arquivos são colocados na pasta "MultilingualResources" por padrão. Eles podem ser movidos, mas é melhor deixá-los nesta pasta, pois permite que o editor encontre os arquivos de metadados relacionados.

Clique com o botão direito do mouse no nome de projeto e selecione Adicionar Idiomas de Tradução... na janela Gerenciador de Soluções. Isso abre a caixa de diálogo usada para adicionar idiomas baseados em .xlf. Todo idioma baseado em .xlf existente detectável pelo Kit de Ferramentas terá a caixa de seleção pré-marcada para indicar que o idioma já está incluído no projeto.

Meu arquivo .xlf não está incluído na lista de arquivos processados pelo Kit de Ferramentas durante a compilação.

Se um arquivo .xlf for excluído reincluído em um projeto, o elemento de tipo de arquivo poderá ser definido incorretamente. Para verificar esta condição, abra o arquivo de projeto diretamente e olhe para o tipo de inclusão do arquivo .xlf. O elemento de tipo deve ser definido para "Nenhum" para que o Kit de Ferramentas processe o arquivo. Se ele estiver definido como "Conteúdo" ou outro valor, altere-o para "Nenhum". Salve o arquivo de projeto e recarregue o projeto.

Exemplo: o tipo German (Germany).xlf está incorreto:

<Content Include="MultilingualResources\German (Germany).xlf" />
<None Include="MultilingualResources\Pseudo Language %28Pseudo%29.xlf" />

Adicionei idiomas baseados em .xlf. Onde estão minhas cadeias de caracteres?

Os idiomas escolhidos foram adicionados à pasta "MultilingualResources". Os arquivos de idioma estão vazios quando são criados pela primeira vez. As cadeias de caracteres de arquivos .resjson são populadas nesses arquivos .xlf durante a próxima recompilação.

Quando compilo meu projeto, os arquivos .xlf permanecem vazios.

Experimente estas etapas:

  1. Use Recompilar para garantir que os arquivos .xlf sejam atualizados. O Visual Studio otimiza o comando Compilar para compilar só os arquivos que mudaram desde a última Compilação. O Visual Studio não detecta alterações quando novos arquivos .xlf são adicionados.
  2. Verifique se o seu aplicativo dá suporte ao modelo de projeto de globalização e localização de aplicativo da Windows Store. Veja os outros tópicos sobre como globalizar seu aplicativo.

Adicionando idiomas ao seu aplicativo

O que é o serviço Microsoft Translator?

O Microsoft Translator é um serviço baseado em nuvem que fornece tradução baseada em máquina. A tradução por máquina é ideal para ter acesso à tradução quando a tradução humana não é razoável. Você pode saber mais em Microsoft Translator.

O Kit de Ferramentas usa o serviço Microsoft para fornecer sugestões de tradução a desenvolvedores. Você pode ver quais idiomas têm suporte pelo Microsoft Translator quando o ícone do Microsoft Translator está presente na janela Adicionar Idiomas de Tradução.

Você pode traduzir rapidamente seu aplicativo usando o Microsoft Translator no Editor Multilíngue selecionando uma cadeia de caracteres e clicando no botão Traduzir.

Pseudoidioma.

Pseudoidioma é uma modificação artificial do produto de software que simula a localização de idiomas reais, mas que permanece legível aos falantes nativos. O pseudoidioma substitui caracteres e expande o comprimento da cadeia do recurso para detectar potenciais problemas ou bugs de localização no início do ciclo do projeto, antes de a localização real começar. Para saber mais sobre testes de possibilidade de localização com o Pseudoidioma, veja Testes de possibilidade de localização.

O que são pseudocontroladores de recursos?

Além da substituição e expansão de caracteres, o pseudomecanismo fornece um identificador de controle exclusivo a cada recurso. Este tracker é anexado ao início de cada cadeia de caracteres e entre colchetes [xxxxx]. Você pode usar esses rastreadores durante o teste de inspeção visual da interface do usuário. Eles podem ajudar a rastrear recursos específicos no produto, especialmente se vários recursos possuem texto similar ou duplicado.

No texto de exemplo a seguir, "Hello World", a pseudotradução é expandida para ocupar aproximadamente 30% mais espaço de tela. Em seguida, é aplicado o rastreador de recursos:

"Hello World" -> "Ĥèĺļõ Ŵòŗłđ" -> "[!!_Ĥèĺļõ Ŵòŗłđ_!!]" -> “[hJ8s1][!!_Ĥèĺļõ Ŵòŗłđ_!!]"

Os controladores de recursos estão habilitados por padrão e podem ser vistos no arquivo PseudoSettings.config sob o atributo "EnableResourceTracker = true". Esse parâmetro pode ser alterado para false, se desejado.

Não consigo encontrar o Pseudoidioma na lista de Preferências de Idioma do Windows 8.

Inglês (qps-ploc) não é exibido por padrão na lista de preferências de idioma do Windows 8. Para adicionar Inglês (qps-ploc):

  1. Abra o Painel de Controle e selecione Relógio, Idioma e Região > Idioma.
  2. Clique em Adicionar um idioma.
  3. Na caixa de pesquisa, digite qps-ploc. Verifique se digitou o código de idioma completo; se for código parcial, o Pseudo-idioma não será retornado nos resultados de pesquisa.
  4. Escolha English (pseudo-qps) e clique em Adicionar.
  5. Verifique se English (qps-ploc) está na parte superior da lista de idiomas preferidos.

Testando

Não estou vendo nenhuma tradução quando inicializo meu aplicativo ou meu aplicativo está traduzido apenas parcialmente.

  1. Verifique se o seu arquivo .xlf contém traduções.

    Abra o arquivo .xlf no Editor Multilíngue para ver se há traduções presentes. Quando as cadeias de caracteres no arquivo .resjson ou .resw são atualizadas, quaisquer traduções relacionadas são removidas. Isso é para garantir que a tradução corresponda à cadeia de caracteres relacionada. Traduza a cadeia de caracteres e recompile.

  2. Minhas cadeias de caracteres estão traduzidas, mas ainda não aparecem em meu aplicativo.

    Use Recompilar para garantir que o arquivo .xlf atualizado seja incluído no arquivo PRI do seu aplicativo. O Visual Studio otimiza o comando Compilar para compilar somente os arquivos que foram alterados desde a última Compilação. Atualmente, os arquivos .xlf não acionam automaticamente a necessidade de recompilação.

  3. Verifique a sua ordem de preferência de idioma.

    Verifique se o idioma que você está testando está listado na parte superior da lista de preferências de idioma. O aplicativo exibe os idiomas nessa ordem e, se o idioma padrão do aplicativo não estiver no início, talvez você nunca possa suas traduções.

Que tipo de problemas de tradução posso encontrar usando o Pseudoidioma?

  • Truncamentos da interface do usuário. O Pseudoidioma adiciona caracteres à sua cadeia de caracteres para mostrar como a cadeia de caracteres pode se parecer após a tradução.
  • Cadeias de caracteres codificadas. Se você vir o Texto inglês regular em seu aplicativo de Pseudoidioma, saberá que a cadeia de caracteres foi codificada e não está sendo traduzida pelo Kit de Ferramentas.

Para saber mais sobre o Pseudoidioma e os testes de possibilidade de localização, veja Testes de possibilidade de localização.

Meu aplicativo não está sendo exibido de acordo com minha preferência de idioma.

A preferência de idioma é determinada por como seus idiomas são ordenadas, de cima para baixo. Verifique se a ordem está correta antes de implantar seu aplicativo. Abra o Painel de Controle, selecione Relógio, Idioma e Região > Idioma, selecione um idioma e clique em Mover para cima ou Mover para baixo para alterar a ordem.

O Kit de Ferramentas está relatando um erro 0x80004004 na saída da compilação.

Mensagem:

Merge of Loc PRI file failed calling makepri.exe: "0x80004004"

Isso pode acontecer quando o formato da região entra em conflitos com a operação de compilação do Kit de Ferramentas. A solução é alterar o seu código de região para en-US durante a compilação.

O Kit de Ferramentas está relatando um erro 0x80004005 na saída da compilação.

Mensagem:

Merge of Loc PRI file failed calling makepri.exe: "0x80004005"

Isso pode acontecer quando o arquivo .xlf contém um idioma de destino sem suporte. A versão Customer Preview do Kit de Ferramentas de Aplicativo Multilíngue usou incorretamente a cultura de destino "zh-cht" para chinês tradicional e "zh-chs" para chinês simplificado. Isso foi corrigido das versões anteriores.

Para corrigir esse erro, modifique manualmente os arquivos .xlf que contêm os códigos incorretos. Altere "zh-cht" para "zh-hant" e "zh-chs" para "zh-hans".

Existe uma maneira de descobrir mais informações sobre os erros que eu estou vendo?

Sim, você pode ativar o log detalhado no Visual Studio. Selecione o menu Ferramentas > Opções para exibir a caixa de diálogo Opções. Em seguida, expanda Projetos e Soluções e selecione Compilar e Executar. Altere Detalhamento da saída de compilação do projeto no MSBuild de Mínimo para Normal ou superior.

Observação  Executar msbuild na linha de comando também pode produzir mensagens adicionais. Tente compilar o projeto a partir da linha de comando do Visual Studio:

msbuild /t:rebuild <projectname>

 

Importando/exportando arquivos XLIFF

Falha na importação da tradução

A importação executa a validação básica antes da importação para garantir que as informações da cultura de destino sejam correspondentes entre o arquivo .xlf existente e o .xlf que está sendo importado. Abra os arquivos .xlf no Editor Multilíngue e verifique se as informações de cultura são correspondentes.

E se meu tradutor não tiver o Windows 8 / Visual Studio / Kit de Ferramentas de Aplicativo Multilíngue instalado?

Está ok! Quando você seleciona Enviar para tradução, o email inclui um link para baixar e instalar o Kit de Ferramentas de Aplicativo Multilíngue. Sem o Windows 8 e o Visual Studio, o Editor Multilíngue é o único componente instalável.

Quando os arquivos de tradução estiverem prontos e forem retornados para você, clique com o botão direito do mouse no arquivo .xlf, selecione Importar Traduções e selecione o arquivo .xlf retornado.

Recursos substituídos

O que aconteceu com os arquivos MarkupRules.xml e ResourcesLocks.xml?

A versão lançada do Kit de Ferramentas de Aplicativo Multilíngue não usa mais os arquivos de bloqueio de recursos proprietários. Em vez disso, a marca XLIFF 1.2 <mrk> é adicionada diretamente ao arquivo .xlf para identificar cadeias de caracteres que não são modificadas durante a tradução automática. Isso permite que o arquivo XLIFF seja independente, enquanto permite o bloqueio de recursos por arquivo.

Como resultado, esses arquivos de suporte extra não são mais necessários e podem ser excluídos com segurança dos projetos criados com uma versão anterior do Kit de Ferramentas.

O que aconteceu com o arquivo .TPX?

O arquivo .TPX proporcionava uma maneira fácil de incluir os arquivos MarkupRules.xml e ResourcesLocks.xml quando o arquivo .xlf era enviado para tradução. Com a remoção dos dois arquivos de suporte, essa funcionalidade não é mais necessária.

Se você tiver traduções em um arquivo .TPX que precisa recuperar, simplesmente renomeie a extensão de arquivo .TPX para .ZIP. Isso permitirá que você abra e extraia o conteúdo com o Explorador de Arquivos ou com qualquer ferramenta compatível com .ZIP.

Outras perguntas

Acho que fiz tudo certo, mas ainda não está funcionando.

Experimente estas etapas:

  1. Adicione traduções usando um dos métodos descritos acima.

  2. Despeje o arquivo .pri (documentado em Configuração de MakePRI.exe) para ver se suas traduções estão no arquivo .pri. As traduções aparecerão com o código de idioma e o valor traduzido:

    <Candidate qualifiers="Language-QPS-PLOC" type="String">
        <Value>[!!_Ŝéãřćĥ_!!]</Value>
    </Candidate>
    
  3. Compilado a partir de um prompt de comando; o erro resultante pode ter mais detalhes do que o que é relatado na saída da compilação.

Habilitei meu aplicativo usando o Kit de Ferramentas de Aplicativo Multilíngue para o Visual Studio 11 Beta ou RC. Preciso fazer algo especial?

Sim. Depois de instalar o Kit de Ferramentas de Aplicativo Multilíngue v1.0, você precisa desabilitar e habilitar novamente o Kit de Ferramentas de Aplicativo Multilíngue usando o menu Ferramentas. Isso atualizará o projeto para trabalhar com a versão mais recente do Kit de Ferramentas.

Instalei o Windows 8 e o Visual Studio 2012 e o Kit de Ferramentas de Aplicativo Multilíngue para o Visual Studio 11 Beta.

Se você usou Programas e Recursos para desinstalar o Kit de Ferramentas de Aplicativo Multilíngue, o Release Preview do Kit de Ferramentas não será instalado porque ainda está instalado no Visual Studio.

Para corrigir isso, execute o Visual Studio e desinstale a extensão do Kit de Ferramentas de Aplicativo Multilíngue por meio do Gerenciador de Extensões.

Meu aplicativo falhou na certificação da Windows Store.

Verifique se o seu aplicativo contém apenas idiomas suportados. Antes de começar o processo de certificação, recomendamos excluir o arquivo do Pseudoidioma (Pseudo).xlf do projeto. O Pseudoidioma não é um idioma selecionável pela Windows Store, e sua inclusão é indiferente aos seus clientes.

Tópicos relacionados

Globalizando seu aplicativo

Microsoft Translator

Testes de localizabilidade

Configuração de MakePRI.exe