我正在对我的 iPhone 应用程序进行本地化/国际化,并且有一个问题。在我的应用程序的一个地方,我显示了一年中 12 个月的列表。由于它目前处于非本地化状态,我只是将 1 月至 12 月的月份硬编码到 NSArray 中。我想使用 NSCalendar 根据用户的语言环境以编程方式构建这个几个月的 NSArray。做这个的最好方式是什么?
问问题
2580 次
3 回答
12
您可以从 NSDateFormatter 获取本地化的月份名称:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
for ( int i = 0; i < 12; ++i ) {
NSString *monthName = [[df monthSymbols] objectAtIndex:i];
[...]
}
[df release];
于 2011-02-25T07:56:25.577 回答
2
无需进行迭代,直接获取月份:
NSDateFormatter dateFormatter = [[NSDateFormatter alloc] init];
NSLog(@"Months = %@", dateFormatter.monthSymbols);
迅速:
let dateFormatter = NSDateFormatter()
print("Months = \(dateFormatter.monthSymbols)")
于 2015-09-16T08:53:21.227 回答
2
Swift 版本....在操场上试过
提供语言环境或使用 currentlocale
var str = "Hello, playground"
var formatter = NSDateFormatter()
formatter.locale = NSLocale(localeIdentifier: "sv_SE")
//formatter.locale = NSLocale.currentLocale() // use this to find it automatically
print(formatter.monthSymbols)
结果
"["januari", "februari", "mars", "april", "maj", "juni", "juli", "augusti", "september", "oktober", "november", "december"]\n"
于 2016-05-13T14:07:15.870 回答