Multilingual App Toolkit 4.0 - Domande frequenti & risoluzione dei problemi

Questo argomento fornisce risposte a domande frequenti e problemi relativi a Multilingual App Toolkit (MAT).

Vedere anche Usare Multilingual App Toolkit.

Nota Il toolkit supporta sia file con estensione resw (XAML) che file con estensione resjson (JavaScript). Ma in questo argomento si farà riferimento solo ai file con estensione resw. Un file con estensione resw è noto come file di risorse. Contiene stringhe, nella lingua predefinita o tradotte in un'altra lingua. La cartella che contiene un file con estensione resw viene in genere denominata per il valore di un tag di lingua.

Sono necessari file con estensione resw in più lingue?

No. Uno dei vantaggi principali del Toolkit è che i file con estensione resw in più lingue non sono necessari. Il Toolkit gestisce e sincronizza le risorse dell'app usando i file con estensione xlf. In questo modo vengono rimosse le problematiche associate alla sincronizzazione del contenuto tra più file con estensione resw.

I progetti che contengono file con estensione resw e xlf corrispondenti causano l'ignorare le traduzioni del file con estensione xlf. In questo caso, viene visualizzato un avviso durante la compilazione per informare che le traduzioni con estensione xlf non sono incluse nell'app finale. Un file con estensione resw e un file con estensione xlf corrispondono quando hanno una lingua di destinazione con lo stesso codice linguistico. Un esempio di coppia corrispondente sarebbe Strings\de-DE\Resources.resw e un <project-name>.de-DE.xlf file (contenente target-language="de-DE").

È possibile avere file con estensione resw in più lingue?

È possibile, ma non è consigliabile. Se si desidera includere file con estensione resw in più lingue nel progetto e usare toolkit, assicurarsi di non avere file con estensione resw e xlf corrispondenti.

Non viene visualizzata un'opzione nel menu Strumenti per abilitare Multilingual App Toolkit

Provare questi passaggi.

  • Assicurarsi di selezionare il nodo del progetto, non il nodo della soluzione, prima di aprire il menu Strumenti .
  • Verificare che l'estensione toolkit sia installata usando Gestione estensioni di Visual Studio.
  • Verificare che il progetto sia un progetto UWP.

Quando si compila il progetto, non viene visualizzato un messaggio che informa che è stata avviata una compilazione Multilingual App Toolkit

Verificare di aver abilitato il MAT per il progetto. Nel menu Strumenti, selezionare Multilingual App Toolkit>Abilita selezione. Se il progetto è stato abilitato con una versione precedente, disabilitare e riabilitare il MAT usando il menu Strumenti . Questo aggiorna il progetto per l'uso con la nuova versione del Toolkit.

Verificare che il componente "Attività di compilazione per tutte le edizioni di Visual Studio" sia stato installato. Questo componente di compilazione viene installato con l'estensione , ma può essere deselezionato manualmente durante l'installazione. Questo componente è necessario per aggiornare i file con estensione xlf e aggiungere la traduzione nel file PRI. Quando questo componente viene installato e funziona correttamente, verranno visualizzati questi messaggi di compilazione.

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

Il toolkit segnala che non è stato individuato alcun file di linguaggio XLIFF durante la compilazione

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

Questo messaggio viene visualizzato quando il toolkit non trova file nel progetto con estensione xlf. Il toolkit genera e mantiene questi file nella MultilingualResources cartella per impostazione predefinita. Possono essere spostati; ma è consigliabile lasciarli in quella cartella perché ciò consente all'editor multilingue di individuare i file di metadati correlati.

Il file con estensione xlf non è incluso nell'elenco dei file elaborati dal toolkit durante la compilazione

Se si esclude manualmente un file con estensione xlf dal progetto e quindi lo si ri-include, l'elemento del tipo di file potrebbe non essere impostato correttamente. In Visual Studio selezionare il file e controllare il Finestra Proprietà. L'azione di compilazione del file deve essere impostata su XliffResource e Copia nella directory di output deve essere impostata su Non copiare. Questo è l'aspetto del riferimento nel file di progetto.

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

Sono state aggiunte lingue basate su xlf. Dove sono le stringhe?

Il file di risorse del linguaggio predefinito (con estensione resw) è lo "schema" canonico delle stringhe usate dall'app. I file di risorse tradotti possono contenere tutte o un subset di queste stringhe.

