Internacionalización
Hoy he elegido hacer este post al revés. Es decir, he puesto primero el título y después voy a escribir sobre el tema. Según la RAE, internacionalizar es «Someter a la autoridad conjunta de varias naciones, o de un organismo que las represente, territorios o asuntos que dependían de la autoridad de un solo Estado.»
Voy a considerar la internacionalización en su acepción informática ya que la definición que he puesto en el primer párrafo me llevaría a hablar de política. Por tanto, hablaré de un concepto interesante y a la vez un dolor de cabeza desde el punto de vista de los que nos dedicamos a picar código y/o al diseño del software.
Lo deseable al iniciar el diseño de nuevo software es tener en cuenta si va a ser utilizado por gente de diversos países. No sólo por el tema del idioma, sino también por formatos de fecha, divisas, horario o sistema de medidas (peso, volumen, longitud). Hasta aquí la parte «bonita» de todo este tema.
Por desgracia, el primer contacto que un programador tiene con la internacionalización suele ser el momento en el que toca cambiar una aplicación que fue escrita en un sólo idioma y punto. Lo que viene a continuación son horas y horas perdidas etiquetando todas y cada una de las malditas frases que fueron escritas a lo largo de toda la vida de la aplicación.
A mí me ha tocado sufrir este tema tanto en España como en Irlanda. En ambos casos también se añadía otro factor de complejidad: Cambios exclusivos para cada cliente. A veces no es suficiente traducir un párrafo perfectamente, ya que el cliente X querrá cambiar un par de palabras que al cliente Y le parecen correctas, y el cliente Z necesitará añadir un enlace adicional.
Amigo programador o diseñador de software: Cuando empiezas a crear una nueva aplicación desde cero, es probable que sólo sea necesario que sólo sea necesario escribir en español y pagar en euros, pero quizá en el futuro necesites otro idioma… Y tampoco puedes asegurar que en España se siga usando el euro eternamente.