0
我的iOS應用程序支持6種語言。現在我想顯示本地化的月份名稱。在iOS中獲取本月的本地化名稱
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];
但沒有運氣。有人能告訴我這有什麼不對嗎?
我確實有我的應用程序支持的每種語言的.strings文件。所以你說的是我需要翻譯每個語言的月份名稱,對吧? iOS是否不將月份名稱更改爲從iOS設置中選擇的語言? – iOSAppDev