Quando si compila il progetto, i file di risorse e i file con estensione xlf vengono sincronizzati.

  • I file con estensione xlf vengono aggiornati in modo da riflettere qualsiasi stringa aggiunta o rimossa o aggiunta o rimozione di file di risorse.
  • I file di risorse vengono aggiornati per riflettere le stringhe tradotte nei file con estensione xlf.

Questo argomento è illustrato in dettaglio in Usare Multilingual App Toolkit.

Quando si compila il progetto, i file con estensione xlf rimangono vuoti

Prima di poter usare il MAT in modo efficace, l'app deve essere localizzabile. Questo argomento è illustrato in dettaglio in Usare Multilingual App Toolkit.

Cos'è Microsoft Translator?

Microsoft Translator è un servizio basato sul cloud che fornisce la traduzione basata su computer. La traduzione automatica è ideale per ottenere l'accesso alla traduzione quando la traduzione umana non è ragionevole da ottenere. Per altre informazioni, vedere Microsoft Translator.

Il Toolkit usa il servizio Microsoft Translator per fornire suggerimenti per la traduzione. È possibile visualizzare le lingue supportate da Microsoft Translator quando l'icona di Microsoft Translator è presente nella finestra di dialogo Lingue di traduzione.

È possibile tradurre rapidamente l'app usando Microsoft Translator dall'interno dell'editor multilingue selezionando una stringa e facendo clic su Traduci.

Che cos'è lo pseudo-linguaggio e che cosa sono gli pseudo-tracker delle risorse?

Pseudo-linguaggio è una modifica artificiale del prodotto software destinato a simulare la localizzazione del linguaggio reale. Per altri dettagli sulla pseudo lingua e sugli pseudo-strumenti di monitoraggio delle risorse, vedere Usare Multilingual App Toolkit.

Ricerca per categorie impostare la preferenza per la lingua su pseudo-linguaggio, in modo da poter testare le stringhe pseudo-loc?

Questo è illustrato in Usare Multilingual App Toolkit.

Che tipo di problemi di localizzabilità è possibile trovare usando pseudo-linguaggio?

Questo è illustrato in Usare Multilingual App Toolkit.

Non vengono visualizzate traduzioni quando si avvia l'app o l'app viene tradotta solo parzialmente

Aprire il file con estensione xlf nell'editor multilingue per verificare se le traduzioni sono presenti. Quando le stringhe nel file con estensione resw della lingua predefinita vengono modificate in modo esplicito, tutte le traduzioni corrispondenti vengono rimosse dai file con estensione xlf. Ciò consente di assicurarsi che una traduzione corrisponda alla stringa di origine. Traslare le stringhe nei file con estensione xlf e ricompilare per aggiornare i file con estensione resw della lingua non predefinita.

Se le stringhe vengono tradotte nei file con estensione xlf, ma non vengono visualizzate nell'app, ricompilare il progetto per aggiornare i file con estensione resw della lingua non predefinita. Visual Studio ottimizza il comando Compila per compilare solo i file modificati dopo l'ultima compilazione.

Controllare l'ordine delle preferenze di lingua. Assicurarsi che la lingua da testare sia elencata nella parte superiore dell'elenco delle preferenze linguistiche in Impostazioni.

Il toolkit segnala errori 0x80004004 nell'output di compilazione

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

Questo messaggio può essere visualizzato quando il formato dell'area è in conflitto con l'operazione di compilazione del toolkit. La soluzione alternativa consiste nel modificare la lingua in Impostazioni in en-US durante la compilazione.

Il toolkit segnala errori 0x80004005 nell'output di compilazione

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

Questo messaggio può essere visualizzato quando il file con estensione xlf contiene una lingua di destinazione non supportata. Ad esempio, "zh-cht" non è corretto (modificarlo in "zh-hant") e "zh-chs" non è corretto (modificarlo in "zh-hans").

È possibile trovare altre informazioni sugli errori visualizzati?

Sì, è possibile attivare la registrazione dettagliata in Visual Studio. Fare clic su Strumenti>Opzioni>Progetti e soluzioni>Compila ed esegui. Modificare il livello di dettaglio dell'output della compilazione del progetto MSBuild da Minimo a Normale o superiore.

L'esecuzione di MSBuild dalla riga di comando può anche produrre messaggi aggiuntivi.

msbuild /t:rebuild <project-name>

Importazione traduzione non riuscita

