15

ローカリゼーション文字列を使用してUI要素をローカライズします。ボタンのタイトルをローカライズすることを除いて、すべてが機能します。

"21.title"="ローカライズされたテキストである必要があります"; //動作しません

ボタンの状態(... forState:UIControlStateNormal ...)が原因だと思いますが、タイトルはビューの状態で設定できます。ローカリゼーションファイルでそれをどのように定義できますか?

ローカリゼーション文字列でボタンのタイトルを定義するにはどうすればよいですか?トリックは何ですか?

注:私はソースコードからそれを行う方法を知っています、私の質問はローカリゼーション文字列ファイルによってそれを行う方法についてです。つまり、ボタンを除いて、ローカリゼーション文字列を使用してUIをローカライズする方法を知っています。

4

3 に答える 3

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

読むべき

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

代わりは。

于 2014-04-08T11:05:36.680 に答える
7

Interface Builder では、[State Config] ドロップダウンの各状態に 1 つずつ、合計 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 でのローカライズ

于 2013-02-03T02:54:03.503 に答える
0

私の場合、翻訳するためにファイルを送信しました。彼らが戻ってきたとき、微妙なエラーがありました

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

2 つの異なる二重引用符が使用されていることに注意してください。これにより、コンパイラで失敗しない微妙な方法でファイルが壊れます。

正しいコードは

"0ZD-ku-bT7.title" = "Fechar";
于 2015-09-25T14:38:13.810 に答える