2013-03-26 6 views
7

Ho localizzato il file Localizable.strings nel mio progetto Xcode per localizzare la mia applicazione in alcune lingue diverse. Tuttavia, dopo aver modificato ciascuno dei file nel formato standard "chiave = valore", ricevo il seguente errore di analisi, che non specifica un file che rende difficile rintracciare a cosa si riferisce.Localizable.strings che causa l'errore di parsing plist

CFPropertyListCreateFromXMLData(): vecchio stile plist parser: punto e virgola nel dizionario mancante on line 10. Analisi sarà abbandonato. Interrompi _CFPropertyListMissingSemicolon per eseguire il debug.

Ho esaminato ciascuno dei file * .strings, in particolare sulla riga 10, e non ho trovato nulla di interesse o di considerazione su quale sia la causa del problema. Per favore, puoi dirmi dove sto andando male.

Ecco un esempio di un file Localizable.strings nel mio progetto. Tutti gli altri file seguono lo stesso formato.

"Enter URL" = "Voer adres in" 
"Headers" = "Koppen" 
"Key" = "sleutel" 
"Value" = "waarde" 
"Parameters" = "Parameters" 
"Tap to add a new line" = "Tik om een nieuwe lijn toe te voegen" 
"Perform request" = "Verzoek Uitvoeren" 
"Response" = "Antwoord" 
"Received Headers" = "Ontvangen Koppen" 
"Error" = "Fout" 
"Loading" = "Verzoek aan het versturen" 

Quindi utilizzare NSLocalizedString() per fornire la stringa tradotta.

risposta

19

Come indicato nel messaggio di errore, manca il punto e virgola alla fine di ogni riga.

"foo" = "bar"; 

è il formato corretto

1

Questo messaggio può anche essere venire a causa di uso di: (due punti) al posto di; (punto e virgola) a fine linea. Assicurati che vi sia punto e virgola (;) a ciascuna estremità della riga e che non vi siano due punti (:) anche.

1
"Enter URL" = "Voer adres in"; 
"Headers" = "Koppen"; 
"Key" = "sleutel"; 
"Value" = "waarde"; 
"Parameters" = "Parameters"; 
"Tap to add a new line" = "Tik om een nieuwe lijn toe te voegen"; 
"Perform request" = "Verzoek Uitvoeren"; 
"Response" = "Antwoord"; 
"Received Headers" = "Ontvangen Koppen"; 
"Error" = "Fout"; 
"Loading" = "Verzoek aan het versturen"; 

questa è la formula corretta