Domande frequenti su Multilingual App Toolkit & 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 i file con estensione resw (XAML) che con estensione resjson (JavaScript). In questo argomento, tuttavia, 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 come 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 xlf. Ciò rimuove le sfide 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 dal file 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 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 disporre di file con estensione resw in più lingue?

È possibile, ma non lo consigliamo. Se si desidera includere file con estensione resw in più lingue nel progetto e usare il Toolkit, assicurarsi di non avere file con estensione resw e xlf corrispondenti.

Non viene visualizzata un'opzione nel menu Strumenti per abilitare Multilingue 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 indica che è stata avviata una compilazione multilingue di App Toolkit

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

Assicurarsi che il componente "Compila attività 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 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é 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 ri-includerlo, 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 è il modo in cui il riferimento deve essere visualizzato 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 delle risorse del linguaggio predefinito (con estensione resw) è lo schema canonico delle stringhe usate dall'app. I file di risorse tradotti possono contenere tutti o un sottoinsieme 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 per riflettere qualsiasi stringa aggiunta o rimossa o aggiunta o rimozione di file di risorse.
  • I file di risorse vengono aggiornati per riflettere tutte le stringhe tradotte nei file con estensione xlf.

Questo argomento è illustrato in dettaglio in Usare Multilingue 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 localizzata. Questo argomento è illustrato in dettaglio in Usare Multilingue 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 ottenere. Per altre informazioni, vedere Microsoft Translator.

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

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

Che cos'è il linguaggio pseudo e quali sono gli pseudo tracker delle risorse?

Pseudo language è una modifica artificiale del prodotto software destinato a simulare la localizzazione del linguaggio reale. Per altre informazioni su pseudo linguaggio e pseudo resource tracker, vedere Usare Multilingual App Toolkit.

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

Questo argomento è illustrato in Usare Multilingual App Toolkit.

Quale tipo di problemi di localizzazione è possibile trovare usando pseudo linguaggio?

Questo argomento è illustrato in Usare Multilingual App Toolkit.

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

Aprire il file xlf nell'editor multilingue per verificare se sono presenti le traduzioni. Quando le stringhe nel file con estensione resw del linguaggio predefinito vengono modificate in modo esplicito, le traduzioni corrispondenti vengono rimosse dai file con estensione xlf. Si tratta di garantire che una traduzione corrisponda alla stringa di origine. Tradurre le stringhe nel file xlf e ricompilare per aggiornare i file con estensione resw del linguaggio non predefinito.

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 del linguaggio non predefinito. Visual Studio ottimizza il comando Build per compilare solo i file che sono stati modificati dall'ultima compilazione.

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

Il toolkit segnala l'errore 0x80004004 nell'output della 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 l'errore 0x80004005 nell'output della compilazione

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

Questo messaggio può essere visualizzato quando il file 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 suProgetti e soluzioni>opzioni>strumenti>Compilazione ed esecuzione. Modificare la verbosità 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>

Impossibile importare la traduzione

Il processo di importazione esegue la convalida di base prima dell'importazione. Ciò garantisce che le informazioni sulle impostazioni 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 Windows 10, Windows 11 e/o Visual Studio e/o il Toolkit di app multilingue installato?

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 editor multilingue autonomo MAT anche senza Windows 10, Windows 11 né Visual Studio.

Per altre informazioni, vedere Usare Multilingual App Toolkit.

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

Il Toolkit di app multilingue non usa i 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 non modificate durante la traduzione automatica. In questo modo il file XLIFF deve essere autonomo e consente il blocco delle risorse basato su file.

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

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 del file 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 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 più dettagli rispetto a quanto riportato 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 <project-name>.qps-ploc.xlf file 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 rimosso, l'app avrà 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à usate. Ad esempio, l'aggiunta di una nuova lingua a una soluzione abilitata per mat.

Dati di configurazione: informazioni anonime relative alla versione di MAT VS installata in e alla versione di Windows in cui viene eseguita.

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 rete NIC. Non è garantito che sia univoco.
  • TimeStamp/ 01/2022/07T22:04:45.0000000Z/Ora evento 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.