iOS - Swift NSLocale 本地化信息

时间:2023-03-09 00:22:17
iOS - Swift NSLocale		本地化信息

前言

	public class NSLocale : NSObject, NSCopying, NSSecureCoding
  • NSLocale 类返回本地化信息,主要体现在"语言"和"区域格式"这两个设置项。

1、NSLocale 本地化信息的创建

	// 用标示符创建
let locale1:NSLocale = NSLocale(localeIdentifier: "zh_CN") let strSymbol:AnyObject? = locale1.objectForKey(NSLocaleCurrencySymbol) // 返回系统初始本地化信息
let locale2:NSLocale = NSLocale.systemLocale() let calendarIdentifier = locale2.objectForKey(NSLocaleCalendar)?.calendarIdentifier // 一直保持在 cache 中,第一次用此方法实例化对象后,即使修改了本地化设定,也不会改变
let locale3:NSLocale = NSLocale.currentLocale() // 每次修改本地化设定,其实例化的对象也会随之改变
let locale4:NSLocale = NSLocale.autoupdatingCurrentLocale()

2、NSLocale 本地化信息的设置

	let calendar:NSCalendar = NSCalendar.currentCalendar()

	// 设置区域
calendar.locale = NSLocale(localeIdentifier: "zh_CN")

3、NSLocale 本地化信息的获取

	let locale = NSLocale.currentLocale()

	// 根据不同的 key 返回各种本地化信息
let strSymbol:AnyObject? = locale.objectForKey(NSLocaleCurrencySymbol) let calendar:AnyObject? = NSLocale.currentLocale().objectForKey(NSLocaleCalendar)

4、显示特定地区代号下相应键的显示名称

	let locale = NSLocale(localeIdentifier: "zh_CN")

	let str = locale.displayNameForKey(NSLocaleIdentifier, value: "en_US")