1

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

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

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

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

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

任何帮助将不胜感激谢谢

编辑:

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

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

按照一些截图

意大利本土化

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

基础本地化窗口

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

编辑2:

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

4

3 回答 3

1

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

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

编辑:正如我所想,没有必要添加基本本地化

于 2013-10-25T15:41:10.043 回答
1

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

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

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

于 2014-02-12T11:40:14.243 回答
0

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

于 2013-10-14T21:07:54.010 回答