iOS 国际化异常:read failed: the data
2021-03-14 本文已影响0人
陈怀哲
image.png
报错:read failed: Couldn't parse property list because the input data was in an invalid format
原因
国际化文件的格式错误,比如:
-
少了末尾的分号
-
少了中间的=号
-
少了双引号
-
引号、等号、分号没有成对出现
-
翻译中包含了一些不必要的特殊字符
解决方法
笨方法
最简单的方法是用肉眼去检索,找到错误,然后改正就可以了。
这一般适用于翻译文件比较小、内容比较少的情况。
像我做国际化的时候,产品经理给过来的字符串600多行,一编译,报错了,然后用肉眼找,十几个国家的文件,有时候加个翻译文件就要处理一下午。
诀窍
这里也有一个诀窍,我是每次把翻译文件里的内容剪切掉一半,再编译,如果没报错,就说明错误在剪切掉的那一半里,然后再把剪切的那一半拿进来,再切掉一半,再编译,如此往复,也能省不少时间。
工具
另一种方式是使用工具,在 Mac App Store 可以下载到,名字就叫 Localizable,就是翻译文件 Localizable.strings 里面那个 Localizable,功能很简单,你把 Localizable.strings 文件拖到上面,他就会告诉你文件的哪些行格式可能有问题,你按照行数去检查一下,马上就能查出问题,非常方便,使用这个工具之后,以前需要好几个小时的文件错误问题,几分钟就解决了。
image.png后来,为了减少开发的工作量,翻译文件由产品经理按照 ""="";的格式给我们word或者txt文档,试了一下,这种格式也可以识别。