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

Este tópico fornece respostas para perguntas frequentes e problemas relacionados ao MAT (Kit de Ferramentas de Aplicativo Multilíngue).

Consulte também Usar o Kit de Ferramentas de Aplicativo Multilíngue.

Observação O kit de ferramentas oferece suporte a arquivos .resw (XAML) e .resjson (JavaScript). No entanto, neste tópico vamos nos referir somente a arquivos. resw. Um arquivo .resw é conhecido como Arquivo de Recursos. Ele contém cadeias de caracteres, no idioma padrão ou traduzidas para outro idioma. A pasta que contém um arquivo .resw geralmente é nomeada de acordo com o valor da marca de idioma.

Preciso de arquivos .resw em vários idiomas?

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

Os projetos que contêm arquivos .resw 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 .resw 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.resw e um arquivo <project-name>.de-DE.xlf (contendo target-language="de-DE").

Posso ter arquivos .resw em vários idiomas?

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

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

Experimente estas etapas.

  • Certifique-se de que você selecionou o nó do projeto, não o nó da solução, antes de abrir o menu Ferramentas.
  • Confirme se a extensão do kit de ferramentas está instalada usando o Gerenciador de Extensões do Visual Studio.
  • Confirme se o seu projeto é um projeto UWP.

Ao compilar o meu projeto, não recebo uma mensagem dizendo que a compilação do Kit de Ferramentas de Aplicativo Multilíngue foi iniciada

Confirme se você habilitou o MAT para o seu projeto. No menu Ferramentas, selecione Kit de Ferramentas de Aplicativo Multilíngue>Habilitar seleção. Se seu projeto foi habilitado usando uma versão anterior, desabilite e habilite novamente o MAT usando o menu Ferramentas. Isso atualiza o projeto para trabalhar com a nova versão do Kit de Ferramentas.

Verifique se o componente "Tarefa de Compilação para todas as edições do Visual Studio" foi instalado. O componente de compilação é instalado com a extensão, mas ele 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ê recebe as 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 arquivo de linguagem XLIFF durante a compilação.

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

Essa mensagem é exibida quando o kit de ferramentas não encontra nenhum arquivo no projeto com uma extensão .xlf. O kit de ferramentas gera e mantém esses arquivos na pasta MultilingualResources por padrão. Eles podem ser movidos; mas é melhor deixá-los nessa pasta, pois isso permite que o Editor Multilíngue encontre os arquivos de metadados relacionados.

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 No Visual Studio, selecione o arquivo e verifique a janela Propriedades. A Ação de Compilação do arquivo deve ser definida como XliffResource, enquanto Copiar para Diretório de Saída definida como Não copiar. É assim que a referência deve aparecer no seu arquivo de projeto.

<XliffResource Include="MultilingualResources\<project-name>.fr-FR.xlf" />

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

O idioma padrão Arquivo de Recursos (.resw) é o "esquema" canônico das cadeias de caracteres que seu app usa. Os Arquivos de Recursos traduzidos podem conter todas ou um subconjunto dessas cadeias de caracteres.

Ao compilar o projeto, seus Arquivos de Recursos e seus arquivos .xlf são sincronizados.

  • Os arquivos .xlf são atualizados para refletir cadeias de caracteres adicionadas ou removidas, ou adicionar ou remover Arquivos de Recursos.
  • Os Arquivos de Recursos são atualizados de modo a refletir cadeias de caracteres traduzidas nos arquivos .xlf.

Isso é explicado detalhadamente em Usar o Kit de Ferramentas de Aplicativo Multilíngue.

Quando compilo meu projeto, os arquivos .xlf permanecem vazios

Antes de usar efetivamente o MAT, seu app precisa estar localizável. Isso é explicado detalhadamente em Usar o Kit de Ferramentas de Aplicativo Multilíngue.

O que é 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 Translator para fornecer sugestões de tradução a você. Você pode ver quais idiomas têm suporte pelo Microsoft Translator quando o ícone do Microsoft Translator está presente no diálogo Idiomas de Tradução.

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

O que é pseudoidioma, e o que são pseudorastreadores de recursos?

Pseudoidioma é uma modificação artificial do produto de software destinada a simular a localização de idiomas reais. Você pode encontrar mais detalhes sobre pseudo-linguagem e pseudo-rastreadores de recursos em Usar o Kit de Ferramentas de Aplicativo Multilíngue.

Como configuro minha preferência de idioma para pseudoidioma de modo a poder testar minhas cadeias de caracteres pseudo-loc'd?

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

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

Abra o arquivo .xlf no Editor Multilíngue para ver se há traduções presentes. Quando as cadeias de caracteres do arquivo .resw no idioma padrão são alteradas de forma explícita, quaisquer traduções correspondentes são removidas dos arquivos .xlf. Isso ocorre para garantir que a tradução corresponda à sua cadeia de caracteres de origem. Traduza a(s) cadeia(s) de caracteres no(s) arquivo(s) .xlf e recompile para atualizar o(s) arquivo(s) .resw no idioma não padrão.

