本地化IOSbutton标签

我使用本地化string本地化UI元素。 除了本地化button的标题外,一切正常。

“21.title”=“应该是本地化的文本”; //不起作用

我认为这是由button的状态(… forState:UIControlStateNormal …)造成的,标题可以通过视图状态来设置。 我怎么能在本地化文件中defie它?

如何在本地化string中定义button标题? 有什么窍门?

注:我知道如何从源代码做到这一点,我的问题是如何通过本地化string文件来做到这一点。 所以:我知道如何使用本地化string来本地化用户界面,除了button。

在Interface Builder中,您可以设置4个string,每个状态在“状态configuration”下拉菜单中都有一个。

或者,也可以在代码中设置每个状态的button标题:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [button setTitle:NSLocalizedString(@"21.title", @"Norm!") forState:UIControlStateNormal]; [button setTitle:NSLocalizedString(@"21.title-highlighted", @"hi btn") forState:UIControlStateHighlighted]; [button setTitle:NSLocalizedString(@"21.title-selected", @"sel btn") forState:UIControlStateSelected]; [button setTitle:NSLocalizedString(@"21.title-disabled", @"dis btn") forState:UIControlStateDisabled]; 

编辑:为了清楚起见,您将本地化string添加到Localizable.strings文件中。 只要你把它复制到你的应用程序,你会得到替代; 当然你可以支持多种语言。 IB中的 本地化教程和本地化

 "21.title" = "It should be the localized text"; //does not work 

应该读

 "21.normalTitle" = "It should be the localized text"; //does work 

代替。

就我而言,我已经把文件发送出去了。 当他们回来的时候有一个微妙的错误

 "0ZD-ku-bT7.title" = “Fechar"; 

注意他们已经使用了两个不同的双引号! 这以微妙的方式破坏文件,在编译器中不会失败。

正确的代码必须是

 "0ZD-ku-bT7.title" = "Fechar";