# Internacionalización y localización

En la informática, la internacionalización es el proceso de diseñar software de manera tal que pueda adaptarse a diferentes idiomas y regiones sin la necesidad de realizar cambios de ingeniería ni en el código. La localización es el proceso de adaptar el software para una región específica mediante la adición de componentes específicos de un locale y la traducción de los textos, por lo que también se le puede denominar regionalización. No obstante la traducción literal del inglés es la más extendida.
Es una práctica común en el idioma inglés (sobre todo en el ámbito de la computación), abreviar internationalization con el numerónimo "i18n". Ello se debe a que entre la primera i y la última ene de dicha palabra hay 18 letras. Lo mismo sucede con localization, que se abrevia "L10n". La L mayúscula se utiliza para distinguirla de la i minúscula de i18n.
Algunas empresas, como Microsoft e IBM, usan el término globalización para referirse a la combinación de internacionalización y localización. Globalización puede también abreviarse con el numerónimo "g11n".
Internacionalización y localización son dos de los conceptos más en boga en la moderna industria del lenguaje.

## Internacionalización

La internacionalización es el proceso mediante el cual se prepara un elemento o producto para permitir su adaptación a diferentes regiones. En el caso de los programas informáticos implica prepararlo para poder ser traducido a varios idiomas, utilizar monedas diferentes o usar distintos formatos de fecha, por citar unos ejemplos. En algunos casos puede implicar pantallas o procesos de negocio diferentes. Así se puede decir que un programa informático esta internacionalizado cuando permite su adaptación a diferentes regiones.
El concepto de internacionalización empresarial implica un proceso a largo plazo. No basta con tener una presencia ocasional en otro territorio, sino de asentarse por completo en la economía de otro país. En un principio hay que contar con una estrategia bien definida en el mercado laboral, y a partir de ahí comprender que el mercado internacional ofrece una serie de oportunidades de negocio para que triunfen los servicios o productos que presta la empresa. Para ello influyen una serie de aspectos culturales, ambientales, reglamentaciones o exigencias sanitarias.
La decisión de internacionalización implica la participación directa de las empresas en otros países y es un proceso que fortalece la integración de las naciones a la economía global a través del mejoramiento de la productividad de sus empresas. ProMéxico entiende por internacionalización que las empresas mexicanas cuenten con un brazo comercial o productivo en el exterior, mediante el cual la empresa mexicana coloque sus productos y servicios en uno o más mercados externos.
La globalización ha facilitado que el trámite de internacionalización resulte más sencillo gracias al empleo de Internet. La apertura de las economías ha permitido que todo esté al alcance de nuestra mano sin necesidad de grandes esfuerzos.

## Localización

La localización o regionalización es el proceso mediante el cual un producto internacionalizado se configura para una determinada región, aprovechando las opciones que la internacionalización previa de este producto ha permitido. Por ejemplo, la internacionalización puede permitir usar distintos formatos de fecha, y la localización es seleccionar el adecuado para una región. Así no tiene sentido decir «un programa internacionalizado a España», ya que la internacionalización es genérica, o decir «un programa localizado» sin indicar a qué región se ha localizado.

### Importancia de la localización

Antes de que se masificara el uso de internacionalización, las personas que deseaban usar una computadora debían primeramente aprender el inglés. En un país con bajas tasas de alfabetización lo anterior obstaculiza el acceso a las tecnologías de la información y las comunicaciones, especialmente a las personas con bajos ingresos y las comunidades rurales que no tienen acceso a instrucción. La localización trae innumerables beneficios como la reducción significativa de la cantidad de entrenamiento necesario para que los usuarios finales puedan utilizar un sistema computacional. Se facilita así la introducción de la informática en pequeñas y medianas empresas, permitiendo que los empleados trabajen en su lengua de origen y facilitando el manejo de sistemas y para controlar bases de datos de nombres y datos propios del idioma. Se facilita de esta manera la descentralización de datos en niveles provinciales y municipales.
Lo mismo se aplica a las compañías de servicio público (electricidad, agua, teléfono) que desarrollarán bases de datos propias de la lengua. De ese modo se reducen costos y se proporciona un mejor servicio a los ciudadanos, permitiendo que las ciudades se comuniquen por correo electrónico en su propio idioma, fortaleciendo una industria local de proyectos, fuentes adecuadas para la región y ayudando a que las universidades formen más especialistas en informática.

## Proceso de negocio para internacionalizar software

Para "internacionalizar" un producto, es importante observar una variedad de mercados a los que previsiblemente entrará el producto. Detalles como la longitud del campo para direcciones de calles, formato único para la dirección, posibilidad de hacer que el campo de código postal sea opcional para dirigirse a países que no tienen códigos postales o el campo de estado para países que no tienen estados, además de la introducción de un nuevo registro los flujos que se adhieren a las leyes locales son solo algunos de los ejemplos que hacen de la internacionalización un proyecto complejo. Un enfoque más amplio tiene en cuenta los factores culturales con respecto, por ejemplo, a la adaptación de la lógica del proceso comercial o la inclusión de aspectos culturales (comportamentales) individuales.
Ya en la década de 1990, empresas como Bull utilizaban traducción automática (Systran) a gran escala, para toda su actividad de traducción: traductores humanos se ocupaban de la preedición (haciendo que la entrada legible por máquina) y post-edición.

