Archivos específicos del entorno local

Los fragmentos son una manera práctica de empaquetar las traducciones en idioma nacional.   Ahora veremos con mayor detalle la estructura de directorios que se emplea para instalar los archivos de traducción específicos del entorno local.  Esta estructura es la que se utiliza con independencia de si los archivos traducidos se empaquetan en un fragmento o se entregan en el conector original.

Existen dos mecanismos para localizar los archivos específicos del entorno local en un conector.  

Es importante comprender qué mecanismo se utiliza para acceder a un archivo dado que debe estar traducido, porque así sabrá qué nombre debe dar al archivo y dónde debe ponerlo en el sistema de archivos relativo al conector.

Mecanismo del núcleo de la plataforma

El núcleo de la plataforma define una estructura de directorios que utiliza subdirectorios específicos de entorno nacional para los archivos cuyo entorno nacional es diferente.  Los archivos traducidos se colocan en un directorio denominado nl del conector.  Por ejemplo, el árbol de instalación que figura a continuación muestra un conector trivial (sin código) con traducciones específicas de entorno nacional de su archivo about.properties.  Las diversas traducciones aparecen como procedentes de un fragmento de conector, en lugar del propio conector.  Este es un método habitual para suministrar traducciones independientemente de la base, pero también puede situar el subdirectorio nl bajo el propio conector.

acmeweb/
  eclipse/
    plugins/
      com.example.acme.acmewebsupport_1.0.0/
        plugin.xml
        about.properties    (entorno local por omisión)
      com.example.acme.fragmentofacmewebsupport_1.0.0/
        fragment.xml   (un fragmento de com.example.acme.acmewebsupport 1.0.0)
        nl/
          fr/
            about.properties  (entorno local francés)
            CA/
              about.properties  (entorno local francés de Canadá)
            FR/
              EURO/
                about.properties (entorno local francés de Europa)
          en/
            about.properties  (entorno local inglés)
            CA/
              about.properties  (entorno local inglés de Canadá)
            US/
              about.properties (entorno local inglés de EE. UU.)
         de/
            about.properties (entorno local alemán) 

Los archivos que deben traducirse no se encuentran en archivos JAR.  Cada archivo debe tener exactamente el mismo nombre, pero hay que colocarlo en subdirectorios situados bajo el subdirectorio nl del directorio raíz del fragmento (o del conector).

En tiempo de ejecución solo se accede al archivo más específico.  Se busca en las vías de acceso del archivo como parte del mecanismo de IPluginDescriptor.find y Plugin.find.  Por ejemplo, supongamos que el entorno nacional por omisión es en_CA, y que un conector busca el archivo about.properties de la siguiente manera:

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

El método devolvería un URL que se correspondería con el archivo about.properties encontrado en primer lugar según este orden:

com.example.acme.acmewebsupport_1.0.0/nl/en/CA/about.properties
com.example.acme.fragmentofacmewebsupport_1.0.0/nl/en/CA/about.properties
 ...  		<cualquier otro fragmento>
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

Los conectores emplean este mecanismo para buscar los nombres de archivo por todos conocidos dentro de otros conectores.  Esto incluye los siguientes nombres de archivo por todos conocidos:

(Nota: los archivos plugin.properties y fragment.xml se han dejado fuera de esta lista.  Por razones históricas, estos archivos se tratan como paquetes compuestos de recursos de propiedades Java y utilizan el otro mecanismo).

Paquetes compuestos de recursos Java

El manejo estándar de java con respecto a los paquetes compuestos de recursos de propiedades se utiliza para otros archivos.  Los archivos traducidos se encuentran en un archivo JAR, y cada uno de los archivos de propiedades tiene un nombre específico de entorno local, como por ejemplo "message_en_CA.properties".  Los archivos se encuentran en subdirectorios específicos de paquete y pueden aparecer en el propio conector o en uno de sus fragmentos.  Cada uno de los archivos de propiedades traducidos puede ser parcial, ya que la búsqueda de claves accede a una cadena de archivos de propiedades bien definida.

Como se ha indicado más arriba, esta es la técnica que se utiliza para acceder a los archivos plugin.properties y fragment.xml.

Copyright IBM Corporation y otros 2000, 2003.