Je souhaite pouvoir mettre à jour les chaînes localisées par code à partir de l'application. Ce que je veux vraiment faire est d'apporter des modifications à la localisation sur un serveur et ensuite laisser l'application iPhone récupérer les chaînes de localisation mises à jour à partir d'un serveur, puis les enregistrer dans le fichier localizable.strings.Comment mettre à jour les localizable.strings depuis l'application par code?
Répondre
Vous ne pouvez pas! Ces fichiers font partie de l'ensemble et ne peuvent pas être mis à jour. Vous devrez configurer tout le framework de traduction par vous-même (ce qui n'est pas beaucoup de travail) et implémenter la mise en cache en utilisant des données de base ou des dictionnaires sérialisés (un pour chaque langue je suppose).
Vous ne pourrez pas modifier le fichier Localizable.strings dans votre ensemble d'applications, car l'ensemble d'applications est en lecture seule sur les appareils iOS. Pour récupérer des chaînes localisées à partir d'un fichier de chaînes dans le répertoire de la bibliothèque de votre application, vous pouvez créer un regroupement à cet emplacement, y placer un fichier Localizable.strings, puis saisir les chaînes localisées avec NSLocalizedStringFromTableInBundle()
. (Je n'ai pas essayé cela mais cela devrait fonctionner.)
Il existe un service (Get Localization) qui vous permet de télécharger ces fichiers .strings sur le serveur et de les récupérer via l'API. Cependant, il n'y a pas encore de client pour iPhone mais ce serait assez simple à faire. Vous pouvez en contribuer un ou attendre qu'il y ait un officiel disponible.