Una de las facilidades que ofrece APEX para ofrecer aplicaciones globalizadas, es la de realizar “Traducciones Dinámicas”, para lo cual utiliza dos de sus características.
La primera de ellas, es una tabla en donde los desarrolladores pueden incluir traducciones para ser utilizadas en listas de valores y otros queries dentro de sus aplicaciones. Esta tabla debe ser poblada por los desarrolladores, siguiendo estos pasos:
- Estando dentro de la aplicación en la que desea aplicar las traducciones dinámicas, ingrese a Componentes Compartidos
- En la sección de Globalización, haga clic en el enlace Traducir Aplicación
- Busque la sección Utilidades de Traducción al final de la hoja y haga clic en Traducciones Dinámicas
- Por cada cadena que desee traducir de manera dinámica:
- Haga clic en el botón Crear >
- De la lista Idioma, seleccione el idioma al que quiere trasladar la cadena
- Ingrese la cadena a traducir en el campo Traducir de Texto
- Ingrese la traducción de la cadena en el campo Traducir a Texto
- Haga clic en el botón Crear
Cuando ya tiene incluidas las cadenas que desea traducir, el segundo paso consiste en adecuar sus queries para que utilicen dichas cadenas, lo cual se hace con el API APEX_LANG.LANG y se hace con un querie como el siguiente
SELECT APEX_LANG.LANG(DNAME), DEPTNO
FROM DEPT
Una vez efectuados estos dos pasos, se debe efectuar una acción más, que consiste en definir los parámetros de globalización de la siguiente manera:
- Ingrese a Componentes Compartidos
- Haga clic en el enlace Atributos de Globalización en la sección de Globalización
- En Idioma Primario de la Aplicación, seleccione el idioma que desea utilizar
- En Idioma de Aplicación Derivado de, seleccione la opción Idioma Primario de la Aplicación
- Haga clic en el botón Aplicar Cambios
Si el idioma primario de la aplicación corresponde con el idioma que se agregó en el paso uno, y usted incluyó traducciones para los nombres de departamentos en la tabla DEPT, debería estar viendo en nombre de los departamentos en el idioma indicado. Si la traducción no existe, o no corresponde exactamente con el valor en la columna, se utilizará el valor original de la columna.
Además de los queries de listas de valores, esto lo puede utilizar en otras queries, como por ejemplo los de reportes.