2

アプリケーションを 4 つの言語 (英語、フランス語、斜体、スペイン語) に開発する必要があります。

.xib fileそのため、トップバーに1つだけを使用して異なる言語データを表示する方法があることを知りたいです。

例:

ビュー部分に 4 つのラベルがある Setting.xib (.xib ファイル) があり、その Nib ファイルのトップ バーに、One & Only one Nib ファイルを使用して設定言語に従ってラベル名を変更したい。

では、適切な解決策を教えてください。

これにより、ロードにかかる時間が短縮されます。

4

1 に答える 1

2

まず第一に、ラベルテキストを設定するときに単純に使用できない理由がわかりませんNSLocalizedString。デバイスの言語に応じて、適切なバージョンのテキストをロードして、まさにあなたが望むことを行います。

とにかく、ここで役に立つものが見つかると思います。

実際には、6 つの言語と 1 つの Nib のみで同様のことを行いましたが、私の場合、アプリ内で言語を変更することができたので、強制的に、言語からローカライズされたバージョンの文字列を読み込むように指示できる必要がありました。特定のバンドル。

問題が私のものに似ていて、単純な NSLocalizedString では不十分な場合に役立つ正確なコードを次に示します。

NSString* path= [[NSBundle mainBundle] pathForResource:[[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] objectAtIndex:0] ofType:@"lproj"];

NSBundle* languageBundle = [NSBundle bundleWithPath:path];

someLabel.text = [languageBundle localizedStringForKey:@"textKey" value:@"" table:nil];

おそらく複数のラベルがあるため、パスをクラス プロパティとして保存し、viewDidLoad に設定することをお勧めします。これにより、そのクラス内の任意のメソッド/関数からアクセスできるようになります。

于 2012-06-01T10:19:00.623 に答える