2012-06-10 79 views
0

在我的一个本地化应用程序中,西班牙语是默认语言。但是,用户可以将英语设置为默认语言,并将其地区设置为“西班牙”。将设备语言设置为区域设置?

的问题是,我的应用程序中我使用此代码:

int day = (60*60*24); 
NSDate *nextNextDay = [[NSDate alloc] initWithTimeIntervalSinceNow:(day*2)]; 
NSString *someString = [[dateFormatter stringFromDate:nextNextDay] capitalizedString]; 
NSLog(@"The day: %@", someString); 

结果是一天中默认的语言环境,这是西班牙的名称(在这种情况下)。所以,而不是我会得到“星期一”的结果,我会得到“Lunes”。当应用的其他部分是英文的时候,这当然是非常难看的。

我该如何解决这个问题,而不用硬编码任何语言环境?

回答

0

为什么不硬编码区域设置?

你可以这样做:

NSString *userLocale = [[NSLocale currentLocale]localeIdentifier]; 
NSString *userLanguage = [userLocale substringToIndex:2]; 
if([userLanguage isEqualToString:@"en"]){ 

    //English 

} 
if([userLanguage isEqualToString:@"es"]){ 

    //Spanish 

} 

希望这有助于

+0

Eventhough它的硬编码,它是可用的。 –