iOS 7 でローカライズを使用しており、ドイツ語と英語のローカライズ可能な文字列ファイルがあります。対応する言語を選択するたびに、ローカリゼーションは完璧に機能します。しかし、他の言語に切り替えると、表示は前の選択に基づいています。
他の言語を選択した場合に備えて英語を選択したいのですが、ご意見をいただければ幸いです。
iOS 7 でローカライズを使用しており、ドイツ語と英語のローカライズ可能な文字列ファイルがあります。対応する言語を選択するたびに、ローカリゼーションは完璧に機能します。しかし、他の言語に切り替えると、表示は前の選択に基づいています。
他の言語を選択した場合に備えて英語を選択したいのですが、ご意見をいただければ幸いです。
私の知る限り、この動作は機能ですが、文書化されていませんか? :)
iOS7 では、ユーザーは優先言語のソート済みリストを設定できます。例えば; ドイツ語に堪能だが英語に堪能でないフランス人のユーザーは、言語設定としてフランス語、ドイツ語、および英語を設定できます。すごい機能です!!!
したがって、この機能をオーバーライドすべきではないと思います。
ユーザーは、英語を第 2 言語として簡単に設定できます。第 1 英語を選択してから、優先するメイン言語を選択します。
main.m で以下のチェックを使用します
NSString * deviceLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
NSArray *supportedLanguages = [NSArray arrayWithObjects:@"en",@"de", nil];
if ([supportedLanguages containsObject:deviceLanguage])
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:deviceLanguage, nil] forKey:@"AppleLanguages"];
else
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"];