Területi beállítás-specifikus fájlok

A töredékek megfelelők a nemzeti nyelv támogatás összecsomagolásához.  Tekintsük át közelebbről a helyszínfüggő fordításfájlok telepítéséhez használt könyvtárstruktúrát.  Ez a könyvtárstruktúra attól függetlenül kerül alkalmazásra, hogy a lefordított fájlok be vannak-e csomagolva egy töredékbe vagy eredeti bedolgozóban kerültek biztosításra.

Három mechanizmus áll rendelkezésre a bedolgozóban lévő helyszínfüggő fájlok megkereséséhez.  

Fontos megérteni, hogy mely mechanizmust használja a rendszer a fordítandó fájlok eléréséhez, így tudni fogja, hogyan kell elnevezni a fájlt és hova kell helyezni a fájlrendszerben a bedolgozóhoz viszonyítva.

Platform alap mechanizmus

A platform központi része megad egy könyvtárstruktúrát, amely helyszínfüggő alkönyvtárakat használt olyan fájlokhoz, amelyek helyszíne különbözik.  A lefordított fájlok az nl nevű könyvtárba kerülnek a bedolgozó alatt. Az alábbi telepítési fa például egy triviális (nincs kód) bedolgozót jelenít meg az about.properties fájl helyszínfüggő fordításaival.  A különböző fordítások úgy jelennek meg, mint amelyek egy bedolgozótöredéktől jönnek, nem a bedolgozótól magától. Ez jellemző a fordítások alaptól elkülönített szállításánál, de az nl alkönyvtár a bedolgozó alá helyezhető.

acmeweb/
  eclipse/
    plugins/
      com.example.acme.acmewebsupport_1.0.0/
        plugin.xml
        about.properties    (alapértelmezett területi beállítás)
      com.example.acme.fragmentofacmewebsupport_1.0.0/
        fragment.xml   (a com.example.acme.acmewebsupport 1.0.0 töredéke)
        nl/
          fr/
            about.properties  (Francia területi beállítás)
            CA/
              about.properties  (Francia-kanadai területi beállítás)
            FR/
              EURO/
                about.properties (Euro (Franciaország))
          en/
            about.properties  (Angol területi beállítás)
            CA/
              about.properties  (Angol-kanadai területi beállítás)
            US/
              about.properties (Angol-US területi beállítás)
         de/
            about.properties (Német területi beállítás) 

A lefordítandó fájlok nincsenek benne a JAR fájlokban. Minden fájlnak egyező fájlnévvel kell rendelkeznie, de az nl könyvtár alatt lévő alkönyvtárakban kell lenniük a töredék (vagy bedolgozó) gyökerében.

Csak a legspeciálisabb fájl kerül elérésre futás közben. A fájl elérési utak a Platform.find, IPluginDescriptor.find és Plugin.find mechanizmus részeként kerülnek keresésre. Tételezzük fel például, hogy az alapértelmezett területi beállítás az en_CA, a bedolgozó pedig az alábbi módon keresi meg az about.properties fájlt:

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

A metódus az about.properties első helyének megfelelő URL-címet adja vissza az alábbi sorrendnek megfelelően:

com.example.acme.acmewebsupport_1.0.0/nl/en/CA/about.properties
com.example.acme.fragmentofacmewebsupport_1.0.0/nl/en/CA/about.properties
 ...  		<tetszőleges más töredékek>
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

Ez a mechanizmust a bedolgozók használják a jól ismert fájlnevek egyéb bedolgozókon belüli kereséséhez.  Ez az alábbi jól ismert fájlneveket tartalmazza:

(Megjegyzés:  A plugin.properties és fragment.properties nyilvánvalóan hiányzik a listából. Ezeket lényegesen eltérően kezeli a rendszer, amely alább látható.)

Java erőforráskötegek

A tulajdonság-erőforráskötegek szabványos Java kezelését alkalmazzák más fájlokra.  A lefordított fájlokat a JAR fájl tartalmazza, amelyben minden tulajdonságfájl helyszínfüggő névvel rendelkezik, mint például a "message_en_CA.properties".  A fájlok csomag-specifikus alkönyvtárakban vannak, és a bedolgozóban vagy egyik töredékében jelenhet meg. Minden lefordított tulajdonságfájl lehet részleges, mivel a kulcsok kikeresése a tulajdonságfájlok egy jól meghatározott láncát érik el.

A plugin.properties mechanizmus

A plugin.properties fájlok lefordításához használt mechanizmus a Java erőforráskötegek elnevezési megállapodását használják. A fájloknak a bedolgozó gyökerében kell lennie vagy a bedolgozó töredékének gyökerében. Ugyanezek a szabályok érvényesek a MANIFEST.MF fordítására.

NL töredékek megadása

Az NL töredékek alakja a 2.1 verzió óta lett kialakítva. Korábban az összes fordítási fájl (a plugin.properties fájlt is beleértbe) a jar fájlban volt. Ez inkonzisztens volt, mivel a plugin.properties fájl a bedolgozó gyökerében volt található.
Az NL töredék új modellhez adaptálásához távolítsa el a plugin.properties fordítási fájlt a jar fájlból és helyezze át a töredék gyökerébe a fragment.xml fájllal egy szinten. Az org.eclipse.ui.workbench NL töredékének új alakja például az alábbi:

  org.eclipse.ui.workbench.nl/
     fragment.xml
     plugin_fr.properties
     plugin_pt_BR.properties
     ...
     nl1.jar