Condividi tramite


Preparazione di un file di configurazione delle risorse

Sia muIRCT che le utilità del compilatore RC descritte in Utilità risorse forniscono un'opzione della riga di comando che consente di specificare un file di configurazione delle risorse per le risorse del linguaggio di base. L'uso di questo file XML pubblico e leggibile consente un maggiore controllo sulla suddivisione delle risorse rispetto a quanto può essere ottenuto usando le opzioni della riga di comando regolari delle utilità. Tuttavia, anche se non si specifica un file di configurazione delle risorse come input, i file di risorsa specifici del linguaggio e LN conterrà i dati di configurazione delle risorse.

Tutti i file di configurazione delle risorse per le applicazioni Win32 iniziano e terminano in modo identico:

<?xml version="1.0" encoding="utf-8"?> 
<localization>

<resources>
        
        <!-- a single win32Resources element goes here -->

</resources>
</localization>

Questo argomento è incentrato sugli aspetti dello schema XML utili per la compilazione di codice non gestito in Windows Vista e versioni successive. In particolare, è interessato solo al comportamento dell'elemento win32Resources.

Elemento win32Resources

L'elemento win32Resources ha gli attributi descritti nella tabella seguente.

Nome attributo Obbligatorio Descrizione
fileType No Tipo di file. Deve sempre essere "Applicazione".
checksum No Valore checksum da visualizzare nei dati di configurazione delle risorse dei file LN e dei file di risorse specifici della lingua. Ad esempio, questo attributo consente di copiare il checksum da un singolo file di risorse specifico della lingua, per convenzione quello per l'inglese (Stati Uniti) e inserire il checksum in un file di risorse specifico della lingua diverso. Il checksum può essere specificato come stringa di numero esadecimale che non è più di 32 caratteri. Il valore numerico deve essere contenente in un numero a 128 bit.
Linguaggio No Tag linguistico conforme a IETF BCP 47 (Windows Vista e versioni successive), ad esempio en-US per l'inglese (Stati Uniti).
ultimateFallbackLanguage No Lingua da inserire nei dati di configurazione delle risorse per il file LN, che rappresenta il linguaggio di fallback finale da usare in una ricerca di un file di risorse specifico della lingua corrispondente. Se il caricatore di risorse non riesce a caricare un file di risorse richiesto dalle lingue dell'interfaccia utente preferite del thread, usa un linguaggio di fallback finale come ultimo tentativo. Il tag linguistico conforme a IETF BCP 47 (Windows Vista e versioni successive), ad esempio en-US per l'inglese (Stati Uniti).
ultimateFallbackLocation No Posizione di fallback. Specificare "internal" se le risorse di fallback finali vengono compilate nel file LN. Specificare "external" (impostazione predefinita) se il file LN fa riferimento a un file di risorse specifico del linguaggio per le risorse di fallback finali.

Nel file di configurazione delle risorse l'elemento win32Resources contiene i sottoelementi descritti nella tabella successiva.

Nome dell'elemento Descrizione
localizedResources Risorse che incapsulano informazioni sui tipi di risorse e sulle singole risorse contenute in un file di risorse specifico del linguaggio.
neutralResources Risorse che incapsulano informazioni sui tipi di risorse contenuti in un file LN.

Elemento localizedResources

Elemento risorse localizzate. Per impostazione predefinita, questo elemento non ha attributi e solo un tipo di elemento secondario. È solo un contenitore per gli elementi resourceType.

Nome attributo Descrizione
resourceType Tipo di una singola risorsa contenuta in un file di risorse specifico della lingua.

Elemento neutralResources

Elemento Risorse neutrali. Questo elemento è solo un contenitore per gli elementi resourceType.

Nome attributo Descrizione
resourceType Tipo di una singola risorsa contenuta in un file LN.

elemento resourceType

L'elemento resourceType incapsula informazioni su un singolo tipo di risorsa o su una singola risorsa. Contiene gli attributi elencati di seguito.

Attenzione

Alcuni difetti di configurazione delle risorse vengono rilevati solo dal compilatore RC o MUIRCT, a seconda del contenuto del file di risorse di input o del file binario. Gli errori resourceType nel file di configurazione delle risorse che non esistono nel file di input non vengono rilevati, causando un comportamento imprevisto. Gli utenti possono usare un file di configurazione delle risorse difettoso e non sanno fino a quando non introducono file binari che usano le parti interrotte del file di configurazione delle risorse, che crea l'aspetto che le interruzioni sono dai file binari correnti.

