Iphone Localizable.strings是否已损坏?

Iphone Localizable.strings是否已损坏?,iphone,xcode,localization,internationalization,Iphone,Xcode,Localization,Internationalization,我试图包括我的应用程序的国际化,仅出于测试目的,我在文件Localizable.string中添加了一行简单的代码 这是我的全部档案: “测试区域设置”=“测试区域设置” 当我尝试运行我的应用程序时,会出现以下错误: 可本地化。字符串:0:错误:验证失败:无法保存数据 读取,因为它已损坏 我尝试将“文本编码”更改为UTF-16,但没有解决任何问题 有什么想法吗 提前感谢。如果这是您的整个文件,请在末尾添加分号。将其更改为: “测试区域设置”=“测试区域设置” 我的情况是这样的: /* Comme

我试图包括我的应用程序的国际化,仅出于测试目的,我在文件Localizable.string中添加了一行简单的代码

这是我的全部档案:

“测试区域设置”=“测试区域设置”

当我尝试运行我的应用程序时,会出现以下错误:

可本地化。字符串:0:错误:验证失败:无法保存数据 读取,因为它已损坏

我尝试将“文本编码”更改为UTF-16,但没有解决任何问题

有什么想法吗


提前感谢。

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

“测试区域设置”=“测试区域设置”


我的情况是这样的:

/* 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 ";
(注意第一行末尾的“=;”而不是“=”)


希望它能帮助某些人…

在我的例子中,它是字符串中的括号-我需要在\“

之前添加斜杠。您可以使用以下脚本验证Localizable.strings文件:


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

plutil -lint <your_strings_file>.strings
plutil-lint.strings

-lint
开关用于检查语法。如果您有错误,您将获得行号和更多信息,以及关于如何解决问题的更好说明。

我制作了一个小脚本,使用plutil检查整个文件夹。字符串文件


谢谢,这正是我需要的。文件太大,无法手动检查。有没有办法将此命令集成到Xcode构建中?从未尝试过,但这是您可以尝试的:您可以在“构建阶段”中添加运行脚本阶段在此阶段,调用检查所有.strings文件的脚本。您可以将脚本阶段拖到其他阶段的顶部(或将其他阶段拖下来),以便执行巡更脚本预构建。如果您设置了XCode->Preferences->Building->Building选项“出错后继续构建”,那么如果脚本失败,构建将停止。为了停止进程并使构建失败,您只需使用非零的退出代码终止脚本即可。例如,如果出现问题,可以使用“退出1”。如果
plutil-lint
报告“OK”,并不一定意味着没有错误。例如,我遇到了一个问题,字符串中有未替换的引号,但Linter说文件没有问题。所以我想说,如果报告错误,你可以信任
plutil-lint
,但如果报告正常,你就不能信任它。第一次使用Android的swift comming学习iOS,这实际上是一个非常恼人的错误……这里有一个库,可以帮助你本地化项目一个简单的命令就足够了:
find-名称'*.strings'-execplutil-lint{}\