我不得不解决同样的问题,并找到了一个解决方案:
您需要在查找器中找到您的 *.xcodeproj 文件并将其作为容器打开(ctrl+单击它,您将在上下文菜单中看到它)
在这里你可以看到 project.pbxproj 文件,在 Xcode 中打开它。它的大(但仍然可读的文件)。
(在开始之前,最好在保存点复制一些副本)
现在的任务是将缺少的语言添加到此文件中,并且已完成。(您可以在其他具有本地化的项目上尝试)。
您需要添加一个段落。在这个文件中搜索这个/* End PBXSourcesBuildPhase section */(它的段落就在缺少本地化段落之前的段落)并在之后添加类似这样的内容:
/* Begin PBXVariantGroup section */
27548D921611B0BE008EA1CD /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
27548D941611B0BE008EA1CD /* en */,
);
name = Localizable.strings;
path = ../Code;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
您必须先进行一些更改。查看长号27548D921611B0BE008EA1CD,它的本地化文件ID(或一些xib文件,或其他可本地化文件......),如果您在项目中没有,只需在项目中添加一些Localizable.string文件,重新打开(或刷新)这个 project.pbxpro,然后找到这个 Localizable.string 你应该会找到类似这样的内容:
275490591611B0BE008EA1CD /* Localizable.strings in Resources */
这就是您需要在本地化段落中替换的内容
您还需要对路径参数和 sourceTree 进行正确设置。这两个在 xcode 的文件检查器中是可读的。
“sourceTree”参数是位置 - 主要是相对于组,所以sourceTree = "<group>";
路径是从组到文件的相对路径(如果您不知道,请尝试在不同的项目中制作一些本地化文件并查看 project.pbxpro,所有这些都是什么工作)
在此之后您可以保存 project.pbxpro,您应该会在 xcode 信息部分中看到“en”本地化,您可以添加更多本地化和所有其他本地化内容。