我使用本地化字符串来本地化 UI 元素。一切正常,除了本地化按钮的标题。
"21.title" = "应该是本地化文本"; //不起作用
我认为这是由按钮状态引起的(...forState:UIControlStateNormal...),标题可以通过视图状态设置。我如何在本地化文件中挑战它?
如何在本地化字符串中定义按钮标题?诀窍是什么?
注意:我知道如何从源代码中做到这一点,我的问题是关于如何通过本地化字符串文件来做到这一点。所以:我知道如何使用本地化字符串来本地化 UI,按钮除外。
我使用本地化字符串来本地化 UI 元素。一切正常,除了本地化按钮的标题。
"21.title" = "应该是本地化文本"; //不起作用
我认为这是由按钮状态引起的(...forState:UIControlStateNormal...),标题可以通过视图状态设置。我如何在本地化文件中挑战它?
如何在本地化字符串中定义按钮标题?诀窍是什么?
注意:我知道如何从源代码中做到这一点,我的问题是关于如何通过本地化字符串文件来做到这一点。所以:我知道如何使用本地化字符串来本地化 UI,按钮除外。
"21.title" = "It should be the localized text"; //does not work
应该读
"21.normalTitle" = "It should be the localized text"; //does work
反而。
在 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文件中。只要您将其复制到您的应用程序中,您就会得到替换;当然,您可以支持多种语言。 本地化教程和IB 中的本地化
就我而言,我已将文件发送出去进行翻译。当他们回来时,出现了一个微妙的错误
"0ZD-ku-bT7.title" = “Fechar";
请注意,他们使用了两个不同的双引号!这会以微妙的方式破坏文件,不会在编译器中失败。
正确的代码必须是
"0ZD-ku-bT7.title" = "Fechar";