Explorando Translation API para traducción de contenidos (Parte 5 de 6)1

Cómo usar translationPresentation de Translation API para traducir texto fácilmente

2

Translation API: Integrar traducciones en tu UI con TranslationSession

3

Translation API: Cómo realizar traducciones bajo demanda

4

Translation API: Cómo realizar múltiples traducciones

5

Translation API: Cómo verificar idiomas soportados

6

Cómo preparar tu app para traducciones sin conexión

Translation API: Cómo verificar idiomas soportados

En el primer artículo de esta serie, se explicaron los idiomas soportados por Translation API de Swift. Sin embargo, con el paso del tiempo, es probable que se añadan más idiomas a la API. En este artículo, aprenderás a obtener la lista actualizada de idiomas soportados, verificar si hay soporte de traducción entre idiomas específicos y comprobar si esos idiomas están instalados en el dispositivo. Todo esto lo harás directamente desde tu código.

Recuerda importar Translation API para usar estas funcionalidades:

import Translation

Obtener idiomas soportados

Translation API ofrece la clase LanguageAvailability y su propiedad supportedLanguages para listar los idiomas compatibles. A continuación, te mostramos un ejemplo práctico:

// 1
let availability = LanguageAvailability()
// 2
let locales = await availability.supportedLanguages
// 3
locales.forEach {
guard let languageCode = $0.languageCode, let region = $0.region else { return }
debugPrint("\(languageCode)_\(region)")
}
  1. Crear una instancia de LanguageAvailability.
  2. Obtener los idiomas soportados de manera asincrónica.
  3. Iterar sobre los idiomas soportados e imprimir su código y región.
Impresión en la consola de los idiomas soportados

Verificar soporte de traducción

La clase LanguageAvailability también incluye funciones para verificar si un idioma puede ser traducido a otro. La primera función que puedes utilizar es status(from:to:), que determina si hay soporte de traducción y si los idiomas están instalados en el dispositivo. Su firma es la siguiente:

func status(
from source: Locale.Language,
to target: Locale.Language?
) async -> LanguageAvailability.Status

La función status(from:to:) recibe dos parámetros, el primero es el idioma de origen y el segundo es el idioma de destino. La función retorna un valor de tipo LanguageAvailability.Status que puede ser:

  • installed: Los idiomas de origen y destino son compatibles y están instalados en el dispositivo.
  • supported: Los idiomas son compatibles pero no están instalados.
  • unsupported: Los idiomas no son compatibles.

Por ejemplo, para verificar si es posible traducir de inglés a español:

let availability = LanguageAvailability()
let status = await availability.status(from: Locale.Language(identifier: "en_US") , to: Locale.Language(identifier: "es_ES"))
debugPrint(status)
Impresión en la consola del estado de la traducción

La función retornará unsupported si el idioma de origen y destino son iguales ó variantes del mismo idioma, ejemplo: es_ES a es_ES o en_GB a en_US.

La segunda función es status(for:to:), que te permite comprobar si un texto puede ser traducido a un idioma específico. La firma de esta función es:

func status(
for text: String,
to target: Locale.Language?
) async throws -> LanguageAvailability.Status

Por ejemplo, para verificar si un texto puede traducirse al inglés:

let availability = LanguageAvailability()
do {
let status = try await availability.status(for: "La vida debe ser vivida hacia adelante, pero solo puede ser entendida hacia atrás", to: Locale.Language(identifier: "en_US"))
debugPrint(status)
} catch {
// Handle errors
}
Impresión en la consola del estado de la traducción de un texto

Para obtener resultados más precisos, utiliza textos de al menos 20 caracteres. Además, en ambas funciones target puede ser nil, si lo es, la API seleccionará automáticamente el idioma de destino basado en las preferencias del usuario.

Conclusión

Translation API es una herramienta poderosa para integrar funcionalidades de traducción en tus apps de SwiftUI. Con las funciones descritas, puedes verificar de manera eficiente los idiomas soportados, comprobar su disponibilidad y validar traducciones de texto. A medida que la API evoluciona, estos pasos garantizarán que tus aplicaciones estén actualizadas y preparadas para soportar una experiencia multilingüe fluida.

Explorando Translation API para traducción de contenidos (Parte 5 de 6)1

Cómo usar translationPresentation de Translation API para traducir texto fácilmente

2

Translation API: Integrar traducciones en tu UI con TranslationSession

3

Translation API: Cómo realizar traducciones bajo demanda

4

Translation API: Cómo realizar múltiples traducciones

5

Translation API: Cómo verificar idiomas soportados

6

Cómo preparar tu app para traducciones sin conexión

Comparte este artículo

Subscríbete a nuestro Newsletter

Mantente al día en el mundo de las aplicaciones móviles con nuestro blog especializado.

Artículos semanales

Todas las semanas artículos nuevos sobre el mundo de las aplicaciones móviles.

No spam

No te enviaremos spam, solo contenido de calidad. Puedes darte de baja cuando quieras.

Contenido de calidad

Nada de contenido generado de manera automática usando ChatGPT.

Recomendaciones

Tips indispensables sobre mejores prácticas y metodologías.

© 2025 AsyncLearn