ок, тупой меня .. поскольку на связанный вопрос уже ответили .. этот код требует перезапуска .. т.е.когда пользователь выбирает вызов другого языка [[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects: @ "de", nil] forKey: @ "AppleLanguages"];- в следующий раз, когда приложение будет запущено, [NSBundle mainBundle] вернет правильные ресурсы для данной локали .. (хотя [NSLocale currentLocale] все равно вернет локаль для всего iPhone ... но я думаю, что это не имеет значения для меняв любом случае ...)