本地化 IOS 按钮标签



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

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

我认为这是由按钮状态引起的(...对于状态:UIControlStateNormal...),标题可以按视图状态设置。如何在本地化文件中取消它?

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

注意:我知道如何从源代码中做到这一点,我的问题是如何通过本地化字符串文件做到这一点。所以:我知道如何使用本地化字符串来本地化 UI,按钮除外。

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

应改为

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

相反。

在界面生成器中,您可以设置 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文件中。 只要您将其复制到您的应用程序中,您就会获得替换;当然,您可以支持多种语言。 本地化教程和IB本地化

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

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

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

正确的代码必须是

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

最新更新