美文网首页
iOS Localizable.strings格式错误快速定位

iOS Localizable.strings格式错误快速定位

作者: InterestingPDD | 来源:发表于2022-06-02 17:54 被阅读0次

    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就不带分号,记录一下自己遇到的问题

    相关文章

      网友评论

          本文标题:iOS Localizable.strings格式错误快速定位

          本文链接:https://www.haomeiwen.com/subject/peiqmrtx.html