我试图包括我的应用程序的国际化,并且仅出于测试目的,我在文件Localizable. string中添加了一行简单的代码。这是我的全部档案:“测试区域设置”=“测试区域设置”当我尝试运行我的应用程序时,我得到了这个错误:可本地化的. string:0:错误:验证失败:无法读取数据,因为数据已损坏。我尝试将“文本编码”更改为UTF-16,但没有解决任何问题。
wz8daaqr1#
如果这是整个文件,请在末尾添加分号。将其更改为:“测试区域设置”=“测试区域设置”;
vjhs03f72#
若要取得更多详细信息,您可以从指令行使用“性质清单”公用程式:
plutil -lint <your_strings_file>.strings
-lint开关是用来检查语法的。如果你有一个错误,你会得到行号和更多的信息,以及关于如何修复这个问题的更好的指导。
-lint
qrjkbowd3#
您可以使用以下脚本验证可本地化的.strings文件:https://github.com/dcordero/Rubustrings
j13ufse24#
我的情况是这样的:
/* 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 ";
(注意'= ;'而不是'=')
lp0sw83n5#
在我的情况下,它是括号内的字符串-我需要添加斜杠之前"。
63lcw9qa6#
我做了一个小脚本来检查整个文件夹。字符串文件使用plutil。https://github.com/CarlesEstevadeordal/check_strings
gg58donl7#
这可能有多种原因:1.结尾缺少分号。1.结尾有多个分号。1.“在消息中,该消息应使用"转义。1.分号后面有多余字符。1.文件中白色无效。1.文件中的其他无效字符。1.合并文件中的冲突字符!<<<<<<< HEAD、=======和>>>>>>>中的一个或多个。请注意,plutil -lint Localizable.strings返回了点2和点7的OK!
<<<<<<< HEAD
=======
>>>>>>>
plutil -lint Localizable.strings
OK
7条答案
按热度按时间wz8daaqr1#
如果这是整个文件,请在末尾添加分号。将其更改为:
“测试区域设置”=“测试区域设置”;
vjhs03f72#
若要取得更多详细信息,您可以从指令行使用“性质清单”公用程式:
-lint
开关是用来检查语法的。如果你有一个错误,你会得到行号和更多的信息,以及关于如何修复这个问题的更好的指导。qrjkbowd3#
您可以使用以下脚本验证可本地化的.strings文件:
https://github.com/dcordero/Rubustrings
j13ufse24#
我的情况是这样的:
(注意'= ;'而不是'=')
lp0sw83n5#
在我的情况下,它是括号内的字符串-我需要添加斜杠之前"。
63lcw9qa6#
我做了一个小脚本来检查整个文件夹。字符串文件使用plutil。
https://github.com/CarlesEstevadeordal/check_strings
gg58donl7#
这可能有多种原因:
1.结尾缺少分号。
1.结尾有多个分号。
1.“在消息中,该消息应使用"转义。
1.分号后面有多余字符。
1.文件中白色无效。
1.文件中的其他无效字符。
1.合并文件中的冲突字符!
<<<<<<< HEAD
、=======
和>>>>>>>
中的一个或多个。请注意,
plutil -lint Localizable.strings
返回了点2和点7的OK
!