2009-02-25 8 views

Respuesta

67

I + (unos 18 caracteres) + N = internacionalización

I18N seguro significa que se tomaron medidas durante el diseño y desarrollo que facilitará Localización (L10N) en un punto posterior.

+12

Curiosamente, el término I18N es seguro para I18N, ya que evita la cosa s/z en el Reino Unido/Estados Unidos. –

+1

Muy útil. ¡Gracias! –

5

I18N significa Internacionalización.

7

Internacionalización. La derivación es "la letra I, dieciocho letras, la letra N".

7

i18n significa i nternationalizatio n => i (18 cartas) n. El código marcado como i18n safe sería un código que maneja correctamente los datos de caracteres que no son ASCII (por ejemplo, Unicode).

+5

Y, con frecuencia, el código que mantiene cadenas en un archivo separado que se puede intercambiar, en lugar de en el código fuente. –

1

Sin ninguna información adicional, supongo que significa que el código maneja el texto como UTF8 y tiene en cuenta la configuración regional. Consulte this Wikipedia article para obtener más información.

¿Puede ser un poco más específico?

+0

Como estoy de un humor pedante - podría manejar el texto como cualquier Unicode no solo UTF8. UTF7 o UTF16 lo harían igual de bien. – MarkJ

11

Esto a menudo se refiere a un código o construcción listo para I18N, es decir, es fácilmente compatible con las técnicas comunes de I18N. Por ejemplo, el siguiente está listo:

printf(loadResourceString("Result is %s"), result); 

mientras que el siguiente no es:

printf("Result is " + result); 

porque el orden de las palabras puede variar en diferentes idiomas. Compatibilidad con Unicode, formato de fecha y hora internacional y similares también califican.

EDIT: agregó loadResourceString para hacer un ejemplo cercano a la vida real.

+0

¿por qué la segunda no es la misma que la primera? ¿No resulta que solo se pega en lugar de% s? – stimms

+0

Lo hace PERO el segundo te permite mover el hilo a recursos fácilmente y reorganizar palabras. A continuación, puede traducirlo como, por ejemplo, "% s является результатом" (en ruso) - observe el orden de las palabras diferentes, no puede usar el primer formulario directamente. –

+0

Gran respuesta. Esto es EXACTAMENTE lo que significa i18n-safe. Por lo general, se refiere a funciones como esta. –

1

I18N significa Internationalization.

En pocas palabras: el código seguro I18N significa que utiliza algún tipo de tabla de búsqueda para los textos en la interfaz de usuario. Para esto, debe soportar codificaciones que no sean ASCII. Esto puede parecer fácil, pero hay algunos gotchas.

3

i18n es una abreviatura de "internacionalización". Esto fue acuñado en DEC y en realidad usa minúsculas i y n.

Como comentario: L10n significa "localización" y utiliza el capital L para distinguirla de la minúscula i .

1

i18n-safe es un concepto vago. Por lo general, se refiere a un código que funcionará en entornos internacionales, con diferente configuración regional, teclado, juegos de caracteres, etc. El verdadero código i18n-safe es difícil de escribir.

Esto significa que el código no puede basarse en:

sizeof (char) == 1

debido a que el personaje podría ser un UTF-32 caracteres de 4 bytes, o una UTF-16 Carácter de 2 bytes y ocupan múltiples bytes.

Significa que el código no puede depender de la longitud de una cadena que iguale la cantidad de bytes en una cadena. Significa que el código no puede depender de cero bytes en una cadena que indique un terminador nulo. Significa que el código no puede simplemente asumir la codificación ASCII de archivos de texto, cadenas y entradas.

0

i18n se ocupa de - mover las cadenas codificadas fuera del código (no todas deberían estar por cierto) para que puedan ser traducidas (localización == L10n), como han señalado otros, y también se ocupa de - método sensible a la configuración regional, como - métodos que tratan el manejo de texto (cuántas palabras en un texto en japonés son muy obvias :), orden/intercalación en diferentes idiomas/sistemas de escritura, --detallando con fecha/hora (el el ejemplo más simple es am/pm para los EE. UU., relojes de 24 h para Francia, por ejemplo, para calendarios más complejos para países específicos), --detallando con árabe o hebreo (orientación de la interfaz de usuario, de texto, etc.), - codificando como han señalado otros --da tabase emite es un ángulo bastante completo. Solo lidiar con la "externalización de cadenas" está lejos de ser suficiente.

Algunos lenguajes (de software) son mejores que otros para ayudar a los desarrolladores a escribir código i18n (es decir, código que se ejecutará en diferentes entornos), pero sigue siendo una responsabilidad de ingeniería de software.

0

"I18N safe" codificación significa el código que no introduce errores I18N. I18N es un numerónimo de internacionalización, donde hay 18 caracteres entre I y N.

Existen múltiples categorías de problemas relacionados con i18n, como: Formato de cultura: formatos de fecha y hora (DD/MM/AA en Reino Unido y MM/DD/YY en EE. UU.), Formatos de número, zona horaria, unidades de medida cambian de cultura a cultura. Los datos deben ser aceptados, procesados ​​y mostrados en el formato correcto para la cultura/localidad correcta. Compatibilidad con caracteres internacionales: todos los caracteres de todos los idiomas deben aceptarse, procesarse y visualizarse correctamente. Localizabilidad: las cadenas traducibles no deberían ser código difícil. Deben ser externalizados en los archivos de recursos.

La codificación "I18N Safe" significa que ninguno de los problemas anteriores se introduce por la forma en que se escribe el código.