【问题标题】:Localize UIDatePicker "Today" label本地化 UIDatePicker“今天”标签
【发布时间】:2011-10-12 06:32:32
【问题描述】:

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

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

【问题讨论】:

    标签: ios uikit uidatepicker


    【解决方案1】:

    借助以下代码,日期选择器中的所有文本都已本地化,包括字符串“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";
    

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

    【讨论】:

    • 这里 datepicker.calendar.locale=locale; 是多余的
    【解决方案2】:

    通过创建本地化资源 .xib 解决了问题(只需使用 datePicker 将 IB 中的本地化添加到 .xib 中,其他什么都不做)。

    谁能解释一下原因?

    【讨论】:

      【解决方案3】:

      是的,本地化有两个组成部分。第一个是您的 strings.lproj fie,其中包含每种语言的键值对,第二个同样重要的是本地化的 xib 或故事板。这两个文件由 Xcode 自动相互链接。因此,在您的情况下,需要一个 ru.lproj localizable.strings 文件以及一个本地化的俄语 Xib。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-22
        • 1970-01-01
        • 1970-01-01
        • 2017-01-12
        • 1970-01-01
        • 2011-02-18
        • 2011-02-23
        相关资源
        最近更新 更多