Localización e internacionalización, ¿cuál es la diferencia?

208

Iba a hacer una pregunta sobre cómo preparar una aplicación de escritorio para admitir varios idiomas en la interfaz de usuario.

En mi búsqueda de preguntas existentes sobre el tema, estaba pensando en la palabra "Internacional", así que seleccioné la etiqueta de Internacionalización y leí algunas preguntas coincidentes.

Finalmente, me di cuenta de que probablemente debería estar buscando preguntas etiquetadas como Localización. Sin embargo, parece que no estoy solo para mezclar estos dos términos.

Entonces, ¿cuáles son las diferencias clave entre localización e internacionalización?

Además, ¿es realmente importante una distinción clara entre ellos?

Ceniza
fuente

Respuestas:

232
Internacionalización (i18n)
El proceso de cambiar su software para que no esté conectado a un idioma / localidad / cultura.
Localización (l10n)
el proceso de agregar los recursos apropiados a su software para que se admita un idioma / localidad en particular. Es más grande en alcance que solo esta entrada de Wikipedia , pero es un buen comienzo.


El valor de distinguirlos es que (teóricamente) una vez que su programa pasa por el proceso i18n, puede iterar muchos procesos l10n según los necesite; Además, es bueno ser preciso con el lenguaje.

Hank Gay
fuente
9
Algunas otras razones para pensar en ellas por separado: el control de calidad de internacionalización y el control de calidad de localización tienen diferentes casos de prueba, la internacionalización es un costo único (más o menos) y, por lo tanto, cuantos más idiomas localice, mayor será su ROI. En general, i18n es más costoso que l10n para cualquier localidad.
Mike Sickler 03 de
@Hank, @Mike, respuestas muy útiles, gracias. Así que en realidad estaba en lo correcto al considerar la internacionalización primero. Mi objetivo es asegurarme de que el diseño de la aplicación al menos admitirá varios idiomas en el futuro, incluso si inicialmente solo me estoy centrando en el inglés.
Ash
Aunque es un poco viejo, esta vista de alto nivel del W3C alta que básicamente está de acuerdo con esto.
mkobit
1
En general, la internacionalización (i18n) la realiza el desarrollador / ingeniero de software una vez, mientras que la localización (l10n) la realiza el especialista en idioma / cultura respectivo para cada mercado.
Chetan
70

De acuerdo con Apple :

La internacionalización es el proceso de diseño y construcción de una aplicación para facilitar la localización. La localización , a su vez, es la adaptación cultural y lingüística de una aplicación internacionalizada a dos o más mercados culturalmente distintos.

Mouviciel
fuente
32

La internacionalización prepara su solicitud para la localización. Por ejemplo, puede codificar caracteres almacenados en su base de datos en Unicode (en utf8mb4lugar de latin1), moviendo cadenas a archivos de recursos, permitiendo el uso de formatos de fecha, hora y moneda, etc.

Cuando desee vender, por ejemplo, una versión china de su aplicación, la localizará contratando a un traductor para crear los archivos de recursos zh-CN y usar un nuevo formato de fecha / hora / moneda.

Mark Brackett
fuente
13

L10n a veces puede mostrar dónde ha fallado su i18n, por ejemplo, dónde sus diccionarios tienen una sola entrada para una palabra que se usa como sustantivo y un verbo en inglés que no se traduce a la misma palabra en otro idioma o elementos de la interfaz de usuario / design no son adecuados para una cultura (orientación L / R).

Por lo tanto, l10n "generalmente" ocurre después de i18n, pero puede retroalimentar su i18n y requerir un rediseño adicional, por lo que no puede considerar su aplicación totalmente internacionalizada hasta que haya realizado algunas localizaciones.

Cade Roux
fuente
11

De acuerdo con Wikipedia

La internacionalización es el proceso de diseño de una aplicación de software para que pueda adaptarse a varios idiomas y regiones without engineering changes.