Se as suas cadeias de caracteres estiverem traduzidas nos arquivos .xlf, mas não estiverem aparecendo no seu app, faça a compilação do seu projeto novamente para atualizar o(s) arquivo(s) .resw no idioma não padrão. O Visual Studio otimiza o comando Compilar para compilar somente os arquivos que foram alterados desde a última Compilação.

Verifique a ordem de preferência do seu idioma. Verifique se o idioma que você deseja testar está listado na parte superior da sua lista de preferências de idioma em Configurações.

O kit de ferramentas está relatando 0x80004004 de erro na saída do build

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

Essa mensagem pode ser exibida quando o formato da região entra em conflito com a operação de compilação do kit de ferramentas. A solução alternativa é alterar o seu idioma em Configurações para en-US durante a compilação.

O kit de ferramentas está relatando 0x80004005 de erro na saída do build

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

Essa mensagem pode ser exibida quando o arquivo .xlf contém um idioma de destino sem suporte. Por exemplo, "zh-cht" está incorreto (alterar para "zh-hant"), e "zh-chs" está incorreto (alterar 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. Clique em Ferramentas>Opções>Projetos e Soluções>Compilar e Executar. Altere Detalhamento da saída de compilação do projeto no MSBuild de Mínimo para Normal ou superior.

Executar MSBuild na linha de comando também pode produzir mensagens adicionais.

msbuild /t:rebuild <project-name>

Falha na importação da tradução

O processo de importação executa uma validação básica antes da importação. Isso garante que as informações da cultura de destino nos arquivos que estão sendo importados correspondam aos arquivos .xlf existentes. Abra os arquivos .xlf no Editor Multilíngue e certifique-se de que as informações de cultura correspondem.

E se meu tradutor não tiver o Windows 10, Windows 11 e/ou Visual Studio e/ou o Kit de Ferramentas de Aplicativo Multilíngue instalado?

Quando você seleciona Saída: destinatário de email na caixa de diálogo Exportar recursos de cadeia de caracteres, o email inclui um link para baixar e instalar o MAT (Kit de Ferramentas de Aplicativo Multilíngue). O tradutor ainda pode instalar a ferramenta editor multilíngue autônomo mat mesmo sem o Windows 10, Windows 11 nem o Visual Studio.

Para obter mais detalhes, consulte Usar o Kit de Ferramentas de Aplicativo Multilíngue.

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

O Kit de Ferramentas de Aplicativo Multilíngue não usa arquivos proprietários de bloqueio de recursos. 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.

Esses arquivos de suporte extra não são mais necessários e você pode excluí-los com segurança se tiver algum deles.

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. Esse recurso não é mais necessário.

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.

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

Experimente estas etapas.

  1. Adicione traduções usando um dos métodos já descritos.
  2. Despeje o arquivo .pri (consulte Opções de linha de comando 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 da seguinte forma:
    <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.

Meu app falhou na certificação da Microsoft Store

Antes de começar o processo de Certificação da Microsoft Store, exclua o arquivo <project-name>.qps-ploc.xlf do projeto. O pseudoidioma é usado para detectar possíveis problemas ou bugs de localização, mas não é um idioma válido da Microsoft Store. Se não for removido, haverá falha em seu app durante o processo de Certificação da Microsoft Store.

Quais dados você está coletando?

A extensão DO MAT VS (Kit de Ferramentas de Aplicativo Multilíngue) coleta dados de uso anônimos e os envia aos servidores da Microsoft para ajudar a melhorar nossos produtos e serviços. A telemetria está desativada por padrão e pode ser habilitada ou desabilitada a qualquer momento.

Dados de uso: são informações anônimas sobre quais recursos estão sendo usados. Por exemplo: adicionar uma nova linguagem a uma solução habilitada para MAT.

Dados de configuração: são informações anônimas sobre a versão do MAT VS instalada no e a versão do Windows em que ele está sendo executado.

Veja abaixo um exemplo concreto dos dados coletados no seguinte formato, Chave/Valor/Observações:

  • AddLanguage / MachineID: xxxx / Isso se baseia em um hash da NIC do adaptador de rede. Não há garantia de que ele seja exclusivo.
  • TimeStamp / 2022/01/07T22:04:45.0000000Z / Evento de hora ocorreu.
  • MAT_Version / 4.1.02 / Versão do MAT instalada.
  • Idiomas / fr,es,de/DE / Lista de idiomas adicionados ao projeto.

Todos os dados são coletados usando o Application Insights e enviados para o Azure Log Analytics. Os dados são retidos por 90 dias e excluídos.