Considerazioni sulla localizzazione per i dispositivi

Aggiornamento: novembre 2007

A differenza della versione completa di .NET Framework, in .NET Compact Framework è disponibile uno spazio limitato per le risorse necessarie per la localizzazione o la globalizzazione delle applicazioni, come le tabelle di ordinamento, i convertitori del formato della data, gli operatori di confronto delle stringhe e altre utilità di globalizzazione.

Gli sviluppatori devono determinare se il sistema operativo del dispositivo è in grado di rappresentare correttamente l'applicazione. Tra un'applicazione scritta per la versione completa di .NET Framework, da eseguire in un PC, e una scritta per .NET Compact Framework, da eseguire in un dispositivo, possono esistere differenze legate alle caratteristiche e ai requisiti di globalizzazione.

.NET Compact Framework restituisce ArgumentException se si crea un'istanza di CultureInfo che rappresenta impostazioni cultura non supportate in .NET Compact Framework o nel sistema operativo del dispositivo.

Quando possibile, in .NET Compact Framework viene utilizzato il sistema operativo nativo per eseguire il rendering del contenuto in modo da adattarlo alle impostazioni internazionali, ad esempio per l'utilizzo del tipo di carattere appropriato. Vengono delegate al sistema operativo del dispositivo anche le operazioni di confronto tra stringhe, che devono risultare corrette dal punto di vista della lingua, e la gestione di maiuscole e minuscole, ad esempio quando si utilizzano Compare, ToUpper eToLower.

Impostazioni cultura correnti

Non è possibile definire le impostazioni cultura correnti a livello di codice nel dispositivo. Le impostazioni cultura dipendono dal dispositivo e possono essere definite dal produttore o configurate manualmente dall'utente, utilizzando ad esempio la voce Impostazioni internazionali in un Pocket PC in cui sia in esecuzione Windows CE o Windows CE .NET.

All'avvio di un'applicazione vengono utilizzate le impostazioni internazionali del dispositivo, il cui valore è rappresentato dalle proprietà CurrentCulture e CurrentUICulture. In .NET Compact Framework tali proprietà sono in sola lettura.

Se nel sistema operativo del dispositivo è supportata l'interfaccia MUI (Multilingual User Interface), in .NET Compact Framework è disponibile un'impostazione a parte per la lingua dell'interfaccia utente, il cui valore viene riflesso in CurrentUICulture. Se nel dispositivo non è supportata l'interfaccia MUI, il valore di CurrentUICulture viene impostato sul valore predefinito CurrentCulture.

.NET Compact Framework non supporta le proprietà CurrentCulture e CurrentUICulture per un oggetto Thread, poiché le impostazioni cultura si basano sul dispositivo e non sul thread.

Considerazioni di progettazione sulla localizzazione per dispositivi

Durante la localizzazione di applicazioni per Smart Device è necessario tenere conto dei problemi di supporto e dei comportamenti riportati di seguito.

  • Calendari

    In .NET Compact Framework sono supportati esclusivamente i calendari di tipo gregoriano, che vengono perciò utilizzati per impostazione predefinita. Non sono supportati i calendari ebraico e Hijri.

  • Confronti tra stringhe

    In alcuni casi i confronti tra stringhe possono avvenire in modo diverso rispetto a quanto accade con la versione completa di .NET Framework, a causa delle differenze esistenti tra i sistemi operativi. Se le stringhe passate contengono caratteri di compressione, i metodi IndexOf, LastIndexOf, IsPrefix e IsSuffix di un oggetto CompareInfo possono produrre valutazioni non corrette.

  • Override dell'utente

    Alcuni dei valori predefiniti di .NET Compact Framework, ottenuti da tabelle di globalizzazione interne, sono diversi dai valori predefiniti specificati dalle impostazioni del Registro del sistema operativo. In .NET Compact Framework e nella versione completa di .NET Framework vengono ad esempio utilizzate quattro cifre per indicare gli anni per l'inglese americano (us-EN), mentre in Windows CE .NET ne vengono utilizzate due. I valori predefiniti di .NET Compact Framework hanno la precedenza su quelli del sistema operativo del dispositivo.

    Poiché durante l'inizializzazione alle applicazioni vengono trasmessi i valori di override, le eventuali modifiche apportate in seguito a tali valori verranno ignorate.

  • Codifica

    In .NET Compact Framework è supportata la codifica dei caratteri per tutti i tipi di dispositivi: Unicode (BE e LE), UTF8, UTF7 e ASCII.

    Viene fornito un supporto limitato per la codifica delle tabelle codici e solo nel caso in cui la codifica venga riconosciuta dal sistema operativo del dispositivo.

    Se la codifica richiesta non è disponibile nel dispositivo, in .NET Compact Framework viene generata un'eccezione PlatformNotSupportedException.

    Se nel dispositivo è presente il componente facoltativo Mlang.dll, sono supportate anche le seguenti tabelle codici: CP 51932 (EUC-JP), CP 50220 (ISO2022JP) e CP 50221 (cslSO2022JP).

  • Coppie surrogato, modifica della combinazione di maiuscole e minuscole

    .NET Compact Framework utilizza le funzioni native di Windows CE per modificare i caratteri in maiuscoli o minuscoli, diversamente dalla versione completa di .NET Framework che offre questa funzionalità in Framework.

    Windows CE non dispone della funzione di modifica della combinazione di maiuscole e minuscole delle coppie surrogato e pertanto questa funzione non è supportata in .NET Compact Framework.

  • Ordinamento

    Per eseguire le operazioni di ordinamento, in .NET Compact Framework vengono utilizzate le funzioni native di Windows CE invece degli algoritmi del codice gestito. In questo modo si potrebbero ottenere risultati diversi rispetto a un'applicazione desktop per tale impostazione internazionale.

Vedere anche

Altre risorse

Codifica e localizzazione in .NET Compact Framework