La localización es el proceso de adapting internationalized softwareuna región o idioma específico al agregar componentes específicos de la localidad y traducir el texto.

Además , la Localización (que se realiza potencialmente varias veces, para diferentes configuraciones regionales) usa el infrastructure or flexibility provided by internationalization(que idealmente se realiza solo una vez, o como parte integral del desarrollo continuo).

Asik
fuente
8

Globalización (G11n): es el proceso de desarrollo y comercialización de productos de software multilingües para un mercado global.

El desarrollo de software multilingüe actualmente pasa por dos fases: la primera fase es la internacionalización, y la segunda fase es la localización.

Internacionalización (I18n): es el proceso de generalización de un producto para que pueda manejar múltiples idiomas y convenciones culturales sin la necesidad de rediseñar (es decir, idioma y cultura neutrales).

Localización (L10n): es el proceso de tomar un producto y hacerlo lingüísticamente y culturalmente apropiado para el lugar de destino (país / región e idioma) donde se usará y venderá (es decir, idioma y cultura específicos).


fuente
8

Muchas respuestas, mucha información correcta, pero mi respuesta es otro punto de vista.

Internacionalización : es cuando el desarrollador no tiene mensajes directos de código / mensajes de error / nombres de botones / leyendas de etiquetas / etc. en cierto idioma, pero tiene una clave que se pasa a la función de traducción, y la función de traducción de acuerdo con la ubicación actual del usuario devolverá el texto final en inglés / francia / etc ...
La función de traducción funciona con almacenamiento (db / files / asociative array / etc).
El almacenamiento contiene claves que se utilizan en coode y valores, que son textos en cierto idioma que admite la aplicación.

Localización : es el proceso de agregar nuevos valores en un nuevo idioma (por ejemplo, España) apropiados para las claves en el almacenamiento sin involucrar al desarrollador en este proceso.

Por ejemplo, tenemos almacenamiento:

key   | english    | italian           |
------+------------+-------------------+
title | Welcome    | Benvenuto         |
agree | I agree    | Sono d'accordo    |
thank | Thank you  | Grazie            |

La internacionalización se está utilizando en el código de algo así como confirm(t(agree));lugar de confirm("I agree");o confirm("Sono d'accordo");
localización - es añadir nuevo local en nuestro almacenamiento, tales como:

key   | english    | italian           | spanish          |
------+------------+-------------------+------------------+
title | Welcome    | Benvenuto         | Bienvenido       |
agree | I agree    | Sono d'accordo    | Estoy de acuerdo |
thank | Thank you  | Grazie            | Gracias          |

y aquí el desarrollador no necesita un código de actualización, la función de traducción llevará correctamente los textos apropiados.

V. Kovpak
fuente
3
Muy facil de entender.
Vinh Nguyen
1
¡Grandes ejemplos!
Jinjinov
6

Es muy simple si sigues las siguientes definiciones,

i18n (internacionalización) es el

proceso de diseño de una aplicación para que tenga la funcionalidad de cambiar a un idioma diferente sin recurrir a cambios programáticos de la aplicación.

l10n (localización) es el

proceso de creación de los textos específicos del idioma y el formato reales .

Prateek Joshi
fuente
3

Aquí hay algunas respuestas muy buenas, por lo que no las reciclaré. Sin embargo, en algún momento, generalmente entre las pruebas de internacionalización y las pruebas lingüísticas de localización, la internacionalización y la localización tienden a superponerse. Una persona menciona que retroalimenta la internacionalización, pero si está realizando pruebas de calidad y creando contenido pseudo-localizado, iterar sobre problemas de desarrollo durante la localización debería ser la excepción, no la regla. El cambio de tamaño de la interfaz y, en particular, la adaptación de páginas para admitir idiomas bidireccionales como el árabe y el hebreo también tienden a combinar problemas de localización e ingeniería de internacionalización.

Baste decir que la internacionalización implica realizar cambios en la fuente para admitir cualquier ubicación según los requisitos. Si la internacionalización se hace bien ...

