Un tema OJS para revistas en árabe y persa: qué exige realmente el soporte RTL

Algunas de las comunidades más grandes de usuarios de Open Journal Systems publican en lenguas que se escriben de derecha a izquierda. Irak, Irán, Egipto, Arabia Saudí y Jordania suman miles de revistas en OJS, y muchas ofrecen a sus lectores una interfaz en árabe o persa. La mayoría de los temas OJS de terceros nunca se probaron en ese modo. Basta cambiar el idioma para que el menú quede en el lado equivocado, los iconos apunten al revés y el texto se muestre con la fuente árabe que tenga el sistema operativo.

Este artículo explica qué hace ya OJS con las lenguas de derecha a izquierda (RTL), dónde se rompen los temas y qué tiene que hacer un tema para merecer la etiqueta „soporte RTL”. Termina con una lista breve que puedes aplicar a cualquier tema, incluidos los nuestros.

Qué hace OJS por sí mismo

OJS sabe qué configuraciones regionales se escriben de derecha a izquierda. Cuando un lector cambia la interfaz a árabe, persa, urdu, kurdo sorani o hebreo, la plataforma coloca dir="rtl" en el cuerpo de la página. El navegador hace el resto: el texto corre de derecha a izquierda, las listas se sangran por la derecha y cualquier maquetación escrita con CSS consciente de la dirección se refleja sola.

El tema por defecto que viene con OJS incluye una hoja de estilos dedicada a este caso. Por eso una instalación limpia de OJS se ve aceptable en árabe, y por eso los problemas empiezan en el momento en que la revista instala un tema de terceros.

Dónde se rompen los temas

Un tema es sobre todo CSS, y CSS tiene dos maneras de decir „izquierda”. La antigua es física: margin-left, padding-right, left: 0, text-align: left. Esas reglas significan lo mismo sea cual sea la dirección de lectura, así que una barra lateral empujada a la izquierda en inglés se queda a la izquierda en árabe, donde el lector la espera a la derecha. La nueva es lógica: margin-inline-start, padding-inline-end, inset-inline-start, text-align: start. Esas reglas siguen la dirección del documento y se invierten solas.

La mayoría de los temas OJS de terceros que hemos revisado, incluidos, hasta hace poco, los dos que vendemos, estaban escritos con propiedades físicas. En una revista en inglés nadie lo nota. En una revista en árabe el resultado es una página en la que el texto se lee desde la derecha mientras el marco sigue construido para la izquierda: el logotipo y la navegación en el lado equivocado, las tarjetas de artículo con el borde de acento en el canto equivocado, menús desplegables que se abren fuera de la pantalla y flechas de „siguiente” que apuntan hacia atrás.

Hay un segundo fallo, menos visible. Los temas incluyen sus propias fuentes y esas fuentes suelen contener solo glifos latinos. El texto árabe cae entonces en una fuente del sistema que no encaja con el diseño, con otro peso y otra altura de línea. La maquetación puede estar bien reflejada y aun así verse rota.

El tercer fallo es invisible hasta que sabes buscarlo. OJS construye el paquete de traducciones de un plugin solo a partir del idioma solicitado. Un tema que trae cadenas en inglés y polaco, pero ningún archivo en árabe, imprime claves en bruto como ##plugins.themes.clarity.articles## en la interfaz árabe. No hay respaldo al inglés.

Qué tiene que significar „soporte RTL”

Cuando añadimos el soporte de derecha a izquierda a Clarity y Opus, el trabajo se redujo a cinco cosas. Cualquier tema que afirme tener soporte RTL debería poder mostrarte las mismas cinco.

  1. Propiedades CSS lógicas en todas partes. Cada regla física de izquierda o derecha sustituida por su equivalente lógico, y una comprobación en la construcción que falla cuando se cuela una nueva regla física. Clarity necesitó 51 sustituciones, Opus 27.
  2. Una hoja RTL corta para lo que las propiedades lógicas no expresan. Iconos dibujados con transformaciones CSS, glifos de flecha escritos en las plantillas, la posición de la flecha de un select, una sombra que debe caer al otro lado. Este archivo debería ser corto. Si es largo, el tema está parcheando CSS físico en lugar de arreglarlo.
  3. Fuentes árabes incluidas. Enviamos Noto Sans Arabic y Noto Naskh Arabic con ambos temas, declaradas con unicode-range para que se activen solo con glifos de escritura árabe. El texto latino conserva la pareja tipográfica que haya elegido la revista, y ninguna petición sale hacia Google Fonts.
  4. Archivos de traducción para las lenguas RTL. Ambos temas incluyen ahora cadenas en árabe y persa para cada clave, así que la interfaz nunca muestra claves en bruto. El urdu, el kurdo y el hebreo usan las traducciones de la propia plataforma para la interfaz principal; las cadenas propias del tema en esas tres lenguas siguen en inglés.
  5. Pruebas en la interfaz real, en ambas versiones de OJS compatibles. Comparamos píxel a píxel la maquetación en inglés antes y después del cambio para asegurar que nada se moviera, y después revisamos las interfaces en árabe y persa en la portada, el índice del número, la página del artículo, el archivo, el formulario de acceso y la vista móvil, en OJS 3.4 y 3.5.

Dos detalles de ese trabajo merecen pasarse a quien haga lo mismo. Los elementos ocultos con left: -9999px, un truco habitual para enlaces destinados a lectores de pantalla, crean diez mil píxeles de desbordamiento desplazable en un documento RTL y pueden sacar toda la página de la vista; el lógico inset-inline-start no lo hace. Y los carruseles no necesitan tratamiento especial si la biblioteca lee la dirección del documento; Swiper, que OJS usa para los destacados, lo hace.

Cómo se ven Clarity y Opus en árabe

Las dos demostraciones siguientes están generadas desde una instalación real de OJS 3.5 con la interfaz en árabe. Nada en ellas es una maqueta.

Las páginas de producto de Clarity y Opus listan el soporte RTL junto con el resto de características. Viene incluido en las versiones actuales para OJS 3.4 y OJS 3.5, sin coste adicional.

Una lista para evaluar cualquier tema OJS en RTL

Antes de comprar o instalar un tema para una revista en árabe, persa, urdu, kurdo o hebreo, haz al proveedor estas seis preguntas, o compruébalo tú mismo en una instalación de prueba:

  1. ¿El CSS del tema usa propiedades lógicas, o depende de una hoja RTL separada que sobrescribe reglas físicas? Lo primero es una decisión de diseño; lo segundo, un parche que se rompe con cada actualización.
  2. ¿El tema incluye fuentes con glifos árabes, o el texto árabe cae en la fuente del sistema?
  3. ¿El tema trae archivos de traducción para tu idioma de interfaz, de modo que no aparezcan ##claves##?
  4. ¿Se compararon las versiones árabe e inglesa después del trabajo RTL, o se añadió RTL sin comprobar que la maquetación en inglés sobrevivía?
  5. ¿El soporte RTL existe en la versión de OJS que realmente usas, no solo en la más nueva?
  6. ¿Puedes ver una demostración generada desde una instalación real en tu idioma, y no una captura de pantalla?

Si las respuestas son afirmativas, el tema servirá bien a tus lectores. Si el proveedor no sabe responder, la opción más segura para una revista RTL sigue siendo el tema por defecto de OJS, que al menos está probado en ese modo. Y elijas el tema que elijas, instálalo desde una fuente identificable; nuestra lista de verificación de seguridad para OJS explica por qué eso importa más que cualquier rasgo visual.

← Todos los artículos