前言
首次接觸iOS國際化,創(chuàng)建了Localizable.strings 文件之后,就開始在Localizable.strings(English)中添加項目內(nèi)容慎菲。由于項目龐大块茁,前期沒有做國際化處理,導致現(xiàn)在很頭疼透硝。
等到興沖沖都添加完了,編譯報出如下錯誤:
Users/sun/Desktop/ProjectName/Resource/en.lproj/Localizable.strings:-1: read failed: Couldn't parse property list because the input data was in an invalid format
填坑
-
可能的?1
首先檢查一下代碼格式疯搅,是否是這樣的濒生。
正確的文本格式如下:
而不是這樣:
可能的?2
Google 或者 Baidu 檢索前輩經(jīng)驗,幾乎全部提到的是如下解決方案:
某行末尾缺少英文分號 ";"
然后開始慢慢檢查道路幔欧。
所謂懶人有懶人的方法罪治,800多行的文字眼睛容易瞎丽声。
那么一個快速的方法迅速萌生,在Localizable.strings(English)文件中用Command+F
進行快捷檢索";
,這樣符合條件的都會有陰影觉义,之后一行行的瞄下來雁社,很容易發(fā)現(xiàn)沒有添加;
的位置。嗯晒骇,暗自欣喜霉撵,有點飄~
- 可能的?3
空格縮進的格式問題
例如借圖:
我是直接從Word文檔中復制直接粘貼到string文件的,不知道哪個步驟多出了空格導致了這種錯誤洪囤。
我看有些教程說Localizable.strings 文件每一行使用 Tab 縮進徒坡,我測試了一下,不使用 Tab 縮進也是可以的瘤缩,只要保持每一行格式一致即可崭参。