Iphone 我可以本地化UIDatePicker吗?

Iphone 我可以本地化UIDatePicker吗?,iphone,objective-c,localization,uidatepicker,Iphone,Objective C,Localization,Uidatepicker,我正在尝试本地化一个UIDatePicker。苹果的文档说,它应该自动检测当前的语言环境,但无论我选择哪种语言,语言都保持不变。我该怎么办?UIDatePicker有一个属性;如果未设置,则应默认为用户首选的区域设置。当您说“无论我选择哪种语言”时,您的意思是——您是在试图以编程方式更改区域设置,还是在使用设置页面更改设备的默认区域设置?区域设置属性(以及所有其他特定于国家/地区的格式属性)默认为,这取决于iphone的国家设置,而不是语言设置。您需要在iphone常规设置中设置适当的国家/地区

我正在尝试本地化一个UIDatePicker。苹果的文档说,它应该自动检测当前的语言环境,但无论我选择哪种语言,语言都保持不变。我该怎么办?

UIDatePicker有一个属性;如果未设置,则应默认为用户首选的区域设置。当您说“无论我选择哪种语言”时,您的意思是——您是在试图以编程方式更改区域设置,还是在使用设置页面更改设备的默认区域设置?

区域设置属性(以及所有其他特定于国家/地区的格式属性)默认为,这取决于iphone的国家设置,而不是语言设置。您需要在iphone常规设置中设置适当的国家/地区。

UIDatePicker中的NSLocale从iOS 6开始恢复。默认情况下,iOS 6中的电话设置会被忽略并在美国地区使用,因此您必须在代码中设置地区。根据我的经验,在iOS 5中,UIDatePicker似乎会忽略设置的地区,并使用常规设置中提供的地区。但是它在iOS6中应该可以正常工作。要使用设备中设置的当前语言显示选择器,请使用以下命令:

@property (weak, nonatomic) IBOutlet UIDatePicker *pickerView;

[_pickerView setLocale:[[NSLocale alloc] initWithLocaleIdentifier:[[NSLocale currentLocale] localeIdentifier]]];

我指的是偏好中的国际设置。我已经将所有其他内容都设置为NSLocalizedString,并且所有内容都翻译得非常好。但是,假设我在首选项中将语言设置为法语。我的UIDatePicker不会以法语显示月份。我根本没有设置区域设置,所以我认为应该显示正确的区域设置。但是,它不是。如何初始化日期选择器?您是将locale和calendar属性设置为nil,还是将它们设置为某个值?另外,我正在完全通过代码初始化日期选择器。这是我在pastebin上的代码。ios 5.1中不推荐NSDatepicker的语言环境检查kraag22和Dave DeLong在FunkyKat的评论回答如下如果您在ios 5.1.1中设置语言环境属性,它也可以正常工作。电话/键盘设置将被忽略。如果以编程方式创建
UIDatePicker
,则将使用
[NSLocale currentLocale]
对其进行初始化。如果您在xib中创建它,那么请确保“Locale”属性的值是“Default”,而不是“English(美国)”。是的,我这样做了。这是一个完全为阿拉伯语开发的应用程序。我从storyboard和viewDidLoad设置了区域设置,日期选择器的区域设置是英语,在iOS5下,就像模拟器的设置一样。然而,它只在故事板上为iOS6工作,而没有在viewDidLoad中进行设置。很抱歉回复太晚,我刚看到你的评论。