本地化的Xcode导出被卡住了

本地化的Xcode导出被卡住了,xcode,localization,Xcode,Localization,我正在使用xliff文件,将我的一个应用程序翻译成西班牙语时没有任何问题。现在Xcode的“导出本地化”功能突然停止了工作。如果我转到编辑器->导出以进行本地化,则不会发生任何情况,系统会询问我要将xliff文件保存到何处,但当我选择一个位置时,不会发生任何情况。如果我再次尝试导出,我会收到一条错误消息:“正在进行本地化操作” 我尝试重新启动Xcode和我的计算机,但没有成功。还有其他人遇到过这个问题吗?我刚刚遇到了同样的问题!在我的例子中,这是因为文件Localizable.strings包含

我正在使用xliff文件,将我的一个应用程序翻译成西班牙语时没有任何问题。现在Xcode的“导出本地化”功能突然停止了工作。如果我转到编辑器->导出以进行本地化,则不会发生任何情况,系统会询问我要将xliff文件保存到何处,但当我选择一个位置时,不会发生任何情况。如果我再次尝试导出,我会收到一条错误消息:“正在进行本地化操作”


我尝试重新启动Xcode和我的计算机,但没有成功。还有其他人遇到过这个问题吗?

我刚刚遇到了同样的问题!在我的例子中,这是因为文件Localizable.strings包含带引号的字符串

例如,您的文件可能包含以下内容:

"This is a “test”." = "Das ist ein "Test".";
Xcode的代码高亮显示将表明有问题:

原来的英语句子之所以有效,是因为字符串中的引号是正确的,但德语翻译中的引号打断了字符串并使其无效

此问题可能存在于任何字符串文件中,如Localizable.strings、InfoPlist.strings等。若要在大型字符串文件中查找类似的行,可以使用以下表达式通过正则表达式进行搜索:

(".*){5}
这将查找所有具有超过4个引号的行。正如我提到的,智能(卷曲)报价是可以接受的。您可以通过转义使用普通引号-因此这也是可以接受的:

"This is a “test”." = "Das ist ein \"Test\".";

这正是我的问题。为了找到标签,我使用了^“.*=(“.*){3}作为正则表达式。我用你的注册经验得到了很多错误的点击。