web-dev-qa-db-fra.com

Localizable.strings - Les données ne peuvent pas être lues car elles ne sont pas au format correct

Si je copie quelque chose de textedit ou web et que je le colle dans un fichier localisable, cette erreur de compilation s’affiche. Si je les tape dans un fichier localisable, cela ne montre aucune erreur. Je vous assure que j'utilise le format correct et ';' dans le fichier.

"New" = "New";
"In Progress" = "In Progress";
"Waiting" = "Waiting";
"Closed" = "Closed";
21
Rashad
  • Utilisez plutil depuis le terminal:

vous devez l'exécuter pour chaque version du fichier localisable. Par exemple

  1. cd dans la racine de votre projet 
  2. cd eb.lproj - vous pouvez le remplacer par toute localisation avec laquelle vous travaillez. 
  3. plutil -lint Localizable.strings

Lorsque vous exécutez l'étape 3, une erreur s'affichera, vous indiquant ce qui ne va pas avec votre fichier. Ou on vous dira que le fichier est OK

79
bat

Pour moi, il manquait des points-virgules. Si vous utilisez un outil pour générer un fichier .strings, assurez-vous qu'il n'y a pas de guillemets non échappés pouvant "manger" les points-virgules de délimitation.

19
Ahmed Khalaf

J'ai eu le même problème et je l'ai résolu en commentant ou en supprimant les chaînes inutilisées dans mon Localizable.String file :) 

3
Abid Mohamed Sadok

Votre syntaxe semble être correcte, la seule chose que je peux voir peut "casser" votre fichier et causer cette erreur est le caractère de citation. Assurez-vous d'utiliser le " requis et pas sous une autre forme comme par exemple.

1
Rashwan L

Dans mon cas, il me manquait "=" entre une paire de chaînes. Même plutil ne m'a pas aidé à repérer la ligne d'erreur. J'ai vérifié manuellement chaque paire de chaînes. : /

1
ESG

J'avais le même problème où je n'échappais pas à la valeur de chaîne avec la barre oblique inverse \ pour l'une des valeurs de ma chaîne. 

Avant:

"INVALID_NUMBER" = "Il semble que vous entriez un numéro invalide. Le numéro doit commencer par" 0 "ou" 7 "";

Mis à jour:

"INVALID_NUMBER" = "Il semble que vous entriez un numéro invalide. Le numéro doit commencer par \" 0\"ou \" 7\"";

Des barres obliques inverses sont requises pour afficher les guillemets "

S'il vous plaît, jetez un coup d'oeil ici pour Comment inclure des guillemets dans des chaînes

0
Praveenkumar

Il semble que votre info.plist ne soit pas sous la forme correcte. vérifiez-le correctement. J'ai aussi eu le même problème. Je l'ai résolu en modifiant mon info.plist. 

0
Ayush Dixit

Je viens d'avoir cette expérience:

  • traducteur externe faisant le travail à l'intérieur de Visual Code ou d'autres éditeurs de texte
  • Les fichiers ne fonctionnent pas et ont une erreur comme celle-ci: (test avec plutil -lint)

    Localizable.strings: Unexpected character " at line 1 CardRatingView.strings: Unexpected character / at line 2

Je viens de créer un nouveau fichier dans XCode et copier coller tout le contenu du fichier et tout à coup tout fonctionnait correctement.

Je suppose que quelque chose peut mal tourner/corrompre le fichier lui-même en travaillant avec d'autres éditeurs de texte.

0
Francesco Fiore