Tratamiento de Inconsistencias

En la versión 1.4.0 de KMFasTrans PRO introducimos un nuevo concepto en el proceso de traducción de un sitio web que hemos llamado 'Inconsistencias'. El objeto de esta nueva funcionalidad es detectar las potenciales equivocaciones que puedan producirse al crear un sitio multi-idioma.

Decimos que un elemento es inconsistente cuando alguno de sus parámetros no es consistente en el contexto del elemento. Por ejemplo, un artículo en idioma Inglés cuya categoría está en idioma Español.

Como cabría esperar, la detección de inconsistencias es un proceso costoso en términos de acceso a base de datos. En función del tamaño y número de idiomas presentes en el sitio puede ser aconsejable deshabilitar la detección continuada de inconsistencias mientras se construye un nuevo idioma y habilitarlas cuando se ha terminado o se está próximo a terminar para encontrar todas las inconsistencias en un solo ciclo de detección.

También puede deshabilitarse si se desea tener una mayor libertad de actuación al hacer las traducciones ya que la detección de inconsistencias también es preventiva, impidiendo ciertas acciones que si se tomasen producirían una inconsistencia. Por ejemplo crear un conjunto de traducciones que carezca de un elemento en el Idioma de Referencia o crear una traducción a partir de un elemento fuente inconsistente.

Si la detección de inconsistencias está habilitada siempre se calcularán inconsistencias al editar cualquier elemento y el resultado se mostrará en la pantalla de edición. También es posible calcular inconsistencias para todos los elementos en un proceso que llamamos 'comprobación' de inconsistencias.

Con la detección de inconsistencias habilitada la pantalla de Gestión de Traducciones mostrará el Idioma de Referencia y señalará todos los elementos que contengan inconsistencias (Ver imágenes de la Gestión de Traducciones más adelante).

Nuestro consejo es mantener la detección de inconsistencias habilitada pues es de gran ayuda para encontrar errores en la estructura multi-idioma. Un sitio web que no contiene inconsistencias proporciona la garantía de que todo lo que se ha traducido es consistente y va a tener el mismo comportamiento en cualquiera de los idiomas.

Hay dos tipos de inconsistencias que hemos denominado 'auto' inconsistencias e inconsistencias de 'traducción' que explicaremos en detalle más adelante.

El Idioma de Referencia

Las inconsistencias de traducción se detectan siempre en relación al fuente de la traducción. Por ejemplo si el artículo Art1-GB en Inglés pertenece a la categoría Cat1-GB en Inglés y la traducción de Art1-GB al español es Art1-ES, la categoría Cat1-ES a la que pertenece Art1-ES debe ser la traducción al Español de la categoría Cat1-GB. Si no lo es o no existe, Art1-GB tiene una inconsistencia de traducción. Para detectar esta inconsistencia se analiza Art1-ES en relación a Art1-GB que en este caso es el fuente de la traducción.

Así pues es necesario disponer de una fuente fiable con respecto a la cual realizar la detección de inconsistencias. Esta fuente fiable es uno de los idiomas de contenido definidos en el sitio que hemos llamado el 'Idioma de Referencia para la detección de inconsistencias'. El Idioma de Referencia se selecciona en la pantalla que muestra los idiomas de contenido.

Para que el Idioma de Referencia sea fiable no debe contener elementos inconsistentes (con auto inconsistencias) pues si un elemento tiene inconsistencias y se utiliza como fuentede una traducción va a trasladar sus inconsistencias al elemento traducido. Puesto que el Idioma de Referencia es la referencia para las traducciones a los demás idiomas, por definición los elementos en el idioma de referencia no pueden tener inconsistencias de traducción, solamente auto inconsistencias.

Aun definiendo un Idioma de Referencia sigue siendo posible realizar traducciones desde cualquier idioma a cualquier idioma porque la detección de inconsistencias comprobará que el origen de la traducción no es inconsistente, impidiendo realizar la traducción si lo es.

Cuando se instalal KMFasTrans, el proceso de instalación elegirá el idioma por defecto del sitio como idioma de referencia si es un idioma de contenido. Si no fuese un idioma de contenido se elegirá el primer idioma de contenido que se encuentre. Si no hubiese idiomas de contenido configurados se deshabilitará la detección de inconsistencias.

El idioma de referencia puede cambiarse manualmente en la pantalla de Gestión de Idiomas de Contenido:

Selecting a reference language

