Consejos Pro de Selligent: Optimizar las traducciones en Selligent (parte II)

 
 

En la segunda parte de nuestra serie de Consejos Pro de Selligent, Andy Somers de la empresa Foreach, partner de Selligent, comparte sus consejos sobre cómo mapear las traducciones a sus respectivas pantallas, en traducciones internas de la página.

 

La situación

La parte I de nuestra serie explica cómo mantener las traducciones sincronizadas entre los namespaces de Selligent. Ahora es el momento de optimizar el proceso de la introducción y el mantenimiento de las traducciones.

Cuando los clientes desarrollan una aplicación nueva en Selligent, el punto de partida es cortar HTML y pegar en páginas con todo el texto en un idioma. El siguiente paso consiste en reemplazar ese texto con las traducciones, de esta forma ~$LABEL_KEY~.

Sin embargo, esto tiene una parte negativa según Andy Somers de Foreach: “El mayor problema con este sistema de etiquetas es que no tenemos una vista previa sobre qué etiqueta se utiliza en qué página. Y aún peor, no vemos donde está la etiqueta situada en la página”.

Como solución parcial, Somers aconseja utilizar bien las convenciones para nombrar las etiquetas, por ejemplo, utilizar PAGE1_FIRST_NAME como clave de etiqueta. En todos los caos, hacer esto ayudará a mantener un flujo de trabajo ordenado y riguroso, pero no resuelve el problema de no poder localizar la etiqueta en la página.

 

El método antiguo

Para solucionar este problema Foreach utilizó el procedimiento que te mostramos a continuación, cuando un cliente pidió cambiar la traducción A, en la página B, con el valor C, en el idioma D:

  1. Primero busca en la aplicación dónde está la traducción A de la página B.
  2. Busca la clave de la etiqueta para la traducción en la fuente de la página.
  3. Abre la herramienta de traducción y selecciona el namespace correcto.
  4. Cambia el valor del idioma especificado al valor C.
  5. Guarda las traducciones.

Repetir manualmente cada vez. (Ver la parte I de consejos Pro).

Andy Somers afirmó que “fue una inversión de tiempo y trabajo manual propenso a errores. Una desventaja de la herramienta de traducción por defecto, es que siempre guarda las traducciones, haya cambiado el valor o no. Como nos ocupamos de centenares de traducciones para cada aplicación, la herramienta a veces se atasca”.

 

El método nuevo

El nuevo y mejorado proceso de traducción integrada ofrece dos ventajas:

  1. Una forma controlada de cambiar el valor de una etiqueta específica desde la misma página.
  2. Un sistema de traducción integrada en la misma página que el cliente también puede utilizar.

 

TRABAJAR CON EL MÉTODO NUEVO

Puedes optimizar tu proceso de traducción con estos consejos Pro sobre el método de sincronización.

Empieza aquí:

El código de los procedimientos almacenados y de la página de HTML se pueden encontrar en Bitbucket como un fragmento de Git.

Nuestra solución Pro para las traducciones integradas es, digamos, complejo, y requiere lo siguiente: una campaña de Selligent, un procedimiento almacenado, Javascript y cambios en la estructura de DOM en las páginas de la aplicación.

Lista

Como se indica en la parte I, la tabla de etiquetas se tiene que representar en una lista de datos. En nuestro ejemplo, lo hemos nombrado “templabels”.

Procedimiento almacenado

El código para el procedimiento almacenado SP_SETLABEL está presente en nuestro fragmento de Git. Crea esto en la sección de procedimientos almacenados registrados de Selligent.

Campaña

La campaña para esta solución es bastante sencilla, basándote en la lista de templabels, añade un componente introducido y el procedimiento almacenado. Debería mostrarse así:

The flow

Los parámetros introducidos para el procedimiento almacenado serían así:

Stored procedure properties

 

Configura esta campaña como una evaluación en las páginas donde quieres que se soporte la traducción integrada.

¿Qué hacer con el archivo Javascript?

El archivo Javascript de nuestro fragmento de Git se puede poner en las carpetas web de la instalación de Selligent, para que lo puedas incluir en tus páginas.

La aplicación de la campaña

Para que funcione el Javascript, necesitas configurar algunos elementos de la aplicación de la campaña utilizando un componente de almacenamiento compartido. Ponlo al principio de tu plan y configura las variables así:

Sjared variable properties

 

Si estableces a “0” el valor translationAllowed harás que la herramienta de traducción nunca esté habilitada.

Importante: Asegúrate de que en la producción esté a “0”.

La variable namespaceid es el id del namespace con el que esta página está configurada. Asegúrate de que esto es correcto o la herramienta no funcionará. O peor aún, la herramienta funcionará, pero cambiará o añadirá traducciones a otros namespaces. También es importante que sepas que no los namespaces múltiples no son válidos. Utilizar namespaces múltiples en una página es probablemente una mala idea en sí misma.

Las páginas de la aplicación

En primer lugar, todas las páginas que quieras traducir con la herramienta de traducción integrada necesitan incluir el archivo Javascript. Se podrá conseguir con este fragmento:

JS file

El atributo src del script se tiene que cambiar al archivo Javascript en las

carpetas de la web. La evaluación programada en la variable translationURL necesita apuntar al componente introducido en la campaña de la traducción.

En el próximo paso, todas las traducciones de tu página con la construcción ~$LABEL_KEY~ necesitan estar rodeadas de los siguientes atributos: data-namespaceid, data-language y data-name. Por ejemplo:

Namespace ID

Como puedes ver, el namespaceid se configurará con las variables compartidas que establezcas en la campaña. El idioma viene a través de la solicitud de los usuarios y los atributos data-name son la clave de la etiqueta que quieres tener traducida.

 

Cómo utilizar el modo Translate

¡Estás lista/o! Cuando mires a la aplicación en el navegador, añade un parámetro a la url para activar el modo Translate: &translateMode=1. En la consola podrás ver si el modo Translate está activado o desactivado.

Si es así, todos los elementos traducibles estarán rodeados de una línea verde. Cuando hagas clic durante 3 segundos sin soltar, aparecerá un recuadro Javascript con la traducción actual. Guardarás los cambios de la tabla de etiquetas cambiando el valor y haciendo clic en OK.

 

Advertencias y exenciones

Ten en cuenta que estas herramientas hacen cambios en la tabla de etiquetas de Selligent. Esta es una tabla del sistema, lo que significa que podría cambiar en el futuro, sin previo aviso. Ten cuidado al escribir procedimientos almacenados en este tipo de tablas ya que podrías romper el sistema.

Además, aparte de las copias de seguridad del sistema, no hay manera de recuperar traducciones sobrescritas.

Asegúrate de evitar que la herramienta de traducción interna aparezca en la producción (como se describe en la parte superior).

Esta herramienta no es segura de ninguna manera y cualquier persona que sepa cómo, podría cambiar las traducciones de manera irrevocable.

 

Conclusión

La combinación de este consejo Pro con la herramienta descrita en la primera parte de esta serie de artículos, te estará reforzando más y más. Este doble golpe profesional proporciona una forma rápida de traducir las etiquetas y copiarlas en diferentes entornos. Pronto te estarás preguntando: "¿Cómo es posible haber hecho esto de otra forma?"

Una vez más, gracias a Andy Somers de Foreach por compartir este consejo Pro de dos partes sobre como optimizar las traducciones en Selligent. Mantente al tanto de los consejos Pro de Selligent.

¿Tienes un consejo Pro con el que quieres contribuir? Habla con tu partner de servicios o ponte en contacto con nosotros directamente por email.