1. 问题背景
项目实现国际化功能,编译时遇到错误,read failed: Couldn't parse property list because the input data was in an invalid format

根据错误提示告诉我们是数据格式的问题。具体问题出现在那里下面分析一下
2. 问题分析
数据格式错误一般会有下面几种情况:
- 末尾少了分号
- 字符使用了全角字符(中文字符)
- 中间少了 =
- 少了双引号或者引号没有成对出现
- 文本中出现了不必要的特殊字符
这是个小问题,主要看怎么快速查找出问题,下面给出三种方法
3. 问题解决
3.1 肉眼检索
最简单最直接的方式,肉眼检索,找到问题改正。
这种方式一般适用于文件小,内容少的情况。
如果内容多,有十几个国家的翻译文件,这种方法显然不合适。
3.2 减半筛查
把翻译文件中的内容每次注释掉一半,再编译,如果没有报错,问题就出现另外一半。将另外一半再注释掉一半,再编译,如此重复也能快速的排查出问题所在。
3.3 借助工具 Localizable
Localizable 是 Mac 上的一款桌面工具,在商店搜索 Localizable 就可以找到,使用方式也很简单,只需要将 Localizable.strings 文件拖到对应区域就可以,然后会反馈哪一行格式有问题,对应解决就好,非常方便。

网友评论