взгляните на этот старый ответ:
Как узнать текущий язык устройства в iOS?
РЕДАКТИРОВАТЬ:
NSString *testLang = [[NSLocale preferredLanguages] objectAtIndex:0];
NSString *testLang1 = [[NSLocale preferredLanguages] objectAtIndex:1];
NSString *testLang2 = [[NSLocale preferredLanguages] objectAtIndex:2];
NSString *testLang3 = [[NSLocale preferredLanguages] objectAtIndex:3];
NSString *testLang4 = [[NSLocale preferredLanguages] objectAtIndex:4];
NSLog(@"LINGUA SYS:%@:%@:%@:%@:%@",testLang,testLang1,testLang2,testLang3,testLang4);
в консоли отладчика:
LINGUA SYS: en: it: fr: de: ja
или:
LINGUA SYS: es: en: it: fr:de
или:
LINGUA SYS: pt-PT: en: es: it: fr
, поэтому отправленный вами код верен, ошибка должна быть в другом месте...