1

我正在将本地化应用到我正在开发的 iPhone 应用程序中,并慢慢浏览整个应用程序中的所有文本/字符串/标签,以动态检索通过 Localizable.strings 完成的正确语言翻译 - 我正在使用两种语言进行测试确保它工作正常。自然是英语,还有捷克语。

到目前为止,在这个特定的 UILabel 之前我还没有遇到任何问题。

用英文使用iPhone和应用程序时,完全没有问题。但是,当将 iPhone 语言更改为捷克语并测试应用程序时,我的 UILabel 之一甚至不会初始化。如果我强制这样的文本也没关系:

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"show: %@", self.segmentedControlTitle);

    self.segmentedControlTitle.text = @"test";

    // Other code
}

基本上,当使用其他语言时,它只显示情节提要中设置的占位符文本。到目前为止,我设置的所有其他标题即使使用实际的本地化方法也能完美运行;

- (void)viewDidLoad
{
    // The other code...

    [self.segmentedControl setTitle:NSLocalizedString(@"VIEWALL_all", nil)
                 forSegmentAtIndex:0];
}

有任何想法吗?如果需要,可以发布更多代码,但我假设一切都正确建立,就好像它都用英语工作一样。它必须是我忽略的一些简单的东西。我试过清理,从模拟器和我的 iPhone 中删除应用程序,再次尝试构建......同样的故事。也发生在同事的 iPhone 上。

提前致谢。(另外我对 iOS 开发者还是有点陌生​​,仅供参考)

戴夫

4

1 回答 1

0

归功于 Carl Veazey。你的评论帮助我弄清楚了这一点。

所以我吸取了教训,当你应用本地化时,你实际上也可以将它应用到你的故事板上——因此为每种语言创建单独的故事板。

所以我的问题是故事板的英文版有 IBOutlet 连接,而捷克版没有。

因为我将从 Localizable.strings 文件中以编程方式应用所有这样的字符串,所以我不需要本地化情节提要 - 我已经删除了捷克语版本并通过代码应用所有内容。我认为无论如何这是更好的做法。

再次感谢!

于 2013-05-16T05:30:15.403 回答