Si quieres conectar con usuarios de Android de diferentes países y culturas, tendrás que localizar la aplicación para que sea compatible con varios idiomas. Este proceso comienza con la internacionalización de Android (i18n), que sienta las bases para una localización perfecta.

Internacionalizar tu aplicación de Android significa diseñarla para que se adapte a varios idiomas sin cambios de ingeniería. Esto hará que su aplicación se sienta familiar para los usuarios de otra región o cultura, aumentando la usabilidad y abriendo la puerta a nuevos mercados. El proceso solo debe realizarse una vez, lo que le permite ahorrar tiempo y dinero en cada localización posterior.

Esta guía paso a paso te guiará a través del proceso de internacionalización y localización de tu aplicación de Android. Aprenderá a preparar su aplicación, manejar contenido dinámico y realizar pruebas en varios idiomas y configuraciones regionales.

Cómo prepararse para la localización de aplicaciones de Android

La internacionalización prepara la aplicación de Android para la localización. Este proceso establece una base sólida dentro de Android Studio para garantizar que tu app admita varios idiomas y regiones. A continuación, te explicamos cómo empezar:

  1. Instalar Android Studio

Para empezar, descarga e instala Android Studio. Android Studio es el entorno de desarrollo oficial para Android, que proporciona todo lo que necesitas para internacionalizar, localizar y probar tu app.

  1. Crear un nuevo proyecto de Android

Abre Android Studio y crea un proyecto nuevo. La plantilla "Actividad vacía" ofrece un punto de partida sencillo.

A continuación, configura los ajustes de tu proyecto de la siguiente manera:

  • Nombre: Escriba el nombre de la aplicación (por ejemplo, "LocalizedApp").
  • Nombre del paquete: utilice un identificador único como “com.example.localizedappi18n”.
  • Idioma: Selecciona Kotlin (recomendado) o Java.
  • SDK mínimo: Establece la versión de Android más baja que admitirá tu aplicación.

Luego, confirme sus elecciones para generar la estructura del proyecto.

  1. Agregar elementos de interfaz de usuario con diseños flexibles

Al agregar elementos de interfaz de usuario, diseñe teniendo en cuenta la localización. Idiomas como el alemán a menudo requieren más espacio que el inglés, mientras que los caracteres chinos son más compactos. Evite establecer anchos fijos para los elementos de texto, ya que las traducciones más largas en algunos idiomas pueden exceder el tamaño del contenedor.

Considere la posibilidad de usar herramientas como ConstraintLayout para permitir que los elementos de la interfaz de usuario ajusten la posición y el tamaño dinámicamente en función de la longitud del texto traducido. 

A continuación, se muestra un ejemplo de XML:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

xmlns:android="http://schemas.android.com/apk/res/android

xmlns:app="http://schemas.android.com/apk/res-auto

android:layout_width="match_parent"

android:layout_height="match_parent">


<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/welcome_message"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Aquí, TextView se usa para mostrar un recurso de cadena (por ejemplo, un mensaje de bienvenida). Al utilizar wrap_content para el ancho, el elemento cambia automáticamente de tamaño para adaptarse a la longitud del texto traducido en lugar de estar restringido por una dimensión fija. Además, ConstraintLayout mantiene TextView correctamente posicionado dentro de la pantalla, independientemente de la longitud del texto o del tamaño de la pantalla.

Crear un diseño flexible desde el principio hace que tu aplicación se vea genial, independientemente del idioma en el que esté localizada.

  1. Preparación para la localización con texto externalizado

El último paso para preparar tu app de Android para la localización requiere que almacenes todo el texto orientado al usuario en un archivo de recursos separado en lugar de codificarlo. Con un archivo de recursos centralizado como strings.xml, No tendrás que reemplazar manualmente el texto disperso por el código.

A continuación te explicamos cómo hacerlo:

  • Localice la carpeta “res/values/” en el directorio de su proyecto.
  • Abre el "strings.xml" (si no existe, cree uno).
  • Agregue el texto al archivo mediante un par nombre-valor:

<?xml version="1.0" encoding="utf-8"?>

<resources>
<string name="welcome_message">¡Bienvenido a mi aplicación!</string>
</resources>

Vuelva al archivo activity_main.xml y actualice TextView para hacer referencia al recurso de cadena:

<TextView
android:text="@string/welcome_message"

Organizar su proyecto de esta manera internacionalizará su aplicación de Android, lo que le permitirá delinear fácilmente el contenido que necesita localizarse en un idioma diferente.

Cómo localizar una aplicación de Android en 4 pasos

Ahora que ha preparado su aplicación para Android, es hora de repasar el proceso de localización paso a paso, desde la configuración de recursos específicos del idioma hasta el cambio dinámico de la configuración regional de la aplicación para Android.

  1. Ampliar strings.xml para la localización

En la etapa de preparación, creó un archivo strings.xml para administrar todo el texto de su aplicación de Android. Ahora, es el momento de ampliar esto mediante la creación de versiones específicas del idioma del archivo para cada idioma compatible.

En primer lugar, crea nuevas carpetas para cada idioma de destino en el directorio res de tu proyecto. Utilice un nombre de carpeta que incluya el código de idioma apropiado (por ejemplo, "res/values-es/" para español y "res/values-fr/" para francés).

Copie el archivo strings.xml predeterminado en cada carpeta. A continuación, traduzca manualmente el texto para cada idioma. Por ejemplo, el archivo en inglés predeterminado podría decir:

<TextView
<string name="hello_world">Hello, World!string>

La versión en español en "values-es/strings.xml" Sería:

<TextView
<string name="hello_world">¡Hola, Mundo!string>

Una vez que creas estos archivos XML específicos del idioma, Android elige automáticamente la versión correcta de strings.xml en función de la configuración de idioma del dispositivo del usuario.

  1. Maneja plurales para traducciones precisas

Los plurales son complicados porque cada idioma los maneja de manera diferente. Por ejemplo, "un artículo" es singular en inglés, pero todos los demás números son plurales, ya sea "cero artículos" o "doscientos artículos". Sin embargo, idiomas como el ruso, el galés y el checo usan reglas más específicas para los plurales según el número.

A continuación, se explica cómo definir cadenas pluralizadas en strings.xml para inglés:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<plurals name="item_count">

<item quantity="one">%d item</item>

<cantidad de artículo="otros">%d artículos</artículo></item>

</plurals>

</resources>


Esto tiene en cuenta los siguientes valores de cantidad:

  • Uno: se utiliza para formas singulares (por ejemplo, un elemento).
  • Otro: Se utiliza para formas plurales (por ejemplo, cero elementos, dos elementos, tres elementos).

El inglés solo requiere "uno" y "otro", pero otros idiomas tienen más clasificaciones. Para administrar esto, Android proporciona una etiqueta en strings.xml. Android admite etiquetas para cero, uno, dos, pocos, muchos y otros. A continuación, se muestran ejemplos de idiomas que usan cada etiqueta:

  • El árabe emplea una concordancia gramatical especial para el cero.
  • El ruso trata cualquier número que termine en "1" de manera diferente, a menos que termine en "11".
  • El galés usa una pluralización distinta cuando hay dos de algo.
  • Idiomas como el checo y el maltés distinguen entre números pequeños y grandes.
  • El chino no hace distinciones.

A continuación, te explicamos cómo recuperar y dar formato a la string pluralizada en Kotlin:

val itemCount = 3

val mensaje = resources.getQuantityString(R.plurals.item_count, itemCount, itemCount)

En este código, R.plurals.item_count es el ID de recurso plural. La primera itemCount selecciona la cadena plural en función de las reglas plurales de la configuración regional del dispositivo y el segundo itemCount reemplaza el marcadordeposición %d.

Por ejemplo, estas son las salidas para inglés:

  • Para itemCount = 1: "1 artículo"
  • Para itemCount = 3: "3 artículos"
  1. Usar marcadores de posición para valores dinámicos

Las aplicaciones suelen mostrar contenido personalizado o dinámico, como el nombre de un usuario o el número de notificaciones que tiene. En lugar de codificar este contenido, puede usar marcadores de posición en sus cadenas, como se muestra a continuación:

<resources>

<string name="welcome_message">¡Bienvenido, %1$s! Tienes %2$d mensajes nuevos.</string>

</resources>

Así es como funciona:

  • %1$s es un marcador de posición para una cadena (como un nombre).
  • %2$d es un marcador de posición para un número (como el recuento de mensajes).

Cuando se ejecuta la aplicación, estos marcadores de posición se reemplazan dinámicamente con valores ingresados por el usuario y sus datos dinámicos.

  1. Añadir sugerencias contextuales

Los traductores no siempre saben cómo se utiliza una cadena en su aplicación. Por ejemplo, una palabra como “menú” podría significar una lista desplegable, la lista de comidas de un restaurante o una página de configuración. Para evitar confusiones, puedes agregar comentarios directamente en tu strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<!-- This string is used as a label for the navigation menu →

<string name="menu_label">Menu</string>


<!-- This string is used for the settings button in the app →

<string name="settings_label">Settings</string>

</resources>

Estas notas le dicen al traductor que la palabra "menú" se refiere a una función de navegación en la aplicación, no al menú de un restaurante.

Probar la localización en Android

Probar su aplicación de Android localizada es crucial para asegurarse de que funcione en varios idiomas y regiones. Al realizar pruebas en emuladores y dispositivos reales, puede detectar problemas y ofrecer una aplicación que se sienta natural y funcional para los usuarios de todo el mundo.

¿Por qué probar en dispositivos reales?

Los dispositivos reales proporcionan la simulación más cercana de cómo los usuarios interactuarán con su aplicación. Le muestran cómo se ve el texto traducido en la pantalla real de un teléfono, si es demasiado largo o está cortado.

¿Por qué probar con emuladores?

Los emuladores son una forma práctica de probar tu app en numerosas configuraciones. Le permiten cambiar rápidamente entre idiomas y regiones para comprobar las traducciones, los ajustes de diseño y el comportamiento de la interfaz de usuario.

La combinación de ambos métodos le permite mantener una funcionalidad y una experiencia de usuario óptimas en varios idiomas y configuraciones regionales.

Cómo utilizar Smartling para la localización de Android

Smartling elimina la complejidad de la localización de Android. Con herramientas impulsadas por IA, integraciones perfectas de archivos XML de Android y un equipo de traductores expertos, Smartling ofrece múltiples servicios para agilizar todo el proceso de traducción de principio a fin y automatizar los flujos de trabajo manuales.

Su empresa puede aprovechar los sistemas de automatización y los conocimientos basados en datos de Smartling para localizar más rápido y mantener la coherencia de la marca en los mercados globales, superando a sus competidores y proporcionando una experiencia de usuario incomparable.

¿Está listo para localizar de forma más inteligente, no más difícil? Descargue nuestro libro electrónico gratuito, "10 estrategias para aumentar la eficiencia de la traducción". Aprenderá a mejorar la velocidad, la calidad y el costo de la traducción con estrategias prácticas y ejemplos del mundo real.

Si quieres conectar con usuarios de Android de diferentes países y culturas, tendrás que localizar la aplicación para que sea compatible con varios idiomas. Este proceso comienza con la internacionalización de Android (i18n), que sienta las bases para una localización perfecta.

Internacionalizar tu aplicación de Android significa diseñarla para que se adapte a varios idiomas sin cambios de ingeniería. Esto hará que su aplicación se sienta familiar para los usuarios de otra región o cultura, aumentando la usabilidad y abriendo la puerta a nuevos mercados. El proceso solo debe realizarse una vez, lo que le permite ahorrar tiempo y dinero en cada localización posterior.

Esta guía paso a paso te guiará a través del proceso de internacionalización y localización de tu aplicación de Android. Aprenderá a preparar su aplicación, manejar contenido dinámico y realizar pruebas en varios idiomas y configuraciones regionales.

Cómo prepararse para la localización de aplicaciones de Android

La internacionalización prepara la aplicación de Android para la localización. Este proceso establece una base sólida dentro de Android Studio para garantizar que tu app admita varios idiomas y regiones. A continuación, te explicamos cómo empezar:

  1. Instalar Android Studio

Para empezar, descarga e instala Android Studio. Android Studio es el entorno de desarrollo oficial para Android, que proporciona todo lo que necesitas para internacionalizar, localizar y probar tu app.

  1. Crear un nuevo proyecto de Android

Abre Android Studio y crea un proyecto nuevo. La plantilla "Actividad vacía" ofrece un punto de partida sencillo.

A continuación, configura los ajustes de tu proyecto de la siguiente manera:

  • Nombre: Escriba el nombre de la aplicación (por ejemplo, "LocalizedApp").
  • Nombre del paquete: utilice un identificador único como “com.example.localizedappi18n”.
  • Idioma: Selecciona Kotlin (recomendado) o Java.
  • SDK mínimo: Establece la versión de Android más baja que admitirá tu aplicación.

Luego, confirme sus elecciones para generar la estructura del proyecto.

  1. Agregar elementos de interfaz de usuario con diseños flexibles

Al agregar elementos de interfaz de usuario, diseñe teniendo en cuenta la localización. Idiomas como el alemán a menudo requieren más espacio que el inglés, mientras que los caracteres chinos son más compactos. Evite establecer anchos fijos para los elementos de texto, ya que las traducciones más largas en algunos idiomas pueden exceder el tamaño del contenedor.

Considere la posibilidad de usar herramientas como ConstraintLayout para permitir que los elementos de la interfaz de usuario ajusten la posición y el tamaño dinámicamente en función de la longitud del texto traducido. 

A continuación, se muestra un ejemplo de XML:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

xmlns:android="http://schemas.android.com/apk/res/android

xmlns:app="http://schemas.android.com/apk/res-auto

android:layout_width="match_parent"

android:layout_height="match_parent">


<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/welcome_message"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Aquí, TextView se usa para mostrar un recurso de cadena (por ejemplo, un mensaje de bienvenida). Al utilizar wrap_content para el ancho, el elemento cambia automáticamente de tamaño para adaptarse a la longitud del texto traducido en lugar de estar restringido por una dimensión fija. Además, ConstraintLayout mantiene TextView correctamente posicionado dentro de la pantalla, independientemente de la longitud del texto o del tamaño de la pantalla.

Crear un diseño flexible desde el principio hace que tu aplicación se vea genial, independientemente del idioma en el que esté localizada.

  1. Preparación para la localización con texto externalizado

El último paso para preparar tu app de Android para la localización requiere que almacenes todo el texto orientado al usuario en un archivo de recursos separado en lugar de codificarlo. Con un archivo de recursos centralizado como strings.xml, No tendrás que reemplazar manualmente el texto disperso por el código.

A continuación te explicamos cómo hacerlo:

  • Localice la carpeta “res/values/” en el directorio de su proyecto.
  • Abre el "strings.xml" (si no existe, cree uno).
  • Agregue el texto al archivo mediante un par nombre-valor:

<?xml version="1.0" encoding="utf-8"?>

<resources>
<string name="welcome_message">¡Bienvenido a mi aplicación!</string>
</resources>

Vuelva al archivo activity_main.xml y actualice TextView para hacer referencia al recurso de cadena:

<TextView
android:text="@string/welcome_message"

Organizar su proyecto de esta manera internacionalizará su aplicación de Android, lo que le permitirá delinear fácilmente el contenido que necesita localizarse en un idioma diferente.

Cómo localizar una aplicación de Android en 4 pasos

Ahora que ha preparado su aplicación para Android, es hora de repasar el proceso de localización paso a paso, desde la configuración de recursos específicos del idioma hasta el cambio dinámico de la configuración regional de la aplicación para Android.

  1. Ampliar strings.xml para la localización

En la etapa de preparación, creó un archivo strings.xml para administrar todo el texto de su aplicación de Android. Ahora, es el momento de ampliar esto mediante la creación de versiones específicas del idioma del archivo para cada idioma compatible.

En primer lugar, crea nuevas carpetas para cada idioma de destino en el directorio res de tu proyecto. Utilice un nombre de carpeta que incluya el código de idioma apropiado (por ejemplo, "res/values-es/" para español y "res/values-fr/" para francés).

Copie el archivo strings.xml predeterminado en cada carpeta. A continuación, traduzca manualmente el texto para cada idioma. Por ejemplo, el archivo en inglés predeterminado podría decir:

<TextView
<string name="hello_world">Hello, World!string>

La versión en español en "values-es/strings.xml" Sería:

<TextView
<string name="hello_world">¡Hola, Mundo!string>

Una vez que creas estos archivos XML específicos del idioma, Android elige automáticamente la versión correcta de strings.xml en función de la configuración de idioma del dispositivo del usuario.

  1. Maneja plurales para traducciones precisas

Los plurales son complicados porque cada idioma los maneja de manera diferente. Por ejemplo, "un artículo" es singular en inglés, pero todos los demás números son plurales, ya sea "cero artículos" o "doscientos artículos". Sin embargo, idiomas como el ruso, el galés y el checo usan reglas más específicas para los plurales según el número.

A continuación, se explica cómo definir cadenas pluralizadas en strings.xml para inglés:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<plurals name="item_count">

<item quantity="one">%d item</item>

<cantidad de artículo="otros">%d artículos</artículo></item>

</plurals>

</resources>


Esto tiene en cuenta los siguientes valores de cantidad:

  • Uno: se utiliza para formas singulares (por ejemplo, un elemento).
  • Otro: Se utiliza para formas plurales (por ejemplo, cero elementos, dos elementos, tres elementos).

El inglés solo requiere "uno" y "otro", pero otros idiomas tienen más clasificaciones. Para administrar esto, Android proporciona una etiqueta en strings.xml. Android admite etiquetas para cero, uno, dos, pocos, muchos y otros. A continuación, se muestran ejemplos de idiomas que usan cada etiqueta:

  • El árabe emplea una concordancia gramatical especial para el cero.
  • El ruso trata cualquier número que termine en "1" de manera diferente, a menos que termine en "11".
  • El galés usa una pluralización distinta cuando hay dos de algo.
  • Idiomas como el checo y el maltés distinguen entre números pequeños y grandes.
  • El chino no hace distinciones.

A continuación, te explicamos cómo recuperar y dar formato a la string pluralizada en Kotlin:

val itemCount = 3

val mensaje = resources.getQuantityString(R.plurals.item_count, itemCount, itemCount)

En este código, R.plurals.item_count es el ID de recurso plural. La primera itemCount selecciona la cadena plural en función de las reglas plurales de la configuración regional del dispositivo y el segundo itemCount reemplaza el marcadordeposición %d.

Por ejemplo, estas son las salidas para inglés:

  • Para itemCount = 1: "1 artículo"
  • Para itemCount = 3: "3 artículos"
  1. Usar marcadores de posición para valores dinámicos

Las aplicaciones suelen mostrar contenido personalizado o dinámico, como el nombre de un usuario o el número de notificaciones que tiene. En lugar de codificar este contenido, puede usar marcadores de posición en sus cadenas, como se muestra a continuación:

<resources>

<string name="welcome_message">¡Bienvenido, %1$s! Tienes %2$d mensajes nuevos.</string>

</resources>

Así es como funciona:

  • %1$s es un marcador de posición para una cadena (como un nombre).
  • %2$d es un marcador de posición para un número (como el recuento de mensajes).

Cuando se ejecuta la aplicación, estos marcadores de posición se reemplazan dinámicamente con valores ingresados por el usuario y sus datos dinámicos.

  1. Añadir sugerencias contextuales

Los traductores no siempre saben cómo se utiliza una cadena en su aplicación. Por ejemplo, una palabra como “menú” podría significar una lista desplegable, la lista de comidas de un restaurante o una página de configuración. Para evitar confusiones, puedes agregar comentarios directamente en tu strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<!-- This string is used as a label for the navigation menu →

<string name="menu_label">Menu</string>


<!-- This string is used for the settings button in the app →

<string name="settings_label">Settings</string>

</resources>

Estas notas le dicen al traductor que la palabra "menú" se refiere a una función de navegación en la aplicación, no al menú de un restaurante.

Probar la localización en Android

Probar su aplicación de Android localizada es crucial para asegurarse de que funcione en varios idiomas y regiones. Al realizar pruebas en emuladores y dispositivos reales, puede detectar problemas y ofrecer una aplicación que se sienta natural y funcional para los usuarios de todo el mundo.

¿Por qué probar en dispositivos reales?

Los dispositivos reales proporcionan la simulación más cercana de cómo los usuarios interactuarán con su aplicación. Le muestran cómo se ve el texto traducido en la pantalla real de un teléfono, si es demasiado largo o está cortado.

¿Por qué probar con emuladores?

