mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:38:10 +00:00
LibUnicode: Generate per-region week data
This includes: * The minimum number of days in a week for that week to count as the first week of a new year. * The day to be shown as the first day of the week in a calendar. * The start/end days of the weekend. Like the existing hour cycle data, week data is presented per-region in the CLDR, rather than per-locale. The method to add likely subtags to a locale to perform region lookups is the same. The list of regions in the CLDR for hour cycle, minimum days, first day, and weekend days are quite different. So rather than changing the existing HourCycleRegion enum to a generic Region enum, we generate separate enums for each of the week data fields. This allows each lookup into these fields to remain simple array-based index access, without any "jumps" for regions that don't have CLDR data for a field.
This commit is contained in:
parent
88a560dd84
commit
12e7c0808a
4 changed files with 192 additions and 10 deletions
|
@ -191,6 +191,22 @@ Vector<HourCycle> get_regional_hour_cycles(StringView region);
|
|||
Vector<Unicode::HourCycle> get_locale_hour_cycles(StringView locale);
|
||||
Optional<Unicode::HourCycle> get_default_regional_hour_cycle(StringView locale);
|
||||
|
||||
Optional<MinimumDaysRegion> minimum_days_region_from_string(StringView minimum_days_region);
|
||||
Optional<u8> get_regional_minimum_days(StringView region);
|
||||
Optional<u8> get_locale_minimum_days(StringView region);
|
||||
|
||||
Optional<FirstDayRegion> first_day_region_from_string(StringView first_day_region);
|
||||
Optional<Weekday> get_regional_first_day(StringView region);
|
||||
Optional<Weekday> get_locale_first_day(StringView region);
|
||||
|
||||
Optional<WeekendStartRegion> weekend_start_region_from_string(StringView weekend_start_region);
|
||||
Optional<Weekday> get_regional_weekend_start(StringView region);
|
||||
Optional<Weekday> get_locale_weekend_start(StringView region);
|
||||
|
||||
Optional<WeekendEndRegion> weekend_end_region_from_string(StringView weekend_end_region);
|
||||
Optional<Weekday> get_regional_weekend_end(StringView region);
|
||||
Optional<Weekday> get_locale_weekend_end(StringView region);
|
||||
|
||||
String combine_skeletons(StringView first, StringView second);
|
||||
|
||||
Optional<CalendarFormat> get_calendar_date_format(StringView locale, StringView calendar);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue