.strings
現在、英語、フランス語、ドイツ語の3 つのファイルがあります。
設定セクションにがあり、選択したセグメントに応じて使用するUISegmentedControl
デフォルト ファイルを変更したいと考えています。.strings
ローカリゼーションは、テスト時にアプリケーションの外部で既に機能しており、選択したセグメントに応じて個々のオブジェクトをローカライズすることさえできました (フランスを選択すると、下のラベル テキストが「南」から「南」に変わり、次に英語が再選択された場合は、もう一度戻ってください) これを使用して:
if(German segment) {
NSString *path= [[NSBundle mainBundle] pathForResource:@"de" ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
// Returns german version of localised string as label text.
self.defaultName.titleLabel.text = [languageBundle localizedStringForKey:@"PREF_WEATHER_NORTH" value:@"" table:nil];
// I would like to set the default .strings file to 'de' here.
}
else if(French segment) {
NSString *path= [[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
// Returns french version of localised string as label text
self.defaultName.titleLabel.text = [languageBundle localizedStringForKey:@"PREF_WEATHER_NORTH" value:@"" table:nil];
// I would like to set the default .strings file to 'fr' here
}
else if(British segment) {
NSString *path= [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
// Returns english version of localised string as label text
self.defaultName.titleLabel.text = [languageBundle localizedStringForKey:@"PREF_WEATHER_NORTH" value:@"" table:nil];
// I would like to set the default .strings file to 'en' here.
}
さて、ボタンのクリックで個々の文字列がローカライズされているので、各ファイルのすべての文字列を一度にローカライズできるかどうか疑問に思ってい.strings
ました (そのため、使用されるデフォルトの .strings をどのセグメントに応じて変更していますか?選択されている) または少なくとも許容可能な量のコードでできるだけ多くをターゲットにします。
明らかに、現時点ではそれらを 1 つずつ入力できますが、アプリケーションで使用されるローカライズされた文字列の量が多いため、実際にはそれはオプションではありません。
どんな助けでも大歓迎です。