Los emuladores son una forma práctica de probar tu app en numerosas configuraciones. Le permiten cambiar rápidamente entre idiomas y regiones para comprobar las traducciones, los ajustes de diseño y el comportamiento de la interfaz de usuario.

La combinación de ambos métodos le permite mantener una funcionalidad y una experiencia de usuario óptimas en varios idiomas y configuraciones regionales.

Cómo utilizar Smartling para la localización de Android

Smartling elimina la complejidad de la localización de Android. Con herramientas impulsadas por IA, integraciones perfectas de archivos XML de Android y un equipo de traductores expertos, Smartling ofrece múltiples servicios para agilizar todo el proceso de traducción de principio a fin y automatizar los flujos de trabajo manuales.

Su empresa puede aprovechar los sistemas de automatización y los conocimientos basados en datos de Smartling para localizar más rápido y mantener la coherencia de la marca en los mercados globales, superando a sus competidores y proporcionando una experiencia de usuario incomparable.

¿Está listo para localizar de forma más inteligente, no más difícil? Descargue nuestro libro electrónico gratuito, "10 estrategias para aumentar la eficiencia de la traducción". Aprenderá a mejorar la velocidad, la calidad y el costo de la traducción con estrategias prácticas y ejemplos del mundo real.

Si quieres conectar con usuarios de Android de diferentes países y culturas, tendrás que localizar la aplicación para que sea compatible con varios idiomas. Este proceso comienza con la internacionalización de Android (i18n), que sienta las bases para una localización perfecta.

Internacionalizar tu aplicación de Android significa diseñarla para que se adapte a varios idiomas sin cambios de ingeniería. Esto hará que su aplicación se sienta familiar para los usuarios de otra región o cultura, aumentando la usabilidad y abriendo la puerta a nuevos mercados. El proceso solo debe realizarse una vez, lo que le permite ahorrar tiempo y dinero en cada localización posterior.

Esta guía paso a paso te guiará a través del proceso de internacionalización y localización de tu aplicación de Android. Aprenderá a preparar su aplicación, manejar contenido dinámico y realizar pruebas en varios idiomas y configuraciones regionales.

Cómo prepararse para la localización de aplicaciones de Android

La internacionalización prepara la aplicación de Android para la localización. Este proceso establece una base sólida dentro de Android Studio para garantizar que tu app admita varios idiomas y regiones. A continuación, te explicamos cómo empezar:

  1. Instalar Android Studio

Para empezar, descarga e instala Android Studio. Android Studio es el entorno de desarrollo oficial para Android, que proporciona todo lo que necesitas para internacionalizar, localizar y probar tu app.

  1. Crear un nuevo proyecto de Android

Abre Android Studio y crea un proyecto nuevo. La plantilla "Actividad vacía" ofrece un punto de partida sencillo.

A continuación, configura los ajustes de tu proyecto de la siguiente manera:

  • Nombre: Escriba el nombre de la aplicación (por ejemplo, "LocalizedApp").
  • Nombre del paquete: utilice un identificador único como “com.example.localizedappi18n”.
  • Idioma: Selecciona Kotlin (recomendado) o Java.
  • SDK mínimo: Establece la versión de Android más baja que admitirá tu aplicación.

Luego, confirme sus elecciones para generar la estructura del proyecto.

  1. Agregar elementos de interfaz de usuario con diseños flexibles

Al agregar elementos de interfaz de usuario, diseñe teniendo en cuenta la localización. Idiomas como el alemán a menudo requieren más espacio que el inglés, mientras que los caracteres chinos son más compactos. Evite establecer anchos fijos para los elementos de texto, ya que las traducciones más largas en algunos idiomas pueden exceder el tamaño del contenedor.

Considere la posibilidad de usar herramientas como ConstraintLayout para permitir que los elementos de la interfaz de usuario ajusten la posición y el tamaño dinámicamente en función de la longitud del texto traducido. 

A continuación, se muestra un ejemplo de XML:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

xmlns:android="http://schemas.android.com/apk/res/android

xmlns:app="http://schemas.android.com/apk/res-auto

android:layout_width="match_parent"

android:layout_height="match_parent">

 

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/welcome_message"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Aquí, TextView se usa para mostrar un recurso de cadena (por ejemplo, un mensaje de bienvenida). Al utilizar wrap_content para el ancho, el elemento cambia automáticamente de tamaño para adaptarse a la longitud del texto traducido en lugar de estar restringido por una dimensión fija. Además, ConstraintLayout mantiene TextView correctamente posicionado dentro de la pantalla, independientemente de la longitud del texto o del tamaño de la pantalla.

Crear un diseño flexible desde el principio hace que tu aplicación se vea genial, independientemente del idioma en el que esté localizada.

  1. Preparación para la localización con texto externalizado

El último paso para preparar tu app de Android para la localización requiere que almacenes todo el texto orientado al usuario en un archivo de recursos separado en lugar de codificarlo. Con un archivo de recursos centralizado como strings.xml, No tendrás que reemplazar manualmente el texto disperso por el código.

A continuación te explicamos cómo hacerlo:

  • Localice la carpeta “res/values/” en el directorio de su proyecto.
  • Abre el "strings.xml" (si no existe, cree uno).
  • Agregue el texto al archivo mediante un par nombre-valor:

<?xml version="1.0" encoding="utf-8"?>

<resources>
<string name="welcome_message">¡Bienvenido a mi aplicación!</string>
</resources>

Vuelva al archivo activity_main.xml y actualice TextView para hacer referencia al recurso de cadena:

<TextView
android:text="@string/welcome_message"

Organizar su proyecto de esta manera internacionalizará su aplicación de Android, lo que le permitirá delinear fácilmente el contenido que necesita localizarse en un idioma diferente.

Cómo localizar una aplicación de Android en 4 pasos

Ahora que ha preparado su aplicación para Android, es hora de repasar el proceso de localización paso a paso, desde la configuración de recursos específicos del idioma hasta el cambio dinámico de la configuración regional de la aplicación para Android.

  1. Ampliar strings.xml para la localización

En la etapa de preparación, creó un archivo strings.xml para administrar todo el texto de su aplicación de Android. Ahora, es el momento de ampliar esto mediante la creación de versiones específicas del idioma del archivo para cada idioma compatible.

En primer lugar, crea nuevas carpetas para cada idioma de destino en el directorio res de tu proyecto. Utilice un nombre de carpeta que incluya el código de idioma apropiado (por ejemplo, "res/values-es/" para español y "res/values-fr/" para francés).

Copie el archivo strings.xml predeterminado en cada carpeta. A continuación, traduzca manualmente el texto para cada idioma. Por ejemplo, el archivo en inglés predeterminado podría decir:

<TextView
<string name="hello_world">Hello, World!string>

La versión en español en "values-es/strings.xml" Sería:

<TextView
<string name="hello_world">¡Hola, Mundo!string>

Una vez que creas estos archivos XML específicos del idioma, Android elige automáticamente la versión correcta de strings.xml en función de la configuración de idioma del dispositivo del usuario.

  1. Maneja plurales para traducciones precisas

