在我的一个本地化应用程序中,西班牙语是默认语言。但是,用户可以将英语设置为默认语言,并将其区域设置为“西班牙”。
问题是在我的应用程序中我使用以下代码:
int day = (60*60*24);
NSDate *nextNextDay = [[NSDate alloc] initWithTimeIntervalSinceNow:(day*2)];
NSString *someString = [[dateFormatter stringFromDate:nextNextDay] capitalizedString];
NSLog(@"The day: %@", someString);
结果是默认语言环境中的日期名称,即(在这种情况下)西班牙语。因此,结果不是我会得到“星期一”,而是会得到“Lunes”。当然,当应用程序的其余部分是英文时,这非常难看。
如何在不硬编码任何语言环境的情况下解决这个问题?