Estudio de Frankfurt para presencia digital multilingüe +49 69 95209894 [email protected] Lu–Vi 9–17 h Área de clientes →
EspañolES

Moneda

Los importes en moneda extranjera son valores indicativos no vinculantes; la facturación se realiza en euros.

Guía práctica

Guía de localización de aplicaciones y software (i18n)

La localización de aplicaciones y software requiere una separación bien pensada entre código y textos. Esta guía aborda aspectos técnicos como marcadores de posición, reglas de plural, longitudes de texto, claves de cadena, contexto para traductores y compatibilidad con RTL. Ayuda a los desarrolladores a crear aplicaciones internacionales de manera eficiente y consistente, sin abordar temas legales o financieros.

i18n
Abreviar internacionalización
RTL
Soporte de derecha a izquierda
ICU
Componentes internacionales para Unicode
Diagrama de separación de código y recursos de idioma

1. Separación de código y textos

El requisito fundamental para cualquier localización es la separación estricta del código del programa y los contenidos textuales. Todos los textos que se muestren deben almacenarse en archivos de recursos externos (p. ej., Properties, JSON, YAML), no codificados directamente en el código fuente. De esta manera, los traductores pueden trabajar sin modificar el código. Utilice claves de cadena únicas como referencia en el código que apunten a las traducciones correspondientes. Esta separación también facilita el mantenimiento y permite agregar nuevos idiomas posteriormente sin cambios en el código. Asegúrese de que las etiquetas de la interfaz de usuario, los mensajes de error y los tooltips también estén incluidos en estos archivos.

2. Marcadores de posición y variables

Los textos a menudo contienen contenido dinámico como números, nombres o fechas. Estos deben insertarse mediante marcadores de posición, p. ej., con formato printf (%s, %d) o enfoques más modernos como llaves {0}. Es importante que los traductores conozcan el orden y el significado de los marcadores de posición. Utilice marcadores de posición con nombre (p. ej., «{username}») para proporcionar contexto. En idiomas con diferente orden de palabras, el orden de los marcadores de posición puede variar. Por lo tanto, ofrezca la posibilidad de ajustar el orden en la traducción. Pruebe todas las variantes para evitar salidas incorrectas o incompletas.

Ejemplo de marcadores de posición en cadenas traducibles

3. Reglas de plural y formación del plural

En alemán solo existe singular y plural, pero muchos idiomas tienen reglas de plural más complejas (por ejemplo, el árabe con seis categorías). Utilice bibliotecas como ICU MessageFormat, que manejan las reglas de plural de forma específica para cada idioma. Defina en sus recursos claves separadas para las diferentes formas de plural (one, other). El código seleccionará automáticamente la forma adecuada según el número. Ejemplo: „{count} {count, plural, one {manzana} other {manzanas}}“. Pruebe cada idioma con varios valores numéricos para asegurarse de que se muestre la forma de plural correcta. Evite declaraciones if fijas, ya que son propensas a errores.

4. Longitud del texto y buffer de diseño

Las traducciones suelen ser más largas o más cortas que el texto original. Esto puede desbordar el diseño, especialmente en botones, menús y etiquetas. Por lo tanto, planifique suficiente espacio para las expansiones de texto: un buen punto de referencia es un 30 % de espacio adicional para idiomas occidentales, más para asiáticos. Utilice diseños dinámicos que se adapten a la longitud del texto (por ejemplo, Auto Layout en iOS o Flexbox en la web). Evite anchos fijos. Permita que los elementos de la UI manejen el ajuste de línea cuando sea necesario. Pruebe la interfaz con las traducciones más largas esperadas para evitar superposiciones o cortes.

5. Claves de cadena, contexto para traductores y RTL

Las claves de cadena únicas son la columna vertebral de la localización. Utilice nombres descriptivos (p. ej., „login.button.title“) y documente el propósito. Proporcione contexto a los traductores: capturas de pantalla, longitud máxima de caracteres, restricciones (p. ej., „no más de 20 caracteres“). Para idiomas RTL como el árabe o el hebreo, la interfaz de usuario debe reflejarse. Utilice atributos de diseño que admitan RTL automáticamente (p. ej., start/end en lugar de left/right). Pruebe toda la navegación en condiciones RTL. También considere los iconos y gráficos, ya que pueden interpretarse de manera diferente según la cultura.

Lista de verificación para la entrada al mercado

  • Utilizar archivos de recursos externos para textos
  • Marcadores de posición con variables nombradas y orden ajustable
  • Implementar reglas de plural con ICU MessageFormat
  • Diseño con al menos un 30% de margen para extensiones de texto
  • Claves de cadena descriptivas con documentación de contexto
  • Compatibilidad con RTL mediante atributos de diseño como start/end
Cuadrícula de diseño con diferentes longitudes de texto y búferes

Preguntas frecuentes

¿Por qué es importante separar el código y los textos?

Permite realizar traducciones sin modificar el código, simplifica el mantenimiento y permite agregar nuevos idiomas sin tener que recompilar el software.

¿Cómo manejo las formas plurales en diferentes idiomas?

Utilice bibliotecas como ICU MessageFormat, que seleccionan la forma plural correcta para cada idioma. Defina en los recursos claves para cada categoría plural (p. ej., one, other).

¿Qué se debe tener en cuenta especialmente con los idiomas RTL?

La interfaz de usuario debe reflejarse: utilice atributos de diseño lógicos (inicio/fin) en lugar de direcciones absolutas. Pruebe la navegación y las sangrías de texto en condiciones RTL.

¿Listo para este mercado?

Localizamos su sitio web a nivel lingüístico, técnico y cultural, con revisión nativa y precio fijo. Solicite un presupuesto sin compromiso.

Solicitar presupuesto sin compromiso

GmbH alemanaTribunal de Distrito de Frankfurt am Main · HRB 111727
Registrado D-U-N-S®315030052
Procesamiento conforme al RGPDAlojamiento en Alemania
Precios fijos con garantía de entrega por escrito