无法打开文件"Main.strings",因为没有这样的文件.

pal*_*lmi 6 xcode localization ios xcode7

尝试本地化项目(最初在Xcode 6中创建)后,我在调试导航器中看到一个模糊的错误.

执行的步骤

  1. 启用基本本地化
  2. 添加其他语言的字符串文件(葡萄牙语)
  3. 编辑方案以将应用程序语言和应用程序区域分别更改为葡萄牙语(巴西)和巴西.

结果

"无法打开文件"Main.strings",因为没有这样的文件."

在此输入图像描述

在尝试选择文件时,我会收到提醒.

"无法打开文档"Main.storyboardc".Interface Builder无法打开已编译的nib."

在此输入图像描述

作为一个完整性检查,我使用相同的设置(使用NSLocalizedString)创建了一个新项目,并运行了上面列出的相同步骤.我为其他语言提供了替代翻译,然后构建并运行了按预期工作的项目,显示了字符串的备用翻译.

环境

  • Xcode 7.1.1(7B1005)
  • OS X 10.11.1(15B42)

我已经尝试过这个答案,但问题和答案并不完全适用于我所看到的问题.

我在这里不知所措.有什么建议?

  • 错误和警报表示什么?
  • 为什么一个项目(使用Xcode 6创建)在尝试本地化时失败,而一个全新的项目(使用Xcode 6创建)成功了?

小智 5

我在Xcode 6上创建的项目上遇到了同样的问题.我在不影响故事板文件本地化的情况下以下列方式解决了问题:

  1. 导入本地语言的XLIFF(在我的情况下,它是法语)
  2. 尝试运行该应用程序,它将显示上述错误
  3. 现在,右键单击故事书文件,然后单击"在Finder中显示"
  4. 从目录位置,从Base.lproj文件夹中移出.storyboard文件
  5. 现在回到Xcode,删除storyboard文件(仅供参考)
  6. 现在,将.storyboard文件从其新位置拖到项目中
  7. 现在,从'File Inspector'为.storyboard文件添加本地化.您可以使用现有的.strings文件进行本地化

一切都应该现在正常.


pal*_*lmi 1

我从未找到使用 Main.strings 解决此问题的方法。相反,我将所有可翻译的内容保留在类中,使我可以仅依赖 Localized.strings。