Determinazione delle impostazioni internazionali

Flash Player 10.1 e versioni successive, Adobe AIR 2.0 e versioni successive

Le impostazioni internazionali identificano una combinazione specifica di lingua e convenzioni culturali per un paese o una regione.

Un identificatore delle impostazioni internazionali può essere gestito in maniera sicura come una stringa. Tuttavia, potete utilizzare la classe LocaleID per ottenere informazioni aggiuntive correlate alle impostazioni internazionali.

Create un oggetto LocaleID come descritto di seguito:

var locale:LocaleID = new LocaleID("es-MX");

Dopo aver creato l'oggetto LocaleID, potete recuperare i dati relativi all'ID impostazioni internazionali utilizzando i metodi getKeysAndValues() , getLanguage() , getRegion() , getScript() , getVariant() e isRightToLeft() e la proprietà name .

I valori recuperati per questi metodi e proprietà possono riflettere informazioni aggiuntive sulle impostazioni internazioni che non possono essere estratte direttamente dall'identificatore impostazioni internazionali.

Quando un'applicazione crea un servizio basato sulle impostazioni internazionali, ad esempio un formattatore di data, deve specificare le impostazioni internazionali previste. L'elenco delle impostazioni internazionali supportate varia da un sistema operativo all'altro, pertanto le impostazioni internazionali richieste potrebbero non essere disponibili.

Flash Player tenta innanzitutto di far corrispondere il codice della lingua delle impostazioni internazionali richieste. Quindi prova a definire con precisione le impostazioni internazionali individuando sistema di scrittura (script) e regione corrispondenti. Ad esempio:

var loc:LocaleID = new LocaleID("es"); 
trace(loc.getLanguage()); // es 
trace(loc.getScript()); // Latn 
trace(loc.getRegion()); // ES

In questo esempio, il costruttore LocaleID() recupera dati relativi alle impostazioni internazionali che meglio corrispondono al codice lingua “es” per quell'utente.

Impostazione dell'ID impostazioni internazionali

Le impostazioni internazionali correnti per un'applicazione possono essere impostate in vari modi:

  • Codificando un singolo ID impostazioni internazionali nell'applicazione. Questo approccio è comune, ma non supporta l'internazionalizzazione dell'applicazione.

  • Utilizzando le preferenze ID impostazioni internazionali del sistema operativo, o browser, dell'utente o altre preferenze utente. Questa tecnica offre in genere le migliori impostazioni internazionali per l'utente, ma non è sempre accurata. Esiste il rischio che le impostazioni del sistema operativo non riflettano le preferenze effettive dell'utente. Ad esempio, è possibile che l'utente utilizzi un computer condiviso e che non sia in grado di modificare le impostazioni internazioni preferite del sistema operativo.

  • Dopo aver impostato l'ID impostazioni internazionali in base alle preferenze dell'utente, consentite all'utente di scegliere da un elenco di impostazioni internazionali supportate. Questa strategia è in genere l'opzione migliore se l'applicazione può supportare più impostazioni internazionali.

Potete implementare questa terza opzione come segue:

  1. Recuperate un elenco delle impostazioni internazionali o delle lingue preferite dall'utente da un profilo dell'utente, impostazioni browser, impostazioni sistema operativo o un cookie. (L'applicazione deve implementare autonomamente questa logica, poiché la libreria flash.globalization non supporta la lettura diretta di tali preferenze.)

  2. Determinate quali impostazioni internazionali sono supportate dall'applicazione e selezionate le migliori come predefinite. Utilizzate il metodo LocaleID.determinePreferredLocales() per individuare le impostazioni internazionali migliori per un utente in base alle impostazioni internazionali preferite e quelle supportate dal sistema operativo.

  3. Offrite all'utente un modo per modificare le impostazioni internazionali predefinite nel caso non siano soddisfacenti.

Limitazioni di altre classi impostazioni internazionali e lingua

La classe fl.lang.Locale consente di sostituire stringhe di testo basate su impostazioni internazionali, utilizzando pacchetti di risorse contenenti valori stringa. Tuttavia, questa classe non supporta altre funzioni di internazionalizzazione, ad esempio numeri, valuta o formattazione delle date, ordinamento e corrispondenza e così via. Inoltre, questa classe è disponibile solo con Flash Professional.

Potete anche recuperare il codice di lingua corrente per il sistema operativo utilizzando la proprietà flash.system.Capabilities.language . Tuttavia, questa proprietà recupera solo il codice di lingua ISO 639-1 a due caratteri, non l'ID impostazioni internazionali completo, inoltre supporta solo un set specifico di impostazioni internazionali.

Con AIR 1.5, potete utilizzare la proprietà flash.system.Capabilities.languages . Questa proprietà fornisce un array delle lingue dell'interfaccia utente preferite. Pertanto, non include le limitazioni di Capabilities.language .