OSの言語設定を得る

NSLocale *locale = [[NSLocale preferredLanguages] objectAtIndex:0];

日本語に設定されているが、日本語のリソースがない場合、他の優先言語が使われることになる。その時でも上記は日本語のLocaleオブジェクトを返す。

現在参照しているリソースの言語(NSLocalizedStringで取得表示しているもの)は以下のようにして得ると良い。

NSString *localeIdentifier = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0];
NSLocale *locale = [NSLocale localeWithLocaleIdentifier:localeIdentifier];