Localisée Chaînes De Xcode 4 ... Copie .les chaînes de l'Erreur de fichier de Validation a échoué
Comment puis-je définir des chaînes localisées dans Xcode 4?
J'ai supposé que je pourrais juste ajouter des langues à InfoPlist.les chaînes à l'aide de la "Localisation" de la propriété (inspecteur de Fichiers, panneau de droite).
...puis tapez dans la "touche" = "valeur"s dans chaque version localisée.
Mais je ne peux pas construire le projet. J'obtiens cette erreur:
Copie .les chaînes de l'Erreur de fichier de Validation a échoué: Les données ne peut pas être lue parce qu'il a été endommagé.
Convertir l'encodage de texte UTF 16 ne résout pas le problème. Ne cesser de Xcode et de commencer à nouveau.
Q1: Comment puis-je remédier à ces erreurs de build?
Par quelques coup de chance, j'ai réussi à obtenir une application de test pour exécuter l'ajout d'un InfoPlist.les chaînes (françaises) et (en anglais). Je n'ai pas l'erreur de français sur le fichier de chaînes, mais je l'ai fait avec les anglais. J'ai donc quitté l'anglais seul, et il suffit de mettre un paramètre à la française. Toutefois, dans le simulateur, le français - le paramètre n'a pas été reprise. Elle est revenue à la valeur par défaut spécifiée dans NSLocalizedString()
Q2: Comment puis-je le faire fonctionner, même si la construction d'erreurs sont corrigées?
Vous devez vous connecter pour publier un commentaire.
Pourrait être aussi simple que de manque un point-virgule à la fin de la ligne.
NSLocalizedString(@"greeting", @"default")
J'ai eu le même problème à trouver des erreurs dans le fichier de localisation...
Suffit d'utiliser l'outil plutil dans le terminal de convertir le fichier et vous obtiendrez un message d'erreur approprié avec le numéro de la ligne.
Réponse
oui juste chaluté par le biais de 500 traductions
note le BAISER dans la deuxième chaîne est dans les guillemets qui sont à l'INTÉRIEUR d'un autre GUILLEMETS
ERREUR
C'est OK
qu'est-ce (remplacer par des apostrophes à l'INTÉRIEUR de LA DOUBLE)
ASTUCE
UTILISER un BINAIRE de RECHERCHE pour trouver la ligne fautive.
En bas dans la barre d'outils Traducteur avait envoyé
UTF-16 fichier
UTF-16 Little Endian
Changé de retour pour tout 'UTF-16'
10. Nettoyer build/build
MÊME ERREUR
Quelque part dans le fichier est
Point-virgule manquant?
"Extra "guillemets" à l'intérieur des guillemets doubles"
MAL
DROIT
ÉGALEMENT DROIT
J'ai trouvé "BAISER" en double-guillemets doubles dans deux endroits
Vérifier votre fichier de codage. Cela est souvent causé par des caractères étendus (comme les caractères accentués) et non suivant l'encodage UTF. En particulier, il y a un bug dans XCode 4, si vous copiez les caractères accentués dans un fichier de chaînes à partir de Safari, il sera puis "enregistrer sous" de l'Ouest de Mac OS Romaine.
C'est une honte que XCode du vérificateur de syntaxe ne peut pas comprendre cela.
Vous pouvez également copier le texte dans le Texte Wrangler (quelque chose que je fais après la réception d'un fichier à partir d'un traducteur) pour vérifier correctement les chaînes entre guillemets, ou d'exécuter une regex pour vérifier des points-virgules. La coloration de syntaxe dans le Texte Wrangler montrera mal cité (ou de mauvaise échappé) les chaînes de caractères où XCode les ficelles de l'éditeur ne le fait pas.
View > Text Display > Show Invisibles
va vous montrer les problématiques caractères.Dans mon cas,
plutil -lint Localizable.strings
n'aide pas, car le message d'erreur ce produit a été "Unexpected character " at line 1
" lorsque l'erreur réelle est un”
au lieu d'un"
sur la ligne de 2340.Dans mon cas, c'était un problème de "citation" signe copier-collé à partir d'un site web, qui n'a pas été acceptée.
Je devrais avoir détecté que de la syntaxe de mise en évidence de ne pas travailler, mais je viens de lire la source "citation signe, clé, devis signe, signe de l'égalité, de devis de signer, de valeur, de devis de signer... ouais d'accord".
Si vous utilisez des guillemets "" dans votre localisation, n'oubliez pas d'échapper à l'aide d'une barre oblique inverse.
On doit Vérifier la syntaxe comme ce
1) "" doit être à l'endroit approprié.
2) = doit être vérifié.
3) ; devrait être là à la fin de l'instruction.
J'ai eu le même problème. J'ai eu environ 60 pages, fichier de localisation, et s'était contenté d'un " trop - a pris un certain temps à l'endroit qui
J'avais le même problème pour un gros fichier localisé d'une heure et appliquer toutes les étapes ci-dessus ne résolvent pas mon problème, enfin ce que j'en ai fini avec est, divisez localiser le fichier dans certaines gammes (pièces), dire la partie a, b, c ... et couper les chaînes à partir d'un fichier, et de garder ceux dans un fichier texte, de construire le projet de nouveau, à moins que et jusqu'à ce que j'ai atteint le point où une partie seulement-k a gauche, J'ai trouvé que par erreur j'ai appuyé sur f sur mon clavier..fewww! il a résolu. Je sais que ce n'est pas une solution, mais peut-être l'aide à quelqu'un comme moi: -)
Mon ami a fait la traduction pour moi dans Windows. J'ai trouvé, que la modification de l'encodage n'aide pas,
donc, ce que j'ai fait: j'ai commenté toutes les chaînes, et puis j'ai décommenté un peu et pressé cmd-B, à savoir les chaînes qui avaient des problèmes. Puis j'ai réécrit problème des chaînes manuellement et après cela, il a travaillé.