【问题标题】:xcode 5 localization failedxcode 5 本地化失败
【发布时间】:2013-10-21 18:01:59
【问题描述】:

我有一个奇怪的问题......

我用 xcode 5 创建了一个新项目,我删除了 storyboards ,因为我正在使用 xibs ,并且我删除了基本本地化,因为从我读过的内容来看,它对 xibs 没用。我还去掉了英文本地化,添加了意大利语本地化,这是我感兴趣的。

我开始使用该设备(以意大利语设置)并且一切正常。

今天早上,家里的线忘带了,决定用模拟器(是英文的),结果应用崩溃了。经过一些测试,我意识到问题源于语言设置,实际上如果我将模拟器的语言设置为意大利语,一切正常。更好地分析情况后,我意识到文件“Localizable.strings”中设置的一些对应用程序至关重要的变量没有被正确读取(它设置了键而不是值),因此应用程序崩溃了。

我非常有信心通过简单地创建一个新项目并复制代码来解决问题,但我想知道是否可以恢复原始代码。

任何帮助将不胜感激 谢谢

编辑:

第一次尝试:检查项目/信息中的按钮基础本地化正在打开一个空的弹出窗口(没有要本地化的文件)

第二次尝试:在项目/信息中,在本地化下按“+”添加基本本地化(我现在只有意大利语)似乎没有任何改变......它仍然打开一个空窗口

看一些截图

如您所见,有 1 个本地化文件,即 Localizable.strings,未选中“使用基本国际化”复选框。

在这里,您可以看到当我选中“使用基本国际化”或通过按“本地化”下的“+”按钮添加基本语言时会发生什么。

编辑 2:

用 iOS 部署目标 7.0 而不是 4.3 尝试了同样的事情。结果一样

【问题讨论】:

    标签: ios objective-c xcode xcode5


    【解决方案1】:

    您的问题很可能是 MainMenu.xib 需要注册为可本地化的资源。

    1. 在项目导航器中选择 MainMenu.xib(左侧边栏)
    2. 如果文件检查器(右侧边栏)中出现 Localize... 按钮,请按下它。
    3. 勾选使用基本国际化复选框。这次应该出现 MainMenu.xib。

    现在,当您在文件检查器中为 MainMenu.xib 勾选其他语言时,Xcode 将为该语言创建一个 MainMenu.strings 文件。单击项目导航器中 MainMenu.xib 上的显示三角形进行编辑。

    【讨论】:

    • 嗨,我为我的 xibs 获得了相应的 .string 文件,但是在更改语言时文本没有改变。你能帮帮我吗?
    【解决方案2】:

    已解决。问题源于我在模拟器上安装了旧版本的 Localizable.strings 文件,如帖子here 所示。

    奇怪的是,在阅读该帖子之前,我很确定我删除并重新启动应用程序的次数更多,因为我经常采用这种做法,非常了解帖子中描述的行为。

    编辑:我认为没有必要添加基本本地化

    【讨论】:

      【解决方案3】:

      使用本地化时,您需要一种基础语言,如果设备想要使用的语言不存在,则可以使用该语言。如果找不到文件,它将使用密钥。一个技巧,因为键可以是一个句子,就是让你的键成为你的基本语言。

      【讨论】:

      • 为答案而战。我曾尝试将基本本地化(通过检查项目摘要中的相应按钮)再次添加到我的项目中。问题是我在弹出窗口中看不到任何可本地化的文件。也许我忘了做点什么?
      • 在 xcode 5 中有一个复选框,您可以在其中设置本地化。单击底部的项目和信息及其。此外,如果您单击“+”号并转到“其他”,则会有一个名为“Base”的选项。如果您还没有,请尝试一下。
      • @PeterSegerblom:我在 Localizations 下的列表中找不到“Base”这样的选项。使用 Xcode6 beta5
      猜你喜欢
      • 2015-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-10
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 2014-09-27
      相关资源
      最近更新 更多