La pomme documentation couvre ce joli clairement. Je sais que tout ce dont vous avez besoin est le mot "jour", mais ce qui suit vous aidera à inclure n'importe quel mot pour n'importe quelle langue:
1) Vous devez placer tous les mots (String
s) dans votre application en un seul fichier .swift
. Chaque mot doit être retourné dans une fonction qui convertit cette chaîne dans la chaîne localisée par NSLocal
ensemble de l'appareil dans les paramètres de l'appareil:
struct Localization {
static let all: String = {
return getLocalized("All")
}()
static let allMedia: String = {
return getLocalized("All Media")
}()
static let back: String = {
return getLocalized("Back")
}()
// ...and do this for each string
}
2) Ce fichier doit également contenir une fonction statique qui convertira la chaîne:
static func getLocalized(_ string: String) -> String {
return NSLocalizedString(string, comment: "")
}
Ici, la méthode NSLocalizedString(
fera tout le travail de levage pour vous. Si se penchera sur le fichier .XLIFF
(nous y reviendrons) dans votre projet et saisir la chaîne correcte par l'appareil NSLocale
. Cette méthode inclut également un "commentaire" pour indiquer au traducteur de langage ce qu'il doit faire avec le paramètre "chaîne" que vous lui avez transmis.
3) En examinant toutes les chaînes que vous avez placées dans votre fichier .swift
, vous devez inclure chacune d'elles dans un .XLIFF
file. C'est le fichier qu'un expert en langues devra parcourir et inclure le mot correctement traduit par chaîne dans le .XLIFF
. Comme je l'ai déjà dit, c'est le fichier qui a déjà été inclus dans votre projet, la méthode NSLocalizedString(
va chercher ce fichier et récupérer la bonne chaîne traduite pour vous.
Et c'est tout! Et si je dois obtenir la ville de l'utilisateur en utilisant CLGeocoder.
Il renvoie la ville de l'utilisateur dans une langue de l'appareil. Je dois utiliser uniquement les langues prises en charge. –