Los plurales son complicados porque cada idioma los maneja de manera diferente. Por ejemplo, "un artículo" es singular en inglés, pero todos los demás números son plurales, ya sea "cero artículos" o "doscientos artículos". Sin embargo, idiomas como el ruso, el galés y el checo usan reglas más específicas para los plurales según el número.

A continuación, se explica cómo definir cadenas pluralizadas en strings.xml para inglés:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<plurals name="item_count">

<item quantity="one">%d item</item>

<cantidad de artículo="otros">%d artículos</artículo></item>

</plurals>

</resources>

 

Esto tiene en cuenta los siguientes valores de cantidad:

  • Uno: se utiliza para formas singulares (por ejemplo, un elemento).
  • Otro: Se utiliza para formas plurales (por ejemplo, cero elementos, dos elementos, tres elementos).

El inglés solo requiere "uno" y "otro", pero otros idiomas tienen más clasificaciones. Para administrar esto, Android proporciona una etiqueta en strings.xml. Android admite etiquetas para cero, uno, dos, pocos, muchos y otros. A continuación, se muestran ejemplos de idiomas que usan cada etiqueta:

  • El árabe emplea una concordancia gramatical especial para el cero.
  • El ruso trata cualquier número que termine en "1" de manera diferente, a menos que termine en "11".
  • El galés usa una pluralización distinta cuando hay dos de algo.
  • Idiomas como el checo y el maltés distinguen entre números pequeños y grandes.
  • El chino no hace distinciones.

A continuación, te explicamos cómo recuperar y dar formato a la string pluralizada en Kotlin:

val itemCount = 3

val mensaje = resources.getQuantityString(R.plurals.item_count, itemCount, itemCount)

En este código, R.plurals.item_count es el ID de recurso plural. La primera itemCount selecciona la cadena plural en función de las reglas plurales de la configuración regional del dispositivo y el segundo itemCount reemplaza el marcadordeposición %d.

Por ejemplo, estas son las salidas para inglés:

  • Para itemCount = 1: "1 artículo"
  • Para itemCount = 3: "3 artículos"
  1. Usar marcadores de posición para valores dinámicos

Las aplicaciones suelen mostrar contenido personalizado o dinámico, como el nombre de un usuario o el número de notificaciones que tiene. En lugar de codificar este contenido, puede usar marcadores de posición en sus cadenas, como se muestra a continuación:

<resources>

<string name="welcome_message">¡Bienvenido, %1$s! Tienes %2$d mensajes nuevos.</string>

</resources>

Así es como funciona:

  • %1$s es un marcador de posición para una cadena (como un nombre).
  • %2$d es un marcador de posición para un número (como el recuento de mensajes).

Cuando se ejecuta la aplicación, estos marcadores de posición se reemplazan dinámicamente con valores ingresados por el usuario y sus datos dinámicos.

  1. Añadir sugerencias contextuales

Los traductores no siempre saben cómo se utiliza una cadena en su aplicación. Por ejemplo, una palabra como “menú” podría significar una lista desplegable, la lista de comidas de un restaurante o una página de configuración. Para evitar confusiones, puedes agregar comentarios directamente en tu strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<!-- This string is used as a label for the navigation menu →

<string name="menu_label">Menu</string>

 

<!-- This string is used for the settings button in the app →

<string name="settings_label">Settings</string>

</resources>

Estas notas le dicen al traductor que la palabra "menú" se refiere a una función de navegación en la aplicación, no al menú de un restaurante.

Probar la localización en Android

Probar su aplicación de Android localizada es crucial para asegurarse de que funcione en varios idiomas y regiones. Al realizar pruebas en emuladores y dispositivos reales, puede detectar problemas y ofrecer una aplicación que se sienta natural y funcional para los usuarios de todo el mundo.

¿Por qué probar en dispositivos reales?

Los dispositivos reales proporcionan la simulación más cercana de cómo los usuarios interactuarán con su aplicación. Le muestran cómo se ve el texto traducido en la pantalla real de un teléfono, si es demasiado largo o está cortado.

¿Por qué probar con emuladores?

Los emuladores son una forma práctica de probar tu app en numerosas configuraciones. Le permiten cambiar rápidamente entre idiomas y regiones para comprobar las traducciones, los ajustes de diseño y el comportamiento de la interfaz de usuario.

La combinación de ambos métodos le permite mantener una funcionalidad y una experiencia de usuario óptimas en varios idiomas y configuraciones regionales.

Cómo utilizar Smartling para la localización de Android

Smartling elimina la complejidad de la localización de Android. Con herramientas impulsadas por IA, integraciones perfectas de archivos XML de Android y un equipo de traductores expertos, Smartling ofrece múltiples servicios para agilizar todo el proceso de traducción de principio a fin y automatizar los flujos de trabajo manuales.

Su empresa puede aprovechar los sistemas de automatización y los conocimientos basados en datos de Smartling para localizar más rápido y mantener la coherencia de la marca en los mercados globales, superando a sus competidores y proporcionando una experiencia de usuario incomparable.

¿Está listo para localizar de forma más inteligente, no más difícil? Descargue nuestro libro electrónico gratuito, "10 estrategias para aumentar la eficiencia de la traducción". Aprenderá a mejorar la velocidad, la calidad y el costo de la traducción con estrategias prácticas y ejemplos del mundo real.

Si quieres conectar con usuarios de Android de diferentes países y culturas, tendrás que localizar la aplicación para que sea compatible con varios idiomas. Este proceso comienza con la internacionalización de Android (i18n), que sienta las bases para una localización perfecta.

Internacionalizar tu aplicación de Android significa diseñarla para que se adapte a varios idiomas sin cambios de ingeniería. Esto hará que su aplicación se sienta familiar para los usuarios de otra región o cultura, aumentando la usabilidad y abriendo la puerta a nuevos mercados. El proceso solo debe realizarse una vez, lo que le permite ahorrar tiempo y dinero en cada localización posterior.

Esta guía paso a paso te guiará a través del proceso de internacionalización y localización de tu aplicación de Android. Aprenderá a preparar su aplicación, manejar contenido dinámico y realizar pruebas en varios idiomas y configuraciones regionales.

Cómo prepararse para la localización de aplicaciones de Android

La internacionalización prepara la aplicación de Android para la localización. Este proceso establece una base sólida dentro de Android Studio para garantizar que tu app admita varios idiomas y regiones. A continuación, te explicamos cómo empezar:

  1. Instalar Android Studio

Para empezar, descarga e instala Android Studio. Android Studio es el entorno de desarrollo oficial para Android, que proporciona todo lo que necesitas para internacionalizar, localizar y probar tu app.

  1. Crear un nuevo proyecto de Android

Abre Android Studio y crea un proyecto nuevo. La plantilla "Actividad vacía" ofrece un punto de partida sencillo.

