File specifici locali

I frammenti rappresentano un utile strumento per comprimere traduzioni nella lingua nazionale.  Si procederà ora ad analizzare in maniera più dettagliata la struttura di directory impiegata per l'installazione di file di traduzione specifici delle impostazioni internazionali.  Tale struttura viene utilizzata indipendentemente dal fatto che i file tradotti vengano compressi in un frammento o forniti nel plug-in originale.

Esistono due metodi per individuare i file specifici delle impostazioni internazionali in un plug-in.  

E importante comprendere quale dei due è utilizzato per accedere ai file da tradurre, in modo da poter stabilire quale nome assegnare al file e dove inserirlo all'interno del file system relativo al plug-in.

Metodo principale della piattaforma

Questo metodo definisce una struttura di directory che utilizza sottodirectory specifiche delle impostazioni internazionali per i file che differiscono in base alle impostazioni internazionali.  I file tradotti vengono inseriti in una directory denominata nl all'interno del plug-in.  Ad esempio, la struttura di installazione riportata di seguito mostra un plug-in comune (senza codice) con traduzioni specifiche delle impostazioni internazionali del file about.properties.  Le varie conversioni vengono visualizzate come se provenissero da un frammento di plug-in piuttosto che dal the plug-in stesso.  Ciò avviene frequentemente quando le conversioni vengono distribuite separatamente dalla base, ma è anche possibile posizionare la sottodirectory nl all'interno del plug-in stesso.

acmeweb/
  eclipse/
    plugins/
      com.example.acme.acmewebsupport_1.0.0/
        plugin.xml
        about.properties    (impostazioni internazionali predefinite)
      com.example.acme.fragmentofacmewebsupport_1.0.0/
        fragment.xml   (frammento di com.example.acme.acmewebsupport
1.0.0)
        nl/
          fr/
            about.properties  (impostazioni internazionali per il francese)
            CA/
              about.properties  (impostazioni internazionali per il francese canadese)
            FR/
              EURO/
                about.properties (euro per il franco francese)
          en/
            about.properties  (impostazioni internazionali per l'inglese)
            CA/
              about.properties  (impostazioni internazionali per l'inglese canadese)
            US/
              about.properties (impostazioni internazionali per l'inglese americano)
         de/
            about.properties (impostazioni internazionali per il tedesco) 

I file da tradurre non sono ubicati all'interno di file JAR.  Ciascuno di essi deve presentare esattamente lo stesso nome, ma essere posizionato in sottodirectory che si trovino al di sotto della sottodirectory nl nella radice del frammento (o del plug-in).

Durante la fase di run-time si accede solo al file più specifico.  I percorsi dei file vengono ricercati nell'ambito dei metodi IPluginDescriptor.find e Plugin.find .  Ad esempio, si supponga che l'impostazioni internazionale predefinita sia en_CA e un plug-in ricerchi il file about.properties nel modo seguente:

somePlugin.find("$nl$/about.properties");

Il metodo restituirà un URL corrispondente alla prima posizione di about.properties rilevata in base al seguente ordine:

com.example.acme.acmewebsupport_1.0.0/nl/en/CA/about.properties
com.example.acme.fragmentofacmewebsupport_1.0.0/nl/en/CA/about.properties
 ...  		<any other fragments>
com.example.acme.acmewebsupport_1.0.0/nl/en/about.properties
com.example.acme.fragmentofacmewebsupport_1.0.0/nl/en/about.properties
 ...
com.example.acme.acmewebsupport_1.0.0/about.properties
com.example.acme.fragmentofacmewebsupport_1.0.0/about.properties

Questo metodo viene utilizzato dai plug-in per ricercare nomi di file conosciuti all'interno di altri plug-in  quali, ad esempio:

(Nota:  i file plugin.properties efragment.xml non sono presenti in questo elenco.  Per ragioni storiche, questi file vengono considerati insiemi di risorse delle proprietà Java e utilizzano l'altro metodo.)

Insiemi di risorse Java

La gestione Java standard degli insiemi di risorse delle proprietà viene utilizzata per altri tipi di file.  I file tradotti si trovano all'interno di un file JAR e ciascun file delle proprietà presenta un nome specifico delle impostazioni internazionali, ad esempio "message_en_CA.properties".  I file sono ubicati in sottodirectory specifiche del pacchetto e possono essere collocati nel plug-in stesso o in un suo frammento.  Ogni file delle proprietà tradotto può essere parziale poiché la ricerca di chiavi consente di accedere a una catena ben definita di file delle proprietà.

Come si è osservato sopra, ai file plugin.properties e fragment.xml si accede mediante questa tecnica.

Copyright
IBM Corp. e altri 2000,2002.