2009-02-03 30 views
181

Iba a hacer una pregunta sobre cómo preparar una aplicación de escritorio para admitir varios idiomas en la interfaz de usuario.Localización e internacionalización, ¿cuál es la diferencia?

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

Eventualmente me di cuenta de que probablemente debería mirar debajo de las preguntas etiquetadas de localización. Sin embargo, parece que no estoy solo al mezclar estos dos términos.

Entonces, ¿cuáles son las principales diferencias entre Localización e Internacionalización?

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

Respuesta

204
Internacionalización (i18n)
el proceso de cambiar su software de modo que no está cableado a un idioma/locale/cultura.
Localización (l10n)
proceso de agregar los recursos adecuados a su software para que se admita un idioma/configuración regional particular. Es más grande en alcance que solo this Wikipedia entry, pero es un buen comienzo.


El valor de distinguir entre ellos es que (en teoría) una vez que su programa pasa por el proceso de i18n, a continuación, puede iterar muchos procesos l10n medida que los necesite; Además, es bueno ser preciso con el lenguaje.

+9

Algunas otras razones para pensar de ellos por separado: La internacionalización de control de calidad y la localización de control de calidad tienen diferentes casos de prueba, la internacionalización es un costo por única vez (más o menos), y por lo tanto los más idiomas a localizar a, mayor será el retorno de la inversión. i18n generalmente es más costoso que l10n para cualquier localidad. –

+0

@Hank, @Mike, respuestas muy útiles, gracias. Entonces, 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 sea compatible con varios idiomas en el futuro, aunque inicialmente solo me estoy enfocando en el inglés. – Ash

+0

Aunque es un poco viejo, este [W3C high level view high] (http://www.w3.org/International/questions/qa-i18n) básicamente está de acuerdo con esto. – mkobit

64

Según Apple:

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

-1

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

internacionalización (i18n): lenguaje adaptación específica de la aplicación (traducción)

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

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 el EUR a CHF.

28

internacionalización prepara su aplicación para la localización.Por ejemplo, es posible codificar los caracteres almacenados en su base de datos en Unicode (utf8mb4 en lugar de latin1), moviendo las cuerdas a los archivos, que permiten el uso de formatos de fecha, hora y moneda, etc. recursos

Cuando se desea vender Por ejemplo, una versión china de su aplicación, la localizaría contratando un traductor para compilar los archivos de recursos de zh-CN, y usaría un nuevo formato de fecha/hora/moneda.

13

L10n a veces puede mostrar dónde ha fallado su i18n; por ejemplo, donde 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 los elementos/diseño de UI no son adecuados para una cultura (orientación L/R).

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

3

Aquí hay unas muy buenas respuestas, así que no las reciclaré. Sin embargo, en algún momento, típicamente 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 l10n retroalimenta a la internacionalización, pero si está haciendo pruebas de i18n de calidad y creando contenido pseudo-localizado, entonces iterar en los problemas de desarrollo durante la localización debe ser la excepción, no la regla. El redimensionamiento 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 entorno 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 satisfaga mejor las necesidades de mercados específicos específicos (locales).

Un montón de artículos & libros blancos de referencia aquí: http://www.lingoport.com/software-internationalization-articles

2

me siento localización puede ir sin la internacionalización, pero .. internacionalización con la localización no debe ser hecho ...

7

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 atraviesa 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 & cultura neutral).

Localización (L10n): es el proceso de tomar un producto lingüístico y culturalmente apropiado a la configuración regional (país/región e idioma) donde será utilizado y vendido (es decir, idioma & específico de cultura).

2

punto de vista analógico: Imagine un estante en su biblioteca que solo puede tomar 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 establecer 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.

3

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

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

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

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

diferentes idiomas tienen diferentes requisitos de espacio, diseño, énfasis, colores, etc.

Es necesario el marco i18n en su lugar desde el principio para apoyar fácilmente esta cambia de un entorno para las diferencias mencionadas anteriormente, incluso si usted piensa puede necesitar admitir más de una configuración regional.

Volver a instalarlo en la aplicación más adelante es realmente difícil. Tendrá que revisar toda una serie de consideraciones arquitectónicas y restricciones que usted (u otra persona) haya realizado la primera vez.

10

Según Wikipedia

internacionalización es el proceso de diseño de una aplicación de software para que potencialmente se puede adaptar a diferentes idiomas y regiones without engineering changes.

La localización es el proceso de adapting internationalized software para una región o idioma específico mediante la adición de componentes específicos de la configuración regional y la traducción de texto.

También, Localización (que se realiza potencialmente varias veces, para diferentes locales) utiliza el infrastructure or flexibility provided by internationalization (que está idealmente realiza sólo una vez, o como una parte integral del desarrollo en curso).

4

Es muy simple si se va por las definiciones a continuación,

i18n (internacionalización) es el proceso

de diseñar una aplicación de modo que tenga la funcionalidad al cambio a un idioma diferente sin recurrir a un cambio programático de la aplicación.

l10n (localización) es el proceso

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

1

Permite entender local primera

local - un conjunto de parámetros que define el idioma del usuario, la región y las preferencias variantes especiales 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ña y desarrolla software para admitir múltiples configuraciones regionales.

l10n - Esto solo es posible 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 una configuración regional específica.

Por ejemplo,

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

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

# 3. Mostrar el símbolo de moneda correspondiente 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 soportar # 1 O # 2 O # 3 en función del usuario de la configuración regional, a continuación, el producto se L10N habilitado.

Si es compatible con múltiples configuraciones regionales, entonces está habilitado i18n.

0

Simplemente,

Internacionalización (i18n) es el proceso de hacer su software capaz de adaptarse a diferentes idiomas, regiones y culturas.

Localización (L10N) es el proceso de traducción de su software a varios idiomas. Pero antes de que pueda localizar su software, lo internacionaliza.

+0

¿Cómo esto agrega algo a las respuestas ya existentes? –

3

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

internacionalización - que es cuando desarrollador no tiene en código de mensajes/mensajes de error/botones directos nombres/etiquetas de subtítulos/etc en determinado idioma, sino que tenga una clave que se pasa a la función de traducción, la función y la traducción de acuerdo con la configuración regional actual del usuario devolverá el texto final en inglés/france/etc ...
La función de traducción funciona con almacenamiento (db/files/asociative array/etc).
almacenamiento contiene teclas que se ussed en Coode y valores, que son textos en idioma determinado que apoya la aplicación.

localización - es proceso de añadir nuevos valores en el nuevo idioma (por ejemplo, España) apropiado para teclas en almacenamiento sin la participación de desarrollador en este proceso.

Por ejemplo, tenemos el almacenamiento:

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

internacionalización se está utilizando en el código de algo así como confirm(t(agree)); en lugar de confirm("I agree"); o confirm("Sono d'accordo");
Localización - es añadir nuevo local a nuestro almacenamiento, 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í desarrollador no necesita código de actualización, función de traducción realizará correctamente textos adecuados.

+1

Muy fácil de entender. –

Cuestiones relacionadas