iOS 国际化bug总结

前言

首次接触iOS国际化,创建了Localizable.strings 文件之后,就开始在Localizable.strings(English)中添加项目内容。由于项目庞大,前期没有做国际化处理,导致现在很头疼。
等到兴冲冲都添加完了,编译报出如下错误:

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. 可能的❌1
    首先检查一下代码格式,是否是这样的。
    正确的文本格式如下:


    image.png

    而不是这样:


    image.png
  2. 可能的❌2
    Google 或者 Baidu 检索前辈经验,几乎全部提到的是如下解决方案:

某行末尾缺少英文分号 ";"

然后开始慢慢检查道路。
所谓懒人有懒人的方法,800多行的文字眼睛容易瞎。
那么一个快速的方法迅速萌生,在Localizable.strings(English)文件中用Command+F进行快捷检索";,这样符合条件的都会有阴影,之后一行行的瞄下来,很容易发现没有添加;的位置。嗯,暗自欣喜,有点飘~

  1. 可能的❌3
    空格缩进的格式问题
    例如借图:
空格缩进

我是直接从Word文档中复制直接粘贴到string文件的,不知道哪个步骤多出了空格导致了这种错误。

我看有些教程说Localizable.strings 文件每一行使用 Tab 缩进,我测试了一下,不使用 Tab 缩进也是可以的,只要保持每一行格式一致即可。

你可能感兴趣的:(iOS 国际化bug总结)