Para elegir un Idioma de Referencia basta pulsar en el idioma que se desee en la columna 'Referencia Incons.'. (esta columna solo está visible si la detección de inconsistencias está habilitada).

Al cambiar el idioma de referencia es necesario realizar una 'Comprobación de Consistencia' para auto-inconsistencias e inconsistencias de traducción para todos los componentes.

Auto-Inconsistencias

Las auto-inconsistencias son aquellas que un elemento tiene en sí mismo, independientemente de si se trata o no de una traducción de otro elemento. El ejemplo anterior de un artículo cuya categoría está en un idioma distinto al del artículo es una inconsistencia.

La función principal de la detección de auto-inconsistencias es proporcionar una fuente fiable de traducciones. Por lo tanto, su principal aplicación es la detección de auto-inconsistencias del idioma de referencia elegido. Realmente no tiene usted que preocuparse por las auto-inconsistencias de los idiomas que no son el idioma de referencia porque al crear las traducciones utilizando el idioma de referencia como fuente, las auto-inconsistencias de las traducciones, si existen, serán inconsistencias de traducción.

Este tipo de inconsistencia se detecta de varias maneras (suponemos en estos ejemplos que el idioma de referencia es inglés (en-GB)):

1). En la lista del panel de gestión de traducciones cuando la auto-inconsistencia afecta a cualquier elemento del idioma de referencia. Verá el identificador en rojo y enmarcado en un cuadro, y cuando pase el ratón sobre él verá un texto explicativo.

2). Cuando un elemento en el idioma de referencia se edita en Joomla.

3). Cuando se edita un elemento en un idioma que no es el idioma de referencia y no está asociado a ningún otro (no pertenece a ningún conjunto de traducciones).

Inconsistencias de traducción

Las inconsistencias de traducción son aquellas que tiene un elemento en relación con otro que es su fuente de traducción. Por ejemplo, un elemento de menú en español (MI1-ES) que muestra un artículo en español (Art1-ES) es incoherente si el artículo en español no es la traducción del artículo en inglés que muestra el elemento de menú origen de la traducción. La figura siguiente explica el ejemplo:

Example of translation inconsistency

Si el elemento Art1-ES no es la traducción al español del artículo Art1-GB, el elemento de menú MI1-ES es inconsistente. Tiene una inconsistencia de traducción.

Recuerde que en KMFasTrans el artículo Art1-ES es la traducción al español del artículo Art1-GB si ambos artículos están asociados, es decir, si pertenecen al mismo conjunto de traducciones.

Tipos de inconsistencias de traducción:

Los tipos de inconsistencias de traducción hacen referencia al elemento fuente de la traducción, al elemento destino y a cada uno de los campos de los elementos que pueden tener inconsistencias.

En primer lugar, la existencia de inconsistencias se muestra mediante una elipse roja en cada elemento que contiene inconsistencias en la pantalla de Gestión de Traducciones:

Al editar el elemento que contiene inconsistencias, se muestra la siguiente pantalla:

Esta pantalla es la misma que la obtenida al editar un elemento sin inconsistencias, con solo dos diferencias:
1). Cuando el elemento tiene inconsistencias, como en este ejemplo, en la parte superior se muestra una línea con los elementos origen y destino de la traducción y una tabla con una línea por cada campo inconsistente en el elemento destino.
2). Todos los campos inconsistentes tienen un color de fondo para poder identificarlos rápidamente, como en el ejemplo actual en el que el campo Categoría tiene amarillo como color de fondo.

Veamos cómo interpretar el contenido de la tabla de inconsistencias:

Campo Inconsistente

Esta columna representa el campo detectado como inconsistente en el elemento destino en relación con el elemento fuente y tiene dos subcolumnas:

  • Nombre de campo : es el nombre del campo en el elemento fuente cuyo equivalente en el elemento destino es inconsistente . En este caso, el campo inconsistente es la categoría del artículo.
  • Pestaña: es la pestaña donde se encuentra el campo. Si no está visible, haga clic en el nombre de la pestaña en el elemento destino para que sea visible en ambos, el elemento fuente origen y los elementos destino.

Valor del campo en el Elemento Fuente

