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 dá suporte a arquivos .resw (XAML) e .resjson (JavaScript). Mas neste tópico vamos nos referir apenas aos arquivos .resw. Um arquivo .resw é conhecido como Arquivo de Recursos. Ele contém cadeias de caracteres, no idioma padrão ou traduzido para outro idioma. A pasta que contém um arquivo .resw normalmente é nomeada de acordo com o valor de uma marca de idioma.
Preciso de arquivos .resw em vários idiomas?
Não. Um dos principais benefícios do Toolkit é que os arquivos .resw em vários idiomas não são necessários. O Toolkit gerencia e sincroniza os recursos do seu aplicativo usando arquivos .xlf. Isso elimina os desafios associados a manter o 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 o build para que você saiba que as traduções .xlf não estão incluídas no aplicativo final. Um arquivo .resw e um arquivo .xlf correspondem quando têm um idioma de destino com o mesmo código de idioma. Um exemplo de um par correspondente seria Strings\de-DE\Resources.resw
e um <project-name>.de-DE.xlf
arquivo (contendo target-language="de-DE"
).
Posso ter arquivos .resw em vários idiomas?
Você pode, mas não recomendamos. Se você quiser incluir arquivos .resw em vários idiomas em seu projeto e usar o Toolkit, certifique-se de não ter arquivos .resw e .xlf correspondentes.
Não vejo uma opção no menu Ferramentas para habilitar o Kit de Ferramentas de Aplicativo Multilíngue
Tente estas etapas.
- Certifique-se de selecionar 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 seu projeto é um projeto UWP.
Quando compilo meu projeto, não vejo uma mensagem informando que um build do Kit de Ferramentas de Aplicativo Multilíngue foi iniciado
Confirme se você habilitou o MAT para seu projeto. No menu Ferramentas, selecione Kit de Ferramentas de Aplicativo Multilíngue> Habilitar seleção. Se o projeto foi habilitado com uma versão anterior, desabilite e habilite novamente o MAT usando o menu Ferramentas . Isso atualiza o projeto para funcionar com a nova versão do Toolkit.
Verifique se o componente "Tarefa de Build para todas as edições do Visual Studio" foi instalado. Esse 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 conversão ao arquivo PRI. Quando esse componente estiver instalado e funcionando corretamente, você verá essas 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 idioma 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 MultilingualResources
pasta por padrão. Eles podem ser movidos; mas é melhor deixá-los nessa pasta porque isso permite que o Editor Multilíngue localize 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 você excluir manualmente um arquivo .xlf do projeto e, em seguida, incluí-lo novamente, o elemento de tipo de arquivo poderá não estar definido corretamente. No Visual Studio, selecione o arquivo e verifique a janela Propriedades. A Ação de Build do arquivo deve ser definida como XliffResource e Copiar para o Diretório de Saída deve ser definida como Não copiar. É assim que a referência deve ficar no arquivo de projeto.
<XliffResource Include="MultilingualResources\<project-name>.fr-FR.xlf" />
Eu adicionei linguagens baseadas em .xlf. Onde estão minhas cordas?
Seu idioma padrão Resources File (.resw) é o "esquema" canônico das strings que seu aplicativo usa. Os arquivos de recursos traduzidos podem conter todas essas cadeias de caracteres ou um subconjunto delas.
Quando você cria seu projeto, seus arquivos de recursos e seus arquivos .xlf são sincronizados.
- Os arquivos .xlf são atualizados para refletir qualquer cadeia de caracteres adicionada ou removida ou arquivos de recursos adicionados ou removidos.
- Os arquivos de recursos são atualizados para refletir todas as cadeias de caracteres traduzidas nos arquivos .xlf.
Isso é explicado em detalhes em Usar o Kit de Ferramentas de Aplicativo Multilíngue.
Quando eu construo meu projeto, os arquivos .xlf permanecem vazios
Antes que você possa usar o MAT de forma eficiente, seu aplicativo precisa ser localizável. Isso é explicado em detalhes 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 automática é ideal para obter acesso à tradução quando a tradução humana não é razoável de obter. Você pode saber mais no Microsoft Translator.
O Toolkit usa o serviço Microsoft Translator para fornecer sugestões de tradução para você. Você pode ver quais idiomas são compatíveis com o Microsoft Translator quando o ícone do Microsoft Translator está presente na caixa de diálogo Idiomas de Tradução.
Você pode traduzir rapidamente seu aplicativo usando o Microsoft Translator de dentro do Editor Multilíngue selecionando uma cadeia de caracteres e clicando em Traduzir.
O que é pseudolinguagem e o que são pseudorastreadores de recursos?
Pseudo idioma é uma modificação artificial do produto de software destinada a simular a localização de idioma real. Você pode encontrar mais detalhes sobre pseudolinguagem e pseudo rastreadores de recursos em Usar o Kit de Ferramentas de Aplicativo Multilíngue.
Como faço para definir minha preferência de idioma para pseudo idioma, para que eu possa testar minhas strings pseudo-localizadas?
Isso é explicado em Usar o Kit de Ferramentas de Aplicativo Multilíngue.
Que tipo de problemas de localização posso encontrar usando pseudolinguagem?
Isso é explicado em Usar o Kit de Ferramentas de Aplicativo Multilíngue.
Não estou vendo nenhuma tradução quando inicio meu aplicativo ou meu aplicativo está traduzido apenas parcialmente
Abra o arquivo .xlf no Editor Multilíngue para ver se as traduções estão presentes. Quando as cadeias de caracteres no arquivo .resw do idioma padrão são alteradas explicitamente, todas as traduções correspondentes são removidas dos arquivos .xlf. Isso é para garantir que uma tradução corresponda à sua cadeia de caracteres de origem. Traduza a(s) string(s) no(s) arquivo(s) .xlf e recompile para atualizar o(s) arquivo(s) .resw de idioma não padrão.
Se suas cadeias de caracteres forem traduzidas no(s) arquivo(s) .xlf, mas não estiverem aparecendo em seu aplicativo, recompile seu projeto para atualizar o(s) arquivo(s) .resw de idioma não padrão. O Visual Studio otimiza o comando Build para compilar apenas arquivos que foram alterados desde o último Build.
Verifique sua ordem de preferência de idioma. Certifique-se de que o idioma que você deseja testar esteja listado na parte superior da lista de preferências de idioma em Configurações.
O kit de ferramentas está relatando 0x80004004 de erro na saída de 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 construção do kit de ferramentas. A solução alternativa é alterar o idioma em Configurações para en-US durante a compilação.
O kit de ferramentas está relatando 0x80004005 de erro na saída de compilação
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 (altere-o para "zh-hant") e "zh-chs" está incorreto (altere-o para "zh-hans").
Existe uma maneira de descobrir mais informações sobre os erros que 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 o detalhamento da saída de build do projeto MSBuild de Mínimo para Normal ou superior.
A execução do 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 a validação básica antes da importação. Isso garante que as informações de cultura de destino nos arquivos que estão sendo importados correspondam às dos arquivos .xlf existentes. Abra os arquivos .xlf no Editor Multilíngue e verifique se as informações de cultura correspondem.
E se meu tradutor não tiver o Windows 10, o Windows 11 e/ou o 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 (Multilingual App Toolkit). Seu tradutor ainda pode instalar a ferramenta Editor Multilíngue autônoma do MAT, mesmo sem o Windows 10, o Windows 11 ou 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 de bloqueio de recursos proprietários. Em vez disso, a tag <mrk>
XLIFF 1.2 é adicionada diretamente ao arquivo .xlf para identificar strings que não são modificadas durante a tradução automática. Isso permite que o arquivo XLIFF seja independente e permite o bloqueio de recursos baseado por arquivo.
Esses arquivos de suporte extras não são mais necessários e você pode excluí-los com segurança, se os tiver.
O que aconteceu com o arquivo .tpx?
O arquivo .tpx forneceu uma maneira fácil de incluir os MarkupRules.xml
arquivos e ResourcesLocks.xml
quando o arquivo .xlf foi enviado para tradução. Essa funcionalidade não é mais necessária.
Se você tiver traduções em um arquivo .tpx que precisa recuperar, basta renomear a extensão do arquivo .tpx para .zip. Isso permitirá que você abra e extraia o conteúdo com o Explorador de Arquivos ou qualquer ferramenta compatível com .zip.
Acho que fiz tudo certo, mas ainda não está funcionando
Tente estas etapas.
- Adicione traduções usando um dos métodos já descritos.
- Despeje o arquivo .pri (consulte MakePri.exe opções de linha de comando) para ver se suas traduções estão no arquivo .pri. As traduções aparecerão com o código do idioma e o valor traduzido como este.
<Candidate qualifiers="Language-QPS-PLOC" type="String"> <Value>[!!_Ŝéãřćĥ_!!]</Value> </Candidate>
- Construa a partir de um prompt de comando; O erro resultante pode ter mais detalhes do que o relatado na saída de compilação.
Meu aplicativo falhou na certificação para a Microsoft Store
Antes de iniciar o processo de Certificação da Microsoft Store, você deve excluir o arquivo <project-name>.qps-ploc.xlf
do seu projeto. O pseudo-idioma é usado para detectar possíveis problemas ou bugs de localizabilidade, mas não é um idioma válido da Microsoft Store. Se ele não for removido, seu aplicativo irá falhar durante o processo de Certificação da Microsoft Store.
Quais dados você está coletando?
A extensão MAT VS (Kit de Ferramentas de Aplicativo Multilíngue Visual Studio) coleta dados de uso anônimos e os envia aos servidores da Microsoft para ajudar a melhorar nossos produtos e serviços. A telemetria fica 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 um novo idioma 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 e a versão do Windows em que ele está sendo executado.
Abaixo está um exemplo concreto dos dados coletados no seguinte formato, Chave / Valor / Notas:
- AddLanguage / MachineID: xxxx / Isso se baseia em um hash da placa de rede do adaptador de rede. Não é garantido que seja único.
- TimeStamp / 2022/01/07T22:04:45.0000000Z / Hora em que o evento 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 depois excluídos.