本地化IOS按钮标签

时间:2013-02-03 00:48:02

标签: ios xcode localization storyboard

我使用本地化字符串来本地化UI元素。一切都有效,除了本地化按钮的标题。

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

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

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

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

3 个答案:

答案 0 :(得分:31)

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

应该阅读

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

代替。

答案 1 :(得分: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];

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

答案 2 :(得分:0)

就我而言,我已将文件发送出去翻译。当他们回来时有一个微妙的错误

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

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

正确的代码必须是

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