diff --git a/README.rst b/README.rst index f0a82befa..f90249d74 100644 --- a/README.rst +++ b/README.rst @@ -146,7 +146,7 @@ Available Countries .. _ISO 639-1 code: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes .. _ISO 639-2 code: https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes -We currently support 156 country codes. The standard way to refer to a country +We currently support 157 country codes. The standard way to refer to a country is by using its `ISO 3166-1 alpha-2 code`_, the same used for domain names, and for a subdivision its `ISO 3166-2 code`_. Some countries have common or foreign names or abbreviations as aliases for their subdivisions. These are defined in @@ -543,7 +543,7 @@ All other default values are highlighted with bold: * - Israel - IL - - - en_US, **he**, uk + - en_US, **he**, th, uk - OPTIONAL, SCHOOL * - Italy - IT @@ -845,6 +845,11 @@ All other default values are highlighted with bold: - Autonomous communities: AN, AR, AS, CB, CE, CL, CM, CN, CT, EX, GA, IB, MC, MD, ML, NC, PV, RI, VC - en_US, **es**, uk - + * - Sri Lanka + - LK + - + - en_US, **si_LK**, ta_LK + - BANK, GOVERNMENT, WORKDAY * - Sweden - SE - diff --git a/holidays/calendars/__init__.py b/holidays/calendars/__init__.py index ff8bb182d..7edbcd8c6 100644 --- a/holidays/calendars/__init__.py +++ b/holidays/calendars/__init__.py @@ -22,4 +22,5 @@ from holidays.calendars.julian import JULIAN_CALENDAR from holidays.calendars.julian_revised import JULIAN_REVISED_CALENDAR from holidays.calendars.persian import _Persian +from holidays.calendars.sinhala import _SinhalaLunar, _CustomSinhalaHolidays from holidays.calendars.thai import _ThaiLunisolar, KHMER_CALENDAR, THAI_CALENDAR diff --git a/holidays/calendars/sinhala.py b/holidays/calendars/sinhala.py new file mode 100644 index 000000000..f4ac119d5 --- /dev/null +++ b/holidays/calendars/sinhala.py @@ -0,0 +1,414 @@ +# holidays +# -------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: Vacanza Team and individual contributors (see AUTHORS file) +# dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/vacanza/holidays +# License: MIT (see LICENSE file) + +from collections.abc import Iterable +from datetime import date +from typing import Optional + +from holidays.calendars.custom import _CustomCalendar +from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC +from holidays.helpers import _normalize_tuple + +BAK_POYA = "BAK_POYA" +BINARA_POYA = "BINARA_POYA" +DURUTHU_POYA = "DURUTHU_POYA" +ESALA_POYA = "ESALA_POYA" +IL_POYA = "IL_POYA" +MEDIN_POYA = "MEDIN_POYA" +NAWAM_POYA = "NAWAM_POYA" +NIKINI_POYA = "NIKINI_POYA" +POSON_POYA = "POSON_POYA" +UNDUVAP_POYA = "UNDUVAP_POYA" +VAP_POYA = "VAP_POYA" +VESAK_POYA = "VESAK_POYA" + + +class _SinhalaLunar: + """ + Sinhala Lunar calendar for 2003-2025 years. + + Their Buddhist Uposatha day calculation method is different from Thai LuniSolar + and Buddhist (Mahayana) used in East Asia. + + Due to the fact that Poya (Uposatha) days are calculated astronomically + based on how close a particular day is closest to full moon at noon, and that + an extra month is added every 33 months interval, this is hardcoded for now. + + Adhi month dates are instead hardcoded in Sri Lanka country implementation. + """ + + START_YEAR = 2003 + END_YEAR = 2025 + + BAK_POYA_DATES = { + 2003: (APR, 16), + 2004: (APR, 5), + 2005: (APR, 23), + 2006: (APR, 13), + 2007: (APR, 2), + 2008: (APR, 19), + 2009: (APR, 9), + 2010: (MAR, 29), + 2011: (APR, 17), + 2012: (APR, 6), + 2013: (APR, 25), + 2014: (APR, 14), + 2015: (APR, 3), + 2016: (APR, 21), + 2017: (APR, 10), + 2018: (MAR, 31), + 2019: (APR, 19), + 2020: (APR, 7), + 2021: (APR, 26), + 2022: (APR, 16), + 2023: (APR, 5), + 2024: (APR, 23), + 2025: (APR, 12), + } + + BINARA_POYA_DATES = { + 2003: (SEP, 10), + 2004: (SEP, 28), + 2005: (SEP, 17), + 2006: (SEP, 7), + 2007: (SEP, 26), + 2008: (SEP, 14), + 2009: (SEP, 4), + 2010: (SEP, 22), + 2011: (SEP, 11), + 2012: (SEP, 29), + 2013: (SEP, 19), + 2014: (SEP, 8), + 2015: (SEP, 27), + 2016: (SEP, 16), + 2017: (SEP, 5), + 2018: (SEP, 24), + 2019: (SEP, 13), + 2020: (SEP, 1), + 2021: (SEP, 20), + 2022: (SEP, 10), + 2023: (SEP, 29), + 2024: (SEP, 17), + 2025: (SEP, 7), + } + + DURUTHU_POYA_DATES = { + 2003: (JAN, 17), + 2004: (JAN, 7), + 2005: (JAN, 24), + 2006: (JAN, 13), + 2007: (JAN, 3), + 2008: (JAN, 22), + 2009: ((JAN, 10), (DEC, 31)), + 2011: (JAN, 19), + 2012: (JAN, 8), + 2013: (JAN, 26), + 2014: (JAN, 15), + 2015: (JAN, 4), + 2016: (JAN, 23), + 2017: (JAN, 12), + 2018: (JAN, 1), + 2019: (JAN, 20), + 2020: (JAN, 10), + 2021: (JAN, 28), + 2022: (JAN, 17), + 2023: (JAN, 6), + 2024: (JAN, 25), + 2025: (JAN, 13), + } + + ESALA_POYA_DATES = { + 2003: (JUL, 13), + 2004: (JUL, 2), + 2005: (JUL, 21), + 2006: (JUL, 10), + 2007: (JUL, 29), + 2008: (JUL, 17), + 2009: (JUL, 6), + 2010: (JUL, 25), + 2011: (JUL, 14), + 2012: (JUL, 3), + 2013: (JUL, 22), + 2014: (JUL, 12), + 2015: (JUL, 31), + 2016: (JUL, 19), + 2017: (JUL, 8), + 2018: (JUL, 27), + 2019: (JUL, 16), + 2020: (JUL, 4), + 2021: (JUL, 23), + 2022: (JUL, 13), + 2023: (AUG, 1), + 2024: (JUL, 20), + 2025: (JUL, 10), + } + + IL_POYA_DATES = { + 2003: (NOV, 8), + 2004: (NOV, 26), + 2005: (NOV, 15), + 2006: (NOV, 5), + 2007: (NOV, 24), + 2008: (NOV, 12), + 2009: (NOV, 2), + 2010: (NOV, 21), + 2011: (NOV, 10), + 2012: (NOV, 27), + 2013: (NOV, 17), + 2014: (NOV, 6), + 2015: (NOV, 25), + 2016: (NOV, 14), + 2017: (NOV, 3), + 2018: (NOV, 22), + 2019: (NOV, 12), + 2020: (NOV, 29), + 2021: (NOV, 18), + 2022: (NOV, 7), + 2023: (NOV, 26), + 2024: (NOV, 15), + 2025: (NOV, 5), + } + + MEDIN_POYA_DATES = { + 2003: (MAR, 18), + 2004: (MAR, 6), + 2005: (MAR, 25), + 2006: (MAR, 14), + 2007: (MAR, 3), + 2008: (MAR, 21), + 2009: (MAR, 10), + 2010: (FEB, 28), + 2011: (MAR, 19), + 2012: (MAR, 7), + 2013: (MAR, 26), + 2014: (MAR, 16), + 2015: (MAR, 5), + 2016: (MAR, 22), + 2017: (MAR, 12), + 2018: (MAR, 1), + 2019: (MAR, 20), + 2020: (MAR, 9), + 2021: (MAR, 28), + 2022: (MAR, 17), + 2023: (MAR, 6), + 2024: (MAR, 24), + 2025: (MAR, 13), + } + + NAWAM_POYA_DATES = { + 2003: (FEB, 16), + 2004: (FEB, 5), + 2005: (FEB, 23), + 2006: (FEB, 12), + 2007: (FEB, 1), + 2008: (FEB, 20), + 2009: (FEB, 9), + 2010: (JAN, 29), + 2011: (FEB, 17), + 2012: (FEB, 7), + 2013: (FEB, 25), + 2014: (FEB, 14), + 2015: (FEB, 3), + 2016: (FEB, 22), + 2017: (FEB, 10), + 2018: (JAN, 31), + 2019: (FEB, 19), + 2020: (FEB, 8), + 2021: (FEB, 26), + 2022: (FEB, 16), + 2023: (FEB, 5), + 2024: (FEB, 23), + 2025: (FEB, 12), + } + + NIKINI_POYA_DATES = { + 2003: (AUG, 11), + 2004: (AUG, 29), + 2005: (AUG, 19), + 2006: (AUG, 9), + 2007: (AUG, 28), + 2008: (AUG, 16), + 2009: (AUG, 5), + 2010: (AUG, 24), + 2011: (AUG, 13), + 2012: (AUG, 1), + 2013: (AUG, 20), + 2014: (AUG, 10), + 2015: (AUG, 29), + 2016: (AUG, 17), + 2017: (AUG, 7), + 2018: (AUG, 25), + 2019: (AUG, 14), + 2020: (AUG, 3), + 2021: (AUG, 22), + 2022: (AUG, 11), + 2023: (AUG, 30), + 2024: (AUG, 19), + 2025: (AUG, 8), + } + + POSON_POYA_DATES = { + 2003: (JUN, 14), + 2004: (JUN, 2), + 2005: (JUN, 21), + 2006: (JUN, 11), + 2007: (JUN, 30), + 2008: (JUN, 18), + 2009: (JUN, 7), + 2010: (JUN, 25), + 2011: (JUN, 15), + 2012: (JUN, 4), + 2013: (JUN, 23), + 2014: (JUN, 12), + 2015: (JUN, 2), + 2016: (JUN, 19), + 2017: (JUN, 8), + 2018: (JUN, 27), + 2019: (JUN, 16), + 2020: (JUN, 5), + 2021: (JUN, 24), + 2022: (JUN, 14), + 2023: (JUN, 3), + 2024: (JUN, 21), + 2025: (JUN, 10), + } + + UNDUVAP_POYA_DATES = { + 2003: (DEC, 8), + 2004: (DEC, 26), + 2005: (DEC, 15), + 2006: (DEC, 4), + 2007: (DEC, 23), + 2008: (DEC, 12), + 2009: (DEC, 1), + 2010: (DEC, 20), + 2011: (DEC, 10), + 2012: (DEC, 27), + 2013: (DEC, 16), + 2014: (DEC, 6), + 2015: (DEC, 24), + 2016: (DEC, 13), + 2017: (DEC, 3), + 2018: (DEC, 22), + 2019: (DEC, 11), + 2020: (DEC, 29), + 2021: (DEC, 18), + 2022: (DEC, 7), + 2023: (DEC, 26), + 2024: (DEC, 14), + 2025: (DEC, 4), + } + + VAP_POYA_DATES = { + 2003: (OCT, 9), + 2004: (OCT, 27), + 2005: (OCT, 17), + 2006: (OCT, 6), + 2007: (OCT, 25), + 2008: (OCT, 14), + 2009: (OCT, 3), + 2010: (OCT, 22), + 2011: (OCT, 11), + 2012: (OCT, 29), + 2013: (OCT, 18), + 2014: (OCT, 8), + 2015: (OCT, 27), + 2016: (OCT, 15), + 2017: (OCT, 5), + 2018: (OCT, 24), + 2019: (OCT, 13), + 2020: (OCT, 30), + 2021: (OCT, 20), + 2022: (OCT, 9), + 2023: (OCT, 28), + 2024: (OCT, 17), + 2025: (OCT, 6), + } + + VESAK_POYA_DATES = { + 2003: (MAY, 15), + 2004: (MAY, 4), + 2005: (MAY, 23), + 2006: (MAY, 12), + 2007: (MAY, 1), + 2008: (MAY, 19), + 2009: (MAY, 8), + 2010: (MAY, 27), + 2011: (MAY, 17), + 2012: (MAY, 5), + 2013: (MAY, 24), + 2014: (MAY, 14), + 2015: (MAY, 3), + 2016: (MAY, 21), + 2017: (MAY, 10), + 2018: (APR, 29), + 2019: (MAY, 18), + 2020: (MAY, 7), + 2021: (MAY, 26), + 2022: (MAY, 15), + 2023: (MAY, 5), + 2024: (MAY, 23), + 2025: (MAY, 12), + } + + def _get_holiday(self, holiday: str, year: int) -> tuple[Optional[date], bool]: + estimated_dates = getattr(self, f"{holiday}_DATES", {}) + exact_dates = getattr(self, f"{holiday}_DATES_{_CustomCalendar.CUSTOM_ATTR_POSTFIX}", {}) + dt = exact_dates.get(year, estimated_dates.get(year, ())) + return date(year, *dt) if dt else None, year not in exact_dates + + def _get_holiday_set(self, holiday: str, year: int) -> Iterable[tuple[date, bool]]: + estimated_dates = getattr(self, f"{holiday}_DATES", {}) + exact_dates = getattr(self, f"{holiday}_DATES_{_CustomCalendar.CUSTOM_ATTR_POSTFIX}", {}) + for year in (year - 1, year): + for dt in _normalize_tuple(exact_dates.get(year, estimated_dates.get(year, ()))): + yield date(year, *dt), year not in exact_dates + + def bak_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(BAK_POYA, year) + + def binara_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(BINARA_POYA, year) + + def duruthu_poya_date(self, year: int) -> Iterable[tuple[date, bool]]: + return self._get_holiday_set(DURUTHU_POYA, year) + + def esala_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(ESALA_POYA, year) + + def il_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(IL_POYA, year) + + def medin_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(MEDIN_POYA, year) + + def nawam_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(NAWAM_POYA, year) + + def nikini_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(NIKINI_POYA, year) + + def poson_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(POSON_POYA, year) + + def unduvap_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(UNDUVAP_POYA, year) + + def vap_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(VAP_POYA, year) + + def vesak_poya_date(self, year: int) -> tuple[Optional[date], bool]: + return self._get_holiday(VESAK_POYA, year) + + +class _CustomSinhalaHolidays(_CustomCalendar, _SinhalaLunar): + pass diff --git a/holidays/countries/__init__.py b/holidays/countries/__init__.py index 400afaba1..dc2a555d2 100644 --- a/holidays/countries/__init__.py +++ b/holidays/countries/__init__.py @@ -145,6 +145,7 @@ from .south_africa import SouthAfrica, ZA, ZAF from .south_korea import SouthKorea, KR, KOR, Korea from .spain import Spain, ES, ESP +from .sri_lanka import SriLanka, LK, LKA from .sweden import Sweden, SE, SWE from .switzerland import Switzerland, CH, CHE from .taiwan import Taiwan, TW, TWN diff --git a/holidays/countries/israel.py b/holidays/countries/israel.py index 836e6cc03..6a0e6f10b 100644 --- a/holidays/countries/israel.py +++ b/holidays/countries/israel.py @@ -41,7 +41,7 @@ class Israel(ObservedHolidayBase, HebrewCalendarHolidays): # %s (observed). observed_label = tr("(נצפה) %s") supported_categories = (OPTIONAL, PUBLIC, SCHOOL) - supported_languages = ("en_US", "he", "uk") + supported_languages = ("en_US", "he", "th", "uk") weekend = {FRI, SAT} start_year = 1948 diff --git a/holidays/countries/sri_lanka.py b/holidays/countries/sri_lanka.py new file mode 100644 index 000000000..a3ba0f387 --- /dev/null +++ b/holidays/countries/sri_lanka.py @@ -0,0 +1,515 @@ +# holidays +# -------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: Vacanza Team and individual contributors (see AUTHORS file) +# dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/vacanza/holidays +# License: MIT (see LICENSE file) + +from gettext import gettext as tr + +from holidays.calendars import _CustomHinduHolidays, _CustomIslamicHolidays +from holidays.calendars.gregorian import ( + JAN, + FEB, + MAR, + APR, + MAY, + JUN, + JUL, + AUG, + SEP, + OCT, + NOV, + DEC, + _timedelta, +) +from holidays.constants import BANK, GOVERNMENT, PUBLIC, WORKDAY +from holidays.groups import ( + ChristianHolidays, + HinduCalendarHolidays, + InternationalHolidays, + IslamicHolidays, + SinhalaCalendarHolidays, + StaticHolidays, +) +from holidays.holiday_base import HolidayBase + + +class SriLanka( + HolidayBase, + ChristianHolidays, + HinduCalendarHolidays, + InternationalHolidays, + IslamicHolidays, + SinhalaCalendarHolidays, + StaticHolidays, +): + """ + References: + - http://www.commonlii.org/lk/legis/num_act/ha29o1971152/ # No. 29 of 1971 (Holidays Act) + - http://www.commonlii.org/lk/legis/num_act/ha21o1991232/ # No. 21 of 1991 (Amendment) + - https://web.archive.org/web/20110722150724/http://www.pubad.gov.lk/Holidays/holidays%202003.htm + - https://web.archive.org/web/20111018053717/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202004.pdf + - https://web.archive.org/web/20241120204015/https://documents.gov.lk/en/calendar.php + + Cross-Checked With: + - https://web.archive.org/web/20111018053927/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202005.pdf + - https://web.archive.org/web/20111018061003/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202006.pdf + - https://web.archive.org/web/20110722150032/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202007.pdf + - https://web.archive.org/web/20111018071837/http://www.pubad.gov.lk/Holidays/PublicBankHolidays2008.pdf + - https://web.archive.org/web/20120309065711/http://www.pubad.gov.lk/Holidays/Public&BankHolidays2009.pdf + - https://web.archive.org/web/20111018071247/http://www.pubad.gov.lk/Holidays/Public&BankHolidays2010.pdf + - https://web.archive.org/web/20110722151043/http://www.pubad.gov.lk/Holidays/Public&BankHolidays2011.pdf + - https://web.archive.org/web/20111125074237/http://www.pubad.gov.lk/Holidays/Public&BankHolidays2012.pdf + - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2019 + - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2020 + - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2021 + - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2022 + - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2023 + - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2024 + - https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2025 + """ + + country = "LK" + supported_categories = (BANK, GOVERNMENT, PUBLIC, WORKDAY) + default_language = "si_LK" + # %s (estimated). + estimated_label = tr("%s (අනුමානිත)") + supported_languages = ("en_US", "si_LK", "ta_LK") + # Sri Lanka's Holidays Act (No. 29 of 1971) was first proclaimed on SEP 2nd, 1971 + # but the earliest citable calendar online is from 2003. + # As there's no source for future Poya dates, end year is capped at 2025. + start_year = 1972 + end_year = 2025 + + def __init__(self, *args, **kwargs): + ChristianHolidays.__init__(self) + HinduCalendarHolidays.__init__(self, SriLankaHinduHolidays) + InternationalHolidays.__init__(self) + IslamicHolidays.__init__(self, SriLankaIslamicHolidays) + SinhalaCalendarHolidays.__init__(self) + StaticHolidays.__init__(self, cls=SriLankaStaticHolidays) + super().__init__(*args, **kwargs) + + def _populate_public_holidays(self): + # Non-Sectarian Holidays. + + # Tamil Thai Pongal Day. + name = tr("දෙමළ තෛපොංැලල් දිනය") + thai_pongal_years_jan_14 = { + 2005, + 2006, + 2009, + 2010, + 2013, + 2014, + 2017, + 2018, + 2021, + 2022, + 2025, + } + if self._year in thai_pongal_years_jan_14: + self._add_holiday_jan_14(name) + else: + self._add_holiday_jan_15(name) + + # Independence Day. + self._add_holiday_feb_4(tr("නිදහස් සමරු දිනය")) + + # Sinhala and Tamil New Year. + name = tr("සිංහල හා දෙමළ අලුත් අවුරුදු දිනය") + aluth_avurudda_years_apr_13 = { + 2004, + 2008, + 2012, + # 2016 is on APR, 14. + 2020, + 2024, + } + if self._year in aluth_avurudda_years_apr_13: + dt = self._add_holiday_apr_13(name) + else: + dt = self._add_holiday_apr_14(name) + # Day Before Sinhala and Tamil New Year. + self._add_holiday(tr("සිංහල හා දෙමළ අලුත් අවුරුදු දිනට පෙර දිනය"), _timedelta(dt, -1)) + + # International Workers' Day. + self._add_labor_day(tr("ලොක කම්කරු දිනය")) + + # Hindu Holidays. + + maha_sivarathri_dates = { + # The one used in Sri Lanka isn't an exact match with India, used with caution. + 2003: (MAR, 1), + 2004: (FEB, 18), + 2005: (MAR, 8), + 2006: (FEB, 26), + 2007: (FEB, 16), + 2008: (MAR, 6), + 2009: (FEB, 23), + 2010: (MAR, 13), + 2011: (MAR, 2), + 2012: (FEB, 20), + 2013: (MAR, 10), + 2014: (FEB, 27), + 2015: (FEB, 17), + 2016: (MAR, 7), + 2017: (FEB, 24), + 2018: (FEB, 13), + 2019: (MAR, 4), + 2020: (FEB, 21), + 2021: (MAR, 11), + 2022: (MAR, 1), + 2023: (FEB, 18), + 2024: (MAR, 8), + 2025: (FEB, 26), + } + maha_sivarathri_date = maha_sivarathri_dates.get(self._year) + if maha_sivarathri_date: + # Maha Sivarathri Day. + self._add_holiday(tr("මහ සිවරාත්රි දිනය"), maha_sivarathri_date) + + # Deepavali was a working day in 2003. + if self._year >= 2004: + # Deepavali Festival Day. + self._add_diwali(tr("දීපවාලි උත්සව දිනය")) + + # Christian Holidays. + + # Good Friday. + self._add_good_friday(tr("මහ සිකුරාදා දිනය")) + + # Christmas Day. + self._add_christmas_day(tr("නත්තල් උත්සව දිනය")) + + # Poya Holidays. + # All Adhi Poya Holidays will instead be added in StaticHolidays. + + # Duruthu Full Moon Poya Day. + self._add_duruthu_poya(tr("දුරුතු පුර පසළොස්වක පෝය දිනය")) + + # Nawam Full Moon Poya Day. + self._add_nawam_poya(tr("නවම් පුර පසළොස්වක පෝය දිනය")) + + # Medin Full Moon Poya Day. + self._add_medin_poya(tr("මැදින් පුර පසළොස්වක පෝය දිනය")) + + # Bak Full Moon Poya Day. + self._add_bak_poya(tr("බක් පුර පසළොස්වක පෝය දිනය")) + + # Vesak Full Moon Poya Day. + dt = self._add_vesak_poya(tr("වෙසක් පුර පසළොස්වක පෝය දිනය")) + + if self._year >= 2003: + # Day Following Vesak Full Moon Poya Day. + self._add_holiday(tr("වෙසක් පුර පසළොස්වක පෝය දිනට පසු දිනය"), _timedelta(dt, +1)) + + # Poson Full Moon Poya Day. + self._add_poson_poya(tr("පොසොන් පුර පසළොස්වක පෝය දිනය")) + + # Esala Full Moon Poya Day. + self._add_esala_poya(tr("ඇසල පුර පසළොස්වක පෝය දිනය")) + + # Nikini Full Moon Poya Day. + self._add_nikini_poya(tr("නිකිණි පුර පසළොස්වක පෝය දිනය")) + + # Binara Full Moon Poya Day. + self._add_binara_poya(tr("බිනර පුර පසළොස්වක පෝය දිනය")) + + # Vap Full Moon Poya Day. + self._add_vap_poya(tr("වප් පුර පසළොස්වක පෝය දිනය")) + + # Il Full Moon Poya Day. + self._add_il_poya(tr("ඉල් පුර පසළොස්වක පෝය දිනය")) + + # Unduvap Full Moon Poya Day. + self._add_unduvap_poya(tr("උඳුවප් පුර පසළොස්වක පෝය දිනය")) + + # Islamic Holidays. + + # Eid al-Fitr. + self._add_eid_al_fitr_day(tr("ඊදුල් ෆීතර්")) + + # Eid al-Adha. + self._add_eid_al_adha_day(tr("ඊදුල් අල්හා")) + + # The Prophet's Birthday. + self._add_mawlid_day(tr("නබි නායකතුමාගේ උපන් දිනය")) + + +class LK(SriLanka): + pass + + +class LKA(SriLanka): + pass + + +class SriLankaHinduHolidays(_CustomHinduHolidays): + DIWALI_DATES = { + 2003: (OCT, 24), + 2004: (NOV, 11), + 2005: (NOV, 1), + 2006: (OCT, 21), + 2007: (NOV, 8), + 2008: (OCT, 27), + 2009: (OCT, 17), + 2010: (NOV, 5), + 2011: (OCT, 26), + 2012: (NOV, 13), + 2013: (NOV, 2), + 2014: (OCT, 22), + 2015: (NOV, 10), + 2016: (OCT, 29), + 2017: (OCT, 18), + 2018: (NOV, 6), + 2019: (OCT, 27), + 2020: (NOV, 14), + 2021: (NOV, 4), + 2022: (OCT, 24), + 2023: (NOV, 12), + 2024: (OCT, 31), + 2025: (OCT, 20), + } + + +class SriLankaIslamicHolidays(_CustomIslamicHolidays): + EID_AL_ADHA_DATES = { + 2003: (FEB, 12), + 2004: (FEB, 1), + 2005: (JAN, 21), + 2006: ((JAN, 11), (DEC, 31)), + 2007: (DEC, 21), + 2008: (DEC, 9), + 2009: (NOV, 28), + 2010: (NOV, 17), + # https://www.adaderana.lk/news.php?nid=15606 + 2011: (NOV, 7), + # https://www.adaderana.lk/news.php?nid=20136 + 2012: (OCT, 27), + 2013: (OCT, 16), + 2014: (OCT, 5), + 2015: (SEP, 24), + 2016: (SEP, 12), + 2017: (SEP, 1), + 2018: (AUG, 22), + 2019: (AUG, 12), + 2020: (AUG, 1), + 2021: (JUL, 21), + 2022: (JUL, 10), + 2023: (JUN, 29), + 2024: (JUN, 17), + 2025: (JUN, 7), + } + + EID_AL_FITR_DATES = { + 2003: (NOV, 26), + 2004: (NOV, 14), + 2005: (NOV, 4), + 2006: (OCT, 24), + 2007: (OCT, 13), + 2008: (OCT, 1), + 2009: (SEP, 21), + 2010: (SEP, 10), + 2011: (AUG, 31), + 2012: (AUG, 19), + 2013: (AUG, 9), + 2014: (JUL, 29), + 2015: (JUL, 18), + 2016: (JUL, 6), + 2017: (JUN, 26), + 2018: (JUN, 15), + 2019: (JUN, 5), + 2020: (MAY, 25), + 2021: (MAY, 14), + 2022: (MAY, 3), + 2023: (APR, 22), + 2024: (APR, 11), + 2025: (MAR, 31), + } + + MAWLID_DATES = { + 2003: (MAY, 14), + 2004: (MAY, 2), + 2005: (APR, 22), + 2006: (APR, 11), + 2007: (APR, 1), + 2008: (MAR, 20), + 2009: (MAR, 10), + 2010: (FEB, 27), + 2011: (FEB, 16), + 2012: (FEB, 5), + 2013: (JAN, 25), + 2014: (JAN, 14), + # Technically 2015 has both JAN 5 and DEC 24 + # but this is only observed for JAN 4. + 2015: (JAN, 4), + 2016: (DEC, 12), + 2017: (DEC, 1), + 2018: (NOV, 20), + 2019: (NOV, 10), + 2020: (OCT, 30), + 2021: (OCT, 19), + 2022: (OCT, 9), + 2023: (SEP, 28), + 2024: (SEP, 16), + 2025: (SEP, 5), + } + + +class SriLankaStaticHolidays: + """ + References: + - https://www.adaderana.lk/news.php?nid=13026 + - https://www.adaderana.lk/news.php?nid=17539 + - https://www.adaderana.lk/news.php?nid=22168 + - https://www.adaderana.lk/news.php?nid=34870 + - https://www.adaderana.lk/news.php?nid=55146 + - https://www.adaderana.lk/news.php?nid=61437 + - https://www.adaderana.lk/news.php?nid=64367 + - https://www.adaderana.lk/news.php?nid=81686 + - https://www.adaderana.lk/news.php?nid=82111 + - https://www.adaderana.lk/news.php?nid=82979 + - https://www.adaderana.lk/news.php?nid=83082 + - https://www.adaderana.lk/news.php?nid=84035 + - https://www.adaderana.lk/news.php?nid=98560 + - https://www.adaderana.lk/news.php?nid=102125 + - https://web.archive.org/web/20110722150724/http://www.pubad.gov.lk/Holidays/holidays%202003.htm + - https://web.archive.org/web/20111018053717/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202004.pdf + - https://web.archive.org/web/20241120204015/https://documents.gov.lk/en/calendar.php + """ + + # Adhi Binara Full Moon Poya Day. + adhi_binara_poya_name = tr("අධි බිනර පුර පසළොස්වක පෝය දිනය") + + # Adhi Esala Full Moon Poya Day. + adhi_esala_poya_name = tr("අධි ඇසල පුර පසළොස්වක පෝය දිනය") + + # Adhi Poson Full Moon Poya Day. + adhi_poson_poya_name = tr("අධි පොසොන් පුර පසළොස්වක පෝය දිනය") + + # Adhi Vap Full Moon Poya Day. + adhi_vap_poya_name = tr("අධි වප් පුර පසළොස්වක පෝය දිනය") + + # Adhi Vesak Full Mon Poya Day. + adhi_vesak_poya_name = tr("අධි වෙසක් පුර පසළොස්වක පෝය දිනය") + + # Half-Day Special Bank Holiday. + half_day_special_bank_holiday_name = tr("දින භාගයක විශේෂ බැංකු නිවාඩු දිනය") + + # Public Sector Holiday. + public_sector_holiday_name = tr("රාජ්ය අංශයේ නිවාඩු දිනය") + + # Special Bank Holiday. + special_bank_holiday_name = tr("විශේෂ බැංකු නිවාඩු දිනය") + + # Special Public Holiday. + special_public_holiday_name = tr("විශේෂ රජයේ නිවාඩු දිනය") + + special_bank_holidays = { + 2005: ( + (MAY, 2, special_bank_holiday_name), + (DEC, 26, special_bank_holiday_name), + ), + 2007: ( + (FEB, 5, special_bank_holiday_name), + (APR, 3, special_bank_holiday_name), + ), + 2008: (APR, 18, special_bank_holiday_name), + 2011: ( + (MAY, 2, special_bank_holiday_name), + (DEC, 26, special_bank_holiday_name), + ), + 2012: ( + (JAN, 16, special_bank_holiday_name), + (FEB, 10, special_bank_holiday_name), + (MAY, 7, special_bank_holiday_name), + ), + 2013: (APR, 15, special_bank_holiday_name), + 2014: (APR, 15, special_bank_holiday_name), + 2015: (JAN, 5, special_bank_holiday_name), + 2016: ( + (MAY, 2, special_bank_holiday_name), + (MAY, 23, special_bank_holiday_name), + (DEC, 26, special_bank_holiday_name), + ), + 2018: ( + (JAN, 15, special_bank_holiday_name), + (FEB, 5, special_bank_holiday_name), + ), + 2019: ( + (APR, 15, special_bank_holiday_name), + # MAY 20 got upgraded to Special Public Holiday. + (NOV, 11, special_bank_holiday_name), + ), + 2020: (APR, 14, special_bank_holiday_name), + 2021: ( + (APR, 30, half_day_special_bank_holiday_name), + (DEC, 24, half_day_special_bank_holiday_name), + ), + 2022: ( + # MAY 2 got upgraded to Special Public Holiday. + (OCT, 10, special_bank_holiday_name), + (DEC, 26, special_bank_holiday_name), + ), + 2023: (JAN, 16, special_bank_holiday_name), + 2025: (APR, 15, special_bank_holiday_name), + } + + special_government_holidays = { + 2020: (JUN, 4, public_sector_holiday_name), + 2022: ( + (JUN, 13, public_sector_holiday_name), + # All Friday between JUN 15, 2022 to AUG 2, 2022. + (JUN, 17, public_sector_holiday_name), + (JUN, 24, public_sector_holiday_name), + (JUL, 1, public_sector_holiday_name), + (JUL, 8, public_sector_holiday_name), + (JUL, 15, public_sector_holiday_name), + (JUL, 22, public_sector_holiday_name), + (JUL, 29, public_sector_holiday_name), + ), + } + + special_public_holidays = { + 2004: (JUL, 31, adhi_esala_poya_name), + 2007: (MAY, 31, adhi_poson_poya_name), + 2010: (APR, 28, adhi_vesak_poya_name), + # 2011, MAY 2 confirmed as not getting upgrade to Special Public Holiday. + 2012: ( + (MAY, 7, special_public_holiday_name), + (AUG, 31, adhi_binara_poya_name), + ), + 2013: (APR, 15, special_public_holiday_name), + 2015: (JUL, 1, adhi_esala_poya_name), + 2016: (APR, 15, special_public_holiday_name), + 2018: (MAY, 29, adhi_poson_poya_name), + 2019: (MAY, 20, special_public_holiday_name), + 2020: ( + (MAR, 16, special_public_holiday_name), + (MAR, 17, special_public_holiday_name), + (MAR, 18, special_public_holiday_name), + (MAR, 19, special_public_holiday_name), + (OCT, 1, adhi_vap_poya_name), + ), + 2022: ( + (APR, 11, special_public_holiday_name), + (APR, 12, special_public_holiday_name), + (MAY, 2, special_public_holiday_name), + ), + 2023: (JUL, 3, adhi_esala_poya_name), + 2024: ( + (APR, 15, special_public_holiday_name), + (SEP, 29, special_public_holiday_name), + ), + } + + special_workday_holidays = { + 2003: (OCT, 24, tr("දීපවාලි උත්සව දිනය")), # Deepavali Festival Day. + } diff --git a/holidays/groups/__init__.py b/holidays/groups/__init__.py index ef5527cfc..1e940a1c6 100644 --- a/holidays/groups/__init__.py +++ b/holidays/groups/__init__.py @@ -22,4 +22,5 @@ from holidays.groups.international import InternationalHolidays from holidays.groups.islamic import IslamicHolidays from holidays.groups.persian import PersianCalendarHolidays +from holidays.groups.sinhala import SinhalaCalendarHolidays from holidays.groups.thai import ThaiCalendarHolidays diff --git a/holidays/groups/sinhala.py b/holidays/groups/sinhala.py new file mode 100644 index 000000000..6a3abafb0 --- /dev/null +++ b/holidays/groups/sinhala.py @@ -0,0 +1,192 @@ +# holidays +# -------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: Vacanza Team and individual contributors (see AUTHORS file) +# dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/vacanza/holidays +# License: MIT (see LICENSE file) + +from collections.abc import Iterable +from datetime import date +from typing import Optional + +from holidays.calendars import _SinhalaLunar +from holidays.groups.eastern import EasternCalendarHolidays + + +class SinhalaCalendarHolidays(EasternCalendarHolidays): + """ + Sinhala holidays. + + Sinhala Buddhist Uposatha day calculation method is different from Thai LuniSolar + and Buddhist (Mahayana) used in East Asia. + + Due to the fact that Poya (Uposatha) days are calculated astronomically + based on how close a particular day is closest to full moon at noon, and that + an extra month is added every 33 months interval, this is hardcoded for now. + + Adhi month dates are instead hardcoded in Sri Lanka country implementation. + """ + + def __init__(self, cls=None, show_estimated=False) -> None: + self._sinhala_calendar = cls() if cls else _SinhalaLunar() + self._sinhala_calendar_show_estimated = show_estimated + + def _add_sinhala_calendar_holiday( + self, name: str, dt_estimated: tuple[Optional[date], bool] + ) -> Optional[date]: + """ + Add Sinhala calendar holiday. + + Adds customizable estimation label to holiday name if holiday date + is an estimation. + """ + return self._add_eastern_calendar_holiday( + name, dt_estimated, self._sinhala_calendar_show_estimated + ) + + def _add_sinhala_calendar_holiday_set( + self, name: str, dts_estimated: Iterable[tuple[date, bool]], days_delta: int = 0 + ) -> set[date]: + """ + Add Sinhala calendar holidays. + + Adds customizable estimation label to holiday name if holiday date + is an estimation. + """ + added_dates = set() + for dt_estimated in dts_estimated: + if dt := self._add_eastern_calendar_holiday( + name, dt_estimated, self._sinhala_calendar_show_estimated, days_delta=days_delta + ): + added_dates.add(dt) + + return added_dates + + def _add_bak_poya(self, name) -> Optional[date]: + """ + Add Bak Poya (first full moon day of the 5th lunar month). + + https://us.lakpura.com/pages/bak-poya + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.bak_poya_date(self._year) + ) + + def _add_binara_poya(self, name) -> Optional[date]: + """ + Add Binara Poya (first full moon day of the 10th lunar month). + + https://us.lakpura.com/pages/binara-poya + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.binara_poya_date(self._year) + ) + + def _add_duruthu_poya(self, name) -> set[date]: + """ + Add Duruthu Poya (first full moon day of the 2nd lunar month). + + https://us.lakpura.com/pages/duruthu-poya + """ + return self._add_sinhala_calendar_holiday_set( + name, self._sinhala_calendar.duruthu_poya_date(self._year) + ) + + def _add_esala_poya(self, name) -> Optional[date]: + """ + Add Esala Poya (first full moon day of the 8th lunar month). + + https://us.lakpura.com/pages/esala-poya + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.esala_poya_date(self._year) + ) + + def _add_il_poya(self, name) -> Optional[date]: + """ + Add Il Poya (first full moon day of the 12th lunar month). + + Also known as "Ill Poya" + https://us.lakpura.com/pages/il-poya + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.il_poya_date(self._year) + ) + + def _add_medin_poya(self, name) -> Optional[date]: + """ + Add Medin Poya (first full moon day of the 4th lunar month). + + https://us.lakpura.com/pages/medin-poya + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.medin_poya_date(self._year) + ) + + def _add_nawam_poya(self, name) -> Optional[date]: + """ + Add Nawam Poya (first full moon day of the 3rd lunar month). + + Also known as "Navam Poya" and "Magha Puja". + https://us.lakpura.com/pages/navam-poya + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.nawam_poya_date(self._year) + ) + + def _add_nikini_poya(self, name) -> Optional[date]: + """ + Add Nikini Poya (first full moon day of the 9th lunar month). + + https://us.lakpura.com/pages/nikini-poya + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.nikini_poya_date(self._year) + ) + + def _add_poson_poya(self, name) -> Optional[date]: + """ + Add Poson Poya (first full moon day of the 7th lunar month). + + https://us.lakpura.com/pages/poson + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.poson_poya_date(self._year) + ) + + def _add_unduvap_poya(self, name) -> Optional[date]: + """ + Add Unduvap Poya (first full moon day of the 1st lunar month). + + Also known as "Undawap Poya". + https://us.lakpura.com/pages/unduvap-poya + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.unduvap_poya_date(self._year) + ) + + def _add_vap_poya(self, name) -> Optional[date]: + """ + Add Vap Poya (first full moon day of the 11th lunar month). + + https://us.lakpura.com/pages/vap-poya + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.vap_poya_date(self._year) + ) + + def _add_vesak_poya(self, name) -> Optional[date]: + """ + Add Vesak Poya (first full moon day of the 6th lunar month). + + Also known as "Wesak Poya". + https://us.lakpura.com/pages/vesak + """ + return self._add_sinhala_calendar_holiday( + name, self._sinhala_calendar.vesak_poya_date(self._year) + ) diff --git a/holidays/locale/en_US/LC_MESSAGES/LK.po b/holidays/locale/en_US/LC_MESSAGES/LK.po new file mode 100644 index 000000000..d7c521ba7 --- /dev/null +++ b/holidays/locale/en_US/LC_MESSAGES/LK.po @@ -0,0 +1,168 @@ +# holidays +# -------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: Vacanza Team and individual contributors (see AUTHORS file) +# dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/vacanza/holidays +# License: MIT (see LICENSE file) +# +# Sri Lanka holidays en_US localization. +# +msgid "" +msgstr "" +"Project-Id-Version: Holidays 0.66\n" +"POT-Creation-Date: 2025-01-12 23:29+0530\n" +"PO-Revision-Date: 2025-01-24 18:16+0700\n" +"Last-Translator: PPsyrius \n" +"Language-Team: Holidays Localization Team\n" +"Language: en_US\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Lingva 5.0.4\n" +"X-Generator: Poedit 3.5\n" + +#. %s (estimated). +#, c-format +msgid "%s (අනුමානිත)" +msgstr "%s (estimated)" + +#. Tamil Thai Pongal Day. +msgid "දෙමළ තෛපොංැලල් දිනය" +msgstr "Tamil Thai Pongal Day" + +#. Independence Day. +msgid "නිදහස් සමරු දිනය" +msgstr "Independence Day" + +#. Sinhala and Tamil New Year. +msgid "සිංහල හා දෙමළ අලුත් අවුරුදු දිනය" +msgstr "Sinhala and Tamil New Year" + +#. Day Before Sinhala and Tamil New Year. +msgid "සිංහල හා දෙමළ අලුත් අවුරුදු දිනට පෙර දිනය" +msgstr "Day Before Sinhala and Tamil New Year" + +#. International Workers' Day. +msgid "ලොක කම්කරු දිනය" +msgstr "International Workers' Day" + +#. Duruthu Full Moon Poya Day. +msgid "දුරුතු පුර පසළොස්වක පෝය දිනය" +msgstr "Duruthu Full Moon Poya Day" + +#. Nawam Full Moon Poya Day. +msgid "නවම් පුර පසළොස්වක පෝය දිනය" +msgstr "Nawam Full Moon Poya Day" + +#. Medin Full Moon Poya Day. +msgid "මැදින් පුර පසළොස්වක පෝය දිනය" +msgstr "Medin Full Moon Poya Day" + +#. Bak Full Moon Poya Day. +msgid "බක් පුර පසළොස්වක පෝය දිනය" +msgstr "Bak Full Moon Poya Day" + +#. Vesak Full Moon Poya Day. +msgid "වෙසක් පුර පසළොස්වක පෝය දිනය" +msgstr "Vesak Full Moon Poya Day" + +#. Day Following Vesak Full Moon Poya Day. +msgid "වෙසක් පුර පසළොස්වක පෝය දිනට පසු දිනය" +msgstr "Day Following Vesak Full Moon Poya Day" + +#. Poson Full Moon Poya Day. +msgid "පොසොන් පුර පසළොස්වක පෝය දිනය" +msgstr "Poson Full Moon Poya Day" + +#. Esala Full Moon Poya Day. +msgid "ඇසල පුර පසළොස්වක පෝය දිනය" +msgstr "Esala Full Moon Poya Day" + +#. Nikini Full Moon Poya Day. +msgid "නිකිණි පුර පසළොස්වක පෝය දිනය" +msgstr "Nikini Full Moon Poya Day" + +#. Binara Full Moon Poya Day. +msgid "බිනර පුර පසළොස්වක පෝය දිනය" +msgstr "Binara Full Moon Poya Day" + +#. Vap Full Moon Poya Day. +msgid "වප් පුර පසළොස්වක පෝය දිනය" +msgstr "Vap Full Moon Poya Day" + +#. Il Full Moon Poya Day. +msgid "ඉල් පුර පසළොස්වක පෝය දිනය" +msgstr "Il Full Moon Poya Day" + +#. Unduvap Full Moon Poya Day. +msgid "උඳුවප් පුර පසළොස්වක පෝය දිනය" +msgstr "Unduvap Full Moon Poya Day" + +#. Maha Sivarathri Day. +msgid "මහ සිවරාත්රි දිනය" +msgstr "Maha Sivarathri Day" + +#. Deepavali Festival Day. +msgid "දීපවාලි උත්සව දිනය" +msgstr "Deepavali Festival Day" + +#. Good Friday. +msgid "මහ සිකුරාදා දිනය" +msgstr "Good Friday" + +#. Christmas Day. +msgid "නත්තල් උත්සව දිනය" +msgstr "Christmas Day" + +#. Eid al-Fitr. +msgid "ඊදුල් ෆීතර්" +msgstr "Eid al-Fitr" + +#. Eid al-Adha. +msgid "ඊදුල් අල්හා" +msgstr "Eid al-Adha" + +#. The Prophet's Birthday. +msgid "නබි නායකතුමාගේ උපන් දිනය" +msgstr "The Prophet's Birthday" + +#. Adhi Vesak Full Mon Poya Day. +msgid "අධි වෙසක් පුර පසළොස්වක පෝය දිනය" +msgstr "Adhi Vesak Full Mon Poya Day" + +#. Adhi Poson Full Moon Poya Day. +msgid "අධි පොසොන් පුර පසළොස්වක පෝය දිනය" +msgstr "Adhi Poson Full Moon Poya Day" + +#. Adhi Esala Full Moon Poya Day. +msgid "අධි ඇසල පුර පසළොස්වක පෝය දිනය" +msgstr "Adhi Esala Full Moon Poya Day" + +#. Adhi Binara Full Moon Poya Day. +msgid "අධි බිනර පුර පසළොස්වක පෝය දිනය" +msgstr "Adhi Binara Full Moon Poya Day" + +#. Adhi Vap Full Moon Poya Day. +msgid "අධි වප් පුර පසළොස්වක පෝය දිනය" +msgstr "Adhi Vap Full Moon Poya Day" + +#. Special Bank Holiday. +msgid "විශේෂ බැංකු නිවාඩු දිනය" +msgstr "Special Bank Holiday" + +#. Half-Day Special Bank Holiday. +msgid "දින භාගයක විශේෂ බැංකු නිවාඩු දිනය" +msgstr "Half-Day Special Bank Holiday" + +#. Public Sector Holiday. +msgid "රාජ්ය අංශයේ නිවාඩු දිනය" +msgstr "Public Sector Holiday" + +#. Special Public Holiday. +msgid "විශේෂ රජයේ නිවාඩු දිනය" +msgstr "Special Public Holiday" diff --git a/holidays/locale/si_LK/LC_MESSAGES/LK.po b/holidays/locale/si_LK/LC_MESSAGES/LK.po new file mode 100644 index 000000000..887a5fc7a --- /dev/null +++ b/holidays/locale/si_LK/LC_MESSAGES/LK.po @@ -0,0 +1,168 @@ +# holidays +# -------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: Vacanza Team and individual contributors (see AUTHORS file) +# dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/vacanza/holidays +# License: MIT (see LICENSE file) +# +# Sri Lanka holidays. +# +msgid "" +msgstr "" +"Project-Id-Version: Holidays 0.66\n" +"POT-Creation-Date: 2025-01-12 23:29+0530\n" +"PO-Revision-Date: 2025-01-24 18:17+0700\n" +"Last-Translator: PPsyrius \n" +"Language-Team: Holidays Localization Team\n" +"Language: si_LK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Lingva 5.0.4\n" +"X-Generator: Poedit 3.5\n" + +#. %s (estimated). +#, c-format +msgid "%s (අනුමානිත)" +msgstr "" + +#. Tamil Thai Pongal Day. +msgid "දෙමළ තෛපොංැලල් දිනය" +msgstr "" + +#. Independence Day. +msgid "නිදහස් සමරු දිනය" +msgstr "" + +#. Sinhala and Tamil New Year. +msgid "සිංහල හා දෙමළ අලුත් අවුරුදු දිනය" +msgstr "" + +#. Day Before Sinhala and Tamil New Year. +msgid "සිංහල හා දෙමළ අලුත් අවුරුදු දිනට පෙර දිනය" +msgstr "" + +#. International Workers' Day. +msgid "ලොක කම්කරු දිනය" +msgstr "" + +#. Duruthu Full Moon Poya Day. +msgid "දුරුතු පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Nawam Full Moon Poya Day. +msgid "නවම් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Medin Full Moon Poya Day. +msgid "මැදින් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Bak Full Moon Poya Day. +msgid "බක් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Vesak Full Moon Poya Day. +msgid "වෙසක් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Day Following Vesak Full Moon Poya Day. +msgid "වෙසක් පුර පසළොස්වක පෝය දිනට පසු දිනය" +msgstr "" + +#. Poson Full Moon Poya Day. +msgid "පොසොන් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Esala Full Moon Poya Day. +msgid "ඇසල පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Nikini Full Moon Poya Day. +msgid "නිකිණි පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Binara Full Moon Poya Day. +msgid "බිනර පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Vap Full Moon Poya Day. +msgid "වප් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Il Full Moon Poya Day. +msgid "ඉල් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Unduvap Full Moon Poya Day. +msgid "උඳුවප් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Maha Sivarathri Day. +msgid "මහ සිවරාත්රි දිනය" +msgstr "" + +#. Deepavali Festival Day. +msgid "දීපවාලි උත්සව දිනය" +msgstr "" + +#. Good Friday. +msgid "මහ සිකුරාදා දිනය" +msgstr "" + +#. Christmas Day. +msgid "නත්තල් උත්සව දිනය" +msgstr "" + +#. Eid al-Fitr. +msgid "ඊදුල් ෆීතර්" +msgstr "" + +#. Eid al-Adha. +msgid "ඊදුල් අල්හා" +msgstr "" + +#. The Prophet's Birthday. +msgid "නබි නායකතුමාගේ උපන් දිනය" +msgstr "" + +#. Adhi Vesak Full Mon Poya Day. +msgid "අධි වෙසක් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Adhi Poson Full Moon Poya Day. +msgid "අධි පොසොන් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Adhi Esala Full Moon Poya Day. +msgid "අධි ඇසල පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Adhi Binara Full Moon Poya Day. +msgid "අධි බිනර පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Adhi Vap Full Moon Poya Day. +msgid "අධි වප් පුර පසළොස්වක පෝය දිනය" +msgstr "" + +#. Special Bank Holiday. +msgid "විශේෂ බැංකු නිවාඩු දිනය" +msgstr "" + +#. Half-Day Special Bank Holiday. +msgid "දින භාගයක විශේෂ බැංකු නිවාඩු දිනය" +msgstr "" + +#. Public Sector Holiday. +msgid "රාජ්ය අංශයේ නිවාඩු දිනය" +msgstr "" + +#. Special Public Holiday. +msgid "විශේෂ රජයේ නිවාඩු දිනය" +msgstr "" diff --git a/holidays/locale/ta_LK/LC_MESSAGES/LK.po b/holidays/locale/ta_LK/LC_MESSAGES/LK.po new file mode 100644 index 000000000..abc3ec7e5 --- /dev/null +++ b/holidays/locale/ta_LK/LC_MESSAGES/LK.po @@ -0,0 +1,168 @@ +# holidays +# -------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: Vacanza Team and individual contributors (see AUTHORS file) +# dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/vacanza/holidays +# License: MIT (see LICENSE file) +# +# Sri Lanka holidays ta_LK localization. +# +msgid "" +msgstr "" +"Project-Id-Version: Holidays 0.66\n" +"POT-Creation-Date: 2025-01-12 23:29+0530\n" +"PO-Revision-Date: 2025-01-24 18:17+0700\n" +"Last-Translator: PPsyrius \n" +"Language-Team: Holidays Localization Team\n" +"Language: ta_LK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Lingva 5.0.4\n" +"X-Generator: Poedit 3.5\n" + +#. %s (estimated). +#, c-format +msgid "%s (අනුමානිත)" +msgstr "%s (அனுமானம்)" + +#. Tamil Thai Pongal Day. +msgid "දෙමළ තෛපොංැලල් දිනය" +msgstr "தமிழ் தைப்பொங்கல் தினம்" + +#. Independence Day. +msgid "නිදහස් සමරු දිනය" +msgstr "சுதந்திர தினம்" + +#. Sinhala and Tamil New Year. +msgid "සිංහල හා දෙමළ අලුත් අවුරුදු දිනය" +msgstr "சிங்கள, தமிழ் புத்தாண்டு தினம்" + +#. Day Before Sinhala and Tamil New Year. +msgid "සිංහල හා දෙමළ අලුත් අවුරුදු දිනට පෙර දිනය" +msgstr "சிங்கள, தமிழ் புத்தாண்டிற்கு முன்னைய தினம்" + +#. International Workers' Day. +msgid "ලොක කම්කරු දිනය" +msgstr "சர்வதேச தொழிலாளர்கள் தினம்" + +#. Duruthu Full Moon Poya Day. +msgid "දුරුතු පුර පසළොස්වක පෝය දිනය" +msgstr "துருத்து முழு நோன்மதி தினம்" + +#. Nawam Full Moon Poya Day. +msgid "නවම් පුර පසළොස්වක පෝය දිනය" +msgstr "நவம் முழு நோன்மதி தினம்" + +#. Medin Full Moon Poya Day. +msgid "මැදින් පුර පසළොස්වක පෝය දිනය" +msgstr "மெதின் முழு நோன்மதி தினம்" + +#. Bak Full Moon Poya Day. +msgid "බක් පුර පසළොස්වක පෝය දිනය" +msgstr "பக் முழு நோன்மதி தினம்" + +#. Vesak Full Moon Poya Day. +msgid "වෙසක් පුර පසළොස්වක පෝය දිනය" +msgstr "வெசாக் முழு நோன்மதி தினம்" + +#. Day Following Vesak Full Moon Poya Day. +msgid "වෙසක් පුර පසළොස්වක පෝය දිනට පසු දිනය" +msgstr "வெசாக் முழு நோன்மதி தினத்திற்கு அடுத்த நாள்" + +#. Poson Full Moon Poya Day. +msgid "පොසොන් පුර පසළොස්වක පෝය දිනය" +msgstr "பொசொன் முழு நோன்மதி தினம்" + +#. Esala Full Moon Poya Day. +msgid "ඇසල පුර පසළොස්වක පෝය දිනය" +msgstr "எசல முழு நோன்மதி தினம்" + +#. Nikini Full Moon Poya Day. +msgid "නිකිණි පුර පසළොස්වක පෝය දිනය" +msgstr "நிக்கினி முழு நோன்மதி தினம்" + +#. Binara Full Moon Poya Day. +msgid "බිනර පුර පසළොස්වක පෝය දිනය" +msgstr "பினர முழு நோன்மதி தினம்" + +#. Vap Full Moon Poya Day. +msgid "වප් පුර පසළොස්වක පෝය දිනය" +msgstr "வப் முழு நோன்மதி தினம்" + +#. Il Full Moon Poya Day. +msgid "ඉල් පුර පසළොස්වක පෝය දිනය" +msgstr "இல் முழு நோன்மதி தினம்" + +#. Unduvap Full Moon Poya Day. +msgid "උඳුවප් පුර පසළොස්වක පෝය දිනය" +msgstr "உந்துவப் முழு நோன்மதி தினம்" + +#. Maha Sivarathri Day. +msgid "මහ සිවරාත්රි දිනය" +msgstr "மகா சிவராத்திரி தினம்" + +#. Deepavali Festival Day. +msgid "දීපවාලි උත්සව දිනය" +msgstr "தீபாவளிப் பண்டிகை தினம்" + +#. Good Friday. +msgid "මහ සිකුරාදා දිනය" +msgstr "பெரிய வெள்ளிக்கிழமை" + +#. Christmas Day. +msgid "නත්තල් උත්සව දිනය" +msgstr "நத்தார் பண்டிகை" + +#. Eid al-Fitr. +msgid "ඊදුල් ෆීතර්" +msgstr "ஈதுல் பித்ர்" + +#. Eid al-Adha. +msgid "ඊදුල් අල්හා" +msgstr "ஈதுல் அழ்ஹா" + +#. The Prophet's Birthday. +msgid "නබි නායකතුමාගේ උපන් දිනය" +msgstr "நபிகள் நாயகத்தின் பிறந்த தினம்" + +#. Adhi Vesak Full Mon Poya Day. +msgid "අධි වෙසක් පුර පසළොස්වක පෝය දිනය" +msgstr "அதி-வெசாக் முழு நோன்மதி தினம்" + +#. Adhi Poson Full Moon Poya Day. +msgid "අධි පොසොන් පුර පසළොස්වක පෝය දිනය" +msgstr "அதி-பொசொன் முழு நோன்மதி தினம்" + +#. Adhi Esala Full Moon Poya Day. +msgid "අධි ඇසල පුර පසළොස්වක පෝය දිනය" +msgstr "அதி-எசல முழு நோன்மதி தினம்" + +#. Adhi Binara Full Moon Poya Day. +msgid "අධි බිනර පුර පසළොස්වක පෝය දිනය" +msgstr "அதி-பினர முழு நோன்மதி தினம்" + +#. Adhi Vap Full Moon Poya Day. +msgid "අධි වප් පුර පසළොස්වක පෝය දිනය" +msgstr "அதி-வப் முழு நோன்மதி தினம்" + +#. Special Bank Holiday. +msgid "විශේෂ බැංකු නිවාඩු දිනය" +msgstr "விசேட வங்கி விடுமுறை" + +#. Half-Day Special Bank Holiday. +msgid "දින භාගයක විශේෂ බැංකු නිවාඩු දිනය" +msgstr "அரை நாள் விசேட வங்கி விடுமுறை" + +#. Public Sector Holiday. +msgid "රාජ්ය අංශයේ නිවාඩු දිනය" +msgstr "பொதுத்துறை விடுமுறை" + +#. Special Public Holiday. +msgid "විශේෂ රජයේ නිවාඩු දිනය" +msgstr "விசேட பொது விடுமுறை" diff --git a/holidays/locale/th/LC_MESSAGES/IL.po b/holidays/locale/th/LC_MESSAGES/IL.po new file mode 100644 index 000000000..3427dd86b --- /dev/null +++ b/holidays/locale/th/LC_MESSAGES/IL.po @@ -0,0 +1,104 @@ +# holidays +# -------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: Vacanza Team and individual contributors (see AUTHORS file) +# dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/vacanza/holidays +# License: MIT (see LICENSE file) +# +# Israel holidays th localization. +# +msgid "" +msgstr "" +"Project-Id-Version: Holidays 0.66\n" +"POT-Creation-Date: 2025-02-01 20:46+0700\n" +"PO-Revision-Date: 2025-02-01 21:57+0700\n" +"Last-Translator: PPsyrius \n" +"Language-Team: Holidays Localization Team\n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Lingva 5.0.3\n" +"X-Generator: Poedit 3.5\n" + +#. Rosh Hashanah (New Year). +msgid "ראש השנה" +msgstr "เทศกาลรอช ฮาชานาห์ (วันปีใหม่ยิว)" + +#. Yom Kippur (Day of Atonement). +msgid "יום כיפור" +msgstr "วันยม คิปปูร์" + +#. Sukkot (Feast of Tabernacles). +msgid "סוכות" +msgstr "วันสุคคต" + +#. Chol HaMoed Sukkot (Feast of Tabernacles holiday). +msgid "חול המועד סוכות" +msgstr "เทศกาลสุคคต" + +#. Simchat Torah / Shemini Atzeret. +msgid "שמחת תורה/שמיני עצרת" +msgstr "วันซิมหัต โทราห์ / วันเชมินี อัตเซเรต" + +#. Pesach (Passover). +msgid "פסח" +msgstr "วันเพสสะห์" + +#. Chol HaMoed Pesach (Passover holiday). +msgid "חול המועד פסח" +msgstr "เทศกาลเพสสะห์" + +#. Shvi'i shel Pesach (Seventh day of Passover) +msgid "שביעי של פסח" +msgstr "วันเพสสะห์วันที่เจ็ด" + +#. Yom Ha-Atzmaut (Independence Day). +msgid "יום העצמאות" +msgstr "วันชาติอิสราเอล" + +#. Shavuot. +msgid "שבועות" +msgstr "วันชาวูโอท" + +#. Sigd. +msgid "סיגד" +msgstr "เทศกาลซิกด์" + +#. Purim. +msgid "פורים" +msgstr "เทศกาลปูริม" + +#. Yom Hazikaron (Fallen Soldiers and Victims of Terrorism Remembrance Day). +msgid "יום הזיכרון לחללי מערכות ישראל ונפגעי פעולות האיבה" +msgstr "วันรำลึกถึงทหารผู้สละชีพและเหยื่อการก่อการร้าย" + +#. Yom Yerushalayim (Jerusalem Day). +msgid "יום ירושלים" +msgstr "วันเยรูซาเล็ม" + +#. Tisha B'Av (Tisha B'Av, fast). +msgid "תשעה באב" +msgstr "วันทิชอา เบอัฟ" + +#. Hanukkah. +msgid "חנוכה" +msgstr "เทศกาลฮานุกกะห์" + +#. Ta`anit Ester (Fast of Esther). +msgid "תענית אסתר" +msgstr "วันทาอานิต เอสเธอร์" + +#. Lag Ba'omer (Lag BaOmer). +msgid "ל\"ג בעומר" +msgstr "วันแล็ก บาโอเมอร์" + +#. %s (observed). +#, c-format +msgid "(נצפה) %s" +msgstr "ชดเชย%s" diff --git a/holidays/registry.py b/holidays/registry.py index 7760b2897..2bf66d51c 100644 --- a/holidays/registry.py +++ b/holidays/registry.py @@ -153,6 +153,7 @@ "south_africa": ("SouthAfrica", "ZA", "ZAF"), "south_korea": ("SouthKorea", "KR", "KOR", "Korea"), "spain": ("Spain", "ES", "ESP"), + "sri_lanka": ("SriLanka", "LK", "LKA"), "sweden": ("Sweden", "SE", "SWE"), "switzerland": ("Switzerland", "CH", "CHE"), "taiwan": ("Taiwan", "TW", "TWN"), diff --git a/snapshots/countries/LK_COMMON.json b/snapshots/countries/LK_COMMON.json new file mode 100644 index 000000000..619352da5 --- /dev/null +++ b/snapshots/countries/LK_COMMON.json @@ -0,0 +1,927 @@ +{ + "1972-01-15": "Tamil Thai Pongal Day", + "1972-01-26": "Eid al-Adha (estimated)", + "1972-02-04": "Independence Day", + "1972-03-31": "Good Friday", + "1972-04-13": "Day Before Sinhala and Tamil New Year", + "1972-04-14": "Sinhala and Tamil New Year", + "1972-04-25": "The Prophet's Birthday (estimated)", + "1972-05-01": "International Workers' Day", + "1972-11-07": "Eid al-Fitr (estimated)", + "1972-12-25": "Christmas Day", + "1973-01-14": "Eid al-Adha (estimated)", + "1973-01-15": "Tamil Thai Pongal Day", + "1973-02-04": "Independence Day", + "1973-04-13": "Day Before Sinhala and Tamil New Year", + "1973-04-14": "Sinhala and Tamil New Year", + "1973-04-15": "The Prophet's Birthday (estimated)", + "1973-04-20": "Good Friday", + "1973-05-01": "International Workers' Day", + "1973-10-27": "Eid al-Fitr (estimated)", + "1973-12-25": "Christmas Day", + "1974-01-03": "Eid al-Adha (estimated)", + "1974-01-15": "Tamil Thai Pongal Day", + "1974-02-04": "Independence Day", + "1974-04-04": "The Prophet's Birthday (estimated)", + "1974-04-12": "Good Friday", + "1974-04-13": "Day Before Sinhala and Tamil New Year", + "1974-04-14": "Sinhala and Tamil New Year", + "1974-05-01": "International Workers' Day", + "1974-10-16": "Eid al-Fitr (estimated)", + "1974-12-24": "Eid al-Adha (estimated)", + "1974-12-25": "Christmas Day", + "1975-01-15": "Tamil Thai Pongal Day", + "1975-02-04": "Independence Day", + "1975-03-24": "The Prophet's Birthday (estimated)", + "1975-03-28": "Good Friday", + "1975-04-13": "Day Before Sinhala and Tamil New Year", + "1975-04-14": "Sinhala and Tamil New Year", + "1975-05-01": "International Workers' Day", + "1975-10-06": "Eid al-Fitr (estimated)", + "1975-12-13": "Eid al-Adha (estimated)", + "1975-12-25": "Christmas Day", + "1976-01-15": "Tamil Thai Pongal Day", + "1976-02-04": "Independence Day", + "1976-03-12": "The Prophet's Birthday (estimated)", + "1976-04-13": "Day Before Sinhala and Tamil New Year", + "1976-04-14": "Sinhala and Tamil New Year", + "1976-04-16": "Good Friday", + "1976-05-01": "International Workers' Day", + "1976-09-24": "Eid al-Fitr (estimated)", + "1976-12-01": "Eid al-Adha (estimated)", + "1976-12-25": "Christmas Day", + "1977-01-15": "Tamil Thai Pongal Day", + "1977-02-04": "Independence Day", + "1977-03-02": "The Prophet's Birthday (estimated)", + "1977-04-08": "Good Friday", + "1977-04-13": "Day Before Sinhala and Tamil New Year", + "1977-04-14": "Sinhala and Tamil New Year", + "1977-05-01": "International Workers' Day", + "1977-09-14": "Eid al-Fitr (estimated)", + "1977-11-21": "Eid al-Adha (estimated)", + "1977-12-25": "Christmas Day", + "1978-01-15": "Tamil Thai Pongal Day", + "1978-02-04": "Independence Day", + "1978-02-19": "The Prophet's Birthday (estimated)", + "1978-03-24": "Good Friday", + "1978-04-13": "Day Before Sinhala and Tamil New Year", + "1978-04-14": "Sinhala and Tamil New Year", + "1978-05-01": "International Workers' Day", + "1978-09-03": "Eid al-Fitr (estimated)", + "1978-11-10": "Eid al-Adha (estimated)", + "1978-12-25": "Christmas Day", + "1979-01-15": "Tamil Thai Pongal Day", + "1979-02-04": "Independence Day", + "1979-02-09": "The Prophet's Birthday (estimated)", + "1979-04-13": "Day Before Sinhala and Tamil New Year; Good Friday", + "1979-04-14": "Sinhala and Tamil New Year", + "1979-05-01": "International Workers' Day", + "1979-08-23": "Eid al-Fitr (estimated)", + "1979-10-31": "Eid al-Adha (estimated)", + "1979-12-25": "Christmas Day", + "1980-01-15": "Tamil Thai Pongal Day", + "1980-01-30": "The Prophet's Birthday (estimated)", + "1980-02-04": "Independence Day", + "1980-04-04": "Good Friday", + "1980-04-13": "Day Before Sinhala and Tamil New Year", + "1980-04-14": "Sinhala and Tamil New Year", + "1980-05-01": "International Workers' Day", + "1980-08-12": "Eid al-Fitr (estimated)", + "1980-10-19": "Eid al-Adha (estimated)", + "1980-12-25": "Christmas Day", + "1981-01-15": "Tamil Thai Pongal Day", + "1981-01-18": "The Prophet's Birthday (estimated)", + "1981-02-04": "Independence Day", + "1981-04-13": "Day Before Sinhala and Tamil New Year", + "1981-04-14": "Sinhala and Tamil New Year", + "1981-04-17": "Good Friday", + "1981-05-01": "International Workers' Day", + "1981-08-01": "Eid al-Fitr (estimated)", + "1981-10-08": "Eid al-Adha (estimated)", + "1981-12-25": "Christmas Day", + "1982-01-07": "The Prophet's Birthday (estimated)", + "1982-01-15": "Tamil Thai Pongal Day", + "1982-02-04": "Independence Day", + "1982-04-09": "Good Friday", + "1982-04-13": "Day Before Sinhala and Tamil New Year", + "1982-04-14": "Sinhala and Tamil New Year", + "1982-05-01": "International Workers' Day", + "1982-07-21": "Eid al-Fitr (estimated)", + "1982-09-27": "Eid al-Adha (estimated)", + "1982-12-25": "Christmas Day", + "1982-12-27": "The Prophet's Birthday (estimated)", + "1983-01-15": "Tamil Thai Pongal Day", + "1983-02-04": "Independence Day", + "1983-04-01": "Good Friday", + "1983-04-13": "Day Before Sinhala and Tamil New Year", + "1983-04-14": "Sinhala and Tamil New Year", + "1983-05-01": "International Workers' Day", + "1983-07-11": "Eid al-Fitr (estimated)", + "1983-09-17": "Eid al-Adha (estimated)", + "1983-12-16": "The Prophet's Birthday (estimated)", + "1983-12-25": "Christmas Day", + "1984-01-15": "Tamil Thai Pongal Day", + "1984-02-04": "Independence Day", + "1984-04-13": "Day Before Sinhala and Tamil New Year", + "1984-04-14": "Sinhala and Tamil New Year", + "1984-04-20": "Good Friday", + "1984-05-01": "International Workers' Day", + "1984-06-30": "Eid al-Fitr (estimated)", + "1984-09-05": "Eid al-Adha (estimated)", + "1984-12-04": "The Prophet's Birthday (estimated)", + "1984-12-25": "Christmas Day", + "1985-01-15": "Tamil Thai Pongal Day", + "1985-02-04": "Independence Day", + "1985-04-05": "Good Friday", + "1985-04-13": "Day Before Sinhala and Tamil New Year", + "1985-04-14": "Sinhala and Tamil New Year", + "1985-05-01": "International Workers' Day", + "1985-06-19": "Eid al-Fitr (estimated)", + "1985-08-26": "Eid al-Adha (estimated)", + "1985-11-24": "The Prophet's Birthday (estimated)", + "1985-12-25": "Christmas Day", + "1986-01-15": "Tamil Thai Pongal Day", + "1986-02-04": "Independence Day", + "1986-03-28": "Good Friday", + "1986-04-13": "Day Before Sinhala and Tamil New Year", + "1986-04-14": "Sinhala and Tamil New Year", + "1986-05-01": "International Workers' Day", + "1986-06-08": "Eid al-Fitr (estimated)", + "1986-08-15": "Eid al-Adha (estimated)", + "1986-11-14": "The Prophet's Birthday (estimated)", + "1986-12-25": "Christmas Day", + "1987-01-15": "Tamil Thai Pongal Day", + "1987-02-04": "Independence Day", + "1987-04-13": "Day Before Sinhala and Tamil New Year", + "1987-04-14": "Sinhala and Tamil New Year", + "1987-04-17": "Good Friday", + "1987-05-01": "International Workers' Day", + "1987-05-28": "Eid al-Fitr (estimated)", + "1987-08-04": "Eid al-Adha (estimated)", + "1987-11-03": "The Prophet's Birthday (estimated)", + "1987-12-25": "Christmas Day", + "1988-01-15": "Tamil Thai Pongal Day", + "1988-02-04": "Independence Day", + "1988-04-01": "Good Friday", + "1988-04-13": "Day Before Sinhala and Tamil New Year", + "1988-04-14": "Sinhala and Tamil New Year", + "1988-05-01": "International Workers' Day", + "1988-05-16": "Eid al-Fitr (estimated)", + "1988-07-23": "Eid al-Adha (estimated)", + "1988-10-22": "The Prophet's Birthday (estimated)", + "1988-12-25": "Christmas Day", + "1989-01-15": "Tamil Thai Pongal Day", + "1989-02-04": "Independence Day", + "1989-03-24": "Good Friday", + "1989-04-13": "Day Before Sinhala and Tamil New Year", + "1989-04-14": "Sinhala and Tamil New Year", + "1989-05-01": "International Workers' Day", + "1989-05-06": "Eid al-Fitr (estimated)", + "1989-07-13": "Eid al-Adha (estimated)", + "1989-10-11": "The Prophet's Birthday (estimated)", + "1989-12-25": "Christmas Day", + "1990-01-15": "Tamil Thai Pongal Day", + "1990-02-04": "Independence Day", + "1990-04-13": "Day Before Sinhala and Tamil New Year; Good Friday", + "1990-04-14": "Sinhala and Tamil New Year", + "1990-04-26": "Eid al-Fitr (estimated)", + "1990-05-01": "International Workers' Day", + "1990-07-02": "Eid al-Adha (estimated)", + "1990-10-01": "The Prophet's Birthday (estimated)", + "1990-12-25": "Christmas Day", + "1991-01-15": "Tamil Thai Pongal Day", + "1991-02-04": "Independence Day", + "1991-03-29": "Good Friday", + "1991-04-13": "Day Before Sinhala and Tamil New Year", + "1991-04-14": "Sinhala and Tamil New Year", + "1991-04-15": "Eid al-Fitr (estimated)", + "1991-05-01": "International Workers' Day", + "1991-06-22": "Eid al-Adha (estimated)", + "1991-09-20": "The Prophet's Birthday (estimated)", + "1991-12-25": "Christmas Day", + "1992-01-15": "Tamil Thai Pongal Day", + "1992-02-04": "Independence Day", + "1992-04-04": "Eid al-Fitr (estimated)", + "1992-04-13": "Day Before Sinhala and Tamil New Year", + "1992-04-14": "Sinhala and Tamil New Year", + "1992-04-17": "Good Friday", + "1992-05-01": "International Workers' Day", + "1992-06-11": "Eid al-Adha (estimated)", + "1992-09-09": "The Prophet's Birthday (estimated)", + "1992-12-25": "Christmas Day", + "1993-01-15": "Tamil Thai Pongal Day", + "1993-02-04": "Independence Day", + "1993-03-24": "Eid al-Fitr (estimated)", + "1993-04-09": "Good Friday", + "1993-04-13": "Day Before Sinhala and Tamil New Year", + "1993-04-14": "Sinhala and Tamil New Year", + "1993-05-01": "International Workers' Day", + "1993-05-31": "Eid al-Adha (estimated)", + "1993-08-29": "The Prophet's Birthday (estimated)", + "1993-12-25": "Christmas Day", + "1994-01-15": "Tamil Thai Pongal Day", + "1994-02-04": "Independence Day", + "1994-03-13": "Eid al-Fitr (estimated)", + "1994-04-01": "Good Friday", + "1994-04-13": "Day Before Sinhala and Tamil New Year", + "1994-04-14": "Sinhala and Tamil New Year", + "1994-05-01": "International Workers' Day", + "1994-05-20": "Eid al-Adha (estimated)", + "1994-08-19": "The Prophet's Birthday (estimated)", + "1994-12-25": "Christmas Day", + "1995-01-15": "Tamil Thai Pongal Day", + "1995-02-04": "Independence Day", + "1995-03-02": "Eid al-Fitr (estimated)", + "1995-04-13": "Day Before Sinhala and Tamil New Year", + "1995-04-14": "Good Friday; Sinhala and Tamil New Year", + "1995-05-01": "International Workers' Day", + "1995-05-09": "Eid al-Adha (estimated)", + "1995-08-08": "The Prophet's Birthday (estimated)", + "1995-12-25": "Christmas Day", + "1996-01-15": "Tamil Thai Pongal Day", + "1996-02-04": "Independence Day", + "1996-02-19": "Eid al-Fitr (estimated)", + "1996-04-05": "Good Friday", + "1996-04-13": "Day Before Sinhala and Tamil New Year", + "1996-04-14": "Sinhala and Tamil New Year", + "1996-04-27": "Eid al-Adha (estimated)", + "1996-05-01": "International Workers' Day", + "1996-07-27": "The Prophet's Birthday (estimated)", + "1996-12-25": "Christmas Day", + "1997-01-15": "Tamil Thai Pongal Day", + "1997-02-04": "Independence Day", + "1997-02-08": "Eid al-Fitr (estimated)", + "1997-03-28": "Good Friday", + "1997-04-13": "Day Before Sinhala and Tamil New Year", + "1997-04-14": "Sinhala and Tamil New Year", + "1997-04-17": "Eid al-Adha (estimated)", + "1997-05-01": "International Workers' Day", + "1997-07-16": "The Prophet's Birthday (estimated)", + "1997-12-25": "Christmas Day", + "1998-01-15": "Tamil Thai Pongal Day", + "1998-01-29": "Eid al-Fitr (estimated)", + "1998-02-04": "Independence Day", + "1998-04-07": "Eid al-Adha (estimated)", + "1998-04-10": "Good Friday", + "1998-04-13": "Day Before Sinhala and Tamil New Year", + "1998-04-14": "Sinhala and Tamil New Year", + "1998-05-01": "International Workers' Day", + "1998-07-06": "The Prophet's Birthday (estimated)", + "1998-12-25": "Christmas Day", + "1999-01-15": "Tamil Thai Pongal Day", + "1999-01-18": "Eid al-Fitr (estimated)", + "1999-02-04": "Independence Day", + "1999-03-27": "Eid al-Adha (estimated)", + "1999-04-02": "Good Friday", + "1999-04-13": "Day Before Sinhala and Tamil New Year", + "1999-04-14": "Sinhala and Tamil New Year", + "1999-05-01": "International Workers' Day", + "1999-06-26": "The Prophet's Birthday (estimated)", + "1999-12-25": "Christmas Day", + "2000-01-08": "Eid al-Fitr (estimated)", + "2000-01-15": "Tamil Thai Pongal Day", + "2000-02-04": "Independence Day", + "2000-03-16": "Eid al-Adha (estimated)", + "2000-04-13": "Day Before Sinhala and Tamil New Year", + "2000-04-14": "Sinhala and Tamil New Year", + "2000-04-21": "Good Friday", + "2000-05-01": "International Workers' Day", + "2000-06-14": "The Prophet's Birthday (estimated)", + "2000-12-25": "Christmas Day", + "2000-12-27": "Eid al-Fitr (estimated)", + "2001-01-15": "Tamil Thai Pongal Day", + "2001-02-04": "Independence Day", + "2001-03-05": "Eid al-Adha (estimated)", + "2001-04-13": "Day Before Sinhala and Tamil New Year; Good Friday", + "2001-04-14": "Sinhala and Tamil New Year", + "2001-05-01": "International Workers' Day", + "2001-06-04": "The Prophet's Birthday (estimated)", + "2001-12-16": "Eid al-Fitr (estimated)", + "2001-12-25": "Christmas Day", + "2002-01-15": "Tamil Thai Pongal Day", + "2002-02-04": "Independence Day", + "2002-02-22": "Eid al-Adha (estimated)", + "2002-03-29": "Good Friday", + "2002-04-13": "Day Before Sinhala and Tamil New Year", + "2002-04-14": "Sinhala and Tamil New Year", + "2002-05-01": "International Workers' Day", + "2002-05-24": "The Prophet's Birthday (estimated)", + "2002-12-05": "Eid al-Fitr (estimated)", + "2002-12-25": "Christmas Day", + "2003-01-15": "Tamil Thai Pongal Day", + "2003-01-17": "Duruthu Full Moon Poya Day", + "2003-02-04": "Independence Day", + "2003-02-12": "Eid al-Adha", + "2003-02-16": "Nawam Full Moon Poya Day", + "2003-03-01": "Maha Sivarathri Day", + "2003-03-18": "Medin Full Moon Poya Day", + "2003-04-13": "Day Before Sinhala and Tamil New Year", + "2003-04-14": "Sinhala and Tamil New Year", + "2003-04-16": "Bak Full Moon Poya Day", + "2003-04-18": "Good Friday", + "2003-05-01": "International Workers' Day", + "2003-05-14": "The Prophet's Birthday", + "2003-05-15": "Vesak Full Moon Poya Day", + "2003-05-16": "Day Following Vesak Full Moon Poya Day", + "2003-06-14": "Poson Full Moon Poya Day", + "2003-07-13": "Esala Full Moon Poya Day", + "2003-08-11": "Nikini Full Moon Poya Day", + "2003-09-10": "Binara Full Moon Poya Day", + "2003-10-09": "Vap Full Moon Poya Day", + "2003-10-24": "Deepavali Festival Day", + "2003-11-08": "Il Full Moon Poya Day", + "2003-11-26": "Eid al-Fitr", + "2003-12-08": "Unduvap Full Moon Poya Day", + "2003-12-25": "Christmas Day", + "2004-01-07": "Duruthu Full Moon Poya Day", + "2004-01-15": "Tamil Thai Pongal Day", + "2004-02-01": "Eid al-Adha", + "2004-02-04": "Independence Day", + "2004-02-05": "Nawam Full Moon Poya Day", + "2004-02-18": "Maha Sivarathri Day", + "2004-03-06": "Medin Full Moon Poya Day", + "2004-04-05": "Bak Full Moon Poya Day", + "2004-04-09": "Good Friday", + "2004-04-12": "Day Before Sinhala and Tamil New Year", + "2004-04-13": "Sinhala and Tamil New Year", + "2004-05-01": "International Workers' Day", + "2004-05-02": "The Prophet's Birthday", + "2004-05-04": "Vesak Full Moon Poya Day", + "2004-05-05": "Day Following Vesak Full Moon Poya Day", + "2004-06-02": "Poson Full Moon Poya Day", + "2004-07-02": "Esala Full Moon Poya Day", + "2004-07-31": "Adhi Esala Full Moon Poya Day", + "2004-08-29": "Nikini Full Moon Poya Day", + "2004-09-28": "Binara Full Moon Poya Day", + "2004-10-27": "Vap Full Moon Poya Day", + "2004-11-11": "Deepavali Festival Day", + "2004-11-14": "Eid al-Fitr", + "2004-11-26": "Il Full Moon Poya Day", + "2004-12-25": "Christmas Day", + "2004-12-26": "Unduvap Full Moon Poya Day", + "2005-01-14": "Tamil Thai Pongal Day", + "2005-01-21": "Eid al-Adha", + "2005-01-24": "Duruthu Full Moon Poya Day", + "2005-02-04": "Independence Day", + "2005-02-23": "Nawam Full Moon Poya Day", + "2005-03-08": "Maha Sivarathri Day", + "2005-03-25": "Good Friday; Medin Full Moon Poya Day", + "2005-04-13": "Day Before Sinhala and Tamil New Year", + "2005-04-14": "Sinhala and Tamil New Year", + "2005-04-22": "The Prophet's Birthday", + "2005-04-23": "Bak Full Moon Poya Day", + "2005-05-01": "International Workers' Day", + "2005-05-02": "Special Bank Holiday", + "2005-05-23": "Vesak Full Moon Poya Day", + "2005-05-24": "Day Following Vesak Full Moon Poya Day", + "2005-06-21": "Poson Full Moon Poya Day", + "2005-07-21": "Esala Full Moon Poya Day", + "2005-08-19": "Nikini Full Moon Poya Day", + "2005-09-17": "Binara Full Moon Poya Day", + "2005-10-17": "Vap Full Moon Poya Day", + "2005-11-01": "Deepavali Festival Day", + "2005-11-04": "Eid al-Fitr", + "2005-11-15": "Il Full Moon Poya Day", + "2005-12-15": "Unduvap Full Moon Poya Day", + "2005-12-25": "Christmas Day", + "2005-12-26": "Special Bank Holiday", + "2006-01-11": "Eid al-Adha", + "2006-01-13": "Duruthu Full Moon Poya Day", + "2006-01-14": "Tamil Thai Pongal Day", + "2006-02-04": "Independence Day", + "2006-02-12": "Nawam Full Moon Poya Day", + "2006-02-26": "Maha Sivarathri Day", + "2006-03-14": "Medin Full Moon Poya Day", + "2006-04-11": "The Prophet's Birthday", + "2006-04-13": "Bak Full Moon Poya Day; Day Before Sinhala and Tamil New Year", + "2006-04-14": "Good Friday; Sinhala and Tamil New Year", + "2006-05-01": "International Workers' Day", + "2006-05-12": "Vesak Full Moon Poya Day", + "2006-05-13": "Day Following Vesak Full Moon Poya Day", + "2006-06-11": "Poson Full Moon Poya Day", + "2006-07-10": "Esala Full Moon Poya Day", + "2006-08-09": "Nikini Full Moon Poya Day", + "2006-09-07": "Binara Full Moon Poya Day", + "2006-10-06": "Vap Full Moon Poya Day", + "2006-10-21": "Deepavali Festival Day", + "2006-10-24": "Eid al-Fitr", + "2006-11-05": "Il Full Moon Poya Day", + "2006-12-04": "Unduvap Full Moon Poya Day", + "2006-12-25": "Christmas Day", + "2006-12-31": "Eid al-Adha", + "2007-01-03": "Duruthu Full Moon Poya Day", + "2007-01-15": "Tamil Thai Pongal Day", + "2007-02-01": "Nawam Full Moon Poya Day", + "2007-02-04": "Independence Day", + "2007-02-05": "Special Bank Holiday", + "2007-02-16": "Maha Sivarathri Day", + "2007-03-03": "Medin Full Moon Poya Day", + "2007-04-01": "The Prophet's Birthday", + "2007-04-02": "Bak Full Moon Poya Day", + "2007-04-03": "Special Bank Holiday", + "2007-04-06": "Good Friday", + "2007-04-13": "Day Before Sinhala and Tamil New Year", + "2007-04-14": "Sinhala and Tamil New Year", + "2007-05-01": "International Workers' Day; Vesak Full Moon Poya Day", + "2007-05-02": "Day Following Vesak Full Moon Poya Day", + "2007-05-31": "Adhi Poson Full Moon Poya Day", + "2007-06-30": "Poson Full Moon Poya Day", + "2007-07-29": "Esala Full Moon Poya Day", + "2007-08-28": "Nikini Full Moon Poya Day", + "2007-09-26": "Binara Full Moon Poya Day", + "2007-10-13": "Eid al-Fitr", + "2007-10-25": "Vap Full Moon Poya Day", + "2007-11-08": "Deepavali Festival Day", + "2007-11-24": "Il Full Moon Poya Day", + "2007-12-21": "Eid al-Adha", + "2007-12-23": "Unduvap Full Moon Poya Day", + "2007-12-25": "Christmas Day", + "2008-01-15": "Tamil Thai Pongal Day", + "2008-01-22": "Duruthu Full Moon Poya Day", + "2008-02-04": "Independence Day", + "2008-02-20": "Nawam Full Moon Poya Day", + "2008-03-06": "Maha Sivarathri Day", + "2008-03-20": "The Prophet's Birthday", + "2008-03-21": "Good Friday; Medin Full Moon Poya Day", + "2008-04-12": "Day Before Sinhala and Tamil New Year", + "2008-04-13": "Sinhala and Tamil New Year", + "2008-04-18": "Special Bank Holiday", + "2008-04-19": "Bak Full Moon Poya Day", + "2008-05-01": "International Workers' Day", + "2008-05-19": "Vesak Full Moon Poya Day", + "2008-05-20": "Day Following Vesak Full Moon Poya Day", + "2008-06-18": "Poson Full Moon Poya Day", + "2008-07-17": "Esala Full Moon Poya Day", + "2008-08-16": "Nikini Full Moon Poya Day", + "2008-09-14": "Binara Full Moon Poya Day", + "2008-10-01": "Eid al-Fitr", + "2008-10-14": "Vap Full Moon Poya Day", + "2008-10-27": "Deepavali Festival Day", + "2008-11-12": "Il Full Moon Poya Day", + "2008-12-09": "Eid al-Adha", + "2008-12-12": "Unduvap Full Moon Poya Day", + "2008-12-25": "Christmas Day", + "2009-01-10": "Duruthu Full Moon Poya Day", + "2009-01-14": "Tamil Thai Pongal Day", + "2009-02-04": "Independence Day", + "2009-02-09": "Nawam Full Moon Poya Day", + "2009-02-23": "Maha Sivarathri Day", + "2009-03-10": "Medin Full Moon Poya Day; The Prophet's Birthday", + "2009-04-09": "Bak Full Moon Poya Day", + "2009-04-10": "Good Friday", + "2009-04-13": "Day Before Sinhala and Tamil New Year", + "2009-04-14": "Sinhala and Tamil New Year", + "2009-05-01": "International Workers' Day", + "2009-05-08": "Vesak Full Moon Poya Day", + "2009-05-09": "Day Following Vesak Full Moon Poya Day", + "2009-06-07": "Poson Full Moon Poya Day", + "2009-07-06": "Esala Full Moon Poya Day", + "2009-08-05": "Nikini Full Moon Poya Day", + "2009-09-04": "Binara Full Moon Poya Day", + "2009-09-21": "Eid al-Fitr", + "2009-10-03": "Vap Full Moon Poya Day", + "2009-10-17": "Deepavali Festival Day", + "2009-11-02": "Il Full Moon Poya Day", + "2009-11-28": "Eid al-Adha", + "2009-12-01": "Unduvap Full Moon Poya Day", + "2009-12-25": "Christmas Day", + "2009-12-31": "Duruthu Full Moon Poya Day", + "2010-01-14": "Tamil Thai Pongal Day", + "2010-01-29": "Nawam Full Moon Poya Day", + "2010-02-04": "Independence Day", + "2010-02-27": "The Prophet's Birthday", + "2010-02-28": "Medin Full Moon Poya Day", + "2010-03-13": "Maha Sivarathri Day", + "2010-03-29": "Bak Full Moon Poya Day", + "2010-04-02": "Good Friday", + "2010-04-13": "Day Before Sinhala and Tamil New Year", + "2010-04-14": "Sinhala and Tamil New Year", + "2010-04-28": "Adhi Vesak Full Mon Poya Day", + "2010-05-01": "International Workers' Day", + "2010-05-27": "Vesak Full Moon Poya Day", + "2010-05-28": "Day Following Vesak Full Moon Poya Day", + "2010-06-25": "Poson Full Moon Poya Day", + "2010-07-25": "Esala Full Moon Poya Day", + "2010-08-24": "Nikini Full Moon Poya Day", + "2010-09-10": "Eid al-Fitr", + "2010-09-22": "Binara Full Moon Poya Day", + "2010-10-22": "Vap Full Moon Poya Day", + "2010-11-05": "Deepavali Festival Day", + "2010-11-17": "Eid al-Adha", + "2010-11-21": "Il Full Moon Poya Day", + "2010-12-20": "Unduvap Full Moon Poya Day", + "2010-12-25": "Christmas Day", + "2011-01-15": "Tamil Thai Pongal Day", + "2011-01-19": "Duruthu Full Moon Poya Day", + "2011-02-04": "Independence Day", + "2011-02-16": "The Prophet's Birthday", + "2011-02-17": "Nawam Full Moon Poya Day", + "2011-03-02": "Maha Sivarathri Day", + "2011-03-19": "Medin Full Moon Poya Day", + "2011-04-13": "Day Before Sinhala and Tamil New Year", + "2011-04-14": "Sinhala and Tamil New Year", + "2011-04-17": "Bak Full Moon Poya Day", + "2011-04-22": "Good Friday", + "2011-05-01": "International Workers' Day", + "2011-05-02": "Special Bank Holiday", + "2011-05-17": "Vesak Full Moon Poya Day", + "2011-05-18": "Day Following Vesak Full Moon Poya Day", + "2011-06-15": "Poson Full Moon Poya Day", + "2011-07-14": "Esala Full Moon Poya Day", + "2011-08-13": "Nikini Full Moon Poya Day", + "2011-08-31": "Eid al-Fitr", + "2011-09-11": "Binara Full Moon Poya Day", + "2011-10-11": "Vap Full Moon Poya Day", + "2011-10-26": "Deepavali Festival Day", + "2011-11-07": "Eid al-Adha", + "2011-11-10": "Il Full Moon Poya Day", + "2011-12-10": "Unduvap Full Moon Poya Day", + "2011-12-25": "Christmas Day", + "2011-12-26": "Special Bank Holiday", + "2012-01-08": "Duruthu Full Moon Poya Day", + "2012-01-15": "Tamil Thai Pongal Day", + "2012-01-16": "Special Bank Holiday", + "2012-02-04": "Independence Day", + "2012-02-05": "The Prophet's Birthday", + "2012-02-07": "Nawam Full Moon Poya Day", + "2012-02-10": "Special Bank Holiday", + "2012-02-20": "Maha Sivarathri Day", + "2012-03-07": "Medin Full Moon Poya Day", + "2012-04-06": "Bak Full Moon Poya Day; Good Friday", + "2012-04-12": "Day Before Sinhala and Tamil New Year", + "2012-04-13": "Sinhala and Tamil New Year", + "2012-05-01": "International Workers' Day", + "2012-05-05": "Vesak Full Moon Poya Day", + "2012-05-06": "Day Following Vesak Full Moon Poya Day", + "2012-05-07": "Special Bank Holiday; Special Public Holiday", + "2012-06-04": "Poson Full Moon Poya Day", + "2012-07-03": "Esala Full Moon Poya Day", + "2012-08-01": "Nikini Full Moon Poya Day", + "2012-08-19": "Eid al-Fitr", + "2012-08-31": "Adhi Binara Full Moon Poya Day", + "2012-09-29": "Binara Full Moon Poya Day", + "2012-10-27": "Eid al-Adha", + "2012-10-29": "Vap Full Moon Poya Day", + "2012-11-13": "Deepavali Festival Day", + "2012-11-27": "Il Full Moon Poya Day", + "2012-12-25": "Christmas Day", + "2012-12-27": "Unduvap Full Moon Poya Day", + "2013-01-14": "Tamil Thai Pongal Day", + "2013-01-25": "The Prophet's Birthday", + "2013-01-26": "Duruthu Full Moon Poya Day", + "2013-02-04": "Independence Day", + "2013-02-25": "Nawam Full Moon Poya Day", + "2013-03-10": "Maha Sivarathri Day", + "2013-03-26": "Medin Full Moon Poya Day", + "2013-03-29": "Good Friday", + "2013-04-13": "Day Before Sinhala and Tamil New Year", + "2013-04-14": "Sinhala and Tamil New Year", + "2013-04-15": "Special Bank Holiday; Special Public Holiday", + "2013-04-25": "Bak Full Moon Poya Day", + "2013-05-01": "International Workers' Day", + "2013-05-24": "Vesak Full Moon Poya Day", + "2013-05-25": "Day Following Vesak Full Moon Poya Day", + "2013-06-23": "Poson Full Moon Poya Day", + "2013-07-22": "Esala Full Moon Poya Day", + "2013-08-09": "Eid al-Fitr", + "2013-08-20": "Nikini Full Moon Poya Day", + "2013-09-19": "Binara Full Moon Poya Day", + "2013-10-16": "Eid al-Adha", + "2013-10-18": "Vap Full Moon Poya Day", + "2013-11-02": "Deepavali Festival Day", + "2013-11-17": "Il Full Moon Poya Day", + "2013-12-16": "Unduvap Full Moon Poya Day", + "2013-12-25": "Christmas Day", + "2014-01-14": "Tamil Thai Pongal Day; The Prophet's Birthday", + "2014-01-15": "Duruthu Full Moon Poya Day", + "2014-02-04": "Independence Day", + "2014-02-14": "Nawam Full Moon Poya Day", + "2014-02-27": "Maha Sivarathri Day", + "2014-03-16": "Medin Full Moon Poya Day", + "2014-04-13": "Day Before Sinhala and Tamil New Year", + "2014-04-14": "Bak Full Moon Poya Day; Sinhala and Tamil New Year", + "2014-04-15": "Special Bank Holiday", + "2014-04-18": "Good Friday", + "2014-05-01": "International Workers' Day", + "2014-05-14": "Vesak Full Moon Poya Day", + "2014-05-15": "Day Following Vesak Full Moon Poya Day", + "2014-06-12": "Poson Full Moon Poya Day", + "2014-07-12": "Esala Full Moon Poya Day", + "2014-07-29": "Eid al-Fitr", + "2014-08-10": "Nikini Full Moon Poya Day", + "2014-09-08": "Binara Full Moon Poya Day", + "2014-10-05": "Eid al-Adha", + "2014-10-08": "Vap Full Moon Poya Day", + "2014-10-22": "Deepavali Festival Day", + "2014-11-06": "Il Full Moon Poya Day", + "2014-12-06": "Unduvap Full Moon Poya Day", + "2014-12-25": "Christmas Day", + "2015-01-04": "Duruthu Full Moon Poya Day; The Prophet's Birthday", + "2015-01-05": "Special Bank Holiday", + "2015-01-15": "Tamil Thai Pongal Day", + "2015-02-03": "Nawam Full Moon Poya Day", + "2015-02-04": "Independence Day", + "2015-02-17": "Maha Sivarathri Day", + "2015-03-05": "Medin Full Moon Poya Day", + "2015-04-03": "Bak Full Moon Poya Day; Good Friday", + "2015-04-13": "Day Before Sinhala and Tamil New Year", + "2015-04-14": "Sinhala and Tamil New Year", + "2015-05-01": "International Workers' Day", + "2015-05-03": "Vesak Full Moon Poya Day", + "2015-05-04": "Day Following Vesak Full Moon Poya Day", + "2015-06-02": "Poson Full Moon Poya Day", + "2015-07-01": "Adhi Esala Full Moon Poya Day", + "2015-07-18": "Eid al-Fitr", + "2015-07-31": "Esala Full Moon Poya Day", + "2015-08-29": "Nikini Full Moon Poya Day", + "2015-09-24": "Eid al-Adha", + "2015-09-27": "Binara Full Moon Poya Day", + "2015-10-27": "Vap Full Moon Poya Day", + "2015-11-10": "Deepavali Festival Day", + "2015-11-25": "Il Full Moon Poya Day", + "2015-12-24": "Unduvap Full Moon Poya Day", + "2015-12-25": "Christmas Day", + "2016-01-15": "Tamil Thai Pongal Day", + "2016-01-23": "Duruthu Full Moon Poya Day", + "2016-02-04": "Independence Day", + "2016-02-22": "Nawam Full Moon Poya Day", + "2016-03-07": "Maha Sivarathri Day", + "2016-03-22": "Medin Full Moon Poya Day", + "2016-03-25": "Good Friday", + "2016-04-13": "Day Before Sinhala and Tamil New Year", + "2016-04-14": "Sinhala and Tamil New Year", + "2016-04-15": "Special Public Holiday", + "2016-04-21": "Bak Full Moon Poya Day", + "2016-05-01": "International Workers' Day", + "2016-05-02": "Special Bank Holiday", + "2016-05-21": "Vesak Full Moon Poya Day", + "2016-05-22": "Day Following Vesak Full Moon Poya Day", + "2016-05-23": "Special Bank Holiday", + "2016-06-19": "Poson Full Moon Poya Day", + "2016-07-06": "Eid al-Fitr", + "2016-07-19": "Esala Full Moon Poya Day", + "2016-08-17": "Nikini Full Moon Poya Day", + "2016-09-12": "Eid al-Adha", + "2016-09-16": "Binara Full Moon Poya Day", + "2016-10-15": "Vap Full Moon Poya Day", + "2016-10-29": "Deepavali Festival Day", + "2016-11-14": "Il Full Moon Poya Day", + "2016-12-12": "The Prophet's Birthday", + "2016-12-13": "Unduvap Full Moon Poya Day", + "2016-12-25": "Christmas Day", + "2016-12-26": "Special Bank Holiday", + "2017-01-12": "Duruthu Full Moon Poya Day", + "2017-01-14": "Tamil Thai Pongal Day", + "2017-02-04": "Independence Day", + "2017-02-10": "Nawam Full Moon Poya Day", + "2017-02-24": "Maha Sivarathri Day", + "2017-03-12": "Medin Full Moon Poya Day", + "2017-04-10": "Bak Full Moon Poya Day", + "2017-04-13": "Day Before Sinhala and Tamil New Year", + "2017-04-14": "Good Friday; Sinhala and Tamil New Year", + "2017-05-01": "International Workers' Day", + "2017-05-10": "Vesak Full Moon Poya Day", + "2017-05-11": "Day Following Vesak Full Moon Poya Day", + "2017-06-08": "Poson Full Moon Poya Day", + "2017-06-26": "Eid al-Fitr", + "2017-07-08": "Esala Full Moon Poya Day", + "2017-08-07": "Nikini Full Moon Poya Day", + "2017-09-01": "Eid al-Adha", + "2017-09-05": "Binara Full Moon Poya Day", + "2017-10-05": "Vap Full Moon Poya Day", + "2017-10-18": "Deepavali Festival Day", + "2017-11-03": "Il Full Moon Poya Day", + "2017-12-01": "The Prophet's Birthday", + "2017-12-03": "Unduvap Full Moon Poya Day", + "2017-12-25": "Christmas Day", + "2018-01-01": "Duruthu Full Moon Poya Day", + "2018-01-14": "Tamil Thai Pongal Day", + "2018-01-15": "Special Bank Holiday", + "2018-01-31": "Nawam Full Moon Poya Day", + "2018-02-04": "Independence Day", + "2018-02-05": "Special Bank Holiday", + "2018-02-13": "Maha Sivarathri Day", + "2018-03-01": "Medin Full Moon Poya Day", + "2018-03-30": "Good Friday", + "2018-03-31": "Bak Full Moon Poya Day", + "2018-04-13": "Day Before Sinhala and Tamil New Year", + "2018-04-14": "Sinhala and Tamil New Year", + "2018-04-29": "Vesak Full Moon Poya Day", + "2018-04-30": "Day Following Vesak Full Moon Poya Day", + "2018-05-01": "International Workers' Day", + "2018-05-29": "Adhi Poson Full Moon Poya Day", + "2018-06-15": "Eid al-Fitr", + "2018-06-27": "Poson Full Moon Poya Day", + "2018-07-27": "Esala Full Moon Poya Day", + "2018-08-22": "Eid al-Adha", + "2018-08-25": "Nikini Full Moon Poya Day", + "2018-09-24": "Binara Full Moon Poya Day", + "2018-10-24": "Vap Full Moon Poya Day", + "2018-11-06": "Deepavali Festival Day", + "2018-11-20": "The Prophet's Birthday", + "2018-11-22": "Il Full Moon Poya Day", + "2018-12-22": "Unduvap Full Moon Poya Day", + "2018-12-25": "Christmas Day", + "2019-01-15": "Tamil Thai Pongal Day", + "2019-01-20": "Duruthu Full Moon Poya Day", + "2019-02-04": "Independence Day", + "2019-02-19": "Nawam Full Moon Poya Day", + "2019-03-04": "Maha Sivarathri Day", + "2019-03-20": "Medin Full Moon Poya Day", + "2019-04-13": "Day Before Sinhala and Tamil New Year", + "2019-04-14": "Sinhala and Tamil New Year", + "2019-04-15": "Special Bank Holiday", + "2019-04-19": "Bak Full Moon Poya Day; Good Friday", + "2019-05-01": "International Workers' Day", + "2019-05-18": "Vesak Full Moon Poya Day", + "2019-05-19": "Day Following Vesak Full Moon Poya Day", + "2019-05-20": "Special Public Holiday", + "2019-06-05": "Eid al-Fitr", + "2019-06-16": "Poson Full Moon Poya Day", + "2019-07-16": "Esala Full Moon Poya Day", + "2019-08-12": "Eid al-Adha", + "2019-08-14": "Nikini Full Moon Poya Day", + "2019-09-13": "Binara Full Moon Poya Day", + "2019-10-13": "Vap Full Moon Poya Day", + "2019-10-27": "Deepavali Festival Day", + "2019-11-10": "The Prophet's Birthday", + "2019-11-11": "Special Bank Holiday", + "2019-11-12": "Il Full Moon Poya Day", + "2019-12-11": "Unduvap Full Moon Poya Day", + "2019-12-25": "Christmas Day", + "2020-01-10": "Duruthu Full Moon Poya Day", + "2020-01-15": "Tamil Thai Pongal Day", + "2020-02-04": "Independence Day", + "2020-02-08": "Nawam Full Moon Poya Day", + "2020-02-21": "Maha Sivarathri Day", + "2020-03-09": "Medin Full Moon Poya Day", + "2020-03-16": "Special Public Holiday", + "2020-03-17": "Special Public Holiday", + "2020-03-18": "Special Public Holiday", + "2020-03-19": "Special Public Holiday", + "2020-04-07": "Bak Full Moon Poya Day", + "2020-04-10": "Good Friday", + "2020-04-12": "Day Before Sinhala and Tamil New Year", + "2020-04-13": "Sinhala and Tamil New Year", + "2020-04-14": "Special Bank Holiday", + "2020-05-01": "International Workers' Day", + "2020-05-07": "Vesak Full Moon Poya Day", + "2020-05-08": "Day Following Vesak Full Moon Poya Day", + "2020-05-25": "Eid al-Fitr", + "2020-06-04": "Public Sector Holiday", + "2020-06-05": "Poson Full Moon Poya Day", + "2020-07-04": "Esala Full Moon Poya Day", + "2020-08-01": "Eid al-Adha", + "2020-08-03": "Nikini Full Moon Poya Day", + "2020-09-01": "Binara Full Moon Poya Day", + "2020-10-01": "Adhi Vap Full Moon Poya Day", + "2020-10-30": "The Prophet's Birthday; Vap Full Moon Poya Day", + "2020-11-14": "Deepavali Festival Day", + "2020-11-29": "Il Full Moon Poya Day", + "2020-12-25": "Christmas Day", + "2020-12-29": "Unduvap Full Moon Poya Day", + "2021-01-14": "Tamil Thai Pongal Day", + "2021-01-28": "Duruthu Full Moon Poya Day", + "2021-02-04": "Independence Day", + "2021-02-26": "Nawam Full Moon Poya Day", + "2021-03-11": "Maha Sivarathri Day", + "2021-03-28": "Medin Full Moon Poya Day", + "2021-04-02": "Good Friday", + "2021-04-13": "Day Before Sinhala and Tamil New Year", + "2021-04-14": "Sinhala and Tamil New Year", + "2021-04-26": "Bak Full Moon Poya Day", + "2021-04-30": "Half-Day Special Bank Holiday", + "2021-05-01": "International Workers' Day", + "2021-05-14": "Eid al-Fitr", + "2021-05-26": "Vesak Full Moon Poya Day", + "2021-05-27": "Day Following Vesak Full Moon Poya Day", + "2021-06-24": "Poson Full Moon Poya Day", + "2021-07-21": "Eid al-Adha", + "2021-07-23": "Esala Full Moon Poya Day", + "2021-08-22": "Nikini Full Moon Poya Day", + "2021-09-20": "Binara Full Moon Poya Day", + "2021-10-19": "The Prophet's Birthday", + "2021-10-20": "Vap Full Moon Poya Day", + "2021-11-04": "Deepavali Festival Day", + "2021-11-18": "Il Full Moon Poya Day", + "2021-12-18": "Unduvap Full Moon Poya Day", + "2021-12-24": "Half-Day Special Bank Holiday", + "2021-12-25": "Christmas Day", + "2022-01-14": "Tamil Thai Pongal Day", + "2022-01-17": "Duruthu Full Moon Poya Day", + "2022-02-04": "Independence Day", + "2022-02-16": "Nawam Full Moon Poya Day", + "2022-03-01": "Maha Sivarathri Day", + "2022-03-17": "Medin Full Moon Poya Day", + "2022-04-11": "Special Public Holiday", + "2022-04-12": "Special Public Holiday", + "2022-04-13": "Day Before Sinhala and Tamil New Year", + "2022-04-14": "Sinhala and Tamil New Year", + "2022-04-15": "Good Friday", + "2022-04-16": "Bak Full Moon Poya Day", + "2022-05-01": "International Workers' Day", + "2022-05-02": "Special Public Holiday", + "2022-05-03": "Eid al-Fitr", + "2022-05-15": "Vesak Full Moon Poya Day", + "2022-05-16": "Day Following Vesak Full Moon Poya Day", + "2022-06-13": "Public Sector Holiday", + "2022-06-14": "Poson Full Moon Poya Day", + "2022-06-17": "Public Sector Holiday", + "2022-06-24": "Public Sector Holiday", + "2022-07-01": "Public Sector Holiday", + "2022-07-08": "Public Sector Holiday", + "2022-07-10": "Eid al-Adha", + "2022-07-13": "Esala Full Moon Poya Day", + "2022-07-15": "Public Sector Holiday", + "2022-07-22": "Public Sector Holiday", + "2022-07-29": "Public Sector Holiday", + "2022-08-11": "Nikini Full Moon Poya Day", + "2022-09-10": "Binara Full Moon Poya Day", + "2022-10-09": "The Prophet's Birthday; Vap Full Moon Poya Day", + "2022-10-10": "Special Bank Holiday", + "2022-10-24": "Deepavali Festival Day", + "2022-11-07": "Il Full Moon Poya Day", + "2022-12-07": "Unduvap Full Moon Poya Day", + "2022-12-25": "Christmas Day", + "2022-12-26": "Special Bank Holiday", + "2023-01-06": "Duruthu Full Moon Poya Day", + "2023-01-15": "Tamil Thai Pongal Day", + "2023-01-16": "Special Bank Holiday", + "2023-02-04": "Independence Day", + "2023-02-05": "Nawam Full Moon Poya Day", + "2023-02-18": "Maha Sivarathri Day", + "2023-03-06": "Medin Full Moon Poya Day", + "2023-04-05": "Bak Full Moon Poya Day", + "2023-04-07": "Good Friday", + "2023-04-13": "Day Before Sinhala and Tamil New Year", + "2023-04-14": "Sinhala and Tamil New Year", + "2023-04-22": "Eid al-Fitr", + "2023-05-01": "International Workers' Day", + "2023-05-05": "Vesak Full Moon Poya Day", + "2023-05-06": "Day Following Vesak Full Moon Poya Day", + "2023-06-03": "Poson Full Moon Poya Day", + "2023-06-29": "Eid al-Adha", + "2023-07-03": "Adhi Esala Full Moon Poya Day", + "2023-08-01": "Esala Full Moon Poya Day", + "2023-08-30": "Nikini Full Moon Poya Day", + "2023-09-28": "The Prophet's Birthday", + "2023-09-29": "Binara Full Moon Poya Day", + "2023-10-28": "Vap Full Moon Poya Day", + "2023-11-12": "Deepavali Festival Day", + "2023-11-26": "Il Full Moon Poya Day", + "2023-12-25": "Christmas Day", + "2023-12-26": "Unduvap Full Moon Poya Day", + "2024-01-15": "Tamil Thai Pongal Day", + "2024-01-25": "Duruthu Full Moon Poya Day", + "2024-02-04": "Independence Day", + "2024-02-23": "Nawam Full Moon Poya Day", + "2024-03-08": "Maha Sivarathri Day", + "2024-03-24": "Medin Full Moon Poya Day", + "2024-03-29": "Good Friday", + "2024-04-11": "Eid al-Fitr", + "2024-04-12": "Day Before Sinhala and Tamil New Year", + "2024-04-13": "Sinhala and Tamil New Year", + "2024-04-15": "Special Public Holiday", + "2024-04-23": "Bak Full Moon Poya Day", + "2024-05-01": "International Workers' Day", + "2024-05-23": "Vesak Full Moon Poya Day", + "2024-05-24": "Day Following Vesak Full Moon Poya Day", + "2024-06-17": "Eid al-Adha", + "2024-06-21": "Poson Full Moon Poya Day", + "2024-07-20": "Esala Full Moon Poya Day", + "2024-08-19": "Nikini Full Moon Poya Day", + "2024-09-16": "The Prophet's Birthday", + "2024-09-17": "Binara Full Moon Poya Day", + "2024-09-29": "Special Public Holiday", + "2024-10-17": "Vap Full Moon Poya Day", + "2024-10-31": "Deepavali Festival Day", + "2024-11-15": "Il Full Moon Poya Day", + "2024-12-14": "Unduvap Full Moon Poya Day", + "2024-12-25": "Christmas Day", + "2025-01-13": "Duruthu Full Moon Poya Day", + "2025-01-14": "Tamil Thai Pongal Day", + "2025-02-04": "Independence Day", + "2025-02-12": "Nawam Full Moon Poya Day", + "2025-02-26": "Maha Sivarathri Day", + "2025-03-13": "Medin Full Moon Poya Day", + "2025-03-31": "Eid al-Fitr", + "2025-04-12": "Bak Full Moon Poya Day", + "2025-04-13": "Day Before Sinhala and Tamil New Year", + "2025-04-14": "Sinhala and Tamil New Year", + "2025-04-15": "Special Bank Holiday", + "2025-04-18": "Good Friday", + "2025-05-01": "International Workers' Day", + "2025-05-12": "Vesak Full Moon Poya Day", + "2025-05-13": "Day Following Vesak Full Moon Poya Day", + "2025-06-07": "Eid al-Adha", + "2025-06-10": "Poson Full Moon Poya Day", + "2025-07-10": "Esala Full Moon Poya Day", + "2025-08-08": "Nikini Full Moon Poya Day", + "2025-09-05": "The Prophet's Birthday", + "2025-09-07": "Binara Full Moon Poya Day", + "2025-10-06": "Vap Full Moon Poya Day", + "2025-10-20": "Deepavali Festival Day", + "2025-11-05": "Il Full Moon Poya Day", + "2025-12-04": "Unduvap Full Moon Poya Day", + "2025-12-25": "Christmas Day" +} diff --git a/tests/countries/test_israel.py b/tests/countries/test_israel.py index 59504a6b5..c9cc47f10 100644 --- a/tests/countries/test_israel.py +++ b/tests/countries/test_israel.py @@ -488,6 +488,45 @@ def test_l10n_en_us(self): ("2021-12-06", "Hanukkah"), ) + def test_l10n_th(self): + self.assertLocalizedHolidays( + "th", + ("2021-02-25", "วันทาอานิต เอสเธอร์"), + ("2021-02-26", "เทศกาลปูริม"), + ("2021-03-28", "วันเพสสะห์"), + ("2021-03-29", "เทศกาลเพสสะห์"), + ("2021-03-30", "เทศกาลเพสสะห์"), + ("2021-03-31", "เทศกาลเพสสะห์"), + ("2021-04-01", "เทศกาลเพสสะห์"), + ("2021-04-02", "เทศกาลเพสสะห์"), + ("2021-04-03", "วันเพสสะห์วันที่เจ็ด"), + ("2021-04-14", "ชดเชยวันรำลึกถึงทหารผู้สละชีพและเหยื่อการก่อการร้าย"), + ("2021-04-15", "ชดเชยวันชาติอิสราเอล"), + ("2021-04-30", "วันแล็ก บาโอเมอร์"), + ("2021-05-10", "วันเยรูซาเล็ม"), + ("2021-05-17", "วันชาวูโอท"), + ("2021-07-18", "วันทิชอา เบอัฟ"), + ("2021-09-07", "เทศกาลรอช ฮาชานาห์ (วันปีใหม่ยิว)"), + ("2021-09-08", "เทศกาลรอช ฮาชานาห์ (วันปีใหม่ยิว)"), + ("2021-09-16", "วันยม คิปปูร์"), + ("2021-09-21", "วันสุคคต"), + ("2021-09-22", "เทศกาลสุคคต"), + ("2021-09-23", "เทศกาลสุคคต"), + ("2021-09-24", "เทศกาลสุคคต"), + ("2021-09-25", "เทศกาลสุคคต"), + ("2021-09-26", "เทศกาลสุคคต"), + ("2021-09-28", "วันซิมหัต โทราห์ / วันเชมินี อัตเซเรต"), + ("2021-11-04", "เทศกาลซิกด์"), + ("2021-11-29", "เทศกาลฮานุกกะห์"), + ("2021-11-30", "เทศกาลฮานุกกะห์"), + ("2021-12-01", "เทศกาลฮานุกกะห์"), + ("2021-12-02", "เทศกาลฮานุกกะห์"), + ("2021-12-03", "เทศกาลฮานุกกะห์"), + ("2021-12-04", "เทศกาลฮานุกกะห์"), + ("2021-12-05", "เทศกาลฮานุกกะห์"), + ("2021-12-06", "เทศกาลฮานุกกะห์"), + ) + def test_l10n_uk(self): self.assertLocalizedHolidays( "uk", diff --git a/tests/countries/test_sri_lanka.py b/tests/countries/test_sri_lanka.py new file mode 100644 index 000000000..0b1f12456 --- /dev/null +++ b/tests/countries/test_sri_lanka.py @@ -0,0 +1,356 @@ +# holidays +# -------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: Vacanza Team and individual contributors (see AUTHORS file) +# dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/vacanza/holidays +# License: MIT (see LICENSE file) + +from unittest import TestCase + +from holidays.constants import BANK, GOVERNMENT, PUBLIC, WORKDAY +from holidays.countries.sri_lanka import SriLanka, LK, LKA +from tests.common import CommonCountryTests + + +class TestSriLanka(CommonCountryTests, TestCase): + @classmethod + def setUpClass(cls): + super().setUpClass(SriLanka, years=range(1972, 2025)) + + def test_country_aliases(self): + self.assertAliases(SriLanka, LK, LKA) + + def test_no_holidays(self): + self.assertNoHolidays( + SriLanka(years=(1971, 2026), categories=(BANK, GOVERNMENT, PUBLIC, WORKDAY)) + ) + + def test_special(self): + self.assertHoliday( + # 2020 Covid-19 Lockdowns. + "2020-03-16", + "2020-03-17", + "2020-03-18", + "2020-03-19", + # Other Special Public Holidays. + "2012-05-07", + "2013-04-15", + "2016-04-15", + "2019-05-20", + "2022-04-11", + "2022-04-12", + "2022-05-02", + "2024-04-15", + "2024-09-29", + # Adhi [MONTH] Full Moon Day. + "2004-07-31", + "2007-05-31", + "2010-04-28", + "2012-08-31", + "2015-07-01", + "2018-05-29", + "2020-10-01", + "2023-07-03", + ) + + def test_special_bank(self): + dt = ( + # Special Bank Holidays. + "2005-05-02", + "2005-12-26", + "2007-02-05", + "2007-04-03", + "2008-04-18", + "2011-05-02", + "2011-12-26", + "2012-01-16", + "2012-02-10", + "2012-05-07", + "2013-04-15", + "2014-04-15", + "2015-01-05", + "2016-05-02", + "2016-05-23", + "2016-12-26", + "2018-01-15", + "2018-02-05", + "2019-04-15", + # 2019-05-20 got upgraded to Special Public Holiday. + "2019-11-11", + "2020-04-14", + # 2022-05-02 got upgraded to Special Public Holiday. + "2022-10-10", + "2022-12-26", + "2023-01-16", + "2025-04-15", + ) + dt_half = ( + # Half-Day Special Bank Holidays. + "2021-04-30", + "2021-12-24", + ) + self.assertHoliday(SriLanka(categories=BANK), dt, dt_half) + + def test_special_government(self): + # 2020 Covid Lockdowns + # https://www.adaderana.lk/news.php?nid=64367 + # 2022 Sri Lankan Fuel Crisis + # https://www.adaderana.lk/news.php?nid=82979 + # https://www.adaderana.lk/news.php?nid=83082 + # https://www.adaderana.lk/news.php?nid=84035 + self.assertHoliday( + SriLanka(categories=GOVERNMENT), + "2020-06-04", + "2022-06-13", + "2022-06-17", + "2022-06-24", + "2022-07-01", + "2022-07-08", + "2022-07-15", + "2022-07-22", + "2022-07-29", + ) + + def test_special_workday(self): + # 2003 Deepavali. + self.assertHoliday(SriLanka(categories=WORKDAY), "2003-10-24") + + def test_deepavali(self): + name = "දීපවාලි උත්සව දිනය" + self.assertHolidayName( + name, + "2020-11-14", + "2021-11-04", + "2022-10-24", + "2023-11-12", + "2024-10-31", + "2025-10-20", + ) + self.assertNoHolidayName(name, 2003) + + def test_maha_sivarathri(self): + name = "මහ සිවරාත්රි දිනය" + self.assertHolidayName( + name, + "2003-03-01", + "2004-02-18", + "2005-03-08", + "2006-02-26", + "2007-02-16", + "2008-03-06", + "2009-02-23", + "2010-03-13", + "2011-03-02", + "2012-02-20", + "2013-03-10", + "2014-02-27", + "2015-02-17", + "2016-03-07", + "2017-02-24", + "2018-02-13", + "2019-03-04", + "2020-02-21", + "2021-03-11", + "2022-03-01", + "2023-02-18", + "2024-03-08", + "2025-02-26", + ) + self.assertNoHolidayName(name, 2002) + + def test_2023_all(self): + # https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2023 + self.assertHolidays( + SriLanka(categories=(BANK, GOVERNMENT, PUBLIC, WORKDAY), years=2023), + ("2023-01-06", "දුරුතු පුර පසළොස්වක පෝය දිනය"), + ("2023-01-15", "දෙමළ තෛපොංැලල් දිනය"), + ("2023-01-16", "විශේෂ බැංකු නිවාඩු දිනය"), + ("2023-02-04", "නිදහස් සමරු දිනය"), + ("2023-02-05", "නවම් පුර පසළොස්වක පෝය දිනය"), + ("2023-02-18", "මහ සිවරාත්රි දිනය"), + ("2023-03-06", "මැදින් පුර පසළොස්වක පෝය දිනය"), + ("2023-04-05", "බක් පුර පසළොස්වක පෝය දිනය"), + ("2023-04-07", "මහ සිකුරාදා දිනය"), + ("2023-04-13", "සිංහල හා දෙමළ අලුත් අවුරුදු දිනට පෙර දිනය"), + ("2023-04-14", "සිංහල හා දෙමළ අලුත් අවුරුදු දිනය"), + ("2023-04-22", "ඊදුල් ෆීතර්"), + ("2023-05-01", "ලොක කම්කරු දිනය"), + ("2023-05-05", "වෙසක් පුර පසළොස්වක පෝය දිනය"), + ("2023-05-06", "වෙසක් පුර පසළොස්වක පෝය දිනට පසු දිනය"), + ("2023-06-03", "පොසොන් පුර පසළොස්වක පෝය දිනය"), + ("2023-06-29", "ඊදුල් අල්හා"), + ("2023-07-03", "අධි ඇසල පුර පසළොස්වක පෝය දිනය"), + ("2023-08-01", "ඇසල පුර පසළොස්වක පෝය දිනය"), + ("2023-08-30", "නිකිණි පුර පසළොස්වක පෝය දිනය"), + ("2023-09-28", "නබි නායකතුමාගේ උපන් දිනය"), + ("2023-09-29", "බිනර පුර පසළොස්වක පෝය දිනය"), + ("2023-10-28", "වප් පුර පසළොස්වක පෝය දිනය"), + ("2023-11-12", "දීපවාලි උත්සව දිනය"), + ("2023-11-26", "ඉල් පුර පසළොස්වක පෝය දිනය"), + ("2023-12-25", "නත්තල් උත්සව දිනය"), + ("2023-12-26", "උඳුවප් පුර පසළොස්වක පෝය දිනය"), + ) + + def test_2024_all(self): + # https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2024 + self.assertHolidays( + SriLanka(categories=(BANK, GOVERNMENT, PUBLIC, WORKDAY), years=2024), + ("2024-01-15", "දෙමළ තෛපොංැලල් දිනය"), + ("2024-01-25", "දුරුතු පුර පසළොස්වක පෝය දිනය"), + ("2024-02-04", "නිදහස් සමරු දිනය"), + ("2024-02-23", "නවම් පුර පසළොස්වක පෝය දිනය"), + ("2024-03-08", "මහ සිවරාත්රි දිනය"), + ("2024-03-24", "මැදින් පුර පසළොස්වක පෝය දිනය"), + ("2024-03-29", "මහ සිකුරාදා දිනය"), + ("2024-04-11", "ඊදුල් ෆීතර්"), + ("2024-04-12", "සිංහල හා දෙමළ අලුත් අවුරුදු දිනට පෙර දිනය"), + ("2024-04-13", "සිංහල හා දෙමළ අලුත් අවුරුදු දිනය"), + ("2024-04-15", "විශේෂ රජයේ නිවාඩු දිනය"), + ("2024-04-23", "බක් පුර පසළොස්වක පෝය දිනය"), + ("2024-05-01", "ලොක කම්කරු දිනය"), + ("2024-05-23", "වෙසක් පුර පසළොස්වක පෝය දිනය"), + ("2024-05-24", "වෙසක් පුර පසළොස්වක පෝය දිනට පසු දිනය"), + ("2024-06-17", "ඊදුල් අල්හා"), + ("2024-06-21", "පොසොන් පුර පසළොස්වක පෝය දිනය"), + ("2024-07-20", "ඇසල පුර පසළොස්වක පෝය දිනය"), + ("2024-08-19", "නිකිණි පුර පසළොස්වක පෝය දිනය"), + ("2024-09-16", "නබි නායකතුමාගේ උපන් දිනය"), + ("2024-09-17", "බිනර පුර පසළොස්වක පෝය දිනය"), + ("2024-09-29", "විශේෂ රජයේ නිවාඩු දිනය"), + ("2024-10-17", "වප් පුර පසළොස්වක පෝය දිනය"), + ("2024-10-31", "දීපවාලි උත්සව දිනය"), + ("2024-11-15", "ඉල් පුර පසළොස්වක පෝය දිනය"), + ("2024-12-14", "උඳුවප් පුර පසළොස්වක පෝය දිනය"), + ("2024-12-25", "නත්තල් උත්සව දිනය"), + ) + + def test_l10_default(self): + # https://www.cbsl.gov.lk/en/about/about-the-bank/bank-holidays-2025 + self.assertLocalizedHolidays( + ("2022-01-14", "දෙමළ තෛපොංැලල් දිනය"), + ("2022-01-17", "දුරුතු පුර පසළොස්වක පෝය දිනය"), + ("2022-02-04", "නිදහස් සමරු දිනය"), + ("2022-02-16", "නවම් පුර පසළොස්වක පෝය දිනය"), + ("2022-03-01", "මහ සිවරාත්රි දිනය"), + ("2022-03-17", "මැදින් පුර පසළොස්වක පෝය දිනය"), + ("2022-04-11", "විශේෂ රජයේ නිවාඩු දිනය"), + ("2022-04-12", "විශේෂ රජයේ නිවාඩු දිනය"), + ("2022-04-13", "සිංහල හා දෙමළ අලුත් අවුරුදු දිනට පෙර දිනය"), + ("2022-04-14", "සිංහල හා දෙමළ අලුත් අවුරුදු දිනය"), + ("2022-04-15", "මහ සිකුරාදා දිනය"), + ("2022-04-16", "බක් පුර පසළොස්වක පෝය දිනය"), + ("2022-05-01", "ලොක කම්කරු දිනය"), + ("2022-05-02", "විශේෂ රජයේ නිවාඩු දිනය"), + ("2022-05-03", "ඊදුල් ෆීතර්"), + ("2022-05-15", "වෙසක් පුර පසළොස්වක පෝය දිනය"), + ("2022-05-16", "වෙසක් පුර පසළොස්වක පෝය දිනට පසු දිනය"), + ("2022-06-13", "රාජ්ය අංශයේ නිවාඩු දිනය"), + ("2022-06-14", "පොසොන් පුර පසළොස්වක පෝය දිනය"), + ("2022-06-17", "රාජ්ය අංශයේ නිවාඩු දිනය"), + ("2022-06-24", "රාජ්ය අංශයේ නිවාඩු දිනය"), + ("2022-07-01", "රාජ්ය අංශයේ නිවාඩු දිනය"), + ("2022-07-08", "රාජ්ය අංශයේ නිවාඩු දිනය"), + ("2022-07-10", "ඊදුල් අල්හා"), + ("2022-07-13", "ඇසල පුර පසළොස්වක පෝය දිනය"), + ("2022-07-15", "රාජ්ය අංශයේ නිවාඩු දිනය"), + ("2022-07-22", "රාජ්ය අංශයේ නිවාඩු දිනය"), + ("2022-07-29", "රාජ්ය අංශයේ නිවාඩු දිනය"), + ("2022-08-11", "නිකිණි පුර පසළොස්වක පෝය දිනය"), + ("2022-09-10", "බිනර පුර පසළොස්වක පෝය දිනය"), + ("2022-10-09", "නබි නායකතුමාගේ උපන් දිනය; වප් පුර පසළොස්වක පෝය දිනය"), + ("2022-10-10", "විශේෂ බැංකු නිවාඩු දිනය"), + ("2022-10-24", "දීපවාලි උත්සව දිනය"), + ("2022-11-07", "ඉල් පුර පසළොස්වක පෝය දිනය"), + ("2022-12-07", "උඳුවප් පුර පසළොස්වක පෝය දිනය"), + ("2022-12-25", "නත්තල් උත්සව දිනය"), + ("2022-12-26", "විශේෂ බැංකු නිවාඩු දිනය"), + ) + + def test_l10n_en_us(self): + self.assertLocalizedHolidays( + "en_US", + ("2022-01-14", "Tamil Thai Pongal Day"), + ("2022-01-17", "Duruthu Full Moon Poya Day"), + ("2022-02-04", "Independence Day"), + ("2022-02-16", "Nawam Full Moon Poya Day"), + ("2022-03-01", "Maha Sivarathri Day"), + ("2022-03-17", "Medin Full Moon Poya Day"), + ("2022-04-11", "Special Public Holiday"), + ("2022-04-12", "Special Public Holiday"), + ("2022-04-13", "Day Before Sinhala and Tamil New Year"), + ("2022-04-14", "Sinhala and Tamil New Year"), + ("2022-04-15", "Good Friday"), + ("2022-04-16", "Bak Full Moon Poya Day"), + ("2022-05-01", "International Workers' Day"), + ("2022-05-02", "Special Public Holiday"), + ("2022-05-03", "Eid al-Fitr"), + ("2022-05-15", "Vesak Full Moon Poya Day"), + ("2022-05-16", "Day Following Vesak Full Moon Poya Day"), + ("2022-06-13", "Public Sector Holiday"), + ("2022-06-14", "Poson Full Moon Poya Day"), + ("2022-06-17", "Public Sector Holiday"), + ("2022-06-24", "Public Sector Holiday"), + ("2022-07-01", "Public Sector Holiday"), + ("2022-07-08", "Public Sector Holiday"), + ("2022-07-10", "Eid al-Adha"), + ("2022-07-13", "Esala Full Moon Poya Day"), + ("2022-07-15", "Public Sector Holiday"), + ("2022-07-22", "Public Sector Holiday"), + ("2022-07-29", "Public Sector Holiday"), + ("2022-08-11", "Nikini Full Moon Poya Day"), + ("2022-09-10", "Binara Full Moon Poya Day"), + ("2022-10-09", "The Prophet's Birthday; Vap Full Moon Poya Day"), + ("2022-10-10", "Special Bank Holiday"), + ("2022-10-24", "Deepavali Festival Day"), + ("2022-11-07", "Il Full Moon Poya Day"), + ("2022-12-07", "Unduvap Full Moon Poya Day"), + ("2022-12-25", "Christmas Day"), + ("2022-12-26", "Special Bank Holiday"), + ) + + def test_l10n_ta_lk(self): + self.assertLocalizedHolidays( + "ta_LK", + ("2022-01-14", "தமிழ் தைப்பொங்கல் தினம்"), + ("2022-01-17", "துருத்து முழு நோன்மதி தினம்"), + ("2022-02-04", "சுதந்திர தினம்"), + ("2022-02-16", "நவம் முழு நோன்மதி தினம்"), + ("2022-03-01", "மகா சிவராத்திரி தினம்"), + ("2022-03-17", "மெதின் முழு நோன்மதி தினம்"), + ("2022-04-11", "விசேட பொது விடுமுறை"), + ("2022-04-12", "விசேட பொது விடுமுறை"), + ("2022-04-13", "சிங்கள, தமிழ் புத்தாண்டிற்கு முன்னைய தினம்"), + ("2022-04-14", "சிங்கள, தமிழ் புத்தாண்டு தினம்"), + ("2022-04-15", "பெரிய வெள்ளிக்கிழமை"), + ("2022-04-16", "பக் முழு நோன்மதி தினம்"), + ("2022-05-01", "சர்வதேச தொழிலாளர்கள் தினம்"), + ("2022-05-02", "விசேட பொது விடுமுறை"), + ("2022-05-03", "ஈதுல் பித்ர்"), + ("2022-05-15", "வெசாக் முழு நோன்மதி தினம்"), + ("2022-05-16", "வெசாக் முழு நோன்மதி தினத்திற்கு அடுத்த நாள்"), + ("2022-06-13", "பொதுத்துறை விடுமுறை"), + ("2022-06-14", "பொசொன் முழு நோன்மதி தினம்"), + ("2022-06-17", "பொதுத்துறை விடுமுறை"), + ("2022-06-24", "பொதுத்துறை விடுமுறை"), + ("2022-07-01", "பொதுத்துறை விடுமுறை"), + ("2022-07-08", "பொதுத்துறை விடுமுறை"), + ("2022-07-10", "ஈதுல் அழ்ஹா"), + ("2022-07-13", "எசல முழு நோன்மதி தினம்"), + ("2022-07-15", "பொதுத்துறை விடுமுறை"), + ("2022-07-22", "பொதுத்துறை விடுமுறை"), + ("2022-07-29", "பொதுத்துறை விடுமுறை"), + ("2022-08-11", "நிக்கினி முழு நோன்மதி தினம்"), + ("2022-09-10", "பினர முழு நோன்மதி தினம்"), + ("2022-10-09", "நபிகள் நாயகத்தின் பிறந்த தினம்; வப் முழு நோன்மதி தினம்"), + ("2022-10-10", "விசேட வங்கி விடுமுறை"), + ("2022-10-24", "தீபாவளிப் பண்டிகை தினம்"), + ("2022-11-07", "இல் முழு நோன்மதி தினம்"), + ("2022-12-07", "உந்துவப் முழு நோன்மதி தினம்"), + ("2022-12-25", "நத்தார் பண்டிகை"), + ("2022-12-26", "விசேட வங்கி விடுமுறை"), + )