2

我已经将我的ContactView.xib文件本地化为英文和法文,并且通常必须自动加载。我使用UIViewController的initWithNibName: bundle:方法初始化对象,但结果总是相同的:加载的文件是英文文件!initWithNibName:bundle:永远加载英文笔尖

我已经清理了项目,重新安装了应用程序等,但没有任何作品,我的xib文件的法语版本被忽略!

我知道有一个相关的帖子(here),但问题并不完全一样,尽管我努力,但它仍然存在。

下面是代码的样本我已经写了:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil contact:(Contact *)aContact 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self != nil) 
    { 
     self.contact = aContact; 
    } 
    return self; 
} 

还有什么事做来加载在适当的区域设置的文件吗? 我已经检查了设备(或模拟器)上的偏好设置,并在模块中加载了该偏好设置,并且每次都将语言环境设置为法语。

预先感谢您,

Geoffroy。

回答

4

我今天有一个非常类似的问题,浪费了大约2个小时。 “ - ”在本地化 菜单

最后我通过删除本地化的厦门国际银行 。然后,我不得不删除的.xib 文件中的项目

(务必删除任何内容在什么地方有它的保存副本 - 你不能把它找回来!)。

然后我将.XIB文件拖回 该项目。最后它的工作

所有,我可以本地化正确,它的工作。但让我告诉你,我将永远不会开始本地化应用程序不是200%准备好之前。在xCode4中似乎有一个严重的错误。 (它甚至在我身上碰撞了几次 - 我想是因为它保留了一个在硬盘上任何地方都找不到的xib的链接。

这个错误在所描述的过程之后才消失,甚至删除了.XIB文件从项目中删除并从HDD中删除仍然没有帮助。XCode很高兴地开始使用这个.XIB(无论它从哪里得到它)。

祝你好运!(我今天浪费了太多时间!)

+0

非常感谢!我昨天也和一位同事浪费了很多时间,我们都不知道它可能来自哪里。多一个Xcode 4错误,谢谢Apple!我遵循你的程序,它工作正常;) – Geoffroy 2011-04-06 04:25:06

0

仅供参考,我想我想通了,是什么原因造成这样的问题:

你本地化您的法文版“字符串” F ILE?如果是这样,请试试这个:

  • 选择。厦门国际银行(根条目,而不是本地化版本)

  • 在巡视,检查:Interface Builder的文档→文档编辑→构建了

在我的情况,故称“OS X 10.7及更高版本“我遇到了同样的问题。我将它设置为“OS X 10.10”,并在另一个干净的构建后,一切正常。

我怀疑你的法语本地化没有加载,因为.xib文件格式还不兼容.strings汉化(我不记得这是什么时候引入)。