Use the componentsFromLocaleIdentifier method from the NSLocale class
Here is the documentation
You can do the following:
NSString* localeID = [NSLocale currentLocale].localeIdentifier; NSDictionary* components = [NSLocale componentsFromLocaleIdentifier:localeID]; NSString* languageID = components[NSLocaleLanguageCode];
EDIT
Getting the language this way will create some problems if the language in which the application is currently translated is not the language of the device. In fact, components[NSLocaleLanguageCode] will return the device language.
To get the current application language, you should use [[NSBundle mainBundle] preferredLocalizations].firstObject .
To get the scope of the device, you can still use components[NSLocaleCountryCode]
source share