Contiene el valor del campo en el elemento fuente que dio lugar a una inconsistencia en el elemento destino. En el ejemplo, este es el valor del campo 'Categoría' en la pestaña 'Details' del artículo titulado 'Módulo de categoría de artículos' con ID: 64. Las subcolumnas de esta columna son:

  • Título/Valor: El título o el valor del elemento seleccionado en el campo. En este caso, 'Content Modules', que es el título de la categoría.
  • Lang: El idioma de la categoría 'Content Modules'
  • ID: El identificador del elemento seleccionado en el campo. En este ejemplo es una categoría cuyo ID es 64.

Valor que el campo debe tener en el Elemento Destino

Las subcolumnas de esta columna son:

  • TítuloValor: Es el título o el valor que el elemento destino debe tener para no ser inconsistente. En este caso el valor debe ser la "Traducción al francés (FR) del valor del campo en el elemento fuente» porque no se encontró la traducción al francés de la categoría 'Content Modules (en-GB)'.
  • Lang: El idioma de la categoría que se debe seleccionar en el campo "Categoría" del elemento destino. En el ejemplo está el francés porque estamos traduciendo al idioma francés.
  • ID: Es el identificador del elemento que se debe seleccionar en el campo 'Categoría' en el elemento destino. En el ejemplo, el ID es cero porque la incoherencia es "No se ha encontrado ninguna traducción" que indica que no se ha encontrado la traducción al francés de la categoría 'Content Modules (en-GB)'.

Descripción de la incoherencia

La incoherencia encontrada. En el ejemplo es 'No se ha encontrado ninguna traducción'.

Más información

En esta columna hay un icono de información que al pasar el ratón sobre ella, muestra más información sobre la inconsistencia. La información en este ejemplo es la siguiente:

Acciones

Contiene uno o más iconos para realizar cualquiera de las acciones indicadas en 'Más información'. Al pasar el ratón sobre el icono se mostrará la acción que se realizará al presionarlo.
Las dos pantallas siguientes muestran lo que se obtendría en este ejemplo

Mostrar todo

Esta columna contiene en cada línea un vínculo 'Ocultar fila'. Se utiliza para ocultar la fila cuando se ha resuelto la inconsistencia. Además de ocultar la fila, elimina el color de fondo del campo inconsistente. De esta manera es posible resolver las inconsistencias una a una y eliminarlas de la pantalla para facilitar el trabajo mostrando sólo las no resueltas.
Si desea ver las filas ocultas de nuevo sólo tiene que pulsar 'Mostrar todo' en el encabezado.

Tipos de inconsistencias de traducción

  • 1. No se ha encontrado ninguna traducción

Este es el caso explicado anteriormente. Si existe el elemento que es la traducción del campo del elemento fuente al idioma destino, pero no se conoce porque no está asociado (no está en el mismo conjunto de traducciones que el fuente), la incoherencia se resuelve asociando los dos elementos. Si la traducción del campo no existe, debe crearse. La forma más rápida de asociar los elementos o crear una nueva traducción desde esta pantalla es haciendo clic en el vínculo apropiado que se encuentra en la columna Acciones.

Esta inconsistencia suele aparecer con cierta frecuencia al crear una nueva traducción de elementos si se olvidó traducir previamente algunos de los campos que se van a necesitar. Por ejemplo, al traducir un artículo del inglés al español sin haber traducido previamente la categoría. En el ejemplo anterior sería suficiente hacer clic en el icono Crear para crear la traducción al francés de la categoría 'Content modules'.

  • 2. No seleccionado

Esta inconsistencia indica que se ha encontrado una traducción del campo en el elemento fuente, pero que la traducción no está seleccionada en el elemento destino. En el ejemplo, la categoría 'SIM TRANS TO nl-NL Components (nl-NL)' (ID: 179) es la traducción al holandés de la categoría 'Components (en-GB)' (ID: 21) pero no está seleccionada en el campo 'Categoría' del artículo destino 'Administrator Componentes (nl-NL)' (ID: 127) .

Esta inconsistencia se resuelve seleccionando la traducción del elemento en el campo destino y guardando el artículo.

La información que se muestra en el icono "Más información" es la siguiente:

3. No publicado

Esta inconsistencia solo se detecta cuando la opción de configuración del componente "Detectar inconsistencias para elementos no publicados" se establece en "Sí" (valor predeterminado).

Indica que se ha encontrado la traducción del campo en el elemento fuente y que está seleccionada en el elemento destino, pero no está publicada. 'Más información' muestra la información para resolver la inconsistencia, que normalmente se logra haciendo clic en uno de los iconos de la columna Acciones. Esta información para este ejemplo es la siguiente:

