Je développe une application pour un client en Europe. Je suis un anglophone aux États-Unis. Notre application prendra en charge plusieurs langues, sauf l'anglais. J'ai toutes les chaînes de caractères de notre application dans des fichiers Localized.strings traduits, configurés correctement pour les différentes langues, et elles fonctionnent toutes correctement lorsque l'appareil est réglé sur la langue correcte (la langue de l'appareil est l'allemand = l'application est correctement localisée pour l'allemand).
Il y a un problème lorsque l'appareil n'est pas réglé sur l'une des langues que nous prenons en charge, par exemple, sur mon téléphone qui est réglé en anglais. Nous voulons que le téléphone passe en allemand dans des cas comme celui-ci, mais cela ne se produit pas. Ce que nous constatons, c'est que le téléphone utilise la langue qui apparaît en premier dans la liste des langues dans la section Internationale de l'application Paramètres. Sur mon téléphone, la langue non anglaise la plus élevée sur la liste est le français, donc lorsque j'exécute l'application, elle est localisée en français. Si je change mon téléphone en allemand puis en anglais (ce qui modifie l'ordre dans la liste des langues), l'application se localise alors en allemand.
Comment puis-je m'assurer que l'application se configure par défaut en allemand pour les langues non prises en charge ? J'ai utilisé ce tutoriel pour configurer les paramètres régionaux du projet. Cela inclut la suppression de l'option locale "Anglais" par défaut qui est créée lorsqu'on localise un fichier pour la première fois. Dans le fichier du projet, j'ai ajouté :
developmentRegion = de;
Aussi, dans l'Info.plist, j'ai
CFBundleDevelopmentRegion
de
Sans succès.
Toute idée serait appréciée !