无法打开文件“Main.strings”,因为没有此类文件。

时间:2015-11-17 08:40:22

标签: ios xcode localization xcode7

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

已执行的步骤

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

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

    enter image description here

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

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

    enter image description here

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

    环境

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

    我已经尝试过关注this answer,但问题和答案并不完全适用于我所看到的问题。

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

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

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

从设备中移除应用,清洁&建立你的项目。