La internacionalización de software y de sitios Web o “el hombre es el único animal que tropieza dos veces con la misma piedra”
El siguiente artículo propone aplicar pautas básicas de la internacionalización de programas de software a la internacionalización de sitios Web. La propuesta se basa en la observación de tendencias de los últimos años que han convertido la Web en algo más que una enorme red de información y han provocado un cambio cualitativo importante: en cuestión de pocos años, y gracias a tecnologías como Javascript, Java Servlets, Active Server Pages, Java Server Pages, etc., la Web se ha convertido en una enorme aplicación informática que ofrece a los usuarios no solo leer hipertexto y consultar información. Hoy en día, podemos utilizar la telaraña informática global para leer y escribir correo, gestionar discos en servidores remotos, votar a presidentes, pedir entradas de cine, responder a encuestas, hacer la compra del supermercado, reservar vuelos de avión, etc. ¡Y todo sin salir de casa! Y además, con una única herramienta (aparte de la tarjeta de crédito): el navegador de Internet.
Antes de adentrarnos más en el tema, creemos conveniente presentar una definición del concepto de internacionalización, tal y como se utiliza habitualmente en el llamado sector GILT (Globalización, Internacionalización, Localización, Traducción). Las empresas y profesionales de este joven sector ofrecen todo una gama de servicios para hacer posible la comunicación a través de barreras lingüísticas, culturales y técnicas.
Nos remitimos para tales fines a la descripción que ofrece la organización LISA (Localization Industries Standards Organization) en su “Guía de introducción al sector de la localización”:
“(...) Si la globalización puede definirse como la toma de todas las decisiones técnicas, financieras, administrativas, mercadotécnicas, de personal y de otra índole que sean necesarias para facilitar la localización (de un producto), la internacionalización permite específicamente que un producto pueda someterse a su localización en sus aspectos técnicos. (...) La internacionalización consiste básicamente en la abstracción de la funcionalidad de un producto a partir de un idioma dado, de modo que el uso de ese idioma puede añadirse con total sencillez, sin preocuparse de que las características específicas de un idioma supongan un problema cuando se haya finalizado la localización de un producto. (...)”.
La definición de LISA es intencionadamente genérica en cuanto al objeto de la internacionalización se refiere. Constata que es necesario llevar a cabo los procesos de “Globalización”, “Internacionalización” y “Localización” de cualquier “producto” para que se pueda comercializar con éxito a nivel internacional . Sin embargo, es obvio que estos procesos deben ser completamente diferentes en una gama de zapatos que en una fotocopiadora.
La generalización es correcta, pero también hay que tener en cuenta que los términos que forman la estructura conceptual de la que estamos hablando han cobrado vida propia en el marco de la industria de la localización, es decir en la adaptación lingüística, técnica y cultural de programas de software a nuevos mercados. Y es este sector el que ofrece todo un bagaje de experiencia y herramientas para afrontar los problemas que se presentan a la hora de internacionalizar sitios Web que, como hemos constatado anteriormente, son cada vez más aplicaciones informáticas a las que el usuario accede a través de su navegador.
Basado en las observaciones hechas con anterioridad podemos decir que la internacionalización de sitios web es un proceso de desarrollo llevado a cabo de tal manera que el diseño, el contenido y el código (funcionalidad) de una página Web no partan de presuposiciones basadas en una sola lengua. De esta definición pueden deducirse cuatro reglas básicas que son exactamente las mismas que se aplican en la internacionalización de programas de software:
El sitio Web debe permitir la utilización de caracteres de otras lenguas.
El sitio Web debe permitir la ordenación de cadenas de caracteres según las reglas de las lenguas de destino.
El sitio Web debe ser capaz de manejar diferentes formatos de direcciones, de monedas, de fecha y hora y de numeración.
La cuarta regla es la separación del bloque de datos del bloque de código de la aplicación Web. Se trata lamentablemente de la regla menos considerada en el desarrollo de sitios Web.
El código consiste, dependiendo de la tecnología de desarrollo utilizada, de JavaScript, VBScript, Perl, PHP, WebScript etc. Miremos en qué puede consistir el bloque de datos:
Datos de recursos:
Todo el texto en la interfaz gráfica de la aplicación Web. Ejemplos son opciones de menús, títulos de cuadros de diálogo y ventanas, texto en botones etc.
Imágenes / símbolos localizables.
Enlaces a páginas web remotas.
Datos de contenido. Incluye tanto texto llano como texto etiquetado en HTML.
Información de estilo como tipo, tamaño y color de fuente.
Información de posicionamiento y de dimensión (layout geométrico).
Los motivos para la separación del bloque de datos del bloque de códigos son, otra vez, exactamente los mismos que en la internacionalización de software:
Si no se han separado los bloques de código y de datos, se tienen que mantener tantas versiones del código cuantas versiones localizadas existan. Esto supone una tarea ardua y costosa, ya que cada vez que cambia el código, se tienen que cambiar todas las versiones localizadas. En cambio, si se ha llevado a cabo una separación nítida, el bloque de código para todas las versiones localizadas es idéntico, de manera que en teoría, puede cambiarse el código sin tener que tocar las versiones localizadas. Al mismo tiempo se pueden desarrollar versiones localizadas de la aplicación cambiando únicamente el bloque de datos.
La separación de los datos y del código facilita muchísimo el trabajo al localizador y garantiza la integridad del código, ya que no existe el riesgo de que el traductor modifique código. Además, se garantiza que todos los elementos localizables se localizan.
El código es un activo importante y puede que sea necesario mantenerlo secreto.
En el mundo de la localización de software, la aplicación de la regla de oro de la separación del bloque de código del bloque de datos se ha generalizado y se definió un estándar para la externalización de los datos localizables: los archivos de recursos (archivos .rc). Estos archivos contienen únicamente los elementos localizables. Semejante estándar todavía no existe para la gran cantidad de tecnologías de desarrollo de aplicaciones web. Sin embargo, todas las tecnologías permiten externalizar de alguna forma los recursos para separar los datos del código, y la regla se debería utilizar por las irrefutables ventajas que ofrece su aplicación.
Nos limitamos a incluir enlaces a propuestas que nos parecen interesantes:
Lloyd Honomichi: Internationalization and Web Applications
[http://www.lionbridge.com/kc/gp_intro.asp?kb=product_g11n&wp=i18N_and_web_apps]
Devsphere Mapping Framework Developer's Guide: Handling pure HTML forms automatically without mixing Java code, JSP tags and HTML markup
[http://www.devsphere.com/mapping/docs/guide/internat.html]
Spiros Xanthos: Website Internationalization Pattern
[http://wiki.cs.uiuc.edu/cs427/DOWNLOAD/WebsiteInternationalization.pdf]
XUL Coding Style Guidelines
[http://www.mozilla.org/projects/l10n/xul-styleguide.html]
En este sentido, queda mucho camino por recorrer, ¡y cuidado con las piedras!.
Michael Scholand
Director de Star y socio de Linguaserve
subir