Il processo di importazione esegue la convalida di base prima dell'importazione. In questo modo si garantisce che le informazioni sulle cultura di destinazione nei file importati corrispondano a quella nei file .xlf esistenti. Aprire i file con estensione xlf nell'editor multilingue e assicurarsi che le informazioni sulle impostazioni cultura corrispondano.

Cosa accade se il traduttore non ha Installato Windows 10, Windows 11 e/o Visual Studio e/o Multilingual App Toolkit?

Quando si seleziona Output: Destinatario posta nella finestra di dialogo Esporta risorse stringa, il messaggio di posta elettronica include un collegamento per scaricare e installare Multilingual App Toolkit (MAT). Il traduttore può comunque installare lo strumento Multilingual Editor autonomo MAT anche senza Windows 10, Windows 11 o Visual Studio.

Per altri dettagli, consultare Usare Multilingual App Toolkit.

Cosa è successo ai file 'MarkupRules.xml' e 'ResourcesLocks.xml'?

Multilingual App Toolkit non usa file di blocco delle risorse proprietari. Al contrario, il tag <mrk> XLIFF 1.2 viene aggiunto direttamente al file con estensione xlf per identificare le stringhe che non vengono modificate durante la traduzione automatica. In questo modo il file XLIFF può essere indipendente e consente il blocco delle risorse per ogni file.

Questi file di supporto aggiuntivi non sono più necessari ed è possibile eliminarli in modo sicuro se sono disponibili.

Che cosa è successo al file con estensione tpx?

Il file con estensione tpx ha fornito un modo semplice per includere i MarkupRules.xml file e ResourcesLocks.xml quando il file con estensione xlf è stato inviato per la traduzione. Questa funzionalità non è più necessaria.

Se sono presenti traduzioni in un file con estensione tpx che è necessario recuperare, è sufficiente rinominare l'estensione di file con estensione tpx in .zip. In questo modo sarà possibile aprire ed estrarre il contenuto con Esplora file o qualsiasi strumento compatibile con .zip.

Penso di aver fatto tutto bene, ma ancora non funziona

Provare questi passaggi.

  1. Aggiungere traduzioni usando uno dei metodi già descritti.
  2. Eseguire il dump del file con estensione pri (vedere MakePri.exe opzioni della riga di comando) per verificare se le traduzioni si trovano nel file pri. Le traduzioni verranno visualizzate con il codice della lingua e il valore tradotto in questo modo.
    <Candidate qualifiers="Language-QPS-PLOC" type="String">
        <Value>[!!_Ŝéãřćĥ_!!]</Value>
    </Candidate>
    
  3. Compilare da un prompt dei comandi; L'errore risultante può avere maggiori dettagli rispetto a quanto segnalato nell'output di compilazione.

La certificazione dell'app non è riuscita in Microsoft Store

Prima di avviare il processo di certificazione di Microsoft Store, è necessario escludere il file <project-name>.qps-ploc.xlf dal progetto. La pseudo lingua viene usata per rilevare potenziali problemi di localizzazione o bug, ma non è una lingua valida di Microsoft Store. Se non viene rimossa, all'app verrà attribuito esito negativo durante il processo di certificazione di Microsoft Store.

Quali dati vengono raccolti?

L'estensione Multilingual App Toolkit Visual Studio (MAT VS) raccoglie i dati di utilizzo anonimi e li invia ai server Microsoft per migliorare i prodotti e i servizi. La telemetria è disattivata per impostazione predefinita e può essere abilitata o disabilitata in qualsiasi momento.

Dati di utilizzo: informazioni anonime sulle funzionalità in uso. Ad esempio: aggiunta di una nuova lingua a una soluzione abilitata per MAT.

Dati di configurazione: si tratta di informazioni anonime relative alla versione di MAT VS installata in e alla versione di Windows in cui è in esecuzione.

Di seguito è riportato un esempio concreto dei dati raccolti nel formato seguente, Chiave/Valore/Note:

  • AddLanguage/MachineID: xxxx/ Si basa su un hash della scheda di interfaccia di rete. Non è garantito che sia univoco.
  • TimeStamp / 2022/01/07T22:04:45.0000000Z / Evento time si è verificato.
  • MAT_Version/ 4.1.02 / Versione di MAT installata.
  • Lingue/fr,es,de/DE/Elenco di lingue aggiunte al progetto.

Tutti i dati vengono raccolti usando Application Insights e inviati ad Azure Log Analytics. I dati vengono conservati per 90 giorni e quindi eliminati.