Linee guida per la globalizzazione e la localizzazione

Applies to Windows and Windows Phone

Segui queste procedure consigliate per globalizzare le tue app per un pubblico più esteso e per localizzare le app per un mercato specifico.

Per scoprire come usare le funzionalità di globalizzazione nella tua app, vedi:

Cosa fare e cosa non fare

Globalizzazione

Prepara la tua app per adattarla facilmente a diversi mercati, scegliendo termini e immagini appropriati per l'interfaccia utente, usando le API Globalization per formattare i dati dell'app e evitando presupposti relativi al luogo o alla lingua di destinazione.

ConsiglioDescrizione

Usare i formati corretti per numeri, date, ore, indirizzi e numeri di telefono.

La formattazione usata per i numeri, le date, le ore e altre forme di dati varia in base a cultura, area geografica, lingua e mercato. Per la visualizzazione di numeri, date, ore o altri dati, usa le API Globalization per ottenere il formato appropriato per un dato pubblico.

Per altre info, vedi Guida introduttiva: Utilizzo di formati predisposti per l'uso su scala globale (app di Windows Store in JavaScript e HTML) o Guida introduttiva: Uso di formati predisposti per l'uso su scala globale (app di Windows Store con C#/VB/C++ e XAML).

Supportare formati di carta internazionali.

I formati di carta più comuni sono diversi nei vari paesi, quindi se includi funzionalità dipendenti dai formati di carta, come la stampa, assicurati di supportare e testare i formati internazionali più comuni.

Supportare unità di misura e valute internazionali.

Nei vari paesi si utilizzano unità di misura e scale diverse, sebbene i sistemi più diffusi siano quello metrico e quello imperiale. Se la tua app deve gestire misure, come lunghezza, temperatura o area, recupera le impostazioni di misura corrette del sistema tramite lo spazio dei nomi Globalization. Se la tua app supporta la visualizzazione di valute, assicurati di usare la formattazione corretta. Puoi anche ottenere la valuta corretta per l'area geografica dell'utente tramite la proprietà CurrenciesInUse.

Visualizzare testo e tipi di carattere in modo corretto.

Il tipo di carattere, le dimensioni del carattere e la direzione del testo ideali variano per i diversi mercati.

Per altre info, vedi Guida introduttiva: Uso di formati predisposti per l'uso su scala globale (app di Windows Store con C#/VB/C++ e XAML) o How to adjust layout and fonts for various languages, and support RTL layouts (Windows Store apps using C#/VB/C++ and XAML).

Usare Unicode per la codifica dei caratteri.

Per impostazione predefinita, le versioni recenti di Microsoft Visual Studio usano la codifica di caratteri Unicode per tutti i documenti. Se usi un editor diverso, assicurati di salvare i file sorgenti con le codifiche di caratteri Unicode appropriate. Tutte le API di Windows Runtime restituiscono stringhe con codifica UTF-16.

Registrare la lingua di input.

Quando la tua app richiede input di testo agli utenti, registra la lingua di input. In questo modo puoi assicurarti che l'input visualizzato in seguito venga presentato agli utenti con la formattazione appropriata. Usa la proprietà CurrentInputMethodLanguage per recuperare la lingua di input corrente.

Non basarti sulla lingua per dedurre la posizione di un utente e viceversa.

In Windows, la lingua e la posizione dell'utente sono concetti separati. Un utente può parlare una particolare variante regionale di una lingua, come en-gb per l'inglese parlato nel Regno Unito, ma potrebbe trovarsi in un'area geografica o in un paese completamente diverso. Valuta se le tue app devono disporre di informazioni sulla lingua dell'utente, ad esempio per il testo dell'interfaccia utente, o sulla posizione, ad esempio per questioni correlate alle licenze.

Per altre info, vedi Come gestire la lingua e l'area geografica (app di Windows Store con JavaScript e HTML) o How to manage language and region (Windows Store apps using C#/VB/C++ and XAML).

Non usare colloquialismi e metafore.

Il linguaggio specifico di un solo gruppo demografico, ad esempio per cultura ed età, può essere difficile da comprendere o tradurre perché è usato solo dalle persone che appartengono a tale gruppo. In modo analogo, le metafore possono avere un significato per una persona, ma non per altre. Ad esempio, la parola "bluebird" ha un significato specifico per gli appassionati di sci, ma chi non appartiene a questo gruppo non capirà il riferimento. Se prevedi di localizzare l'app e adotti un tono informale, accertati di spiegare adeguatamente ai localizzatori il significato e lo stile da usare nella traduzione.

Non usare termini del gergo tecnico, abbreviazioni o acronimi.

Il linguaggio tecnico è probabilmente poco comprensibile per un pubblico non tecnico o per persone di altre culture e aree geografiche, oltre a essere difficile da tradurre. Le persone non usano questo genere di parole nelle conversazioni di tutti i giorni. Il linguaggio tecnico viene spesso usato nei messaggi di errore per identificare problemi hardware e software. In certi casi può essere necessario, ma in linea generale dovresti riscrivere le stringhe senza usare termini tecnici.

Evita immagini che potrebbero risultare offensive.

Immagini che possono essere appropriate nella tua cultura potrebbero essere invece offensive o causare equivoci in altre culture. Evita di usare simboli religiosi, animali o combinazioni di colori associate a bandiere nazionali o movimenti politici.

Evitare elementi politicamente offensivi nelle mappe o nei riferimenti ad aree geografiche.

Le mappe possono contenere confini regionali o nazionali controversi, frequente causa di situazioni politicamente offensive. Assicurati che qualsiasi elemento di interfaccia utente usato per selezionare una nazione vi faccia riferimento con "paese/area geografica". L'inserimento di un territorio conteso in un elenco denominato "Paesi", ad esempio in un modulo per l'indirizzo, può crearti notevoli problemi.

Non usare il confronto stringhe da solo per confrontare i tag di lingua.

I tag di lingua BCP-47 sono complessi. Il confronto dei tag di lingua implica vari problemi, inclusi problemi di abbinamento delle informazioni sui codici di scrittura, tag legacy e più varianti regionali. Il sistema di gestione delle risorse in Windows gestisce l'individuazione delle corrispondenze corrette. Puoi specificare un set di risorse in qualsiasi lingua e il sistema sceglie quella appropriata per l'utente e l'app.

Per altre info sulla gestione delle risorse, vedi Definizione delle risorse dell'app (app di Windows Store scritte in JavaScript e HTML) o Definizione delle risorse dell'app (app di Windows Store scritte in C#/VB/C++ e XAML).

Non dare per scontato che l'ordinamento sia sempre alfabetico.

Per le lingue che non usano lo script latino, l'ordinamento è basato su elementi come la pronuncia, il numero di tratti di penna e altri fattori. Anche le lingue che usano lo script latino non sempre usano l'ordinamento alfabetico. In alcune culture, ad esempio, è possibile che un elenco telefonico non sia ordinato alfabeticamente. Il sistema può gestire automaticamente l'ordinamento, ma se decidi di creare un algoritmo di ordinamento specifico, assicurati di tenere conto dei metodi di ordinamento usati nei tuoi mercati target.

 

Localizzazione

ConsiglioDescrizione

Separare dal codice le risorse come le stringhe di interfaccia utente e le immagini.

Progetta le tue app in modo che questo tipo di risorse, come le stringhe e le immagini, siano separate dal codice. In questo modo è possibile gestirle, localizzarle e anche personalizzarle in modo indipendente per diversi fattori di ridimensionamento, opzioni di accessibilità e una miriade di altri contesti di utenti e computer.

Separa la risorse stringa dal codice dell'app per creare una singola codebase indipendente dalla lingua. Separa sempre le stringhe dal codice dell'app e dal markup, e collocale in un file di risorse, ad esempio un file ResW o ResJSON.

Usa l'infrastruttura delle risorse in Windows per gestire la selezione delle risorse più appropriate per adattarle all'ambiente di runtime dell'utente. Per altre informazioni, vedi Guidelines for app resources.

Isolare altri file di risorse localizzabili.

Posiziona gli altri file che devono essere localizzati, come le immagini che contengono testo da tradurre o da adattare alle diverse culture, in cartelle con il nome della lingua.

Impostare la lingua predefinita e contrassegnare tutte le risorse, anche quelle nella lingua predefinita.

Imposta sempre nel modo appropriato la lingua predefinita per le tue app. La lingua predefinita determina quale lingua verrà usata per gli utenti che non parlano nessuna delle lingue supportate dall'app. Contrassegna le risorse nella lingua predefinita, ad esempio it-it/Logo.png, con la rispettiva lingua, in modo che il sistema possa identificare la lingua della risorsa e come usarla in situazioni particolari.

Individuare le risorse dell'app che devono essere localizzate.

Cosa deve essere modificato se l'app viene localizzata per altri mercati? Le stringhe di testo devono essere tradotte in altre lingue. Potrebbe essere necessario adattare le immagini ad altre culture. Valuta gli effetti della localizzazione su altre risorse usate dall'app, come elementi audio o video.

Usare identificatori di risorsa nel codice e nel markup per fare riferimento alle risorse.

Invece di usare stringhe letterali o nomi di file specifici per le immagini nel markup, usa riferimenti alle risorse. Assicurati di usare identificatori univoci per ogni risorsa. Per altre info, vedi How to name resources using qualifiers (Windows Store apps using C#/VB/C++ and XAML) o How to name resources using qualifiers (Windows Store apps using JavaScript and HTML).

Prevedere l'aumento delle dimensioni del testo.

Alloca buffer di testo dinamici, perché le dimensioni del testo possono aumentare con la traduzione. Se devi usare buffer statici, impostali con dimensioni molto più grandi, in modo da disporre di spazio sufficiente per la potenziale espansione dopo la traduzione delle stringhe. Nel caso dell'inglese come lingua di partenza, ad esempio, consigliamo di prevedere anche il doppio della lunghezza della stringa originale. Lo spazio disponibile per un'interfaccia utente potrebbe anche essere limitato. Per ottenere spazio sufficiente per le lingue localizzate, assicurati che la lunghezza della stringa sia circa il 40% maggiore rispetto a quella necessaria per la lingua inglese. Per stringhe molto brevi, come singole parole, potresti avere bisogno anche del 300% di spazio in più. Puoi anche abilitare il supporto di più righe e il ritorno a capo del testo nei controlli per lasciare più spazio per visualizzare ogni stringa.

Supportare la disposizione speculare degli elementi dell'interfaccia utente.

L'allineamento del testo e l'ordine di lettura possono essere da sinistra a destra, come in italiano, o da destra a sinistra, come in arabo o ebraico. Se intendi localizzare il prodotto in lingue che usano un ordine di lettura diverso dal tuo, assicurati che il layout degli elementi dell'interfaccia utente supporti la disposizione speculare. Potrebbe essere necessario disporre in modo speculare anche gli elementi come i pulsanti Indietro, gli effetti di transizione dell'interfaccia utente e le immagini.

Per altre info, vedi Guida introduttiva: Uso di formati predisposti per l'uso su scala globale (app di Windows Store con C#/VB/C++ e XAML) o How to adjust layout and fonts for various languages, and localize fonts (Windows Store apps using C#/VB/C++ and XAML).

Aggiungere commenti per le stringhe.

Assicurati che per le stringhe siano disponibili commenti appropriati e di fornire ai localizzatori solo le stringhe che devono essere tradotte. La localizzazione di stringhe da non tradurre è una fonte comune di problemi.

Usare stringhe brevi.

Le stringhe più brevi sono più facili da tradurre e consentono il riciclo delle traduzioni. Con il riciclo delle traduzioni si ottengono risparmi perché non è necessario inviare più volte la stessa stringa al localizzatore.

Le stringhe con una lunghezza maggiore di 8192 caratteri potrebbero non essere supportate da alcuni strumenti di localizzazione, quindi cerca di mantenere le stringhe entro una lunghezza massima di 4000 caratteri.

Usare stringhe che contengono frasi intere.

Specifica stringhe che contengono una frase intera, invece di separare la frase in parole singole, perché la traduzione delle parole potrebbe dipendere dalla relativa posizione in una frase. Inoltre, non dare per scontato che in una frase con più parametri, tali parametri rimangano nello stesso ordine in tutte le lingue.

Ottimizza immagini e file audio per la localizzazione.

Riduci i costi di localizzazione evitando l'uso di testo nelle immagini o commenti vocali nei file audio. Se devi localizzare l'app in una lingua con una diversa direzione di lettura, l'uso di immagini ed effetti simmetrici può facilitare il supporto della disposizione speculare.

Non riutilizzare le stesse stringhe in contesti diversi.

Non riutilizzare le stesse stringhe in contesti diversi, perché anche parole semplici come "on" e "off" possono essere tradotte in modo diverso a seconda del contesto.

 

Argomenti correlati

Per sviluppatori (HTML)
Windows.Globalization namespace
Globalizzazione dell'app
Guidelines for app resources
Per sviluppatori (XAML)
Windows.Globalization namespace
Globalizzazione dell'app
Guidelines for app resources
Esempio
Esempio di risorse dell'applicazione e localizzazione
Esempio di preferenze globali

 

 

Mostra:
© 2014 Microsoft