如何在UIDatePicker
的日期和时间模式中将“今天”标签本地化?
我需要俄语,所以我设置UIDatePicker
语言环境,在设备设置中设置区域和语言,将info.plist
中的“本地化本机开发区域”和“本地化”属性设置为“ru”但是它没有任何区别 - 所有月份和日期标签都是俄语,但“今天”标签仍然是“今天”。
答案 0 :(得分: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";
我在这里使用意大利语(意大利语)。
答案 1 :(得分:1)
通过创建本地化资源.xib解决了问题(只需使用datePicker将IB中的本地化添加到.xib中,不执行任何其他操作)。
有人可以解释原因吗?
答案 2 :(得分:1)
是的,本地化有两个组成部分。第一个是你的strings.lproj fie,它包含每种语言的键值对,第二个,同样重要的是本地化的xib或故事板。这两个文件通过Xcode自动链接。因此,在您的情况下,需要一个ru.lproj localizable.strings文件以及一个Localized Russian Xib。