Search code examples
iphoneiosdatensdatenscalendar

How to programmatically build NSArray of localized calendar month names?


I am in the process of localizing/internationalizing my iPhone app and have a question. In one place in my app, I show a list of the 12 months of the year. As it is in its currently non-localized state, I simply have the months January - December hard-coded into an NSArray. I'd like to use NSCalendar to programmatically build this NSArray of months based on the user's locale. What is the best way to do this?


Solution

  • You can get the localized name of the month from the NSDateFormatter:

    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    for ( int i = 0; i < 12; ++i ) {
        NSString *monthName = [[df monthSymbols] objectAtIndex:i];
        [...]
    }
    [df release];