Localizable.strings损坏?

问题描述:

我想包括我的应用程序的国际化,并且仅用于测试目的,我在文件Localizable.string中添加了一个简单的行。Localizable.strings损坏?

这是我的整个文件:

"Test locale" = "Test locale"

,当我尝试运行我的应用程序,我得到这个错误:

Localizable.strings:0: error: validation failed: The data couldn’t be read because it has been corrupted.

我试图改变“文本编码”为UTF-16但没有解决。

任何意义?

在此先感谢。

+0

这里是可以帮助你进行本地化项目https://github.com/dipkasyap/DGLocalization – dip 2016-12-01 08:43:29

如果这是您的整个文件,请在末尾添加分号。它更改为:

"Test locale" = "Test locale";

+1

哦,上帝,我怎么是愚蠢的,很简单的一个库。谢谢。 – 2012-04-16 20:57:53

+0

OMG ..我永远不会期望我会这样做的错误.. – 2013-10-14 09:36:44

+0

学习iOS第一次与Android的迅速来临,这实际上是一个非常恼人的错误... – Warpzit 2016-05-03 06:44:34

在我的情况,它是这样的:

/* Comment for Very Long Sentence */ 
"Very Long Sentence Very Long Sentence Very Long Sentence Very Long Sentence " =; 
"Very Long Sentence Very Long Sentence Very Long Sentence Very Long Sentence "; 

(注意 '=;' 而不是 '=' 在第一行的末尾)

希望它可以帮助别人......

+0

复制/粘贴时没有检查会发生很多。 .. – 2012-07-17 11:19:49

对我来说,这是内部的串括号 - 我需要添加斜线befor e \“。

您可以验证您的Localizable.strings这个脚本文件:

https://github.com/dcordero/Rubustrings

+0

伟大的工具。谢谢 – 2015-04-29 09:55:40

为了获得更详细的信息,您可以使用命令行的属性列表实用程序:

plutil -lint <your_strings_file>.strings 

-lint交换机用于检查语法。如果你有错误,你会得到行号和更多的信息,一般来说更好的方向如何解决这个问题。

+1

谢谢,正是我需要的。手动检查文件太大。 – 2015-11-02 17:19:33

+0

有没有办法将这个命令集成到Xcode构建中? – 2016-04-11 09:49:30

+0

从来没有尝试过,但这是你可以尝试的:你可以在“构建阶段”中添加一个运行脚本阶段,在这个阶段,调用一个脚本来检查你的所有.strings文件。您可以将脚本阶段拖到其他脚本阶段(或拖动其他脚本阶段)以执行脚本预构建。它设置XCode - >首选项 - >构建 - >构建选项“错误后继续构建”,那么如果脚本失败,构建将停止。 – lucianoenrico 2016-04-11 10:49:46

我做了一个脚本来检查使用plutil的整个文件夹.strings文件。

https://github.com/CarlesEstevadeordal/check_strings