在 iOS 中获取月份的本地化名称
Posted
技术标签:
【中文标题】在 iOS 中获取月份的本地化名称【英文标题】:Get localised names of Months in iOS 【发布时间】:2014-06-26 12:01:29 【问题描述】:我的 ios 应用程序支持 6 种语言。现在我想显示本地化的月份名称。
e.g. January in French will show "Janvier"
为此,我在将日期从 UTC 转换为本地时区时有以下代码
-(NSString *)getLocalDateFromUTCFormattedDate:(NSString*)utcDate
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *sourceTimeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[dateFormatter setTimeZone:sourceTimeZone];
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH:mm:ss'Z'"];
NSDate *dateFromServer = [dateFormatter dateFromString:utcDate];
// Now convert to local date
dateFormatter.locale = [NSLocale systemLocale];
[dateFormatter setDateFormat:@"dd MMMM yyyy"];
NSTimeZone* localTimeZone = [NSTimeZone systemTimeZone];
[dateFormatter setTimeZone:localTimeZone];
NSString *localDate = [dateFormatter stringFromDate:dateFromServer];
return localDate;
但即使我将语言更改为法语/日语后,月份名称仍然是英文。 我得到了这个 link ,但我不想硬编码语言环境。所以我用过
dateFormatter.locale = [NSLocale systemLocale];
但没有运气。谁能告诉我这有什么问题?
【问题讨论】:
【参考方案1】:可能是这个tutorial 帮助你。
【讨论】:
我的应用支持的每种语言都有 .strings 文件。所以你的意思是我需要翻译每种语言的月份名称,对吗? iOS 是否不会将月份名称更改为从 iOS 设置中选择的语言?以上是关于在 iOS 中获取月份的本地化名称的主要内容,如果未能解决你的问题,请参考以下文章