Organizzazione gerarchica di risorse per la localizzazione
Aggiornamento: novembre 2007
In Visual Studio le risorse localizzate, ovvero dati quali stringhe e immagini appropriate a ciascuna lingua, vengono memorizzate in file separati e caricate in base all'impostazione della lingua dell'interfaccia utente. Per comprendere come vengono caricate le risorse localizzate, è utile esaminarne l'organizzazione gerarchica.
Tipi di risorse nella gerarchia
Nella parte superiore della gerarchia si trovano le risorse di fallback per la lingua predefinita, ad esempio l'inglese ("en"). Queste sono le uniche risorse che non presentano un proprio file e sono archiviate nell'assembly principale.
Sotto le risorse di fallback si trovano le risorse per le lingue non associate ad alcun paese. Questo tipo di risorse è associato a una lingua, ma non a un paese. Il francese ("fr"), ad esempio, è una lingua non associata ad alcun paese. Le risorse di fallback sono valide anche per una lingua non associata ad alcun paese, tuttavia è necessario associarle a una lingua specifica.
Nella parte inferiore della gerarchia si trovano infine le risorse per ogni lingua specifica. Una lingua specifica è associata a un lingua e a un paese. Il francese canadese ("fr-CA"), ad esempio, è una lingua specifica.
Se un'applicazione tenta di caricare una risorsa localizzata, ad esempio una stringa, ma non riesce a individuarla, risale nella gerarchia fino a quando non trova un file di risorse contenente la risorsa richiesta.
Il modo migliore per archiviare le risorse consiste nel renderle il più possibile generiche. Se possibile, è quindi opportuno archiviare le risorse localizzate, quali stringhe, immagini e così via, in file di risorse per lingue non associate ad alcun paese anziché per lingue specifiche. Se, ad esempio, si dispone di risorse per il francese belga ("fr-BE") e le risorse immediatamente precedenti nella gerarchia sono le risorse di fallback in inglese, è possibile che si verifichi un problema quando si tenta di utilizzare l'applicazione su un sistema configurato per il francese canadese. Il sistema cercherà infatti un assembly satellite per la lingua "fr-CA", ma, poiché non riuscirà a trovarlo, caricherà l'assembly principale contenente la risorsa di fallback, l'inglese, anziché caricare le risorse del francese. Nell'immagine riportata di seguito viene illustrato questo scenario.
Se invece, in base alla procedura consigliata, si colloca il maggior numero di risorse possibile in un file di risorse non associate ad alcun paese per la lingua "fr", un utente francese canadese non individuerà le risorse contrassegnate per la lingua "fr-BE", ma visualizzerà le stringhe in francese. Nell'immagine riportata di seguito viene illustrato questo scenario.
Vedere anche
Attività
Concetti
Linguaggi di risorse non associate ad alcun paese per la localizzazione
Protezione e assembly satellite localizzati