2013-03-26 49 views
7

我剛剛在我的Xcode項目中本地化文件Localizable.strings以便將我的應用程序本地化爲幾種不同的語言。但是,使用標準的「key = value」格式編輯每個文件後,我收到下面的解析錯誤,它沒有指定一個文件,很難追蹤它所指的內容。Localizable.strings導致plist解析錯誤

CFPropertyListCreateFromXMLData():舊樣式plist解析器:在第10行字典中缺少分號。解析將被廢棄。打破_CFPropertyListMissingSemicolon進行調試。

我已經查看了每個* .strings文件,特別是第10行,並且我沒有發現任何引起問題的興趣或問題。請你能告訴我我哪裏出錯了。

下面是我的項目中Localizable.strings文件的示例。所有其他文件遵循相同的格式。

"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" 

然後我使用NSLocalizedString()來提供翻譯的字符串。

回答

19

正如錯誤消息中所述,您在每行末尾缺少分號。

"foo" = "bar"; 

是對正確的格式

1

此消息也可以來,由於使用的:(結腸)代替;在線路端(分號)。請確保每行末尾都有分號(;),並且也沒有冒號(:)。

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"; 

這是正確的式