2010-12-14 41 views
3

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

3

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).

1

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.)

0

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.