如何在UIDatePicker
的日期和时间模式中本地化标签“today”?本地化UIDatePicker“今日”标签
我需要俄语,所以我给自己定UIDatePicker
区域,设置区域和语言在设备设置中,设置“本地化本土发展区”和“本地化”财产info.plist
以“儒”,但它并没有任何区别 - 所有月份和日期标签都是俄语,但“今天”标签仍然是“今天”。
如何在UIDatePicker
的日期和时间模式中本地化标签“today”?本地化UIDatePicker“今日”标签
我需要俄语,所以我给自己定UIDatePicker
区域,设置区域和语言在设备设置中,设置“本地化本土发展区”和“本地化”财产info.plist
以“儒”,但它并没有任何区别 - 所有月份和日期标签都是俄语,但“今天”标签仍然是“今天”。
问题通过创建本地化资源.xib解决(只需将本地化IB添加到使用datePicker的.xib中,除此之外别无其他)。
有人可以解释为什么吗?
是的,有两个组件来本地化。第一个是你的strings.lproj,它包含你的每种语言的键值对,第二个,同样重要的是本地化的xib或故事板。这两个文件通过Xcode自动相互链接。所以,你需要一个ru.lproj localizable.strings文件以及一个本地化的俄罗斯Xib文件。
有了下面的代码在日期选择器中的所有文本的帮助下得到了本地化,包括字符串“今天”:
//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";
我在这里使用过意大利语(意大利语)。
Here _datepicker.calendar.locale = locale; _是多余的 –