Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Localizable.strings-数据无法’;因为它是’;格式正确_Ios_Xcode_Ios11_Localizable.strings - Fatal编程技术网

Ios Localizable.strings-数据无法’;因为它是’;格式正确

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"; 您的语法似乎很好,我能看到的唯一可能“破坏”文件并导致此错误的是引号字符。确保使用所需的“,而不是任何其他形式,例如”。 从终端使

如果我从textedit或web复制某些内容并将其粘贴到可本地化文件,则会显示此编译错误。如果我在可本地化文件中键入这些,则不会显示任何错误。我向您保证,我使用正确的格式和“;”在文件中

"New" = "New";
"In Progress" = "In Progress";
"Waiting" = "Waiting";
"Closed" = "Closed";

您的语法似乎很好,我能看到的唯一可能“破坏”文件并导致此错误的是引号字符。确保使用所需的
,而不是任何其他形式,例如

  • 从终端使用plutil:
您必须为可本地化文件的每个版本运行它

  • cd
    插入到项目根目录中
  • cd eb.lproj
    -您可以将其替换为 您正在使用的任何本地化
  • plutil-lint可本地化。字符串
  • 当您运行步骤3时,您将看到一个错误,告诉您文件有什么问题。或者您将被告知文件正常


    请注意,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行出现意外字符/代码>

    我刚刚在XCode中创建了一个新文件,并复制粘贴了所有文件内容,突然一切正常。


    我想在使用其他文本编辑器时,可能会出现错误/损坏文件本身。

    在我的情况下,字符串对之间缺少“=”。即使是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 优于plutil-lint本地化。字符串

    日志将显示类似的内容

    2019-08-14 16:39:34.066 pl[21007:428513]CFPropertyListCreateFromXMLData():旧式plist解析器:第427行的字典中缺少分号。解析将被放弃。中断cfuPropertyListMissing分号以进行调试。 2019-08-14 16:39:34.068 pl[21007:428513]CFPropertyListCreateFromXMLData():旧式plist解析器:词典第427行缺少分号。解析将被放弃。中断cfuPropertyListMissing分号以进行调试。 2019-08-14 16:39:34.071 pl[21007:428513]***异常解析ASCII属性列表:NSParseErrorException Error Domain=nsCoCaerorDomain Code=3840“意外字符/在第1行”UserInfo={NSDebugDescription=意外字符/在第1行,kCFPropertyListOldStyleParsingError=错误域=nsCoCaerorDomain Code=3840“缺少”;“在第427行”