I use localization strings to localize UI elements. Everything works, except localizing title of a button.
"21.title" = "It should be the localized text"; //does not work
I think it would be caused by state of button (...forState:UIControlStateNormal...), title can be set by view state. How can I defie it in the localization file?
How can I define button title in localization string? What is the trick?
NOTE: I know how to do it from source code, my question is about how to do it by localization string file. So: i know how to use localization strings to localize UI, except buttons.
"21.title" = "It should be the localized text"; //does not work
should read
"21.normalTitle" = "It should be the localized text"; //does work
instead.
In Interface Builder, you can set 4 strings, one for each of the states in the "State Config" dropdown.
OR, alternatively, in code, you set the button title for each state:
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];
Edit: To be clear, you'll add the localization strings into your Localizable.strings
file. As long as you copy that into your app, you'll get the substitution; and of course you can support multiple languages. Localization Tutorial and Localize in IB
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With