A continuación, configura los ajustes de tu proyecto de la siguiente manera:

  • Nombre: Escriba el nombre de la aplicación (por ejemplo, "LocalizedApp").
  • Nombre del paquete: utilice un identificador único como “com.example.localizedappi18n”.
  • Idioma: Selecciona Kotlin (recomendado) o Java.
  • SDK mínimo: Establece la versión de Android más baja que admitirá tu aplicación.

Luego, confirme sus elecciones para generar la estructura del proyecto.

  1. Agregar elementos de interfaz de usuario con diseños flexibles

Al agregar elementos de interfaz de usuario, diseñe teniendo en cuenta la localización. Idiomas como el alemán a menudo requieren más espacio que el inglés, mientras que los caracteres chinos son más compactos. Evite establecer anchos fijos para los elementos de texto, ya que las traducciones más largas en algunos idiomas pueden exceder el tamaño del contenedor.

Considere la posibilidad de usar herramientas como ConstraintLayout para permitir que los elementos de la interfaz de usuario ajusten la posición y el tamaño dinámicamente en función de la longitud del texto traducido. 

A continuación, se muestra un ejemplo de XML:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

xmlns:android="http://schemas.android.com/apk/res/android

xmlns:app="http://schemas.android.com/apk/res-auto

android:layout_width="match_parent"

android:layout_height="match_parent">

 

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/welcome_message"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Aquí, TextView se usa para mostrar un recurso de cadena (por ejemplo, un mensaje de bienvenida). Al utilizar wrap_content para el ancho, el elemento cambia automáticamente de tamaño para adaptarse a la longitud del texto traducido en lugar de estar restringido por una dimensión fija. Además, ConstraintLayout mantiene TextView correctamente posicionado dentro de la pantalla, independientemente de la longitud del texto o del tamaño de la pantalla.

Crear un diseño flexible desde el principio hace que tu aplicación se vea genial, independientemente del idioma en el que esté localizada.

  1. Preparación para la localización con texto externalizado

El último paso para preparar tu app de Android para la localización requiere que almacenes todo el texto orientado al usuario en un archivo de recursos separado en lugar de codificarlo. Con un archivo de recursos centralizado como strings.xml, No tendrás que reemplazar manualmente el texto disperso por el código.

A continuación te explicamos cómo hacerlo:

  • Localice la carpeta “res/values/” en el directorio de su proyecto.
  • Abre el "strings.xml" (si no existe, cree uno).
  • Agregue el texto al archivo mediante un par nombre-valor:

<?xml version="1.0" encoding="utf-8"?>

<resources>
<string name="welcome_message">¡Bienvenido a mi aplicación!</string>
</resources>

Vuelva al archivo activity_main.xml y actualice TextView para hacer referencia al recurso de cadena:

<TextView
android:text="@string/welcome_message"

Organizar su proyecto de esta manera internacionalizará su aplicación de Android, lo que le permitirá delinear fácilmente el contenido que necesita localizarse en un idioma diferente.

Cómo localizar una aplicación de Android en 4 pasos

Ahora que ha preparado su aplicación para Android, es hora de repasar el proceso de localización paso a paso, desde la configuración de recursos específicos del idioma hasta el cambio dinámico de la configuración regional de la aplicación para Android.

  1. Ampliar strings.xml para la localización

En la etapa de preparación, creó un archivo strings.xml para administrar todo el texto de su aplicación de Android. Ahora, es el momento de ampliar esto mediante la creación de versiones específicas del idioma del archivo para cada idioma compatible.

En primer lugar, crea nuevas carpetas para cada idioma de destino en el directorio res de tu proyecto. Utilice un nombre de carpeta que incluya el código de idioma apropiado (por ejemplo, "res/values-es/" para español y "res/values-fr/" para francés).

Copie el archivo strings.xml predeterminado en cada carpeta. A continuación, traduzca manualmente el texto para cada idioma. Por ejemplo, el archivo en inglés predeterminado podría decir:

<TextView
<string name="hello_world">Hello, World!string>

La versión en español en "values-es/strings.xml" Sería:

<TextView
<string name="hello_world">¡Hola, Mundo!string>

Una vez que creas estos archivos XML específicos del idioma, Android elige automáticamente la versión correcta de strings.xml en función de la configuración de idioma del dispositivo del usuario.

  1. Maneja plurales para traducciones precisas

Los plurales son complicados porque cada idioma los maneja de manera diferente. Por ejemplo, "un artículo" es singular en inglés, pero todos los demás números son plurales, ya sea "cero artículos" o "doscientos artículos". Sin embargo, idiomas como el ruso, el galés y el checo usan reglas más específicas para los plurales según el número.

A continuación, se explica cómo definir cadenas pluralizadas en strings.xml para inglés:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<plurals name="item_count">

<item quantity="one">%d item</item>

<cantidad de artículo="otros">%d artículos</artículo></item>

</plurals>

</resources>

 

Esto tiene en cuenta los siguientes valores de cantidad:

  • Uno: se utiliza para formas singulares (por ejemplo, un elemento).
  • Otro: Se utiliza para formas plurales (por ejemplo, cero elementos, dos elementos, tres elementos).

El inglés solo requiere "uno" y "otro", pero otros idiomas tienen más clasificaciones. Para administrar esto, Android proporciona una etiqueta en strings.xml. Android admite etiquetas para cero, uno, dos, pocos, muchos y otros. A continuación, se muestran ejemplos de idiomas que usan cada etiqueta:

  • El árabe emplea una concordancia gramatical especial para el cero.
  • El ruso trata cualquier número que termine en "1" de manera diferente, a menos que termine en "11".
  • El galés usa una pluralización distinta cuando hay dos de algo.
  • Idiomas como el checo y el maltés distinguen entre números pequeños y grandes.
  • El chino no hace distinciones.

A continuación, te explicamos cómo recuperar y dar formato a la string pluralizada en Kotlin:

val itemCount = 3

val mensaje = resources.getQuantityString(R.plurals.item_count, itemCount, itemCount)

En este código, R.plurals.item_count es el ID de recurso plural. La primera itemCount selecciona la cadena plural en función de las reglas plurales de la configuración regional del dispositivo y el segundo itemCount reemplaza el marcadordeposición %d.

Por ejemplo, estas son las salidas para inglés:

  • Para itemCount = 1: "1 artículo"
  • Para itemCount = 3: "3 artículos"
  1. Usar marcadores de posición para valores dinámicos

Las aplicaciones suelen mostrar contenido personalizado o dinámico, como el nombre de un usuario o el número de notificaciones que tiene. En lugar de codificar este contenido, puede usar marcadores de posición en sus cadenas, como se muestra a continuación:

<resources>

<string name="welcome_message">¡Bienvenido, %1$s! Tienes %2$d mensajes nuevos.</string>

</resources>

Así es como funciona:

  • %1$s es un marcador de posición para una cadena (como un nombre).
  • %2$d es un marcador de posición para un número (como el recuento de mensajes).

Cuando se ejecuta la aplicación, estos marcadores de posición se reemplazan dinámicamente con valores ingresados por el usuario y sus datos dinámicos.

  1. Añadir sugerencias contextuales

