【问题标题】:IOs7 multiple storyboard localization issueIOs7 多情节提要本地化问题
【发布时间】:2013-09-28 06:18:02
【问题描述】:

我使用了几个故事板,我刚刚决定将它们本地化(Xcode 已生成.strings 文件)。

我注意到在 Build Phases > Copy Bundle Resources 中,所有与本地化相关的资源都显示为红色。

在运行时,本地化仅适用于主情节提要。使用 Localizable.strings 进行本地化也可以。但它不在其他情节提要上。

我尝试重新启动 Xcode,但它没有改变任何东西。 (参见Base internationalization and multiple storyboard not working right

我的本​​地化故事板之前已编译。如果我添加另一个故事板,将其本地化并启动编译,它会失败并出现以下错误:

*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“在捆绑包 NSBundle (...) 中找不到名为“维护”的故事板

你有解决这个问题的想法吗?

【问题讨论】:

    标签: localization ios7 xcode5 xcode-storyboard


    【解决方案1】:

    此错误可能是由于您没有实现您在应用程序设置中选择本地化的多种语言中的一种

    为了在故事板中实现一种语言:

    1. 选择故事板
    2. 在右侧面板上,转到“文件检查器”选项卡(左起第一个)
    3. 本地化中,检查所有语言

    您现在有两种方法来本地化您的故事板:

    • 您可以选择Localizable Strings,为您的语言创建.strings 文件,这将生成在您的故事板中找到的字符串列表。
    • 或者您可以选择创建一个“子”故事板,方法是选择Interface Builder Cocoa Touch Storyboard,它会为特定语言创建不同版本的故事板。

    到目前为止,如果您添加新字符串,我只找到了一种在 xcode 中刷新 .strings 文件的方法:只需取消选中并重新选中语言,并在询问时选择“替换文件”。 Apple also provides a tool 您可以在终端中使用。最后there's a script 自动完成。

    【讨论】:

      【解决方案2】:
      • 打开故事板文件
      • 查看右侧面板,在本地化部分的第一个选项卡(身份)上,取消选中“Base”
      • 应该会提示您一个对话框,无论答案如何,问题都应该得到解决。

      现在您看到构建阶段是正确的,您应该能够运行您的项目。

      【讨论】:

        【解决方案3】:

        无法在“复制捆绑资源”中复制红色 Localizable.strings 或其他本地化文件的原因之一可能是您的 Target 设置中的“本地化原生开发区域”设置。

        应将此区域添加到项目的“本地化”中。

        即如果“本地化本地开发区域”为“en”,则应在项目设置中添加“English”作为本地化。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-06-13
          • 1970-01-01
          • 1970-01-01
          • 2014-03-21
          • 1970-01-01
          • 2017-10-27
          • 2014-12-16
          • 2012-08-06
          相关资源
          最近更新 更多