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

首先检查一下代码格式,是否是这样的。
正确的文本格式如下:

而不是这样:

可能的❌2

Google 或者 Baidu 检索前辈经验,几乎全部提到的是如下解决方案:

某行末尾缺少英文分号 “;”

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

可能的❌3

空格缩进的格式问题
例如借图:

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

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

-------------本文结束感谢您的阅读-------------

我的传送门:博客简书GitHub