【问题标题】:Localize IOS button label本地化 IOS 按钮标签
【发布时间】:2013-01-18 01:32:13
【问题描述】:

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

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

我认为这是由按钮状态引起的(...forState:UIControlStateNormal...),标题可以通过视图状态设置。如何在本地化文件中反其道而行之?

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

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

【问题讨论】:

  • 这是一个有效的问题。

标签: ios xcode localization storyboard


【解决方案1】:
"21.title" = "It should be the localized text"; //does not work

应该阅读

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

改为。

【讨论】:

  • 我同意这是正确的答案。此外,原来的问题是非常有效的恕我直言。
  • 我用过相同的,但不适合我。你能帮我解决这个问题吗?我的代码就像 "lXg-Tj-A7t.normalTitle"="Send";其中“lXg-Tj-A7t”是按钮的objectID
【解决方案2】:

在 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

【讨论】:

  • 那么,在可本地化字符串文件中为按钮标题执行此操作的语法是什么?不在代码中!再说一遍:我可以为其他事情做,它有效,我不需要那种解释。问题仅在于按钮标题!
  • Localizable.strings 对按钮标题没有任何特殊语法。
  • "KEY" = "String"; /*总是 - 在字符串文件中*/
  • 但是按钮永远不会起作用。 "21.title" = "应该是本地化文本"; //不起作用
  • 正如@Daji-Djan 所说,.strings 文件仅将基本字符串映射到本地化字符串。它没有关于您在何处使用文本的上下文。按钮没有什么特别的。如果您看到“21.title”出现或根本没有出现,以及您是否正在使用 Interface Builder 或以编程方式创建按钮,您需要告诉我们。你用的是什么风格的按钮?您是否在按钮上设置了图像?等等。你试过什么?
【解决方案3】:

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

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

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

正确的代码必须是

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多