2009-07-20 2 views
9

Я пытаюсь локализовать UIDatePicker. В документах Apple говорится, что он должен автоматически определять текущий язык, но язык остается неизменным, независимо от того, какой язык я выбираю. Что мне нужно сделать?Могу ли я локализовать UIDatePicker?

ответ

0

UIDatePicker имеет locale; если вы не установили его, он должен по умолчанию использовать предпочтительный языковой стандарт пользователя. Когда вы говорите «независимо от того, какой язык я выбираю», что вы имеете в виду, пытаетесь ли вы программно изменить языковой стандарт или измените ли вы язык по умолчанию на странице настроек?

+0

Я имею в виду международную настройку в настройках. У меня есть все, что было настроено на NSLocalizedString, и все это прекрасно переводится. Однако, скажем, я задал язык на французском языке в настройках. Мой UIDatePicker не будет показывать месяцы на французском языке. Я не установил локаль вообще, поэтому я решил, что это должно отображать правильную локаль. Однако это не так. – 2009-07-20 02:07:42

+0

как вы инициализируете выбор даты? вы оставляете настройки локали и календаря равными нулю или вы их устанавливаете? –

+0

Они установлены на нуль. – 2009-07-21 00:52:31

11

Свойство locale (и все другие свойства, относящиеся к конкретной стране), по умолчанию соответствует значению, возвращаемому currentLocale, что в свою очередь зависит от настроек страны iphone, а не настроек языка. Вам нужно установить соответствующую страну в общих настройках iphone.

+2

локали NSDatepicker осуждается в ИОС 5.1 – Raj

+0

Проверить kraag22 и комментарии Дейва Делонг по адресу FunkyKat ответ ниже –

5

NSLocale в UIDatePicker вернулся, так прошивка 6. Настройки телефона в IOS 6 игнорируется и используется en_US локаль по умолчанию, так что вы должны установить локаль в коде

+1

если вы установите локаль свойство в iOS 5.1.1 он хорошо работает. Настройки телефона/пэда также игнорируются – kraag22

+2

Если вы создадите «UIDatePicker» программно, он будет инициализирован с помощью [[NSLocale currentLocale] '. Если вы создаете его в xib, убедитесь, что значение атрибута «Locale» равно «Default» и * not * «English (United States)». –

2

Из моего опыта, в iOS5 UIDatePicker кажется игнорировать установить языковой стандарт и использовать локаль, предоставленную из общих настроек. Но он должен работать нормально в iOS6.

+0

Вы тестировали его на iOS6? – Rob

+0

Да, да. Это приложение было полностью разработано для арабского языка. Я установил локаль из раскадровки и ** viewDidLoad **, а локатор выбора даты был английским, под iOS5, поскольку настройки симулятора были. Однако он работал на iOS6 только с раскадровки, не устанавливая его с ** viewDidLoad **. Извините за поздний ответ, я только что видел ваш комментарий. –

Смежные вопросы