Я создал UIDatePicker в своем приложении, и у меня также есть поддержка нескольких языков. Мой UIDatePicker создается в Интерфейсном Разработчике, и я создал отдельную локализацию XIB, таким образом, я могу настроить свой UIDatePicker.
Установка опции "Locale" в IB, кажется, ничего не делает. Попытка изменить мой DatePicker programatically с Локалью и NSCalender также ничего не делает с помощью следующего кода:
NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier:@"es_ES"];
datePicker.locale = locale;
datePicker.calender = [locale objectForKey:NSLocaleCalender];
Это приводит к английскому средству выбора.
Вот действительно странная вещь все же. Слово для "Сегодня" переводится. Как замечено в приложенном снимке экрана. (Хорошо мне не разрешают отправить изображения. Но вообразите средство выбора Даты и Времени с "маем" на английском и "Сегодня" записанном "Ajourd'hui".
На основе то, что я считал, добавив UIDatePicker programatically, кажется, не помогает многому.
После дальнейшего исследования это фактически не обрабатывается настройкой языка iPhone. UIDatePicker автоматически локализуется на основе параметра «Формат региона», а не языка. Это странно, потому что даты локализованы, поэтому вы можете подумать, что локализация средства выбора будет связана с языком iDevice, а не с форматом региона.
В любом случае, чтобы смоделировать локализованный DatePicker в симуляторе:
Что мне дано понять, так это то, что UIDatePicker
автоматически отображается в локали, в качестве которого установлено устройство. Я не знаю, как его переопределить, но похоже, что вы, вероятно, не должны переопределять его.