本地化UIDatePicker“今天”标签

时间:2011-10-12 06:32:33

标签: ios uikit uidatepicker

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

我需要俄语,所以我设置UIDatePicker语言环境,在设备设置中设置区域和语言,将info.plist中的“本地化本机开发区域”和“本地化”属性设置为“ru”但是它没有任何区别 - 所有月份和日期标签都是俄语,但“今天”标签仍然是“今天”。

3 个答案:

答案 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。