Guida introduttiva: Uso di formati adatti al mercato globale (HTML)
[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]
Progetta la tua app in una prospettiva globale formattando in modo appropriato date, ore, numeri e valute. Ciò consente di adattarla successivamente ad ulteriori lingue e aree geografiche nel mercato globale.
Introduzione
Windows viene usato in tutto il mondo, in una grande varietà di mercati e da clienti di culture, lingue e paesi diversi. Naturalmente, molti sviluppatori creano app pensando solo alla propria lingua e alla propria cultura. Ma se le app si diffondono in altri mercati, adattarle ad altre lingue e altri paesi può risultare difficoltoso anche sotto aspetti del tutto imprevisti. Ad esempio, date, orari, numeri, calendari, valute, numeri di telefono, unità di misura e formati carta sono tutti elementi che possono essere visualizzati in modo diverso a seconda del paese e della lingua.
Il processo di adattamento a nuovi mercati può essere semplificato se si tengono in considerazione alcuni aspetti durante la fase di progettazione iniziale dell'app. Per preparare la tua app al mercato globale, segui queste linee guida durante la progettazione.
Prerequisiti
Pianificare per un mercato globale
Attività
Scegli il formato adeguato per data e ora.
Esistono molti modi diversi per visualizzare correttamente data e ora. In paesi e culture diverse si usano convenzioni diverse riguardo all'ordine di giorno e mese all'interno della data, la separazione di ore e minuti all'interno dell'ora e persino il segno d'interpunzione utilizzato come separatore. Inoltre, la data può essere visualizzata in diversi formati lunghi ("mercoledì 28 marzo 2012") o corti ("28/3/12") che possono variare a seconda del paese e della cultura. Ovviamente, poi, i nomi e le abbreviazioni dei giorni della settimana e dei mesi variano da lingua a lingua.
Se devi consentire agli utenti di scegliere una data o selezionare un'ora, usa i controlli selettore data/ora standard, che utilizzeranno automaticamente i formati di data e ora relativi all’area geografica e alla lingua preferita dall'utente.
Se invece devi provvedere tu alla visualizzazione di data e ora, usa i formattatori Date/Time e Number per visualizzare automaticamente il formato di data, ora e numeri preferito dall'utente. Il codice seguente formatta un valore DateTime dato usando la lingua/la regione geografica preferita. Ad esempio, se la data corrente è 3 giugno 2012, il formattatore restituirà il formato "6/3/2012" se l'impostazione preferita dell'utente è Inglese (Stati Uniti), ma lo restituirà in "03.06.2012" se l'impostazione preferita è Tedesco (Germania):
// Use the Windows.Globalization.DateTimeFormatting.DateTimeFormatter class // to display dates and times using basic formatters. // Formatters for dates and times, using shortdate format. var sdatefmt = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("shortdate"); var stimefmt = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("shorttime"); // Obtain the date that will be formatted. var dateToFormat = new Date(); // Perform the actual formatting. var sdate = sdatefmt.format(dateToFormat); var stime = stimefmt.format(dateToFormat); // Results for display. var results = "Short Date: " + sdate + "\n" + "Short Time: " + stime;
Scegli il formato adeguato per numeri e valute.
Il formato dei numeri cambia a seconda della lingua. Variano, ad esempio, il numero di cifre digitali visualizzate, il segno di interpunzione usato come separatore decimale e il simbolo di valuta da utilizzare. Usa NumberFormatting per visualizzare numeri decimali, percentuali o per mille e valute. Nella maggior parte dei casi ti basterà visualizzare numeri o valute in base alle preferenze attuali dell'utente. Oppure, puoi usare i formattatori per visualizzare la valuta di un determinato formato o area geografica.
Il codice qui di seguito mostra un esempio di visualizzazione delle valute in base alla lingua e all’area geografica preferiti dall'utente o a uno specifico sistema valutario dato:
// This scenario uses the Windows.Globalization.NumberFormatting.CurrencyFormatter class // to format a number as a currency. // Determine the current user's default currency. var userCurrency = Windows.System.UserProfile.GlobalizationPreferences.currencies; // Number to be formatted. var fractionalNumber = 12345.67; // Currency formatter using the current user's preference settings for number formatting. var userCurrencyFormat = new Windows.Globalization.NumberFormatting.CurrencyFormatter(userCurrency); var currencyDefault = userCurrencyFormat.format(fractionalNumber); // Create a formatter initialized to a specific currency, // in this case US Dollar (specified as an ISO 4217 code) // but with the default number formatting for the current user. var currencyFormatUSD = new Windows.Globalization.NumberFormatting.CurrencyFormatter("USD"); var currencyUSD = currencyFormatUSD.format(fractionalNumber); // Create a formatter initialized to a specific currency. // In this case it's the Euro with the default number formatting for France. var currencyFormatEuroFR = new Windows.Globalization.NumberFormatting.CurrencyFormatter("EUR", ["fr-FR"], "FR"); var currencyEuroFR = currencyFormatEuroFR.format(fractionalNumber); // Results for display. var results = "Fixed number (" + fractionalNumber + ")\n" + "With user's default currency: " + currencyDefault + "\n" + "Formatted US Dollar: " + currencyUSD + "\n" + "Formatted Euro (fr-FR defaults): " + currencyEuroFR;
Usa un calendario appropriato alla cultura.
Anche il calendario varia a seconda della lingua e dell’area geografica. Il calendario gregoriano non è quello predefinito per tutti i paesi. Gli utenti di alcune aree potrebbero scegliere calendari alternativi, ad esempio quello delle epoche giapponesi oppure quello lunare arabo. La modifica di data e ora sul calendario risente dei diversi fusi orari o dell'introduzione dell'ora legale.
Usa i controlli selettore data/ora standard per consentire agli utenti di scegliere una data e assicurarti così che venga usato il formato del calendario preferito. Nelle situazioni più complesse, che magari richiedono di eseguire delle operazioni direttamente sulle date del calendario, Windows.Globalization dispone di una classe Calendar che fornisce una rappresentazione del calendario appropriata per la cultura, l’area geografica e il tipo di calendario dati.
Rispetta la lingua e le preferenze culturali dell'utente.
Nelle situazioni in cui offri agli utenti funzionalità diverse in base alle preferenze di lingua o area geografica oppure culturali, Windows ti dà la possibilità di accedere a queste preferenze attraverso Windows.System.UserProfile.GlobalizationPreferences. Se necessario, usa la classe GlobalizationPreferences per ottenere il valore relativo all’area geografica, alla lingua preferita, alla valuta preferita e così via degli utenti.
Argomenti correlati
Aggiunta di oggetti DatePicker e TimePicker
Linee guida ed elenchi di controllo per la globalizzazione della tua app
Pianificare per un mercato globale
Riferimento
Windows.Globalization.Calendar
Windows.Globalization.DateTimeFormatting
Windows.Globalization.NumberFormatting
Windows.System.UserProfile.GlobalizationPreferences
Esempi
Esempio di dati e calcoli sul calendario