2010-03-10 6 views
0

J'ai un projet iPhone et mon anglais Localizable.strings ne marche plus. Je viens de remarquer que le fichier anglais Localizable.strings dans le dossier .app qui en résulte ne contient pratiquement aucune donnée. De mon fichier anglais original de 3500 octets, celui dans le .app est de 50 octets (par rapport au japonais qui est de 3000 octets dans le .app).Xcode - Localizable.strings ne fonctionne plus

Où sont passées toutes les données?

J'ai essayé de supprimer le dossier de construction et de reconstruire tout, mais cela ne semble pas aider. Les cordes japonaises fonctionnent très bien.

Qu'est-ce qui pourrait ne pas fonctionner?

Répondre

0

Il y avait des erreurs invisibles dans le fichier anglais. Chaque ligne a commencé avec 0xFFFE, ce qu'ils ne devraient pas faire. C'était délicat car il n'apparaissait pas dans les éditeurs de texte. Ce n'est que lorsque j'ai ouvert le fichier dans un éditeur hexadécimal que cela est apparu (pas si évident que je pourrais ajouter: p). J'ai utilisé hex fiend pour cela.

+3

Après avoir rencontré des problèmes similaires, je peux recommander l'outil hexadécimal intégré de MacOS: hexdump -C Localizable.strings – DenNukem

1

J'ai eu des problèmes similaires, dans mon cas, ils étaient liés à l'encodage des fichiers .strings. Apparemment, Xcode s'attend à ce qu'ils soient en UTF-16, mais après les avoir modifiés dans une application quelconque, il semble qu'ils aient été sauvegardés en UTF-8. J'ai résolu le problème en les ouvrant dans Xcode, puis en utilisant la barre des utilitaires en définissant explicitement le codage sur UTF-16.