Explorando Translation API para traducción de contenidos (Parte 5 de 6)
1Cómo usar translationPresentation de Translation API para traducir texto fácilmente
2Translation API: Integrar traducciones en tu UI con TranslationSession
3Translation API: Cómo realizar traducciones bajo demanda
4Translation API: Cómo realizar múltiples traducciones
5Translation API: Cómo verificar idiomas soportados
6Cómo preparar tu app para traducciones sin conexión
Translation API: Cómo verificar idiomas soportados

Misael Cuevas
05 marzo, 20253min de lectura
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:
// 1let availability = LanguageAvailability()// 2let locales = await availability.supportedLanguages// 3locales.forEach {guard let languageCode = $0.languageCode, let region = $0.region else { return }debugPrint("\(languageCode)_\(region)")}
- Crear una instancia de
LanguageAvailability
. - Obtener los idiomas soportados de manera asincrónica.
- Iterar sobre los idiomas soportados e imprimir su código y región.

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)

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}

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)
1Cómo usar translationPresentation de Translation API para traducir texto fácilmente
2Translation API: Integrar traducciones en tu UI con TranslationSession
3Translation API: Cómo realizar traducciones bajo demanda
4Translation API: Cómo realizar múltiples traducciones
5Translation API: Cómo verificar idiomas soportados
6Cómo preparar tu app para traducciones sin conexión