Los traductores no siempre saben cómo se utiliza una cadena en su aplicación. Por ejemplo, una palabra como “menú” podría significar una lista desplegable, la lista de comidas de un restaurante o una página de configuración. Para evitar confusiones, puedes agregar comentarios directamente en tu strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<!-- This string is used as a label for the navigation menu →

<string name="menu_label">Menu</string>

 

<!-- This string is used for the settings button in the app →

<string name="settings_label">Settings</string>

</resources>

Estas notas le dicen al traductor que la palabra "menú" se refiere a una función de navegación en la aplicación, no al menú de un restaurante.

Probar la localización en Android

Probar su aplicación de Android localizada es crucial para asegurarse de que funcione en varios idiomas y regiones. Al realizar pruebas en emuladores y dispositivos reales, puede detectar problemas y ofrecer una aplicación que se sienta natural y funcional para los usuarios de todo el mundo.

¿Por qué probar en dispositivos reales?

Los dispositivos reales proporcionan la simulación más cercana de cómo los usuarios interactuarán con su aplicación. Le muestran cómo se ve el texto traducido en la pantalla real de un teléfono, si es demasiado largo o está cortado.

¿Por qué probar con emuladores?

Los emuladores son una forma práctica de probar tu app en numerosas configuraciones. Le permiten cambiar rápidamente entre idiomas y regiones para comprobar las traducciones, los ajustes de diseño y el comportamiento de la interfaz de usuario.

La combinación de ambos métodos le permite mantener una funcionalidad y una experiencia de usuario óptimas en varios idiomas y configuraciones regionales.

Cómo utilizar Smartling para la localización de Android

Smartling elimina la complejidad de la localización de Android. Con herramientas impulsadas por IA, integraciones perfectas de archivos XML de Android y un equipo de traductores expertos, Smartling ofrece múltiples servicios para agilizar todo el proceso de traducción de principio a fin y automatizar los flujos de trabajo manuales.

Su empresa puede aprovechar los sistemas de automatización y los conocimientos basados en datos de Smartling para localizar más rápido y mantener la coherencia de la marca en los mercados globales, superando a sus competidores y proporcionando una experiencia de usuario incomparable.

¿Está listo para localizar de forma más inteligente, no más difícil? Descargue nuestro libro electrónico gratuito, "10 estrategias para aumentar la eficiencia de la traducción". Aprenderá a mejorar la velocidad, la calidad y el costo de la traducción con estrategias prácticas y ejemplos del mundo real.

Si quieres conectar con usuarios de Android de diferentes países y culturas, tendrás que localizar la aplicación para que sea compatible con varios idiomas. Este proceso comienza con la internacionalización de Android (i18n), que sienta las bases para una localización perfecta.

Internacionalizar tu aplicación de Android significa diseñarla para que se adapte a varios idiomas sin cambios de ingeniería. Esto hará que su aplicación se sienta familiar para los usuarios de otra región o cultura, aumentando la usabilidad y abriendo la puerta a nuevos mercados. El proceso solo debe realizarse una vez, lo que le permite ahorrar tiempo y dinero en cada localización posterior.

Esta guía paso a paso te guiará a través del proceso de internacionalización y localización de tu aplicación de Android. Aprenderá a preparar su aplicación, manejar contenido dinámico y realizar pruebas en varios idiomas y configuraciones regionales.

Cómo prepararse para la localización de aplicaciones de Android

La internacionalización prepara la aplicación de Android para la localización. Este proceso establece una base sólida dentro de Android Studio para garantizar que tu app admita varios idiomas y regiones. A continuación, te explicamos cómo empezar:

  1. Instalar Android Studio

Para empezar, descarga e instala Android Studio. Android Studio es el entorno de desarrollo oficial para Android, que proporciona todo lo que necesitas para internacionalizar, localizar y probar tu app.

  1. Crear un nuevo proyecto de Android

Abre Android Studio y crea un proyecto nuevo. La plantilla "Actividad vacía" ofrece un punto de partida sencillo.

A continuación, configura los ajustes de tu proyecto de la siguiente manera:

  • Nombre: Escriba el nombre de la aplicación (por ejemplo, "LocalizedApp").
  • Nombre del paquete: utilice un identificador único como “com.example.localizedappi18n”.
  • Idioma: Selecciona Kotlin (recomendado) o Java.
  • SDK mínimo: Establece la versión de Android más baja que admitirá tu aplicación.

Luego, confirme sus elecciones para generar la estructura del proyecto.

  1. Agregar elementos de interfaz de usuario con diseños flexibles

Al agregar elementos de interfaz de usuario, diseñe teniendo en cuenta la localización. Idiomas como el alemán a menudo requieren más espacio que el inglés, mientras que los caracteres chinos son más compactos. Evite establecer anchos fijos para los elementos de texto, ya que las traducciones más largas en algunos idiomas pueden exceder el tamaño del contenedor.

Considere la posibilidad de usar herramientas como ConstraintLayout para permitir que los elementos de la interfaz de usuario ajusten la posición y el tamaño dinámicamente en función de la longitud del texto traducido. 

A continuación, se muestra un ejemplo de XML:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

xmlns:android="http://schemas.android.com/apk/res/android

xmlns:app="http://schemas.android.com/apk/res-auto

android:layout_width="match_parent"

android:layout_height="match_parent">

 

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/welcome_message"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Aquí, TextView se usa para mostrar un recurso de cadena (por ejemplo, un mensaje de bienvenida). Al utilizar wrap_content para el ancho, el elemento cambia automáticamente de tamaño para adaptarse a la longitud del texto traducido en lugar de estar restringido por una dimensión fija. Además, ConstraintLayout mantiene TextView correctamente posicionado dentro de la pantalla, independientemente de la longitud del texto o del tamaño de la pantalla.

Crear un diseño flexible desde el principio hace que tu aplicación se vea genial, independientemente del idioma en el que esté localizada.

  1. Preparación para la localización con texto externalizado

El último paso para preparar tu app de Android para la localización requiere que almacenes todo el texto orientado al usuario en un archivo de recursos separado en lugar de codificarlo. Con un archivo de recursos centralizado como strings.xml, No tendrás que reemplazar manualmente el texto disperso por el código.

A continuación te explicamos cómo hacerlo:

  • Localice la carpeta “res/values/” en el directorio de su proyecto.
  • Abre el "strings.xml" (si no existe, cree uno).
  • Agregue el texto al archivo mediante un par nombre-valor:

<?xml version="1.0" encoding="utf-8"?>

<resources>
<string name="welcome_message">¡Bienvenido a mi aplicación!</string>
</resources>

Vuelva al archivo activity_main.xml y actualice TextView para hacer referencia al recurso de cadena:

<TextView
android:text="@string/welcome_message"

Organizar su proyecto de esta manera internacionalizará su aplicación de Android, lo que le permitirá delinear fácilmente el contenido que necesita localizarse en un idioma diferente.

Cómo localizar una aplicación de Android en 4 pasos

