static CalendarData()
        {
            CalendarData data;

            data = new CalendarData {
                sNativeName                = "Gregorian Calendar",
                iTwoDigitYearMax           = 0x7ed,
                iCurrentEra                = 1,
                saShortDates               = new string[] { "MM/dd/yyyy", "yyyy-MM-dd" },
                saLongDates                = new string[] { "dddd, dd MMMM yyyy" },
                saYearMonths               = new string[] { "yyyy MMMM" },
                sMonthDay                  = "MMMM dd",
                saEraNames                 = new string[] { "A.D." },
                saAbbrevEraNames           = new string[] { "AD" },
                saAbbrevEnglishEraNames    = new string[] { "AD" },
                saDayNames                 = new string[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" },
                saAbbrevDayNames           = new string[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" },
                saSuperShortDayNames       = new string[] { "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" },
                saMonthNames               = new string[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", string.Empty },
                saAbbrevMonthNames         = new string[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", string.Empty },
                saMonthGenitiveNames       = data.saMonthNames,
                saAbbrevMonthGenitiveNames = data.saAbbrevMonthNames,
                saLeapYearMonthNames       = data.saMonthNames,
                bUseUserOverrides          = false
            };
            Invariant = data;
        }
Пример #2
0
        private static EraInfo[]? IcuGetJapaneseEras()
        {
            if (GlobalizationMode.Invariant)
            {
                return(null);
            }

            Debug.Assert(!GlobalizationMode.UseNls);

            string[]? eraNames;
            if (!CalendarData.EnumCalendarInfo("ja-JP", CalendarId.JAPAN, CalendarDataType.EraNames, out eraNames))
            {
                return(null);
            }

            List <EraInfo> eras        = new List <EraInfo>();
            int            lastMaxYear = GregorianCalendar.MaxYear;

            int latestEra = Interop.Globalization.GetLatestJapaneseEra();

            for (int i = latestEra; i >= 0; i--)
            {
                DateTime dt;
                if (!GetJapaneseEraStartDate(i, out dt))
                {
                    return(null);
                }

                if (dt < s_calendarMinValue)
                {
                    // only populate the Eras that are valid JapaneseCalendar date times
                    break;
                }

                eras.Add(new EraInfo(i, dt.Year, dt.Month, dt.Day, dt.Year - 1, 1, lastMaxYear - dt.Year + 1, eraNames ![i], GetAbbreviatedEraName(eraNames, i), ""));
 static CalendarData()
 {
     CalendarData data;
     data = new CalendarData {
         sNativeName = "Gregorian Calendar",
         iTwoDigitYearMax = 0x7ed,
         iCurrentEra = 1,
         saShortDates = new string[] { "MM/dd/yyyy", "yyyy-MM-dd" },
         saLongDates = new string[] { "dddd, dd MMMM yyyy" },
         saYearMonths = new string[] { "yyyy MMMM" },
         sMonthDay = "MMMM dd",
         saEraNames = new string[] { "A.D." },
         saAbbrevEraNames = new string[] { "AD" },
         saAbbrevEnglishEraNames = new string[] { "AD" },
         saDayNames = new string[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" },
         saAbbrevDayNames = new string[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" },
         saSuperShortDayNames = new string[] { "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" },
         saMonthNames = new string[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", string.Empty },
         saAbbrevMonthNames = new string[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", string.Empty },
         saMonthGenitiveNames = data.saMonthNames,
         saAbbrevMonthGenitiveNames = data.saAbbrevMonthNames,
         saLeapYearMonthNames = data.saMonthNames,
         bUseUserOverrides = false
     };
     Invariant = data;
 }
Пример #4
0
        // Token: 0x06002CC4 RID: 11460 RVA: 0x000AB068 File Offset: 0x000A9268
        internal void FixupWin7MonthDaySemicolonBug()
        {
            int num = CalendarData.FindUnescapedCharacter(this.sMonthDay, ';');

            if (num > 0)
            {
                this.sMonthDay = this.sMonthDay.Substring(0, num);
            }
        }
Пример #5
0
        internal void FixupWin7MonthDaySemicolonBug()
        {
            int unescapedCharacter = CalendarData.FindUnescapedCharacter(this.sMonthDay, ';');

            if (unescapedCharacter <= 0)
            {
                return;
            }
            this.sMonthDay = this.sMonthDay.Substring(0, unescapedCharacter);
        }
Пример #6
0
        internal static int GetSystemTwoDigitYearSetting(int CalID, int defaultYearValue)
        {
            int num = CalendarData.nativeGetTwoDigitYearMax(CalID);

            if (num < 0)
            {
                num = defaultYearValue;
            }
            return(num);
        }
Пример #7
0
        internal static int GetSystemTwoDigitYearSetting(CalendarId CalID, int defaultYearValue)
        {
            int twoDigitYearMax = CalendarData.GetTwoDigitYearMax(CalID);

            if (twoDigitYearMax < 0)
            {
                twoDigitYearMax = defaultYearValue;
            }
            return(twoDigitYearMax);
        }
        private static EraInfo[]? GetJapaneseEras()
        {
            if (GlobalizationMode.Invariant)
            {
                return(null);
            }

            string[] eraNames;
            if (!CalendarData.EnumCalendarInfo("ja-JP", CalendarId.JAPAN, CalendarDataType.EraNames, out eraNames))
            {
                return(null);
            }

            string[] abbrevEnglishEraNames;
            if (!CalendarData.EnumCalendarInfo("en", CalendarId.JAPAN, CalendarDataType.AbbrevEraNames, out abbrevEnglishEraNames))
            {
                return(null);
            }

            List <EraInfo> eras        = new List <EraInfo>();
            int            lastMaxYear = GregorianCalendar.MaxYear;

            int latestEra = Interop.Globalization.GetLatestJapaneseEra();

            for (int i = latestEra; i >= 0; i--)
            {
                DateTime dt;
                if (!GetJapaneseEraStartDate(i, out dt))
                {
                    return(null);
                }

                if (dt < s_calendarMinValue)
                {
                    // only populate the Eras that are valid JapaneseCalendar date times
                    break;
                }

                eras.Add(new EraInfo(i, dt.Year, dt.Month, dt.Day, dt.Year - 1, 1, lastMaxYear - dt.Year + 1,
                                     eraNames[i], GetAbbreviatedEraName(eraNames, i), abbrevEnglishEraNames[i]));

                lastMaxYear = dt.Year;
            }

            // remap the Era numbers, now that we know how many there will be
            for (int i = 0; i < eras.Count; i++)
            {
                eras[i].era = eras.Count - i;
            }

            return(eras.ToArray());
        }
Пример #9
0
 static bool nativeGetCalendarData(CalendarData data, string localeName, int calendarId)
 {
     // TODO: Convert calendar-id to mono runtime calendar-id when it's used
     if (data.fill_calendar_data(localeName.ToLowerInvariant(), calendarId))
     {
         if ((CalendarId)calendarId == CalendarId.HEBREW)
         {
             // HACK: Generate leap month names because the native code does not do it
             // and tests would fail to round-trip dates on leap years.
             // https://github.com/mono/mono/issues/16623
             data.saMonthNames         = HEBREW_MONTH_NAMES;
             data.saLeapYearMonthNames = HEBREW_LEAP_MONTH_NAMES;
         }
         return(true);
     }
     return(false);
 }
Пример #10
0
        // Invariant constructor
        static CalendarData()
        {

            // Set our default/gregorian US calendar data
            // Calendar IDs are 1-based, arrays are 0 based.
            CalendarData invariant = new CalendarData();

            // Set default data for calendar
            // Note that we don't load resources since this IS NOT supposed to change (by definition)
            invariant.sNativeName           = "Gregorian Calendar";  // Calendar Name

            // Year
            invariant.iTwoDigitYearMax      = 2029; // Max 2 digit year (for Y2K bug data entry)
            invariant.iCurrentEra           = 1; // Current era #

            // Formats
            invariant.saShortDates          = new String[] { "MM/dd/yyyy", "yyyy-MM-dd" };          // short date format
            invariant.saLongDates           = new String[] { "dddd, dd MMMM yyyy"};                 // long date format
            invariant.saYearMonths          = new String[] { "yyyy MMMM" };                         // year month format
            invariant.sMonthDay             = "MMMM dd";                                            // Month day pattern

            // Calendar Parts Names
            invariant.saEraNames            = new String[] { "A.D." };     // Era names
            invariant.saAbbrevEraNames      = new String[] { "AD" };      // Abbreviated Era names
            invariant.saAbbrevEnglishEraNames=new String[] { "AD" };     // Abbreviated era names in English
            invariant.saDayNames            = new String[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };// day names
            invariant.saAbbrevDayNames      = new String[] { "Sun",    "Mon",    "Tue",     "Wed",       "Thu",      "Fri",    "Sat" };     // abbreviated day names
            invariant.saSuperShortDayNames  = new String[] { "Su",     "Mo",     "Tu",      "We",        "Th",       "Fr",     "Sa" };      // The super short day names
            invariant.saMonthNames          = new String[] { "January", "February", "March", "April", "May", "June", 
                                                            "July", "August", "September", "October", "November", "December", String.Empty}; // month names
            invariant.saAbbrevMonthNames    = new String[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
                                                            "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", String.Empty}; // abbreviated month names
            invariant.saMonthGenitiveNames  = invariant.saMonthNames;              // Genitive month names (same as month names for invariant)
            invariant.saAbbrevMonthGenitiveNames=invariant.saAbbrevMonthNames;    // Abbreviated genitive month names (same as abbrev month names for invariant)
            invariant.saLeapYearMonthNames  = invariant.saMonthNames;              // leap year month names are unused in Gregorian English (invariant)

            invariant.bUseUserOverrides     = false;

            // Calendar was built, go ahead and assign it...            
            Invariant = invariant;
        }
Пример #11
0
        public CalendarData GetCalendar(int calendarId)
        {
            // arrays are 0 based, calendarIds are 1 based
            int calendarIndex = calendarId - 1;

            // Have to have calendars
            if (calendars == null)
            {
                calendars = new CalendarData[CalendarData.MAX_CALENDARS];
            }

            var calendarData = calendars[calendarIndex];

            if (calendarData == null)
            {
                calendarData = new CalendarData(sRealName, calendarId, bUseOverrides);
                calendars [calendarIndex] = calendarData;
            }

            return(calendarData);
        }
Пример #12
0
        // Invariant constructor
        static CalendarData()
        {
            // Set our default/gregorian US calendar data
            // Calendar IDs are 1-based, arrays are 0 based.
            CalendarData invariant = new CalendarData();

            // Set default data for calendar
            // Note that we don't load resources since this IS NOT supposed to change (by definition)
            invariant.sNativeName = "Gregorian Calendar";  // Calendar Name

            // Year
            invariant.iTwoDigitYearMax = 2029; // Max 2 digit year (for Y2K bug data entry)
            invariant.iCurrentEra      = 1;    // Current era #

            // Formats
            invariant.saShortDates = new String[] { "MM/dd/yyyy", "yyyy-MM-dd" };       // short date format
            invariant.saLongDates  = new String[] { "dddd, dd MMMM yyyy" };             // long date format
            invariant.saYearMonths = new String[] { "yyyy MMMM" };                      // year month format
            invariant.sMonthDay    = "MMMM dd";                                         // Month day pattern

            // Calendar Parts Names
            invariant.saEraNames              = new String[] { "A.D." };                                                                         // Era names
            invariant.saAbbrevEraNames        = new String[] { "AD" };                                                                           // Abbreviated Era names
            invariant.saAbbrevEnglishEraNames = new String[] { "AD" };                                                                           // Abbreviated era names in English
            invariant.saDayNames              = new String[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };   // day names
            invariant.saAbbrevDayNames        = new String[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };                                // abbreviated day names
            invariant.saSuperShortDayNames    = new String[] { "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" };                                       // The super short day names
            invariant.saMonthNames            = new String[] { "January", "February", "March", "April", "May", "June",
                                                               "July", "August", "September", "October", "November", "December", String.Empty }; // month names
            invariant.saAbbrevMonthNames = new String[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
                                                          "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", String.Empty };                              // abbreviated month names
            invariant.saMonthGenitiveNames       = invariant.saMonthNames;                                                                       // Genitive month names (same as month names for invariant)
            invariant.saAbbrevMonthGenitiveNames = invariant.saAbbrevMonthNames;                                                                 // Abbreviated genitive month names (same as abbrev month names for invariant)
            invariant.saLeapYearMonthNames       = invariant.saMonthNames;                                                                       // leap year month names are unused in Gregorian English (invariant)

            invariant.bUseUserOverrides = false;

            // Calendar was built, go ahead and assign it...
            Invariant = invariant;
        }
Пример #13
0
 private static extern bool nativeGetCalendarData(CalendarData data, String localeName, int calendar);
Пример #14
0
        internal CalendarData GetCalendar(CalendarId calendarId)
        {
            Contract.Assert(calendarId > 0 && calendarId <= CalendarId.LAST_CALENDAR,
                "[CultureData.GetCalendar] Expect calendarId to be in a valid range");

            // arrays are 0 based, calendarIds are 1 based
            int calendarIndex = (int)calendarId - 1;

            // Have to have calendars
            if (_calendars == null)
            {
                _calendars = new CalendarData[CalendarData.MAX_CALENDARS];
            }

            // we need the following local variable to avoid returning null
            // when another thread creates a new array of CalendarData (above)
            // right after we insert the newly created CalendarData (below)
            CalendarData calendarData = _calendars[calendarIndex];
            // Make sure that calendar has data
            if (calendarData == null)
            {
                Contract.Assert(_sWindowsName != null, "[CultureData.GetCalendar] Expected this.sWindowsName to be populated by already");
                calendarData = new CalendarData(_sWindowsName, calendarId, this.UseUserOverride);
                _calendars[calendarIndex] = calendarData;
            }

            return calendarData;
        }
 internal CalendarData GetCalendar(int calendarId)
 {
     int index = calendarId - 1;
     if (this.calendars == null)
     {
         this.calendars = new CalendarData[0x17];
     }
     CalendarData data = this.calendars[index];
     if ((data == null) || this.UseUserOverride)
     {
         data = new CalendarData(this.sWindowsName, calendarId, this.UseUserOverride);
         if ((IsOsWin7OrPrior() && !this.IsUserCustomCulture) && !this.IsReplacementCulture)
         {
             data.FixupWin7MonthDaySemicolonBug();
         }
         this.calendars[index] = data;
     }
     return data;
 }
Пример #16
0
 private static extern bool nativeGetCalendarData(CalendarData data, String localeName, int calendar);
Пример #17
0
 internal CalendarData(string localeName, int calendarId, bool bUseUserOverrides)
 {
     this.bUseUserOverrides = bUseUserOverrides;
     if (!CalendarData.nativeGetCalendarData(this, localeName, calendarId))
     {
         if (this.sNativeName == null)
         {
             this.sNativeName = string.Empty;
         }
         if (this.saShortDates == null)
         {
             this.saShortDates = CalendarData.Invariant.saShortDates;
         }
         if (this.saYearMonths == null)
         {
             this.saYearMonths = CalendarData.Invariant.saYearMonths;
         }
         if (this.saLongDates == null)
         {
             this.saLongDates = CalendarData.Invariant.saLongDates;
         }
         if (this.sMonthDay == null)
         {
             this.sMonthDay = CalendarData.Invariant.sMonthDay;
         }
         if (this.saEraNames == null)
         {
             this.saEraNames = CalendarData.Invariant.saEraNames;
         }
         if (this.saAbbrevEraNames == null)
         {
             this.saAbbrevEraNames = CalendarData.Invariant.saAbbrevEraNames;
         }
         if (this.saAbbrevEnglishEraNames == null)
         {
             this.saAbbrevEnglishEraNames = CalendarData.Invariant.saAbbrevEnglishEraNames;
         }
         if (this.saDayNames == null)
         {
             this.saDayNames = CalendarData.Invariant.saDayNames;
         }
         if (this.saAbbrevDayNames == null)
         {
             this.saAbbrevDayNames = CalendarData.Invariant.saAbbrevDayNames;
         }
         if (this.saSuperShortDayNames == null)
         {
             this.saSuperShortDayNames = CalendarData.Invariant.saSuperShortDayNames;
         }
         if (this.saMonthNames == null)
         {
             this.saMonthNames = CalendarData.Invariant.saMonthNames;
         }
         if (this.saAbbrevMonthNames == null)
         {
             this.saAbbrevMonthNames = CalendarData.Invariant.saAbbrevMonthNames;
         }
     }
     this.saShortDates = CultureData.ReescapeWin32Strings(this.saShortDates);
     this.saLongDates  = CultureData.ReescapeWin32Strings(this.saLongDates);
     this.saYearMonths = CultureData.ReescapeWin32Strings(this.saYearMonths);
     this.sMonthDay    = CultureData.ReescapeWin32String(this.sMonthDay);
     if ((int)(ushort)calendarId == 4)
     {
         this.sNativeName = !CultureInfo.IsTaiwanSku ? string.Empty : "中華民國曆";
     }
     if (this.saMonthGenitiveNames == null || string.IsNullOrEmpty(this.saMonthGenitiveNames[0]))
     {
         this.saMonthGenitiveNames = this.saMonthNames;
     }
     if (this.saAbbrevMonthGenitiveNames == null || string.IsNullOrEmpty(this.saAbbrevMonthGenitiveNames[0]))
     {
         this.saAbbrevMonthGenitiveNames = this.saAbbrevMonthNames;
     }
     if (this.saLeapYearMonthNames == null || string.IsNullOrEmpty(this.saLeapYearMonthNames[0]))
     {
         this.saLeapYearMonthNames = this.saMonthNames;
     }
     this.InitializeEraNames(localeName, calendarId);
     this.InitializeAbbreviatedEraNames(localeName, calendarId);
     if (calendarId == 3)
     {
         this.saAbbrevEnglishEraNames = JapaneseCalendar.EnglishEraNames();
     }
     else
     {
         this.saAbbrevEnglishEraNames = new string[1] {
             ""
         }
     };
     this.iCurrentEra = this.saEraNames.Length;
 }
Пример #18
0
        static CalendarData()
        {
            CalendarData calendarData1 = new CalendarData();

            calendarData1.sNativeName      = "Gregorian Calendar";
            calendarData1.iTwoDigitYearMax = 2029;
            calendarData1.iCurrentEra      = 1;
            calendarData1.saShortDates     = new string[2]
            {
                "MM/dd/yyyy",
                "yyyy-MM-dd"
            };
            calendarData1.saLongDates = new string[1]
            {
                "dddd, dd MMMM yyyy"
            };
            calendarData1.saYearMonths = new string[1] {
                "yyyy MMMM"
            };
            calendarData1.sMonthDay  = "MMMM dd";
            calendarData1.saEraNames = new string[1] {
                "A.D."
            };
            calendarData1.saAbbrevEraNames = new string[1] {
                "AD"
            };
            calendarData1.saAbbrevEnglishEraNames = new string[1] {
                "AD"
            };
            calendarData1.saDayNames = new string[7]
            {
                "Sunday",
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday",
                "Saturday"
            };
            calendarData1.saAbbrevDayNames = new string[7]
            {
                "Sun",
                "Mon",
                "Tue",
                "Wed",
                "Thu",
                "Fri",
                "Sat"
            };
            calendarData1.saSuperShortDayNames = new string[7]
            {
                "Su",
                "Mo",
                "Tu",
                "We",
                "Th",
                "Fr",
                "Sa"
            };
            calendarData1.saMonthNames = new string[13]
            {
                "January",
                "February",
                "March",
                "April",
                "May",
                "June",
                "July",
                "August",
                "September",
                "October",
                "November",
                "December",
                string.Empty
            };
            calendarData1.saAbbrevMonthNames = new string[13]
            {
                "Jan",
                "Feb",
                "Mar",
                "Apr",
                "May",
                "Jun",
                "Jul",
                "Aug",
                "Sep",
                "Oct",
                "Nov",
                "Dec",
                string.Empty
            };
            CalendarData calendarData2 = calendarData1;

            string[] strArray1 = calendarData2.saMonthNames;
            calendarData2.saMonthGenitiveNames = strArray1;
            CalendarData calendarData3 = calendarData1;

            string[] strArray2 = calendarData3.saAbbrevMonthNames;
            calendarData3.saAbbrevMonthGenitiveNames = strArray2;
            CalendarData calendarData4 = calendarData1;

            string[] strArray3 = calendarData4.saMonthNames;
            calendarData4.saLeapYearMonthNames = strArray3;
            calendarData1.bUseUserOverrides    = false;
            CalendarData.Invariant             = calendarData1;
        }
Пример #19
0
 internal static CalendarData GetCalendarData(int calendarId)
 {
     return(CultureInfo.GetCultureInfo(CalendarData.CalendarIdToCultureName(calendarId)).m_cultureData.GetCalendar(calendarId));
 }
Пример #20
0
		public CalendarData GetCalendar (int calendarId)
		{
            // arrays are 0 based, calendarIds are 1 based
			int calendarIndex = calendarId - 1;

			// Have to have calendars
			if (calendars == null)
			{
				calendars = new CalendarData[CalendarData.MAX_CALENDARS];
			}

			var calendarData = calendars[calendarIndex];
			if (calendarData == null) {
				calendarData = new CalendarData (sRealName, calendarId, bUseOverrides);
				calendars [calendarIndex] = calendarData;
			}

			return calendarData;
		}
Пример #21
0
		static bool nativeGetCalendarData (CalendarData data, string localeName, int calendarId)
		{
			// TODO: Convert calendar-id to mono runtime calendar-id when it's used
			return data.fill_calendar_data (localeName.ToLowerInvariant (), calendarId);
		}
Пример #22
0
        // Token: 0x06002CC2 RID: 11458 RVA: 0x000AAF94 File Offset: 0x000A9194
        internal static CalendarData GetCalendarData(int calendarId)
        {
            string name = CalendarData.CalendarIdToCultureName(calendarId);

            return(CultureInfo.GetCultureInfo(name).m_cultureData.GetCalendar(calendarId));
        }
Пример #23
0
        internal CalendarData GetCalendar(int calendarId)
        {
            Contract.Assert(calendarId > 0 && calendarId <= CalendarData.MAX_CALENDARS,
                "[CultureData.GetCalendar] Expect calendarId to be in a valid range");

            // arrays are 0 based, calendarIds are 1 based
            int calendarIndex = calendarId - 1;

            // Have to have calendars
            if (calendars == null)
            {
                calendars = new CalendarData[CalendarData.MAX_CALENDARS];
            }

            // we need the following local variable to avoid returning null
            // when another thread creates a new array of CalendarData (above)
            // right after we insert the newly created CalendarData (below)
            CalendarData calendarData = calendars[calendarIndex];
            // Make sure that calendar has data
            if (calendarData == null || UseUserOverride)
            {
                Contract.Assert(this.sWindowsName != null, "[CultureData.GetCalendar] Expected this.sWindowsName to be populated by COMNlsInfo::nativeInitCultureData already");
                calendarData = new CalendarData(this.sWindowsName, calendarId, this.UseUserOverride);
#if !FEATURE_CORECLR
                //Work around issue where Win7 data for MonthDay contains invalid two sets of data separated by semicolon
                //even though MonthDay is not enumerated
                if (IsOsWin7OrPrior() && !IsSupplementalCustomCulture && !IsReplacementCulture)
                {
                    calendarData.FixupWin7MonthDaySemicolonBug();
                }
#endif
                calendars[calendarIndex] = calendarData;
            }

            return calendarData;
        }
Пример #24
0
 static bool nativeGetCalendarData(CalendarData data, string localeName, int calendarId)
 {
     // TODO: Convert calendar-id to mono runtime calendar-id when it's used
     return(data.fill_calendar_data(localeName.ToLowerInvariant(), calendarId));
 }