... La localización implica la adaptación del contenido y algunos niveles de presentación (por ejemplo, una etiqueta en negrita) para que responda mejor a las necesidades de mercados específicos (localizaciones).

Muchos artículos y libros blancos para referencia aquí: http://www.lingoport.com/software-internationalization-articles

Adán
fuente
3

Internacionalización - i18n - La abstracción de una aplicación de cualquier idioma / cultura en particular.

Localización - l10n- Conectando el soporte concreto para un idioma / cultura / locale particular al marco i18n anterior.

Básicamente, al hacer i18n primero, hace que l10n sea mucho menos PITA.

Por el contrario, si crea una aplicación en una ubicación concreta primero y luego intenta internacionalizarla, será una PITA masiva. No se trata simplemente de intercambiar una cadena de inglés concreta que diga "Hola mundo" a Resource.Global.HelloWorld.

Diferentes idiomas tendrán diferentes requisitos de espacio, diseño, énfasis, colores, etc.

Necesita el marco i18n en su lugar desde cero para admitir fácilmente este cambio entre configuraciones regionales para las diferencias anteriores si incluso cree que puede necesitar admitir más de una configuración regional.

Adaptarlo a la aplicación más adelante es realmente difícil. Tendrá que volver a visitar toda una serie de consideraciones y restricciones arquitectónicas que usted (u otra persona) hizo la primera vez.

rismo
fuente
2

Siento que la localización puede ir sin internacionalización pero ... la internacionalización con localización no debe hacerse ...


fuente
2

punto de vista analógico: imagine un estante en su biblioteca que solo puede llevar un tamaño de libro de 4x4 pulgadas. La internacionalización sería construir el estante con todo tipo de compartimentos diferentes que le permitan manejar cualquier tamaño o forma de libro. Y la localización sería colocar todos los libros en las secciones correctas. Piense en su base de datos, lógica de negocios y UI como el estante y los diferentes idiomas, monedas y orientación de texto como los libros.

Izz
fuente
2

Vamos a entender la configuración regional primero

locale : un conjunto de parámetros que define el idioma, la región y las preferencias de variantes especiales del usuario que el usuario desea ver en su interfaz de usuario. Por lo general, un identificador de configuración regional consta de al menos un identificador de idioma y un identificador de región.

i18n : diseño y desarrollo de software para admitir múltiples configuraciones regionales.

l10n : esto es posible solo cuando su software es compatible con i18n. Pero l10n se asegura de que el idioma, el formato de fecha, los formatos de moneda, etc. se muestren en contexto para un entorno local específico.

Por ejemplo,

# 1 El 3 de junio de 1977 se traducirá al español el 3 de junio de 1977.

# 2 La moneda en algunos países está separada por '.' vs ','

# 3. Mostrar el símbolo de moneda respectivo según el país de la localidad

# 1, # 2 y # 3 son casos de uso para la localización.

Si el software está diseñado para admitir # 1 O # 2 O # 3 según la configuración regional del usuario, entonces el producto está habilitado.

Si admite múltiples configuraciones regionales, entonces su i18n está habilitado.

Faiz Mohamed Haneef
fuente
1

Simplemente,

La internacionalización (I18N) es el proceso de hacer que su software pueda adaptarse a diferentes idiomas, regiones y culturas.

La localización (L10N) es el proceso de traducir su software a varios idiomas. Pero antes de que pueda localizar su software, debe internacionalizarlo.

Sagar Thummar
fuente
-1

Hay muchas definiciones de i18n y l10n. Los que uso son:

internacionalización (i18n) : adaptación específica del idioma de su aplicación (traducción)

localización (l10n) : adaptación local específica de su aplicación (dinero, formato de número, formato de fecha ...).

Por ejemplo, podemos tener el mismo idioma para una aplicación distribuida en Francia y en Suiza (ambos hablamos francés, al menos en algunas partes de Suiza), pero aún necesitaremos alguna adaptación para cambiar EUR a CHF.

Guillaume
fuente