-
Code-along : explorez la localisation avec Xcode
Découvrez comment localiser votre app dans d'autres langues à l'aide de Xcode. Nous vous guiderons pas à pas tout au long du processus de création d'un catalogue de chaînes, de traduction de texte et d'échange de fichiers avec des traducteurs externes. Vous découvrirez les bonnes pratiques pour fournir le contexte nécessaire aux traducteurs et comment Xcode peut vous aider à transmettre ces informations automatiquement. Pour les projets plus importants, nous explorerons également les techniques permettant de gérer la complexité et de simplifier la gestion des chaînes à l'aide du code Swift sécurisé.
Chapitres
- 0:00 - Introduction
- 0:38 - Premiers pas
- 5:33 - Contexte de traduction
- 9:33 - Gérer la complexité
- 20:49 - Étapes suivantes
Ressources
Vidéos connexes
WWDC23
-
Rechercher dans cette vidéo…
-
-
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 - Introduction
Dans ce code pour tous les niveaux de compétences, apprenez à configurer votre app pour la localisation, à travailler avec des professionnels de la traduction et à gérer les complexités au fur et à mesure que votre projet se développe.
- 0:38 - Premiers pas
Nous vous montrons comment localiser une app SwiftUI nommée « Landmarks » à l’aide de Xcode. Le processus commence par l’ajout d’un catalogue de chaînes qui détecte automatiquement les chaînes localisables après chaque build. Vous pouvez localiser le catalogue de chaînes vous-même ou collaborer avec un professionnel de la traduction via des fichiers XLIFF.
- 5:33 - Contexte de traduction
Lorsque vous fournissez des fichiers pour traduction, le contexte est crucial pour assurer la précision. Vous pouvez ajouter des commentaires directement dans le code ou dans le catalogue de chaînes. Xcode 26 introduit la génération automatique de commentaires, qui utilise un modèle sur l’appareil pour analyser votre code et suggérer des commentaires.
- 9:33 - Gérer la complexité
Au fur et à mesure que votre projet se développe, vous pouvez l’organiser en lots ou en frameworks. Vous pouvez spécifier des paramètres de lots et de tables lorsque vous utilisez les API de localisation pour identifier les chaînes. Xcode 26 introduit également un nouveau processus qui génère automatiquement des symboles pour les chaînes, ce qui permet de séparer les clés de chaîne des valeurs. Vous pouvez choisir et passer facilement d’un processus à l’autre : extraction de chaînes à partir du code ou à l’aide des symboles générés.
- 20:49 - Étapes suivantes
Pour localiser votre app, vous pouvez commencer par extraire des chaînes et, à mesure que votre projet devient plus complexe, passer aux symboles générés pour une meilleure gestion des chaînes.