我正在将本地化应用到我正在处理的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];
}
有什么想法吗?可以发布更多代码,如果需要,但我假设一切都正确建立,看起来好像它都用英语。它必须是我忽略的简单事物。我尝试过Clean,从模拟器和我的iPhone中删除应用程序,再次尝试构建......同样的故事。也发生在同事的iPhone上。
提前致谢。 (另外,我对iOS开发人员来说还是有点新鲜)
戴夫
答案 0 :(得分:0)
归功于Carl Veazey。你的评论帮我解决了这个问题。
所以我已经吸取了教训,当你应用本地化时,你实际上也可以将它应用到你的故事板 - 因此为每种语言创建单独的。
所以我的问题是故事板的英文版有IBOutlet连接,而捷克版没有。
因为我将从Localizable.strings文件以编程方式应用所有这些字符串,所以我不需要将故事板本地化 - 我已经删除了捷克语版本并且正在通过代码应用所有内容。无论如何,我认为这是更好的做法。
再次感谢!