iOS开发多语言,翻译过后的文字很多行有些总是会有各种各样的问题。导致运行失败,如何能快速找出出错的位置呢。
运行报错,这是Localizable.strings文件里内容格式不正确
validation failed: Couldn't parse property list because the input data was in an invalid format
有两种快速查找错误的方法:
第一种:plutil工具
1.终端进入 Localizable.strings 所在的目录,因为是支持多国语言所以会有多个Localizable.strings文件,比如在en.lproj/目录下或者zh-Hans.lproj目录下。
2.输入plutil -lint Localizable.strings
如果文档格式正确会出现
Localizable.strings: OK
否则出错一般会出现
tcdeMacBook-Pro en.lproj % plutil Localizable.strings Localizable.strings: Unexpected character " at line 1
这种方法不太好用,他总是报这个错 其实错误是在其它行。推荐第二种方法
第二种:pl
1.和上面一样,先进入对应目录下
2.输入pl < Localizable.strings
会定位到准确的某一行
tc@tcdeMacBook-Pro en.lproj % pl < Localizable.strings 2022-06-02 17:24:57.577 pl[10493:269738] *** Exception parsing ASCII property list: NSParseErrorException Error Domain=NSCocoaErrorDomain Code=3840 "Unexpected character " at line 1" UserInfo={NSDebugDescription=Unexpected character " at line 1, kCFPropertyListOldStyleParsingError=Error Domain=NSCocoaErrorDomain Code=3840 "Expected ';' or '=' after key at line 58" UserInfo={NSDebugDescription=Expected ';' or '=' after key at line 58}}
我的就是第58行的=写成+了 害的我找了半天。
顺便说一句正确格式是这样式的
"产品营销" = "Product Marketing";
"婚庆" = "Wedding";
"邀请函" = "Invitation Letter";
"节日祝福" = "Holiday Wishes";
"生日祝福" = "Birthday Wishes";
"品牌宣传" = "Brand Promotion";
不要因为是swift就不带分号,记录一下自己遇到的问题