2014-06-26 98 views
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]; 

但沒有運氣。有人能告訴我這有什麼不對嗎?

回答

0

可能是這個tutorial幫助你。

enter image description here

+0

我確實有我的應用程序支持的每種語言的.strings文件。所以你說的是我需要翻譯每個語言的月份名稱,對吧? iOS是否不將月份名稱更改爲從iOS設置中選擇的語言? – iOSAppDev