J'essaie d'inclure l'internationalisation de mon application et, uniquement à des fins de test, j'ai ajouté une simple ligne dans le fichier Localizable.string.
C'est tout mon dossier:
"Test locale" = "Test régional"
Et quand j'essaye d'exécuter mon application, j'obtiens cette erreur:
Localizable.strings: 0: erreur: la validation a échoué: les données n'ont pas pu être lues car elles ont été corrompues.
J'ai essayé de changer le "Codage de texte" en UTF-16 mais rien n'a été résolu.
Une idée?
Merci d'avance.
S'il s'agit de l'ensemble de votre fichier, ajoutez un point-virgule à la fin. Changez le en:
"Test local" = "Test local";
Pour obtenir des informations plus détaillées, vous pouvez utiliser l'utilitaire Property List à partir de la ligne de commande:
plutil -lint <your_strings_file>.strings
le commutateur -lint
sert à vérifier la syntaxe. Si vous rencontrez une erreur, vous obtiendrez un numéro de ligne, davantage d’informations et, en général, de meilleures instructions pour résoudre le problème.
Vous pouvez vérifier votre fichier Localizable.strings avec ce script:
Dans mon cas, c'était comme ça:
/* Comment for Very Long Sentence */
"Very Long Sentence Very Long Sentence Very Long Sentence Very Long Sentence " =;
"Very Long Sentence Very Long Sentence Very Long Sentence Very Long Sentence ";
(Notez le ' =; ' au lieu de ' = ' à la fin de la première ligne)
J'espère que ça aide quelqu'un ...
Dans mon cas, c’était entre crochets dans la chaîne - je devais ajouter une barre oblique avant\".
J'ai fait un petit script pour vérifier les dossiers de fichiers entiers .strings en utilisant plutil.