我最近一直在使用 NSLocalizedStrings
开发我们应用程序的法语版本,到目前为止一切正常。
但我现在的问题是日期。我经常在我的应用程序中根据情况以不同的格式显示日期。
例如:
-Fri Feb 22, 2013
-Monday February 18, 2013
-Feb 18
-Dec 5, 2012
事实是,法语中的日期不仅在月份名称上不同,而且在月、日和年出现的顺序上也不同。
例如:
-Dec 5, 2012 would be 5 Dec 2012
-Monday February 18, 2013 would be Lundi le 18 Fevrier 2013.
我的 Localizable.string
文件中有单独的月/日名称,但我该如何管理它的显示顺序。
我是否应该像这样检查当前设备语言的 if 语句?:
NSString *currentLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
if([currentLanguage isEqualToString:@"fr"])
{
//Handle French logic
}
这可能不是最好的方法。
有什么想法吗?
最佳答案
您应该使用 NSDateFormatter 并像这样将其提供给您所需的 NSLocale:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"nl_NL"];
dateFormatter.dateFormat = @"EEEE d MMMM yyyy HH:mm";
'EEEE' 是星期几的全称,在我的例子中,它将以荷兰语显示。
关于iOS 如何用另一种语言显示日期,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839186/