Ahora que ha preparado su aplicación para Android, es hora de repasar el proceso de localización paso a paso, desde la configuración de recursos específicos del idioma hasta el cambio dinámico de la configuración regional de la aplicación para Android.

  1. Ampliar strings.xml para la localización

En la etapa de preparación, creó un archivo strings.xml para administrar todo el texto de su aplicación de Android. Ahora, es el momento de ampliar esto mediante la creación de versiones específicas del idioma del archivo para cada idioma compatible.

En primer lugar, crea nuevas carpetas para cada idioma de destino en el directorio res de tu proyecto. Utilice un nombre de carpeta que incluya el código de idioma apropiado (por ejemplo, "res/values-es/" para español y "res/values-fr/" para francés).

Copie el archivo strings.xml predeterminado en cada carpeta. A continuación, traduzca manualmente el texto para cada idioma. Por ejemplo, el archivo en inglés predeterminado podría decir:

<TextView
<string name="hello_world">Hello, World!string>

La versión en español en "values-es/strings.xml" Sería:

<TextView
<string name="hello_world">¡Hola, Mundo!string>

Una vez que creas estos archivos XML específicos del idioma, Android elige automáticamente la versión correcta de strings.xml en función de la configuración de idioma del dispositivo del usuario.

  1. Maneja plurales para traducciones precisas

Los plurales son complicados porque cada idioma los maneja de manera diferente. Por ejemplo, "un artículo" es singular en inglés, pero todos los demás números son plurales, ya sea "cero artículos" o "doscientos artículos". Sin embargo, idiomas como el ruso, el galés y el checo usan reglas más específicas para los plurales según el número.

A continuación, se explica cómo definir cadenas pluralizadas en strings.xml para inglés:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<plurals name="item_count">

<item quantity="one">%d item</item>

<cantidad de artículo="otros">%d artículos</artículo></item>

</plurals>

</resources>

 

Esto tiene en cuenta los siguientes valores de cantidad:

  • Uno: se utiliza para formas singulares (por ejemplo, un elemento).
  • Otro: Se utiliza para formas plurales (por ejemplo, cero elementos, dos elementos, tres elementos).

El inglés solo requiere "uno" y "otro", pero otros idiomas tienen más clasificaciones. Para administrar esto, Android proporciona una etiqueta en strings.xml. Android admite etiquetas para cero, uno, dos, pocos, muchos y otros. A continuación, se muestran ejemplos de idiomas que usan cada etiqueta:

  • El árabe emplea una concordancia gramatical especial para el cero.
  • El ruso trata cualquier número que termine en "1" de manera diferente, a menos que termine en "11".
  • El galés usa una pluralización distinta cuando hay dos de algo.
  • Idiomas como el checo y el maltés distinguen entre números pequeños y grandes.
  • El chino no hace distinciones.

A continuación, te explicamos cómo recuperar y dar formato a la string pluralizada en Kotlin:

val itemCount = 3

val mensaje = resources.getQuantityString(R.plurals.item_count, itemCount, itemCount)

En este código, R.plurals.item_count es el ID de recurso plural. La primera itemCount selecciona la cadena plural en función de las reglas plurales de la configuración regional del dispositivo y el segundo itemCount reemplaza el marcadordeposición %d.

Por ejemplo, estas son las salidas para inglés:

  • Para itemCount = 1: "1 artículo"
  • Para itemCount = 3: "3 artículos"
  1. Usar marcadores de posición para valores dinámicos

Las aplicaciones suelen mostrar contenido personalizado o dinámico, como el nombre de un usuario o el número de notificaciones que tiene. En lugar de codificar este contenido, puede usar marcadores de posición en sus cadenas, como se muestra a continuación:

<resources>

<string name="welcome_message">¡Bienvenido, %1$s! Tienes %2$d mensajes nuevos.</string>

</resources>

Así es como funciona:

  • %1$s es un marcador de posición para una cadena (como un nombre).
  • %2$d es un marcador de posición para un número (como el recuento de mensajes).

Cuando se ejecuta la aplicación, estos marcadores de posición se reemplazan dinámicamente con valores ingresados por el usuario y sus datos dinámicos.

  1. Añadir sugerencias contextuales

Los traductores no siempre saben cómo se utiliza una cadena en su aplicación. Por ejemplo, una palabra como “menú” podría significar una lista desplegable, la lista de comidas de un restaurante o una página de configuración. Para evitar confusiones, puedes agregar comentarios directamente en tu strings.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<!-- This string is used as a label for the navigation menu →

<string name="menu_label">Menu</string>

 

<!-- This string is used for the settings button in the app →

<string name="settings_label">Settings</string>

</resources>

Estas notas le dicen al traductor que la palabra "menú" se refiere a una función de navegación en la aplicación, no al menú de un restaurante.

Probar la localización en Android

Probar su aplicación de Android localizada es crucial para asegurarse de que funcione en varios idiomas y regiones. Al realizar pruebas en emuladores y dispositivos reales, puede detectar problemas y ofrecer una aplicación que se sienta natural y funcional para los usuarios de todo el mundo.

¿Por qué probar en dispositivos reales?

Los dispositivos reales proporcionan la simulación más cercana de cómo los usuarios interactuarán con su aplicación. Le muestran cómo se ve el texto traducido en la pantalla real de un teléfono, si es demasiado largo o está cortado.

¿Por qué probar con emuladores?

Los emuladores son una forma práctica de probar tu app en numerosas configuraciones. Le permiten cambiar rápidamente entre idiomas y regiones para comprobar las traducciones, los ajustes de diseño y el comportamiento de la interfaz de usuario.

La combinación de ambos métodos le permite mantener una funcionalidad y una experiencia de usuario óptimas en varios idiomas y configuraciones regionales.

Cómo utilizar Smartling para la localización de Android

Smartling elimina la complejidad de la localización de Android. Con herramientas impulsadas por IA, integraciones perfectas de archivos XML de Android y un equipo de traductores expertos, Smartling ofrece múltiples servicios para agilizar todo el proceso de traducción de principio a fin y automatizar los flujos de trabajo manuales.

Su empresa puede aprovechar los sistemas de automatización y los conocimientos basados en datos de Smartling para localizar más rápido y mantener la coherencia de la marca en los mercados globales, superando a sus competidores y proporcionando una experiencia de usuario incomparable.

¿Está listo para localizar de forma más inteligente, no más difícil? Descargue nuestro libro electrónico gratuito, "10 estrategias para aumentar la eficiencia de la traducción". Aprenderá a mejorar la velocidad, la calidad y el costo de la traducción con estrategias prácticas y ejemplos del mundo real.

Etiquetas: Sitios web y aplicaciones web Blog

¿Por qué esperar para traducir de manera más inteligente?

Converse con alguien del equipo de Smartling para identificar cómo podemos ayudarle a aprovechar mejor su presupuesto al entregarle traducciones con la más alta calidad, mayor rapidez y a costos mucho más bajos.
Cta-Card-Side-Image