Las pistas que se muestran en los iconos de la columna "Acciones" son los siguientes:

  • 4. En la papelera

Esta inconsistencia solo se detecta cuando la opción de configuración del componente "Detectar inconsistencias para elementos en la papelera" se establece en "Sí" (valor predeterminado)

Indica que se ha encontrado la traducción del campo en el elemento fuente y que está seleccionada en el elemento destino, pero está en la papelera. 'Más información' muestra la información para resolver la inconsistencia, que normalmente se logra haciendo clic en uno de los iconos de la columna Acciones. Esta información para este ejemplo es la siguiente:

Las pistas que se muestran en los iconos de columna "Acciones" son los siguientes:

  • 5. Archivado

Esta inconsistencia solo se detecta cuando la opción de componente "Detectar inconsistencias para elementos archivados" se establece en "Sí" (valor predeterminado)

Indica que se ha encontrado la traducción del campo en el elemento fuente y que está seleccionada en el elemento destino, pero está archivada. 'Más información' muestra la información para resolver la inconsistencia, que normalmente se logra haciendo clic en uno de los iconos de la columna Acciones. Esta información para este ejemplo es la siguiente:

Las pistas que se muestran en los iconos de columna "Acciones" son los siguientes:

  • 6. Seleccionado y no debería

Esta inconsistencia suele aparecer cuando el campo es un campo personalizable de opción múltiple y hay un elemento seleccionado en el campo personalizable del elemento destino que no es una traducción de ninguno de los elementos seleccionados en el campo personalizable del elemento fuente.

La columna "Más información" muestra la información para resolver la inconsistencia. Esta información para este ejemplo es la siguiente:

  • 7. No seleccionado y debería estarlo

Este caso es muy similar a No seleccionado, pero la diferencia aquí es que es un campo personalizable de varios valores que debe contener los mismos valores en el elemento destino que en el elemento fuente.

La columna "Más información" muestra la información para resolver la inconsistencia. Esta información para este ejemplo es la siguiente:

  • 8. No es igual al fuente

Indica que el valor del campo personalizable en el elemento destino no es igual al valor del campo personalizable en el elemento origen y deberían ser iguales. Un ejemplo son los valores de un campo Casilla de verificación:

La columna "Más información" muestra la información para resolver la inconsistencia. Esta información para este ejemplo es la siguiente:

Todas las inconsistencias descritas anteriormente también se muestran al editar elementos utilizando el editor nativo en el área de administración de Joomla, como se muestra en los siguientes ejemplos:

  • A. Ejemplo de auto-inconsistencia

  • B. Ejemplo de inconsistencia de traducción

En este ejemplo es interesante tener en cuenta que el elemento fuente con ID: 262 no es visible en la pantalla porque es el elemento en el idioma de referencia que está asociado con el visible (ID: 693).

La primera inconsistencia indica que el elemento 'Content Component (en-GB) (ID: 266)' es el valor establecido para el campo 'Parent Item' en la pestaña 'Details' del elemento fuente 'Featured Articles (en-GB) (ID:262)', pero no se ha encontrado la traducción de este elemento al idioma holandés.

La segunda inconsistencia indica que el elemento 'Components (en-GB) (ID: 21)' es el valor establecido para el campo Select Categories en la pestaña 'Layout' del elemento fuente 'Featured Articles (en-GB) (ID:262)', y se ha encontrado una traducción de este elemento que es 'SIM TRANS TO nl-NL Components (nl-NL) (ID:179)' pero no está publicada.

Las inconsistencias de los artículos también se muestran al editar artículos en el front-end como se muestra en el ejemplo siguiente:

Como en el ejemplo anterior, el elemento fuente es el elemento en el idioma de referencia (ID: 5) que no está visible en la pantalla. La inconsistencia indica que la categoría del elemento fuente, el artículo 'Authentication (en-GB)' (ID:25), es 'Plugins (en-GB)' y su traducción al español titulada 'SIM TRANS TO es-ES Plugins (es-ES)' con ID: 230 no es la categoría del artículo en español ititulado 'SIM TRANS TO es-ES Authentication (es-ES) (ID:207) (el elemento traducido). Esta incoherencia se resolvería simplemente seleccionando el valor 'SIM TRANS TO es-ES Plugins (es-ES)' como 'Categoría' del elemento traducido.

Detectando inconsistencias de traducción

