2009-12-21 10 views

risposta

9

Gli assembly satellite sono piccoli gruppi che contengono solo risorse e sono specifici per una lingua specifica (o, più precisamente, per cultura). Ad esempio, supponiamo di avere un assembly chiamato "MyAssembly.dll". Se avessi traduzioni per l'inglese americano e cinese (RPC), la struttura dei file sarebbe simile a questa:

MyAssembly.dll 
en-US/ 
    MyAssembly.resources.dll 
zh-CN/ 
    MyAssembly.resources.dll 

Ognuno dei file .resources.dll conterrebbe i dati da qualsiasi file di risorse specifiche della lingua che sarebbero nel progetto (Avrebbero la forma di FileName.culture.resx, quindi se stiamo parlando della traduzione inglese degli Stati Uniti delle risorse di Form1, sarebbe Form1.us-EN.resx).

Per quanto riguarda l'utilizzo di questi file, questo viene fatto automaticamente dal gestore delle risorse. Nel codice generato per un file di risorse (che fornisce la sintassi basata sulla proprietà per leggere il valore di una risorsa) utilizza la cultura dell'interfaccia utente corrente, ma è possibile ignorarla chiamando il sovraccarico ResourceManager.GetString(string name, CultureInfo culture).

4

Gli assembly satellite sono utilizzati per localizzare l'interfaccia utente.

È possibile scoprire come usarli here.

0
  1. un assembly satellite è una libreria compilata (DLL) che contiene risorse “localizzabili” specifici per una data cultura, come le stringhe, bitmap, ecc

  2. Si rischia di utilizzare assembly satellite durante la creazione di un'applicazione di interfaccia utente multilingue. Essi sono utilizzati per distribuire le applicazioni in molteplici culture, con 1 assembly satellite per cultura (comportamento predefinito)

Più qui: http://blogs.msdn.com/b/global_developer/archive/2011/07/22/introduction-to-satellite-assemblies.aspx