Ios Localizable.strings-数据无法’;因为它是’;格式正确
如果我从textedit或web复制某些内容并将其粘贴到可本地化文件,则会显示此编译错误。如果我在可本地化文件中键入这些,则不会显示任何错误。我向您保证,我使用正确的格式和“;”在文件中Ios Localizable.strings-数据无法’;因为它是’;格式正确,ios,xcode,ios11,localizable.strings,Ios,Xcode,Ios11,Localizable.strings,如果我从textedit或web复制某些内容并将其粘贴到可本地化文件,则会显示此编译错误。如果我在可本地化文件中键入这些,则不会显示任何错误。我向您保证,我使用正确的格式和“;”在文件中 "New" = "New"; "In Progress" = "In Progress"; "Waiting" = "Waiting"; "Closed" = "Closed"; 您的语法似乎很好,我能看到的唯一可能“破坏”文件并导致此错误的是引号字符。确保使用所需的“,而不是任何其他形式,例如”。 从终端使
"New" = "New";
"In Progress" = "In Progress";
"Waiting" = "Waiting";
"Closed" = "Closed";
您的语法似乎很好,我能看到的唯一可能“破坏”文件并导致此错误的是引号字符。确保使用所需的
“
,而不是任何其他形式,例如”
。- 从终端使用plutil:
cd
插入到项目根目录中cd eb.lproj
-您可以将其替换为
您正在使用的任何本地化plutil-lint可本地化。字符串
请注意,plutil输出不好,它似乎总是说“第1行出现意外字符”,但在该输出之上,它会在第121行打印其他内容,如缺少分号,这才是真正的错误
看起来这个文件有一些问题。因为它被认为是二进制文件。它在每个字符之间插入许多不可打印的字符。我仍然找不到合适的解决方案。只需从生产PC中更改LoalalIababl。字符串文件就可以避免任何问题。
更新:更新SVN客户端(smartSVN)使用最新版本解决了问题。我的一位同事似乎使用了较旧的版本。当他提交对可本地化文件的更改时,导致了错误。对我来说,它缺少分号。如果使用工具生成
.strings
文件,请确保没有未转义的引号会“吃掉”分隔分号.我也有同样的问题,我通过在我的可本地化.String文件中注释或删除未使用的字符串来解决它。你的info.plist的格式似乎不正确。请正确检查。我也有同样的问题。我通过修改info.plist解决了它。我也遇到了类似的问题,但我没有逃脱st使用反斜杠\
为我的字符串值之一环化值
之前:
“无效号码”=“您似乎输入了无效号码。数字应以“0”或“7”开头
更新:
“无效号码”=“您似乎输入了无效号码。数字应以“0”或“7”开头
如果要显示引号“
请在这里快速查看一下我刚刚有过这样的经历:
- 外部翻译人员在可视代码或其他文本编辑器中执行工作
- 文件不工作并出现如下错误:(使用plutil-lint进行测试)
Localizable.strings:第1行的“意外字符” CardRatingView.strings:第2行出现意外字符/代码>
我想在使用其他文本编辑器时,可能会出现错误/损坏文件本身。在我的情况下,字符串对之间缺少“=”。即使是plutil也无法帮助我发现错误行。我手动检查了每个字符串对。///p>如果在第1行显示类似于
意外字符”的内容,它是第一个字符串,如“app_name”=“Any name”
<强>检查该文件是UTF16<强>
< P>也要确保字符串文件名总是“代码>可本地化”。Stase > P>我曾经有过类似的错误,结果发现文件中间有一个URL,像这样:// Some Comment 1
"Some key 1" = "Some value 1";
http://...whatever...
// Some Comment 2
"Some key 2" = "Some value 2";
在该文件上调用plutil-lint
时,输出为:
Unexpected character / at line 1
好的,第一个字符确实是
/
,因为文件以注释开头,但删除URL后问题解决了;或者把它变成一个事实上应该是的评论。请注意,URL离字符串文件的开始不远,它大约在6000行字符串文件的中间。我只能通过浏览提交历史记录并始终查看更改来找到它。我遇到了这个问题,我所有的格式都是正确的。使用plutil-lint Localizable.strings
和使用ruby库,如“utf8_utils”
检查非法字符也无法找到非法字符。但是,当我在运行irb
时将Localizable.strings内容粘贴到终端应用程序中时,它确实显示了奇怪的字符
"PercentComplete" = "%d procent gennemført";
粘贴到irb中:
"PercentComplete"\U+FFC2\U+FFA0= "%d procent gennemf\U+FFC3\U+FFB8rt";
然后我所要做的就是替换正则表达式来修复那些奇怪的空白字符:
\U+FFC2\U+FFA0
pl