preferredLocalization和preferredLanguage之间有什么区别?

6
根据文档,[NSLocale preferredLanguages]的定义为:用户语言偏好顺序的字符串数组,每个字符串都是一个规范化的 IETF BCP 47 语言标识符。 [[NSBundle mainBundle] preferredLocalizations]的定义为:接收者包中本地化的 NSString 对象数组。这些语言按首选顺序排列。
两者之间的区别我并不太清楚。你应该使用哪个呢?
1个回答

8
我认为语言只是语言,但本地化意味着更多(例如:日历/日期计算、货币、数字格式等)。阅读Locale编程指南,它很短,是一个很好的开始。
更具体地说,+preferredLocalizations 作为一个束资源,是应用程序本身的组件,在应用程序设计期间进行配置;而 +preferredLanguages 来自于NSLocale (顺便提一下,它是一个类方法,而不是对象方法),代表了用户在系统级别的偏好设置。
因此,+preferredLocalizations 提供了应用程序实际运行的语言,而+preferredLanguages 提供了用户喜欢他们的应用程序运行的语言(即使这些应用程序尚未支持它)。

谢谢,我刚刚意识到那是一个类方法 :) 我正在阅读相关内容,谢谢。 - Enrico Susatyo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接