【问题标题】:The file “Main.strings” couldn’t be opened because there is no such file.文件“Main.strings”无法打开,因为没有这样的文件。
【发布时间】:2016-02-18 13:22:35
【问题描述】:

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

执行的步骤

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

结果

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

当我尝试选择文件时,我会收到一条警报。

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

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

环境

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

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

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

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

【问题讨论】:

    标签: ios xcode localization xcode7


    【解决方案1】:

    我在一个也在 Xcode 6 上创建的项目中遇到了同样的问题。我通过以下方式解决了这个问题,而不影响故事板文件的本地化:

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

    现在一切正常。

    【讨论】:

    • 这个解决方案现在仍然有效 - 发布日期 2016 年 10 月 14 日
    • 按照上面的说明可以编译项目
    • 奇怪但终极。 @vaibhav :)
    • @RishiChaurasia 谢谢。是的,这很奇怪。 :)
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      从设备中删除应用,清理并构建您的项目。

      【讨论】:

        猜你喜欢
        • 2015-07-06
        • 2017-09-29
        • 2014-08-25
        • 2016-07-15
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        • 2015-09-08
        • 2016-02-07
        相关资源
        最近更新 更多