プロジェクトの 1 つの言語を削除した後、プロジェクト内の他の既存のローカライズ可能なファイルが正しく読み込まれません。ファイルはバンドル リソースに含まれていますが、正しく読み込まれません。load メソッドは、localizable.strings ファイルに含まれる文字列キーの値を返しません。
ロード方法は次のとおりです。
-(NSString*) languageSelectedStringForKey:(NSString*) key
{
NSString *path;
NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [currentDefaults objectForKey:@"AppleLanguages"];
NSString *selectedLanguage = [languages objectAtIndex:0];
if([selectedLanguage isEqualToString:@"es"])
path = [[NSBundle mainBundle] pathForResource:@"es" ofType:@"lproj"];
else if([selectedLanguage isEqualToString:@"en"])
path = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
NSString* str=[languageBundle localizedStringForKey:key value:@"" table:nil];
path=nil;
languages=nil;
selectedLanguage=nil;
languages=nil;
languageBundle=nil;
return str;
}
助けてくれて本当にありがとうございます。