## Ingeniería

Tanto en la reingeniería de un software existente como en el diseño de un nuevo software internacionalizado, el primer paso de la internacionalización es dividir cada parte potencialmente dependiente del lugar (ya sea código, texto o datos) en un módulo separado. Luego, cada módulo puede basarse en una biblioteca/dependencia estándar o reemplazarse de forma independiente según sea necesario para cada configuración regional.
La práctica predominante actual es que las aplicaciones coloquen texto en archivos de recursos que se cargan durante la ejecución del programa según sea necesario. Estas cadenas, almacenadas en archivos de recursos, son relativamente fáciles de traducir. Los programas a menudo se crean para hacer referencia a bibliotecas de recursos según los datos de configuración regional seleccionados.
El almacenamiento de cadenas traducibles y traducidas a veces se denomina catálogo de mensajes ya que las cadenas se llaman mensajes. El catálogo generalmente comprende un conjunto de archivos en un formato de localización específico y una biblioteca estándar para manejar dicho formato. Una biblioteca de software y un formato que ayuda en esto es gettext.
Por lo tanto, para lograr que una aplicación admita varios idiomas, se diseñaría la aplicación para seleccionar el archivo de recursos de idioma relevante en tiempo de ejecución. El código necesario para gestionar la verificación de la entrada de datos y muchos otros tipos de datos sensibles a la configuración regional también debe admitir diferentes requisitos de configuración regional. Los sistemas de desarrollo y los sistemas operativos modernos incluyen bibliotecas sofisticadas para el soporte internacional de estos tipos.
Muchos problemas de localización (por ejemplo, dirección de escritura, clasificación de texto) requieren cambios más profundos en el software que la traducción del texto. Por ejemplo, OpenOffice.org logra esto con conmutadores de compilación.

## Alcance

Varios de los puntos que cubre la internacionalización son los siguientes:
* Varios idiomas disponibles.
* Diferentes convenciones culturales.
* Zonas horarias.
* Formatos de horarios.
* Formatos de fechas.
* Monedas internacionales.
* Sistema de pesos y medidas (pulgadas/centímetros, libras/gramos, etc.).
* Códigos de caracteres (Unicode resuelve fácilmente este problema).
* Formato de números (separadores decimales, separadores de miles, etc.).

## Proceso

Un método de globalización incluye, después de la planificación, tres pasos de implementación: internacionalización, localización y control de calidad.
Hasta cierto punto (por ejemplo, para garantía de calidad), los equipos de desarrollo incluyen a alguien que maneja las etapas básicas/centrales del proceso que luego habilitan todas las demás. Estas personas normalmente entienden idiomas y culturas extranjeras y tienen cierta formación técnica. Se requieren escritores técnicos especializados para construir una sintaxis culturalmente apropiada para conceptos potencialmente complicados, junto con recursos de ingeniería para implementar y probar los elementos de localización.
Una vez internacionalizado correctamente, el software puede depender de modelos más descentralizados para la localización: el software libre y de código abierto generalmente depende de la autolocalización por parte de usuarios finales y voluntarios, a veces organizados en equipos. El proyecto KDE3, por ejemplo, ha sido traducido a más de 100 idiomas; MediaWiki en 270 idiomas, de los cuales 100 en su mayoría completos (2016).
Cuando se traduce un texto existente a otros idiomas, es difícil mantener las versiones paralelas de los textos a lo largo de la vida del producto. Por ejemplo, si se modifica un mensaje que se muestra al usuario, se deben cambiar todas las versiones traducidas.

## Consideraciones comerciales

En un entorno comercial, el beneficio de la localización es el acceso a más mercados. A principios de la década de 1980, Lotus 1-2-3 tardó dos años en separar el código del programa y el texto y perdió el liderazgo del mercado en Europa frente a Microsoft Multiplan. MicroPro descubrió que el uso de un traductor austriaco para el mercado de Alemania Occidental hizo que su documentación WordStar, según un ejecutivo, "no tuviera el tono que debería haber tenido".
Sin embargo, hay costos considerables involucrados, que van mucho más allá de la ingeniería. Además, las operaciones comerciales deben adaptarse para administrar la producción, el almacenamiento y la distribución de múltiples productos localizados discretos, que a menudo se venden en tipos de monedas, entornos regulatorios y regímenes fiscales completamente diferentes.
Finalmente, las ventas, el marketing y el soporte técnico también deben facilitar sus propias operaciones en los nuevos idiomas, a fin de brindar soporte a los clientes para los productos localizados. Particularmente para poblaciones lingüísticas relativamente pequeñas, puede que nunca sea económicamente viable ofrecer un producto localizado. Incluso cuando una gran cantidad de idiomas podría justificar la localización de un producto determinado, y la estructura interna de un producto ya permite la localización, un desarrollador o editor de software determinado puede carecer del tamaño y la sofisticación para administrar las funciones auxiliares asociadas con operar en múltiples lugares.