【发布时间】:2011-10-12 06:32:32
【问题描述】:
如何在UIDatePicker的日期和时间模式下本地化标签“今天”?
我需要俄语,所以我设置了UIDatePicker 区域设置,在设备设置中设置区域和语言,将info.plist 中的“本地化本地开发区域”和“本地化”属性设置为“ru”,但它没有任何区别 - 所有月份和日期标签都是俄语,但“今天”标签仍然是“今天”。
【问题讨论】:
标签: ios uikit uidatepicker
如何在UIDatePicker的日期和时间模式下本地化标签“今天”?
我需要俄语,所以我设置了UIDatePicker 区域设置,在设备设置中设置区域和语言,将info.plist 中的“本地化本地开发区域”和“本地化”属性设置为“ru”,但它没有任何区别 - 所有月份和日期标签都是俄语,但“今天”标签仍然是“今天”。
【问题讨论】:
标签: ios uikit uidatepicker
借助以下代码,日期选择器中的所有文本都已本地化,包括字符串“Today”:
//Localizing the datepicker
NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier:NSLocalizedString(@"en_US",nil)];
datePicker.locale = locale;
datePicker.calendar.locale = locale;
这里我使用 NSLocalizedString 将“en_US”(key) 替换为适当的语言环境标识符(值)。这是在相应 Localizable.strings 的帮助下完成的您需要添加的特定语言环境/语言的文件:
/*==== Locale identifier ====*/
"en_US"="it_IT";
我在这里用过意大利语(意大利)。
【讨论】:
通过创建本地化资源 .xib 解决了问题(只需使用 datePicker 将 IB 中的本地化添加到 .xib 中,其他什么都不做)。
谁能解释一下原因?
【讨论】:
是的,本地化有两个组成部分。第一个是您的 strings.lproj fie,其中包含每种语言的键值对,第二个同样重要的是本地化的 xib 或故事板。这两个文件由 Xcode 自动相互链接。因此,在您的情况下,需要一个 ru.lproj localizable.strings 文件以及一个本地化的俄语 Xib。
【讨论】: