Nuestra herramienta de traducción de cadenas de Android utiliza IA para traducir archivos strings.xml a varios idiomas, lo que hace que la localización de aplicaciones móviles sea rápida y precisa.
Suba un archivo strings.xml
La IA de PTC traduce en minutos
Descargue los archivos traducidos
Cómo funciona la herramienta de traducción XML de cadenas de Android
Paso 1
Regístrese para obtener una prueba gratuita con PTC
Regístrese para obtener una cuenta de PTC para traducir 2500 palabras a 2 idiomas de forma gratuita. Una vez que utilice el límite de palabras de prueba, puede activar el pago por uso para pagar solo por lo que traduzca.
Al configurar su proyecto, seleccione la opción Carga manual de archivos. Esto le permite probar rápidamente PTC subiendo su archivo strings.xml y descargando las traducciones.
Paso 2
Configure su proyecto
Recorra el asistente de configuración de PTC para:
- Informe a PTC sobre su aplicación Android. A diferencia de las herramientas genéricas como ChatGPT, Google Translate o DeepL, PTC utiliza esta información para generar traducciones que suenen naturales para su aplicación.
- Seleccione sus idiomas de destino
- Suba su archivo
strings.xml
Paso 3
Descargue los archivos traducidos
Una vez que se complete la traducción, vea todas sus cadenas de texto en la pestaña Traducciones. Observará que todos sus elementos técnicos, como %s, %d, %1$s y las etiquetas XML, aparecen exactamente como lo hicieron en su archivo original. PTC reconoce y conserva automáticamente estos placeholders, por lo que sus traducciones no romperán el formato o la funcionalidad de su aplicación.
PTC también resalta en amarillo las traducciones que son demasiado largas, lo que facilita la detección de posibles problemas de la interfaz de usuario. Puede:
- Editar las traducciones directamente usted mismo
- Pedir a PTC que vuelva a traducir cadenas de texto específicas para cumplir con un requisito de longitud
Cuando esté listo, vaya a la pestaña Archivos de recursos y descargue un archivo zip. El zip contiene un archivo strings.xml traducido por idioma, manteniendo exactamente el mismo formato que su archivo original.
Cómo añadir traducciones a su proyecto de Android
Para utilizar las traducciones en su proyecto, cree carpetas de valores localizadas para cada idioma utilizando el código de idioma ISO 639-1 correcto:
/res
/values <!-- Default (English) - REQUIRED -->
strings.xml
/values-es <!-- Spanish -->
strings.xml
/values-de <!-- German -->
strings.xml
/values-uk <!-- Ukrainian -->
strings.xml
Coloque el archivo strings.xml traducido correspondiente de su zip descargado en cada carpeta.
Incluya siempre una carpeta de valores predeterminada (sin un código de idioma) que contenga strings.xml. Esta es su alternativa: si Android no puede encontrar una traducción para el idioma del usuario, utiliza esta.
Una vez que sus archivos strings.xml traducidos estén en su lugar, reconstruya su aplicación. Android mostrará automáticamente el idioma correcto según la configuración del dispositivo del usuario.
Implementación del selector de idiomas (opcional)
Si su aplicación incluye un selector de idiomas para que los usuarios puedan cambiar el idioma independientemente de la configuración de su dispositivo, debe guardar su elección y aplicarla cada vez que se inicie la aplicación.
Aquí le mostramos cómo cambiar el idioma cuando un usuario selecciona uno diferente:
fun setLocale(context: Context, languageCode: String) {
// Save the user's choice
val prefs = context.getSharedPreferences("Settings", Context.MODE_PRIVATE)
prefs.edit().putString("app_language", languageCode).apply()
// Apply the new locale
val locale = Locale(languageCode)
Locale.setDefault(locale)
val config = Configuration()
config.setLocale(locale)
context.resources.updateConfiguration(config, context.resources.displayMetrics)
// Restart the activity so changes take effect
if (context is Activity) {
context.recreate()
}
}Luego, en su clase Application o en la actividad principal onCreate(), cargue la preferencia de idioma guardada:
override fun onCreate() {
super.onCreate()
val prefs = getSharedPreferences("Settings", Context.MODE_PRIVATE)
val languageCode = prefs.getString("app_language", "en") ?: "en"
val locale = Locale(languageCode)
Locale.setDefault(locale)
val config = Configuration()
config.setLocale(locale)
resources.updateConfiguration(config, resources.displayMetrics)
}Esto guarda la elección de idioma del usuario para que siga siendo la misma cada vez que abre la aplicación, y funciona correctamente después de publicar su aplicación en Google Play.
Preguntas frecuentes sobre la localización de Android
¿Cómo traduzco la descripción de mi aplicación para Google Play?
Utilice la función “Pegar para traducir” de PTC. Copie la descripción de su aplicación, péguela en PTC, seleccione sus idiomas de destino y obtenga traducciones al instante.
A continuación, puede copiar las descripciones traducidas y añadirlas directamente a Google Play Console:
1. Vaya a Google Play Console → Presencia en la tienda → Ficha principal de la tienda → Traducciones
2. Añada sus descripciones cortas y largas traducidas
3. Guarde sus cambios
4. Repita el proceso para cada idioma que desee admitir
¿Debo utilizar recursos de cadena de texto o texto codificado en mi aplicación Android?
Utilice siempre recursos de cadena de texto almacenados en archivos strings.xml; nunca codifique texto directamente en su código o diseños. Los recursos de cadena de texto hacen posible la localización. No puede traducir texto que esté codificado en archivos Kotlin o Java.
Mueva el texto codificado a res/values/strings.xml:
<resources>
<string name="welcome_text">Welcome to our app!</string>
</resources>A continuación, haga referencia a él en su código:
val welcomeText = stringResource(R.string.welcome_text)Consulte nuestra confirmación de la aplicación de demostración: Extracción de texto codificado en strings.xml.
¿Cómo manejo los placeholders como %s y %d en las cadenas de texto?
Defina los placeholders en su archivo strings.xml utilizando %1$s (para cadenas de texto), %2$d (para enteros), etc.:
<resources>
<string name="welcome_user">Welcome, %1$s!</string>
<string name="points_summary">%1$s, you have %2$d points.</string>
</resources>
Utilícelos en su código Kotlin:
val welcome = stringResource(R.string.welcome_user, userName)
val summary = stringResource(R.string.points_summary, userName, points)
PTC reconoce y conserva automáticamente estos placeholders durante la traducción.
Consulte nuestra confirmación de la aplicación de demostración: Adición de una cadena de texto basada en placeholders para texto dinámico.
¿Puedo configurar la localización continua para las actualizaciones automáticas de la traducción?
Sí, PTC ofrece dos formas de automatizar las traducciones:
Opción 1: Conecte su repositorio (GitHub, GitLab o Bitbucket)
Conecte PTC directamente a su repositorio. Cuando actualice strings.xml e impulse los cambios, PTC detectará automáticamente las cadenas nuevas o modificadas, generará traducciones y abrirá una solicitud de combinación en su repositorio.
Opción 2: Integración con CI/CD mediante la API de PTC
Utilice la API de PTC para integrar la localización directamente en su canalización de CI/CD. Este enfoque funciona con cualquier sistema de control de versiones o proceso de compilación.
¿Cómo manejo los idiomas de derecha a izquierda (RTL) como el árabe o el hebreo?
Utilice start y end en lugar de left y right en sus diseños:
<!-- Instead of this -->
<TextView
android:layout_marginLeft="16dp" />
<!-- Use this -->
<TextView
android:layout_marginStart="16dp" />Android invierte automáticamente el diseño para los idiomas RTL cuando sigue esta convención. En Jetpack Compose, utilice Arrangement.Start en lugar de Arrangement.Left.
¿Cómo pruebo mi aplicación Android localizada?
Cambie el idioma de su dispositivo en Ajustes o utilice el selector de idiomas del emulador de Android Studio. Pruebe cada idioma para detectar:
– Texto que es demasiado largo para los elementos de la interfaz de usuario
– Traducciones que faltan (vuelve al idioma predeterminado)
– Formato incorrecto de fecha, número o moneda
– Problemas de diseño con texto más largo
Para los idiomas RTL, active “Forzar la dirección del diseño RTL” en Opciones de desarrollador para probar la inversión del diseño.
¿Listo para localizar su aplicación Android?
Suba su archivo strings.xml y obtenga traducciones precisas y conscientes del contexto en minutos.