const Vector<String>& LocaleICU::monthLabels() { if (m_monthLabels) return *m_monthLabels; if (initializeShortDateFormat()) { m_monthLabels = createLabelVector(m_shortDateFormat, UDAT_MONTHS, UCAL_JANUARY, 12); if (m_monthLabels) return *m_monthLabels; } m_monthLabels = createFallbackMonthLabels(); return *m_monthLabels; }
void ICULocale::initializeCalendar() { if (m_monthLabels && m_weekDayShortLabels) return; if (!initializeShortDateFormat()) { m_firstDayOfWeek = 0; m_monthLabels = createFallbackMonthLabels(); m_weekDayShortLabels = createFallbackWeekDayShortLabels(); return; } m_firstDayOfWeek = ucal_getAttribute(udat_getCalendar(m_shortDateFormat), UCAL_FIRST_DAY_OF_WEEK) - UCAL_SUNDAY; m_monthLabels = createLabelVector(UDAT_MONTHS, UCAL_JANUARY, 12); if (!m_monthLabels) m_monthLabels = createFallbackMonthLabels(); m_weekDayShortLabels = createLabelVector(UDAT_SHORT_WEEKDAYS, UCAL_SUNDAY, 7); if (!m_weekDayShortLabels) m_weekDayShortLabels = createFallbackWeekDayShortLabels(); }
static PassOwnPtr<Vector<String> > createMonthLabels() { OwnPtr<Vector<String> > labels = createLabelVector(UDAT_MONTHS, 12); return labels ? labels.release() : createFallbackMonthLabels(); }