Nome attributo Obbligatorio Descrizione
typeNameId Digitare il nome o l'identificatore per la risorsa. Specificare un nome stringa o un numero. Se si usa un numero, prependò la stringa con un "#" per indicare che rappresenta un numero. Ogni elemento resourceType deve avere un solo attributo typeNameId .
itemName No Stringa nome elemento per la risorsa da inserire nel file di risorse specifico della lingua. È possibile specificare più nomi, separati da spazi vuoti, ad esempio "HTML MOFDATA".
itemId No Identificatore di singolo elemento di risorsa da inserire nel file di risorse specifico della lingua. L'elemento può essere specificato come intervallo ,ad esempio "1-12") o da singoli identificatori separati da spazi vuoti ( ad esempio "1 3 4").
stringId No Identificatore di stringa per singolo elemento di risorsa da inserire nel file di risorse specifico della lingua. La stringa può essere specificata come intervallo ,ad esempio "1-12") o da singoli identificatori separati da spazi vuoti (ad esempio "1 3 4"). Questo attributo consente la specifica delle voci della tabella stringa localizzabili e non localizzabili. Deve essere usato insieme al valore typeNameId di "6", denotando un tipo di risorsa di una tabella stringa.
Le stringhe vengono archiviate in blocchi di 16 in una tabella stringa. Ad esempio, le stringhe da 0 a 15 vengono archiviate in un singolo blocco di elementi di risorsa e possono essere referenziate nel file di configurazione della risorsa come itemId 1 o come stringId "0-15". Ad esempio, se sono presenti cinque stringhe localizzabili e tre stringhe nonlocalizzabili, è necessario assegnare identificatori di stringa 0-4 per le stringhe localizzabili e identificatori di stringa 16-18 per le stringhe non localizzate. Se non si organizzano stringhe in questo modo, i blocchi interessati di stringhe vengono inseriti sia nel file LN che nel file di risorse specifico del linguaggio.

Se si specificano gli attributi itemName, itemId e/o stringId per un tipo di risorsa specifico nell'elemento localizedResource, solo questi elementi o stringhe specificati per il tipo di risorsa designato vengono inseriti nel file di risorse specifico del linguaggio. Se un elemento resourceType viene specificato senza alcun nome di elemento esplicito, identificatore di elemento o identificatore stringa, tutti gli elementi del tipo di risorsa specificato vengono inseriti nel file di risorse specifico della lingua. Gli elementi o i tipi non elencati in alcun elemento localizedResource vengono inseriti nel file LN.

Di seguito sono riportati i tipi di risorse standard e i relativi identificatori numerici:

  • CURSOR(1)
  • BITMAP(2)
  • ICON(3)
  • MENU(4)
  • DIALOG(5)
  • STRING(6)
  • FONTDIR(7)
  • FONT(8)
  • ACCELERATORI(9)
  • RCDATA(10)
  • MESSAGETABLE(11)
  • GROUP_CURSOR(12)
  • GROUP_ICON(14)
  • VERSION(16)
  • HTML(23)

Esempio

<?xml version="1.0" encoding="utf-8"?> 
<localization>
  <resources>
    <win32Resources fileType="Application">
      <neutralResources>
        <resourceType
           typeNameId="#16"
        />
      </neutralResources>
      <localizedResources> 
         <resourceType
                typeNameId="#2"
                itemId="5 6 7 8 9 10 11 12"
                itemName="HTML PRI"
         />
         <resourceType
                typeNameId="#4"
         />
         <resourceType
                typeNameId="#5"
         />
         <resourceType
                typeNameId="#6"
         />
         <resourceType
                typeNameId="#9"
         />
         <resourceType
                typeNameId="#11"
         />
         <resourceType
                typeNameId="#16"
         />
         <resourceType
                typeNameId="HTML"
         />
         <resourceType
                typeNameId="#23"
         />
         <resourceType
                typeNameId="#240"
         />
         <resourceType
                typeNameId="#1024"
         />
         <resourceType
                typeNameId="MY_TYPE"
         />
      </localizedResources> 
    </win32Resources>
  </resources>
</localization>

Commenti

Se si include qualsiasi tipo di risorsa ICON(3), DIALOG(5), STRING(6) o VERSION(16) nell'elemento neutralResources, è necessario duplicare tale voce nell'elemento localizedResources. Questo argomento è illustrato nell'esempio precedente, in cui il tipo di risorsa 16 viene visualizzato sia nelle sezioni delle risorse neutrali che localizzate.

Preparazione delle risorse