NSArray *langs = [NSLocale preferredLanguages];
NSString *langID = [langs objectAtIndex:0];
とするのがよい。
別の方法として、
NSString *localeIdentifier = [[NSLocale currentLocale] localeIdentifier];
としてしまうと、言語環境を英語にしてても、初期のほうが日本のままだと取得されるのも"ja_JP"になってしまうので要注意。
英語圏の人は、言語を英語にしたら書式も英語にしてると思われるので問題はないと思いますが、preferredLanguagesをみたほうが無難そう。
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:langID];
取得された文字列からNSLocaleを作成。