Mejora la accesibilidad y experiencia de usuario con String Catalogs

String Catalog es una nueva herramienta que automáticamente da seguimiento a nuestras cadenas localizables. Nos permite saber en cualquier momento el estado de nuestras traducciones y manejar variantes, todo en un solo archivo.

¿Cómo crear un String Catalog?

  1. Busca el tipo de archivo String Catalog y haz clic en Next. Creando un String Catalog, paso 1.

  2. Indica el nombre y haz clic en Create. En este caso, crearemos Localizable.xcstrings. Creando un String Catalog, paso 2.

Localizable.xcstrings

Son archivos JSON. En el momento de la compilación, se convierten en archivos .strings y .stringsdict. Esto garantiza la retrocompatibilidad. Contienen una tabla completa de cadenas en un solo archivo, incluyendo todas las traducciones y metadatos adicionales para cada cadena localizable.

Puedes tener múltiples String Catalogs. Las claves son independientes de otros catálogos, por lo que puedes usar la misma clave en diferentes catálogos.

Xcode + Swift Catalogs

Cada vez que compilas, Xcode encuentra strings en el esquema y plataforma actuales. Para ello, la opción Compiler to Extract Swift debe estar activada: Vista de como encontrar la opción Compiler to Extract Swift en Xcode.

Las cadenas de texto del código fuente actúan como la fuente de verdad para las cadenas localizables.

Para Swift Package Manager, debes utilizar swift-tools 5.9.

Vista del estado de todas las traducciones.

Puedes ver el estado de todas tus traducciones y verificar la cobertura de cada una. Además, puedes agregar tantos lenguajes como necesites. Los diferentes estados son:

  • El estado New indica que una String no ha sido traducida al idioma seleccionado.
  • Needs Review se aplica cuando una cadena puede requerir cambios. Puedes hacer clic derecho en una cadena y seleccionar "Mark as Reviewed".
  • Xcode mostrará una String como Stale cuando ya no se encuentre en el código.
  • Una marca de verificación verde indica que está lista para usarse.

Pasando localizaciones como parámetros

LocalizedStringResource es el tipo recomendado para representar y pasar cadenas localizables.

struct ProductView: View {
let name: LocalizedStringResource
let buyTitle: LocalizedStringResource
var body: some View {
VStack {
Text(name)
Button(action: {}, label: {
Text(buyTitle)
})
}
}
}

Cuando declaramos name y buyTitle, utilizamos el tipo LocalizedStringResource.

Cómo migrar Localizable Strings

Debemos seguir los siguientes pasos:

  1. Haz clic derecho sobre el archivo y selecciona la opción Migrate to String Catalog. Seleccionar opción Migrate to String Catalog en el menú.

  2. Luego, confirma la migración haciendo clic en Migrate.. Confirmar migración presionado Migrate.

String Variants

Las variantes nos permiten manejar condiciones específicas de nuestras cadenas de texto, como por ejemplo, cuando una frase debe manejar el plural y el singular de manera diferente.

Antes teníamos que usar stringsdict. Ahora puedes hacerlo directamente en el String Catalog. String Catalog mostrando variantes.

Puedes tener variantes basadas en el dispositivo. Menú de contexto para configurar variantes.

Substituciones

Cuando tienes más de una variable en una cadena y todas ellas pueden estar en plural, puedes agregar nombres personalizados a tus variables. Vista de ejemplo del uso de substituciones para nombres de variables.

Conclusión

El uso de String Catalogs en el desarrollo de aplicaciones para plataformas Apple mejora la accesibilidad y la experiencia de usuario. Con esta funcionalidad, podemos gestionar de manera eficiente las cadenas localizables.

Recuerda:

  • Activar la opción Compiler to Extract Swift.
  • Usar LocalizedStringResource para pasar las cadenas localizables.
  • Para Swift Package Manager, debes utilizar swift-tools 5.9.
  • Usar substituciones y variantes para hacer tu vida más fácil.

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