2011-10-12 59 views
2

如何在UIDatePicker的日期和时间模式中本地化标签“today”?本地化UIDatePicker“今日”标签

我需要俄语,所以我给自己定UIDatePicker区域,设置区域和语言在设备设置中,设置“本地化本土发展区”和“本地化”财产info.plist以“儒”,但它并没有任何区别 - 所有月份和日期标签都是俄语,但“今天”标签仍然是“今天”。

回答

1

问题通过创建本地化资源.xib解决(只需将本地化IB添加到使用datePicker的.xib中,除此之外别无其他)。

有人可以解释为什么吗?

1

是的,有两个组件来本地化。第一个是你的strings.lproj,它包含你的每种语言的键值对,第二个,同样重要的是本地化的xib或故事板。这两个文件通过Xcode自动相互链接。所以,你需要一个ru.lproj localizable.strings文件以及一个本地化的俄罗斯Xib文件。

2

有了下面的代码在日期选择器中的所有文本的帮助下得到了本地化,包括字符串“今天”:

//Localizing the datepicker 
    NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier:NSLocalizedString(@"en_US",nil)]; 
    datePicker.locale = locale; 
    datePicker.calendar.locale = locale; 

这里我使用NSLocalizedString取代“EN_US”(键)用适当的区域设置标识符(值)。这与对应Localizable.strings文件针对特定的语言环境/语言的帮助下完成的,你需要添加:

/*==== Locale identifier ====*/ 
"en_US"="it_IT"; 

我在这里使用过意大利语(意大利语)。

+0

Here _datepicker.calendar.locale = locale; _是多余的 –