I18n, otro de mis terrores favoritos

I18n es la abreviatura de la palabra Internacionalization que es la técnica implementar/diseñar un sitio web para que pueda soportar diferentes configuraciones regionales (no solo el idioma, sino también formatos de fecha, cantidades monetarias, etc.). Existe un término similar: L10n (Localization) que consiste en adaptar un sitio web a una nueva configuración regional.

Este es junto con los problemas de juegos de carácteres y los campos fecha mi tercer ‘terror’ favorito a la hora de implementar programas o desarrollar sitios web. Y no, no es un tema trivial. Porque traducir un sitio web a otro idioma no solo requiere dominar ese otro idioma o tener a mano un traductor, pues muchas veces las traducciones se realizan sin contexto y fallan.

Mirad este caso:

wu-ingEste es un fragmento de un sitio web en ingles, donde entre otras cosas los usuarios suben fotos y en este mensaje hablan de que ya se han sudibo casi dos millones de fotos. Ahora mirad el mismo sitio en castellano:

wu-esp

No se trata de un error, ni es nada grave, hasta se entiende, pero desde mi punto de vista lo que ha ocurrido yo ya lo he vivido. Alguien le ha pasado al traductor un fichero con los literales (cadenas de texto) del sitio web. En el literal en inglés decia: ‘photos uploaded!‘, lo cual el traductor, haciendo su trabajo, escribió: ‘¡fotos cargadas¡‘, sin saber que la cadena original en ingles formaba parte de una frase en la que faltaba el numero. En estos casos, el traductor además de los textos a traducir necesita tener CONTEXTO, poder ver las pantallas ya sea junto con el programador o bien tenerlas capturadas en imágenes.

De hecho en esta misma captura podemos ver otros fallos que si que pueden llegar a la categoría de errores:

  • el texto del botón no está traducido, ¿porque? puede ser porque este texto no esta en los ficheros de textos a traducir o bien está en otro fichero o se genera desde otra capa y ésta está sin traducir.
  • el título de la foto tampoco está traducido. En este caso se debe de tratar de contenidos añadidos por los usuarios, y claro cada usuario habla su idioma. Esto se puede ver en otros sitios, por ejemplo, cuando ves un video en youtube, los comentarios del mismo pueden estar en cualquier idioma. ¿es un error de programación? pues depende, si estuviesemos hablando de una tienda online, los datos si que deberian internacionalizarse, pero si es otro tipo de web, no siempre hace falta.

Al internacionalizar una web se deben contemplar dos tipos de contenidos:

  • los contenidos estáticos o estructurales de la web: textos del interface.
  • los contenidos dinámicos, los valores textuales de los datos que la web gestiona. En este caso, o bien la base de datos se ha diseñado con técnicas de i18n desde el principio o ‘localizarla’, es decir, añadirle textos traducidos en otros idiomas, puede ser muy, muy costoso.

Otro tema es cuando el programador, con toda su buena voluntad usa un traductor automático. Esto lo pude ver hace años de un compañero de mi propio equipo de trabajo que tradujo el texto ‘¿Seguro que desea borrar este dato?‘ al valenciano en un traductor automático y puso el siguiente texto tal cual: ‘Assegurança que desitja esborrar aquest text?‘. El traductor tradujo la palabra ‘seguro‘ por el sustantivo ‘assegurança‘ sin pensar que era un adjetivo. Para los que no sepais valenciano, es como si ese texto lo tradujesemos al inglés con el siguiente resultado: ‘Insurance you want to delete this item?‘.

Hay infinidad de errores de este tipo en la web, algunos leves y otros bastante graves, que hablan del cuidado que han puesto en internacionalizar la web sus autores, o quizas del presupuesto que tenian :-O

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

This site uses Akismet to reduce spam. Learn how your comment data is processed.