本地化IOS按钮标签

Tom*_*Tom 12 xcode localization storyboard ios

我使用本地化字符串来本地化UI元素.一切正常,除了本地化按钮的标题.

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

我认为它会由按钮状态(... forState:UIControlStateNormal ...)引起,标题可以通过视图状态设置.我怎样才能在本地化文件中找到它?

如何在本地化字符串中定义按钮标题?诀窍是什么?

注意:我知道如何从源代码中执行此操作,我的问题是如何通过本地化字符串文件来完成.所以:我知道如何使用本地化字符串来本地化UI,除了按钮.

小智 31

"21.title" = "It should be the localized text"; //does not work
Run Code Online (Sandbox Code Playgroud)

应该读

"21.normalTitle" = "It should be the localized text"; //does work
Run Code Online (Sandbox Code Playgroud)

代替.


Dav*_*ave 7

在Interface Builder中,您可以设置4个字符串,一个用于"状态配置"下拉列表中的每个状态.

或者,或者,在代码中,为每个状态设置按钮标题:

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];
Run Code Online (Sandbox Code Playgroud)

编辑:要清楚,您将把本地化字符串添加到您的Localizable.strings文件中.只要您将其复制到您的应用程序中,您就可以获得替换; 当然,你可以支持多种语言. IB中的本地化教程本地化