-
Codificación conjunta: Explora la localización con Xcode
Aprende a localizar tu app a más idiomas con Xcode. Veremos paso a paso el proceso de creación de un catálogo de cadenas, traducción de texto e intercambio de archivos con traductores externos. Aprenderás las prácticas recomendadas que proporcionarán el contexto necesario a los traductores y cómo Xcode puede ayudar a brindar esta información automáticamente. Para proyectos más grandes, también profundizaremos en técnicas para gestionar la complejidad y optimizar la gestión de cadenas mediante código Swift con seguridad de tipos.
Capítulos
- 0:00 - Introducción
- 0:38 - Primeros pasos
- 5:33 - Contexto de traducción
- 9:33 - Gestionar la complejidad
- 20:49 - Próximos pasos
Recursos
Videos relacionados
WWDC23
-
Buscar este video…
-
-
1:34 - Localizable strings
// import SwiftUI Text("Featured Landmark", comment: "Big headline in the hero image of featured landmarks.") Button("Keep") { } // import Foundation String(localized: "New Collection", comment: "Default name for a new user-created collection.") -
6:00 - Adding a comment
Text("Delete", comment: "Delete button shown in an alert asking for confirmation to delete the collection.") String(localized: "Shared by Friends", comment: "Subtitle of post that was shared by friends.") -
9:13 - XLIFF file
// Field for automatically generated comments in the XLIFF <trans-unit id="Grand Canyon" xml:space="preserve"> <source>Grand Canyon</source> <target state="new">Grand Canyon</target> <note from="auto-generated">Suggestion for searching landmarks</note> </trans-unit> -
9:58 - Localized String in the main app and a Swift Package or Framework
// Localized String in the main app: Text("My Collections", comment: "Section title above user-created collections.") // Localized String in a Swift Package or Framework Text("My Collections", bundle: #bundle, comment: "Section title above user-created collections.") -
10:56 - Localized String with a tableName parameter
// Localized String in the main app: Text("My Collections", tableName: "Discover", comment: "Section title above user-created collections.") // Localized String in a Swift Package or Framework Text("My Collections", tableName: "Discover", bundle: #bundle, comment: "Section title above user-created collections.") -
17:31 - Symbol usage
// Symbol usage in SwiftUI Text(.introductionTitle) .navigationSubtitle(.subtitle(friendsPosts: 42)) // Symbol usage in Foundation String(localized: .curatedCollection) // Working with generated symbols in your own types struct CollectionDetailEditingView: View { let title: LocalizedStringResource init(title: LocalizedStringResource) { self.title = title } } CollectionDetailEditingView(title: .editingTitle)
-
-
- 0:00 - Introducción
Con este caso práctico de código incluido, apto para todos los niveles de habilidad, aprenderás cómo configurar tu app para la localización, cómo trabajar con traductores y cómo gestionar las complejidades a medida que tu proyecto crece.
- 0:38 - Primeros pasos
Te mostramos cómo localizar una app SwiftUI llamada “Landmarks” usando Xcode. El primer paso del proceso consiste en agregar un catálogo de cadenas, el cual descubre automáticamente cadenas localizables después de cada compilación. Puedes localizar el catálogo de cadenas por tu cuenta o colaborar con un traductor profesional a través de archivos XLIFF.
- 5:33 - Contexto de traducción
Cuando proporcionas los archivos a los traductores, brindar contexto es fundamental para obtener traducciones precisas. Puedes agregar comentarios directamente en el código o en el catálogo de cadenas. Xcode 26 presenta la generación automática de comentarios, que usa un modelo integrado en el dispositivo para analizar tu código y sugerir comentarios.
- 9:33 - Gestionar la complejidad
A medida que tu proyecto crezca, tal vez te resulte conveniente organizarlo en paquetes o estructuras. Puedes especificar parámetros bundle y table al usar API de localización para identificar cadenas. Xcode 26 también presenta un nuevo flujo de trabajo que genera automáticamente símbolos para cadenas, lo que permite separar las claves de cadena de los valores. Puedes elegir y cambiar fácilmente entre dos flujos de trabajo: la extracción de cadenas del código o el uso de símbolos generados.
- 20:49 - Próximos pasos
Para localizar tu app, puedes comenzar con la extracción de cadenas y, a medida que tu proyecto se vuelva más complejo, realizar la transición a símbolos generados para lograr una mejor gestión de las cadenas.