Gestión de textos traducibles 

Introducción

Las aplicaciones Sage en tecnología X3 gestionan textos traducibles a distintos niveles, y dan acceso a las herramientas de traducción para gestionar las traducciones a la vez en lenguas estándar, pero también en lenguas que no están en la versión estándar entregada.

Hay tres tablas diferentes de la base de datos que se utilizan para gestionar estos textos. Son las siguientes:

  • la tabla APLSTD corresponde a una tabla de textos organizados en capítulos. Un texto de esta tabla se identifica por cifras: el número de capítulo, el número de mensaje en el capítulo y, de forma accesoria, un tipo de mensaje. Para acceder a este tipo de mensaje en una lengua actual de conexión, se puede, desde la calculadora, emplear la función mess con la expresión siguiente:
    mess(número_mensaje,número_chapitre,tipo_mensaje)
    Esta tabla está gestionada por el supervisor y se accede a ella por el supervisor y el motor.
  • la tabla ATEXTE define la mayor parte de los mensajes vinculados al diccionario (los títulos de los campos aparecen en las pantallas, por ejemplo). Un mensaje de este tipo se identifica simplemente por un número. Para acceder a este tipo de mensaje en una lengua actual de conexión, se puede, desde la calculadora, emplear la función AFNC.TEXTE con la expresión siguiente:
    Func AFNC.TEXTE(número_mensaje)
    Esta tabla está gestionada por el supervisor.
  • la tabla ATEXTRA define los datos traducibles almacenados en las tablas. Un texto de este tipo se identifica por una clave que integra la tabla en la que se gestionan los datos asociados al texto, el código del campo texto correspondiente, y la clave de la ficha correspondiente.
    Para acceder a este tipo de mensaje en la lengua actual de conexión se puede, desde la calculadora, emplear la función AFNC.TEXTE con la expresión siguiente:
    Func AFNC.TEXTRA(código_tabla, código_champ, valor_clave_1, valor_clave_2)
    Esta tabla está gestionada por los desarrolladores aplicativos para el esencial, pero ciertas tablas del supervisor (las tablas diversas, por ejemplo) tienen revirsos para ello.

La tabla APLSTD

La tabla APLSTD sirve para almacenar a la vez:

  • los mensajes utilizados por el motor par sus diferentes funciones. El tipo de mensaje es entonces igual a 0. En el se encuentran primero las palabras clave del lenguaje, los textos útiles a ciertas funciones (por ejemplo, los nombres de días de la semana y de los meses del año reenviados por las funciones day$ y month$) así como los mensajes de error reenviados por el motor, o ciertos textos de la interfaz.
  • los mensajes empleado por los programadores supervisor o aplicativos. El tipo de los mensajes es igual a 1. En estos casos se hace una distinción entre los capítulos de mensaje y de menúes locales:
    • Los capítulos del mensaje contienen mensajes de servicio vinculados a los desarrollos aplicativos.
    • Los menúes locales sirven para gestionar las capturas en forma de combo-box o de botones radio; las opciones mostradas corresponden a los distintos mensajes de capítulo y se realiza una correspondencian entre el valor del campo capturado y el rango del mensaje en el capítulo.

La gestión de los mensajes y de los menúes locales se realiza en una función dedicada. Una casilla a marcar define si el capítulo es un menú local.

Para permitir a los programadores de específicos y a las personas en cargo de la localización el disponer de capítulos que les están dedicados, se han definido secciones de numeración. Éstas aparecen en detalle en el anexo correspondiente.

Un menú local puede ser parametrizable por parte de un usuario (para permitirle personalizar las opciones en un combo-box). Esto se define por una elección en la parametrización del capítulo del mensaje.

Cuando un menú de este tipo es parametrizable, no se actualiza en el momento de una revalidación de dossier, una instalación de una nueva versión o la instalación de un parche.

Todos los menúes locales y mensajes situados en secciones reservadas a los específicos y protegidas por los códigos de actividad idóneos pueden ser actualizados por parches específivos y se respetan en caso de actualización.

La tabla ATEXTE

La tabla ATEXTE sirve para almacenar los textos del diccionario. Estos campos están numerados y el principio es el siguiente:

  • Cualquier texto estándar se identifica por un número inferior a 100.000 Para una aplicación dada, este número es intangible una vez atribuído (no cambia y se respeta en las actualizaciones).
  • Cualquier texto específico se identifica por un número inferior a 100.000 Los números se atribuyen de forma automática según las necesidades de los desarrollos específicos. No pueden ser intangibles, puesto que un número dado puede existir en otro dossier.. Cuando un desarrollo específico se transfiere por patch, los textos y los números están presentes en el patch. En el momento de la integración, el número del texto se respeta si es posible; en caso contrario, se realiza una renumeración automática. Del mismo modo, en caso de revalidación del dossier específico en un contexto en el que se tienen 3 niveles de dossieres, se puede lanzar un procedimiento automático de renumeración (el anexodescribe este funcionamiento).

La tabla ATEXTRA

La tabla ATEXTRA sirve para almacenar los textos traducibles asociados a las fichas en las que los títulos deben poder variar en función de la lengua. En el diccionario de datos, los apartados relativos a este tipo de texto emplean los tipos de datos cuyo código comienza por AX.

Un campo declarado con este tipo no está realmente almacenado en la tabla, sí se encuentran en la tabla ATEXTRA líneas identificadas por el código de la tabla, el campo, la clave de la ficha (y por supuesto, la lengua), que contiene el texto en cuestión.

Por ejemplo, en caso de una tabla diversa (identificada por un número, por ejemplo el número 23 que contiene un código, por ejemplo, el código COD), la clave que identifica el epígrafe correspondiente (campo LNGDES) para la lenguaFRA, se compone de los elementos siguientes:

ATABDIV,LNGDES,FRA,23,COD

Cualquier texto de este tipo puede capturarse en las pantallas y ser traducido en línea gracias a una función dedicada.