KMFasTrans detecta inconsistencias al mostrar la lista de elementos en el Panel de Gestión de Traducciones y al editar un elemento. También es posible encontrar inconsistencias manualmente en cualquier momento mediante el proceso de "Comprobación de Consistencia".

Mostrar inconsistencias en el Panel de Gestión de Traducciones

El Panel de Gestión de Traducciones muestra las inconsistencias de la siguiente manera:

  • 1. El ID del elemento en la columna ID está en color rojo y enmarcado en un cuadro cuando hay una inconsistencia en ese elemento. Pasando el ratón sobre el ID, se muestra la información sobre la inconsistencia. Ejemplos:

  • 2. La 'caja' del elemento en la columna de su idioma tiene una elipse roja vertical. Esto indica que el elemento tiene inconsistencias.

  • 3. La columna 'Estado' del Conjunto de Traducciones contiene un icono de advertencia que indica que algún elemento del conjunto contiene inconsistencias. Esto es útil cuando el elemento que contiene la inconsistencia está en un idioma que no se muestra en la pantalla como en el ejemplo siguiente. Si hace clic en el número del conjunto se obtendrá una lista de todos los elementos contenidos en el conjunto. En la lista se encuentran marcados los que tienen alguna inconsistencia.

Nota:

En el panel solo se muestran las inconsistencias de los elementos asociados. Las inconsistencias de los elementos no asociados, es decir, los que no pertenecen a ningún conjunto de traducciones se muestran sólo en la pantalla de edición (y, por supuesto, en el proceso 'Comprobación de Consistencia'), y como no están asociadas, sólo pueden producirse auto-inconsistencias.

Mostrar inconsistencias en la pantalla de edición

  • 1. Al crear o editar una traducción, la detección de inconsistencias se realiza en todos los elementos del conjunto, mostrando únicamente las del elemento en el idioma destino seleccionado. Si hay otros elementos del conjunto en otros idiomas con inconsistencias de traducción, los enlaces en las pestañas de idioma en el lado derecho tendrán una elipse roja como se muestra en la siguiente captura de pantalla.

En este ejemplo, el idioma seleccionado es el italiano y el elemento en italiano no tiene incoherencias, pero hay una indicación de que los elementos en holandés y español sí las tienen. Al pulsar cualquiera de estos dos idiomas se mostrará el elemento y sus incoherencias.

Proceso de Comprobación de Consistemcia

El proceso de Comprobación de Consistencia es un proceso que puede lanzarse manualmente en cualquier momento. Este proceso recalcula las auto inconsistencias y las inconsistencias de traducción y construye un informe con el resultado de la última vez que fué lanzado.

El proceso se lanza desde el menú izquierdo en cualquier ventana de KMFasTrans pulsando el enlace 'Comprobación de Consistencia'. Al pulsar se obtiene la siguiente pantalla:

Como se ve en esta captura de pantalla puede usted buscar inconsistencias de los dos tipos pero por separado. Para auto-inconsistencias usted tiene que seleccionar un idioma y hacer clic en 'Buscar' en el cuadro superior. Para las inconsistencias de traducción tiene que seleccionar uno o más componentes en el cuadro de abajo y luego hacer clic en 'Buscar'.

Tenga en cuenta que si no selecciona todos los componentes, puede tener falsos positivos para las inconsistencias que puede tener un elemento. Sin embargo, puede ser útil reducir el tiempo necesario para recalcular las inconsistencias si está seguro de lo que está haciendo. En caso de duda lo mejor es seleccionar todos los componentes aunque el proceso tarda un poco más.

Cuando finaliza el proceso, los resultados se muestran en la parte superior de la pantalla, como en el ejemplo siguiente:

En las auto-inconsistencias sólo se muestra un mensaje con el número de inconsistencias encontradas. Puede obtener el detalle haciendo clic en el botón 'Ver informe de la última búsqueda', obteniendo la siguiente información (la columna Fecha muestra la fecha en la que se realizó la búsqueda):

Al buscar inconsistencias de traducción se obtiene la siguiente pantalla

Se muestran las inconsistencias de traducción para cada componente y también se muestra el total. Para ver los detalles de las inconsistencias de traducción encontradas, puede hacer clic en el botón "Ver informe de la última búsqueda" en la parte inferior de la pantalla. Se mostrará la siguiente información:

En la imagen se puede ver que hay ayudas en cada fila y una columna 'Acciones' desde la que se pueden tomar medidas para resolver las inconsistencias de una manera similar a cómo se hace en la pantalla de edición