【问题标题】:What is the difference between preferredLocalization and preferredLanguage?首选本地化和首选语言有什么区别?
【发布时间】:2012-03-01 00:28:04
【问题描述】:

根据文档定义[NSLocale preferredLanguages]

用户的语言偏好顺序为 NSString 对象数组,每个对象都是规范化的 IETF BCP 47 语言标识符。

[[NSBundle mainBundle] preferredLocalizations]的定义:

一个 NSString 对象数组,每个对象都标识了接收者包中的一个本地化。语言按首选顺序排列。

我真的不明白有什么区别。应该使用哪一个?

【问题讨论】:

    标签: objective-c ios cocoa-touch cocoa


    【解决方案1】:

    我相信语言只是语言,但语言环境意味着更多(例如日历/日期计算、货币、数字格式等)。 Locales Programming Guide 是一个简短的读物,是一个很好的起点。

    更具体地说,+preferredLocalizations,作为一个捆绑资源,是应用程序本身的一个组件,在应用程序设计期间可配置,而+preferredLanguages,来自NSLocale(顺便说一句,它是一个类方法,而不是一个对象方法)代表用户的系统级偏好。

    因此,+preferredLocalizations 提供应用实际运行的语言,而+preferredLanguages 提供用户希望其应用运行的语言(即使应用尚不支持该语言)。

    【讨论】:

    • 谢谢,我刚刚意识到这是一个类方法 :) 我正在阅读,干杯。
    猜你喜欢
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 2015-05-19
    • 2010-11-05
    • 2014-11-07
    • 1970-01-01
    相关资源
    最近更新 更多