Quelqu'un peut-il m'aider? Je ne trouve aucune description de la localisation dans Swift UI. Quelqu'un peut-il donner des conseils ou mieux un exemple de localisation par exemple Text()
?
la source
Quelqu'un peut-il m'aider? Je ne trouve aucune description de la localisation dans Swift UI. Quelqu'un peut-il donner des conseils ou mieux un exemple de localisation par exemple Text()
?
Lorsque vous regardez la documentation de Text, vous pouvez voir qu'il prend LocalizedStringKey et non une chaîne dans son initialiseur:
init(_ key: LocalizedStringKey, tableName: String? = nil, bundle: Bundle? = nil, comment: StaticString? = nil)
Cela rend la localisation très simple. Tout ce que tu dois faire est:
Lorsque vous sélectionnez Localizable.strings, vous verrez qu'il contient des fichiers pour la langue d'origine et la langue que vous venez d'ajouter. C'est là que vous placez vos traductions, c'est-à-dire les paires de textes localisés.
Si vous avez un texte comme celui-ci, c'est votre application:
Text("Hello World!")
Vous devez maintenant ajouter à vos localisations.strings vos traductions:
pour votre langue de base:
"Hello World!" = "Hello World!";
et pour votre deuxième langue (en l'occurrence l'allemand):
"Hello World!" = "Hallo Welt!";
Pour voir vos aperçus localisés, vous pouvez les définir comme ceci:
struct ContentViewView_Previews: PreviewProvider {
static var previews: some View {
ForEach(["en", "de"], id: \.self) { id in
ContentView()
.environment(\.locale, .init(identifier: id))
}
}
}
Pour le fichier d'interface utilisateur rapide, il vous suffit d'insérer la clé de chaîne du fichier de localisation .strings
importer SwiftUI
et ceci est un exemple du fichier .strings
le résultat est ici
la source
Pour localiser votre application, vous avez besoin de:
la source
Pour utiliser Localazable dans SwiftUI, vous pouvez procéder comme suit:
importer SwiftUI pour utiliser LocalizedStringKey dans vos fichiers
la source