From f50a2ca8e0966eecd8b2790bd223f710fbdd44fa Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Fri, 23 Jun 2023 22:01:27 +0700 Subject: [PATCH 01/18] [LA] initial implementations --- holidays/countries/laos.py | 173 +++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 holidays/countries/laos.py diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py new file mode 100644 index 000000000..8bd7064e9 --- /dev/null +++ b/holidays/countries/laos.py @@ -0,0 +1,173 @@ +# python-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: dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/dr-prodigy/python-holidays +# License: MIT (see LICENSE file) + +from datetime import timedelta as td +from gettext import gettext as tr + +from holidays.calendars import KHMER_CALENDAR +from holidays.constants import APR, DEC +from holidays.holiday_base import HolidayBase +from holidays.holiday_groups import InternationalHolidays, ThaiCalendarHolidays + + +class Laos(HolidayBase, InternationalHolidays, ThaiCalendarHolidays): + """ + A subclass of :py:class:`HolidayBase` representing public holidays in Laos. + + References: + + - Based on: https://en.wikipedia.org/wiki/Public_holidays_in_Laos + https://www.ayutthaya.go.th/5786-%20ข้อควรรู้และวันหยุดในประเทศลาว + ດຳລັດວ່າດ້ວຍ ວັນພັກ ເລກທີ 386 /ລບ (15.12.2017) + + - Checked with: https://asean.org/wp-content/uploads/2021/12/ASEAN-National-Holidays-2022.pdf + https://asean.org/wp-content/uploads/2022/12/ASEAN-Public-Holidays-2023.pdf + https://www.timeanddate.com/holidays/laos/ + + Limitations: + + - Laotian holidays only works from 1976 onwards, and are only 100% accurate from 2018 onwards. + + - Laotian Lunar Calendar Holidays only work from 1941 (B.E. 2485) onwards until 2057 + (B.E. 2601) as we only have Thai year-type data for cross-checking until then. + + + Country created by: `PPsyrius `__ + + Country maintained by: `PPsyrius `__ + """ + + country = "LA" + default_language = "lo" + + # Special Cases. + + # Lao New Year's Day (in-lieu) + lao_new_year_in_lieu = tr("ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ") + + special_holidays = { + 2017: ( + (APR, 12, lao_new_year_in_lieu), + (APR, 13, lao_new_year_in_lieu), + ), + 2017: ( + (APR, 13, lao_new_year_in_lieu), + (APR, 17, lao_new_year_in_lieu), + ), + } + supported_languages = ("en_US", "lo", "th") + + def __init__(self, *args, **kwargs): + InternationalHolidays.__init__(self) + ThaiCalendarHolidays.__init__(self) + super().__init__(*args, **kwargs) + + def _populate(self, year): + # Available post-Lao PDR proclamation on Dec 2, 1975. + if year <= 1975: + return None + + def _add_observed(dt: date) -> None: + """ + !!! If Public Holiday falls on weekends, (in lieu) on workday !!! + Despite the wording, this usually only applies to Monday only for holidays, + consecutive holidays all have their own special in lieu declared separately. + + As featured in ດຳລັດວ່າດ້ວຍ ວັນພັກ ເລກທີ 386 /ລບ (15.12.2017); + - Saturdays and Sundays shall be restdays each week. + - In-Lieu holidays shall be given if it fall on the weekends. + """ + if self.observed and self._is_weekend(dt) and year >= 2018: + in_lieu = dt + td(days=+2 if self._is_saturday(dt) else +1) + for name in self.get_list(dt): + self._add_holiday(self.tr("ພັກຊົດເຊີຍ%s") % name, in_lieu) + + super()._populate(year) + + # Fixed Date Official Holidays + + # ວັນປີໃໝ່ສາກົນ + # Status: In-Use. + + # New Year's Day + _add_observed(self._add_new_years_day(tr("ວັນປີໃໝ່ສາກົນ"))) + + # ວັນແມ່ຍິງສາກົນ + # Status: In-Use. + # Only acts as day off for Women. + + # International Women's Rights Day + _add_observed(self._add_womens_day(tr("ວັນແມ່ຍິງສາກົນ"))) + + # ບຸນປີໃໝ່ລາວ + # Status: In-Use. + # Celebrated for 3 days from 14-16 April annualy. + + # Lao New Year's Day + name = tr("ບຸນປີໃໝ່ລາວ") + dt = self._add_holiday(name, APR, 14) + self._add_holiday(name, dt + td(days=+1)) + self._add_holiday(name, dt + td(days=+2)) + + # ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ + # See in lieu logic in `_add_observed(dt: date)`. + # Dates prior to 2018 are assigned manually + # Status: In-Use. + + if self.observed and year >= 2018: + if self._is_thursday(dt) or self._is_friday(dt) or self._is_saturday(dt): + self._add_holiday(lao_new_year_in_lieu, dt + td(days=+4)) + if self._is_friday(dt) or self._is_saturday(dt) or self._is_sunday(dt): + self._add_holiday(lao_new_year_in_lieu, dt + td(days=+3)) + + # ວັນກຳມະກອນສາກົນ + # Status: In-Use. + + # Labor Day + _add_observed(self._add_labor_day(tr("ວັນກຳມະກອນສາກົນ"))) + + # ວັນເດັກສາກົນ + # Status: Defunct. + # Starts as public holiday after Lao PDR joined UN Convention on the + # Rights of the Child in 1989 (de-facto start as holiday in 1990). + # Became defunct from 2018 onwards. + + if 1990 <= year <= 2017: + # International Children Day + self._add_childrens_day(tr("ວັນເດັກສາກົນ")) + + # ວັນຊາດ + # Status: In-Use. + # Celebrated the establishment of Lao PDR on Dec 2, 1975. + + # Lao National Day + _add_observed(self._add_holiday(tr("ວັນຊາດ"), DEC, 2)) + + # Laotian Lunar Calendar Holidays + # See `_ThaiLunisolar` in holidays/utils.py for more details. + # Laotian Lunar Calendar Holidays only work from 1941 to 2057. + # Unofficial, but observed by schools and most business holidays; + # As such, no in-lieu observance are in place for these holidays. + + # ບຸນທາດຫລວງ + # Status: In-Use, Unofficial. + # 15th Waxing Day of Month 12. + + # Boun That Luang Festival + self._add_loy_krathong(tr("ບຸນທາດຫລວງ")) + + +class LA(Laos): + pass + + +class LAO(Laos): + pass From e0d36012102ff74a1a118c2d3bbd87c219f32289 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Mon, 26 Jun 2023 11:53:21 +0700 Subject: [PATCH 02/18] [LA] fixing errors --- holidays/countries/laos.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index 8bd7064e9..3d90aa059 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -9,10 +9,10 @@ # Website: https://github.com/dr-prodigy/python-holidays # License: MIT (see LICENSE file) +from datetime import date from datetime import timedelta as td from gettext import gettext as tr -from holidays.calendars import KHMER_CALENDAR from holidays.constants import APR, DEC from holidays.holiday_base import HolidayBase from holidays.holiday_groups import InternationalHolidays, ThaiCalendarHolidays @@ -54,7 +54,7 @@ class Laos(HolidayBase, InternationalHolidays, ThaiCalendarHolidays): lao_new_year_in_lieu = tr("ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ") special_holidays = { - 2017: ( + 2016: ( (APR, 12, lao_new_year_in_lieu), (APR, 13, lao_new_year_in_lieu), ), @@ -123,6 +123,7 @@ def _add_observed(dt: date) -> None: # Status: In-Use. if self.observed and year >= 2018: + lao_new_year_in_lieu = self.tr("ພັກຊົດເຊີຍ%s") % self.tr("ບຸນປີໃໝ່ລາວ") if self._is_thursday(dt) or self._is_friday(dt) or self._is_saturday(dt): self._add_holiday(lao_new_year_in_lieu, dt + td(days=+4)) if self._is_friday(dt) or self._is_saturday(dt) or self._is_sunday(dt): From 19266add308a5473c90964f94bd93dffc4ae7e37 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Thu, 31 Aug 2023 13:46:44 +0700 Subject: [PATCH 03/18] [LA] update to v0.31 standards --- holidays/countries/laos.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index 3d90aa059..765a43726 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -13,9 +13,9 @@ from datetime import timedelta as td from gettext import gettext as tr -from holidays.constants import APR, DEC +from holidays.calendars.gregorian import APR +from holidays.groups import InternationalHolidays, ThaiCalendarHolidays from holidays.holiday_base import HolidayBase -from holidays.holiday_groups import InternationalHolidays, ThaiCalendarHolidays class Laos(HolidayBase, InternationalHolidays, ThaiCalendarHolidays): @@ -113,7 +113,7 @@ def _add_observed(dt: date) -> None: # Lao New Year's Day name = tr("ບຸນປີໃໝ່ລາວ") - dt = self._add_holiday(name, APR, 14) + dt = self._add_holiday_apr_14(name) self._add_holiday(name, dt + td(days=+1)) self._add_holiday(name, dt + td(days=+2)) @@ -150,7 +150,7 @@ def _add_observed(dt: date) -> None: # Celebrated the establishment of Lao PDR on Dec 2, 1975. # Lao National Day - _add_observed(self._add_holiday(tr("ວັນຊາດ"), DEC, 2)) + _add_observed(self._add_holiday_dec_2(tr("ວັນຊາດ"))) # Laotian Lunar Calendar Holidays # See `_ThaiLunisolar` in holidays/utils.py for more details. From af9a25bb5337df5de30b3b1f3527a27401e99c14 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Sat, 9 Sep 2023 18:00:57 +0700 Subject: [PATCH 04/18] [LA][WIP] ObservedHolidaybase. Support Categories --- holidays/countries/laos.py | 76 +++++++++++++++++-------------- holidays/observed_holiday_base.py | 2 + 2 files changed, 44 insertions(+), 34 deletions(-) diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index 765a43726..010be35f7 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -10,15 +10,20 @@ # License: MIT (see LICENSE file) from datetime import date -from datetime import timedelta as td from gettext import gettext as tr from holidays.calendars.gregorian import APR +from holidays.constants import PUBLIC, SCHOOL from holidays.groups import InternationalHolidays, ThaiCalendarHolidays -from holidays.holiday_base import HolidayBase +from holidays.observed_holiday_base import ( + ObservedHolidayBase, + THU_FRI_SAT_TO_NEXT_MON_TUE_WED, + FRI_SAT_SUN_TO_NEXT_MON_TUE_WED, + SAT_SUN_TO_NEXT_MON, +) -class Laos(HolidayBase, InternationalHolidays, ThaiCalendarHolidays): +class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): """ A subclass of :py:class:`HolidayBase` representing public holidays in Laos. @@ -32,6 +37,14 @@ class Laos(HolidayBase, InternationalHolidays, ThaiCalendarHolidays): https://asean.org/wp-content/uploads/2022/12/ASEAN-Public-Holidays-2023.pdf https://www.timeanddate.com/holidays/laos/ + !!! If Public Holiday falls on weekends, (in lieu) on workday !!! + Despite the wording, this usually only applies to Monday only for holidays, + consecutive holidays all have their own special in lieu declared separately. + + As featured in ດຳລັດວ່າດ້ວຍ ວັນພັກ ເລກທີ 386 /ລບ (15.12.2017); + - Saturdays and Sundays shall be restdays each week. + - In-Lieu holidays shall be given if it fall on the weekends. + Limitations: - Laotian holidays only works from 1976 onwards, and are only 100% accurate from 2018 onwards. @@ -46,7 +59,10 @@ class Laos(HolidayBase, InternationalHolidays, ThaiCalendarHolidays): """ country = "LA" + supported_categories = {PUBLIC, SCHOOL} default_language = "lo" + # %s (in lieu). + observed_label = tr("ພັກຊົດເຊີຍ%s") # Special Cases. @@ -68,30 +84,16 @@ class Laos(HolidayBase, InternationalHolidays, ThaiCalendarHolidays): def __init__(self, *args, **kwargs): InternationalHolidays.__init__(self) ThaiCalendarHolidays.__init__(self) - super().__init__(*args, **kwargs) + super().__init__(observed_rule=SAT_SUN_TO_NEXT_MON, *args, **kwargs) + + def _is_observed(self, dt: date) -> bool: + return self._year >= 2018 - def _populate(self, year): + def _populate_public_holidays(self): # Available post-Lao PDR proclamation on Dec 2, 1975. - if year <= 1975: + if self._year <= 1975: return None - def _add_observed(dt: date) -> None: - """ - !!! If Public Holiday falls on weekends, (in lieu) on workday !!! - Despite the wording, this usually only applies to Monday only for holidays, - consecutive holidays all have their own special in lieu declared separately. - - As featured in ດຳລັດວ່າດ້ວຍ ວັນພັກ ເລກທີ 386 /ລບ (15.12.2017); - - Saturdays and Sundays shall be restdays each week. - - In-Lieu holidays shall be given if it fall on the weekends. - """ - if self.observed and self._is_weekend(dt) and year >= 2018: - in_lieu = dt + td(days=+2 if self._is_saturday(dt) else +1) - for name in self.get_list(dt): - self._add_holiday(self.tr("ພັກຊົດເຊີຍ%s") % name, in_lieu) - - super()._populate(year) - # Fixed Date Official Holidays # ວັນປີໃໝ່ສາກົນ @@ -114,20 +116,22 @@ def _add_observed(dt: date) -> None: # Lao New Year's Day name = tr("ບຸນປີໃໝ່ລາວ") dt = self._add_holiday_apr_14(name) - self._add_holiday(name, dt + td(days=+1)) - self._add_holiday(name, dt + td(days=+2)) + self._add_holiday_apr_15(name) + self._add_holiday_apr_16(name) # ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ # See in lieu logic in `_add_observed(dt: date)`. # Dates prior to 2018 are assigned manually # Status: In-Use. - - if self.observed and year >= 2018: - lao_new_year_in_lieu = self.tr("ພັກຊົດເຊີຍ%s") % self.tr("ບຸນປີໃໝ່ລາວ") - if self._is_thursday(dt) or self._is_friday(dt) or self._is_saturday(dt): - self._add_holiday(lao_new_year_in_lieu, dt + td(days=+4)) - if self._is_friday(dt) or self._is_saturday(dt) or self._is_sunday(dt): - self._add_holiday(lao_new_year_in_lieu, dt + td(days=+3)) + # - CASE 1: THU-FRI-SAT -> in-lieu on MON. + # - CASE 2: FRI-SAT-SUN -> in-lieu on MON-TUE + # - CASE 3: SAT-SUN-MON -> in-lieu on TUE-WED + # - CASE 4: SUN-MON-TUE -> in-lieu on WED + if year >= 2018: + self._add_observed( + dt, + rule=THU_FRI_SAT_TO_NEXT_MON_TUE_WED + FRI_SAT_SUN_TO_NEXT_MON_TUE_WED, + ) # ວັນກຳມະກອນສາກົນ # Status: In-Use. @@ -141,7 +145,7 @@ def _add_observed(dt: date) -> None: # Rights of the Child in 1989 (de-facto start as holiday in 1990). # Became defunct from 2018 onwards. - if 1990 <= year <= 2017: + if 1990 <= self._year <= 2017: # International Children Day self._add_childrens_day(tr("ວັນເດັກສາກົນ")) @@ -152,12 +156,16 @@ def _add_observed(dt: date) -> None: # Lao National Day _add_observed(self._add_holiday_dec_2(tr("ວັນຊາດ"))) + def _populate_school_holidays(self): # Laotian Lunar Calendar Holidays # See `_ThaiLunisolar` in holidays/utils.py for more details. - # Laotian Lunar Calendar Holidays only work from 1941 to 2057. # Unofficial, but observed by schools and most business holidays; # As such, no in-lieu observance are in place for these holidays. + # Laotian Lunar Calendar Holidays only work from 1941 to 2057. + if self._year <= 1940: + return None + # ບຸນທາດຫລວງ # Status: In-Use, Unofficial. # 15th Waxing Day of Month 12. diff --git a/holidays/observed_holiday_base.py b/holidays/observed_holiday_base.py index 01b75ee74..69d1ce280 100644 --- a/holidays/observed_holiday_base.py +++ b/holidays/observed_holiday_base.py @@ -74,10 +74,12 @@ def __add__(self, other): THU_FRI_TO_NEXT_MON = ObservedRule({THU: +4, FRI: +3}) THU_FRI_TO_NEXT_WORKDAY = ObservedRule({THU: +7, FRI: +7}) THU_FRI_SUN_TO_NEXT_MON = ObservedRule({THU: +4, FRI: +3, SUN: +1}) +THU_FRI_SAT_TO_NEXT_MON_TUE_WED = ObservedRule({THU: +4, FRI: +4, SAT: +4}) FRI_SAT_TO_NEXT_WORKDAY = ObservedRule({FRI: +7, SAT: +7}) FRI_SUN_TO_NEXT_MON = ObservedRule({FRI: +3, SUN: +1}) FRI_SUN_TO_NEXT_SAT_MON = ObservedRule({FRI: +1, SUN: +1}) +FRI_SAT_SUN_TO_NEXT_MON_TUE_WED = ObservedRule({FRI: +3, SAT: +3, SUN: +3}) SAT_SUN_TO_PREV_FRI = ObservedRule({SAT: -1, SUN: -2}) SAT_SUN_TO_NEXT_MON = ObservedRule({SAT: +2, SUN: +1}) From 1a30490b4a11a5c835138f96af28f4a34d003c38 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Sat, 9 Sep 2023 18:02:27 +0700 Subject: [PATCH 05/18] [LA][WIP] forgot these --- holidays/countries/laos.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index 010be35f7..9c35b0cd4 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -69,7 +69,7 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): # Lao New Year's Day (in-lieu) lao_new_year_in_lieu = tr("ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ") - special_holidays = { + special_public_holidays = { 2016: ( (APR, 12, lao_new_year_in_lieu), (APR, 13, lao_new_year_in_lieu), @@ -127,7 +127,7 @@ def _populate_public_holidays(self): # - CASE 2: FRI-SAT-SUN -> in-lieu on MON-TUE # - CASE 3: SAT-SUN-MON -> in-lieu on TUE-WED # - CASE 4: SUN-MON-TUE -> in-lieu on WED - if year >= 2018: + if self._year >= 2018: self._add_observed( dt, rule=THU_FRI_SAT_TO_NEXT_MON_TUE_WED + FRI_SAT_SUN_TO_NEXT_MON_TUE_WED, From ef37ac9e3f30e8a18a8b1dd6baef56c0115722c3 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Sat, 16 Sep 2023 17:25:06 +0700 Subject: [PATCH 06/18] [LA]{WIP] Initial Localization Attempts, `WORKDAY` cat --- README.rst | 6 +- holidays/countries/__init__.py | 1 + holidays/countries/laos.py | 116 ++++++++++++++++++++---- holidays/locale/en_US/LC_MESSAGES/LA.po | 53 +++++++++++ holidays/locale/lo/LC_MESSAGES/LA.po | 53 +++++++++++ holidays/locale/th/LC_MESSAGES/LA.po | 53 +++++++++++ holidays/registry.py | 1 + tests/countries/test_laos.py | 112 +++++++++++++++++++++++ 8 files changed, 376 insertions(+), 19 deletions(-) create mode 100644 holidays/locale/en_US/LC_MESSAGES/LA.po create mode 100644 holidays/locale/lo/LC_MESSAGES/LA.po create mode 100644 holidays/locale/th/LC_MESSAGES/LA.po create mode 100644 tests/countries/test_laos.py diff --git a/README.rst b/README.rst index ffddb6cdb..4a39ed9f8 100644 --- a/README.rst +++ b/README.rst @@ -109,7 +109,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 134 country codes. The standard way to refer to a country +We currently support 135 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 of the countries support more than one language for holiday names output. @@ -417,6 +417,10 @@ The list of supported countries, their subdivisions and supported languages - KG - - + * - Laos + - LA + - + - en_US, **lo**, th * - Latvia - LV - diff --git a/holidays/countries/__init__.py b/holidays/countries/__init__.py index f57ea6d02..52c9907c6 100644 --- a/holidays/countries/__init__.py +++ b/holidays/countries/__init__.py @@ -82,6 +82,7 @@ from .kazakhstan import Kazakhstan, KZ, KAZ from .kenya import Kenya, KE, KEN from .kyrgyzstan import Kyrgyzstan, KG, KGZ +from .laos import Laos, LA, LAO from .latvia import Latvia, LV, LVA from .lesotho import Lesotho, LS, LSO from .liechtenstein import Liechtenstein, LI, LIE diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index 9c35b0cd4..961ca9f94 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -13,6 +13,7 @@ from gettext import gettext as tr from holidays.calendars.gregorian import APR +from holidays.calendars.thai import KHMER_CALENDAR from holidays.constants import PUBLIC, SCHOOL from holidays.groups import InternationalHolidays, ThaiCalendarHolidays from holidays.observed_holiday_base import ( @@ -36,6 +37,8 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): - Checked with: https://asean.org/wp-content/uploads/2021/12/ASEAN-National-Holidays-2022.pdf https://asean.org/wp-content/uploads/2022/12/ASEAN-Public-Holidays-2023.pdf https://www.timeanddate.com/holidays/laos/ + https://www.bcel.com.la/bcel/bcel-calendar.html?y=2022 + https://www.bcel.com.la/bcel/bcel-calendar.html?year=2023 !!! If Public Holiday falls on weekends, (in lieu) on workday !!! Despite the wording, this usually only applies to Monday only for holidays, @@ -83,7 +86,7 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): def __init__(self, *args, **kwargs): InternationalHolidays.__init__(self) - ThaiCalendarHolidays.__init__(self) + ThaiCalendarHolidays.__init__(self, KHMER_CALENDAR) super().__init__(observed_rule=SAT_SUN_TO_NEXT_MON, *args, **kwargs) def _is_observed(self, dt: date) -> bool: @@ -99,28 +102,27 @@ def _populate_public_holidays(self): # ວັນປີໃໝ່ສາກົນ # Status: In-Use. - # New Year's Day - _add_observed(self._add_new_years_day(tr("ວັນປີໃໝ່ສາກົນ"))) + # New Year's Day. + self._add_observed(self._add_new_years_day(tr("ວັນປີໃໝ່ສາກົນ"))) # ວັນແມ່ຍິງສາກົນ # Status: In-Use. # Only acts as day off for Women. - # International Women's Rights Day - _add_observed(self._add_womens_day(tr("ວັນແມ່ຍິງສາກົນ"))) + # International Women's Rights Day. + self._add_observed(self._add_womens_day(tr("ວັນແມ່ຍິງສາກົນ"))) # ບຸນປີໃໝ່ລາວ # Status: In-Use. # Celebrated for 3 days from 14-16 April annualy. - # Lao New Year's Day + # Lao New Year's Day. name = tr("ບຸນປີໃໝ່ລາວ") dt = self._add_holiday_apr_14(name) self._add_holiday_apr_15(name) self._add_holiday_apr_16(name) # ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ - # See in lieu logic in `_add_observed(dt: date)`. # Dates prior to 2018 are assigned manually # Status: In-Use. # - CASE 1: THU-FRI-SAT -> in-lieu on MON. @@ -136,25 +138,25 @@ def _populate_public_holidays(self): # ວັນກຳມະກອນສາກົນ # Status: In-Use. - # Labor Day - _add_observed(self._add_labor_day(tr("ວັນກຳມະກອນສາກົນ"))) + # Labor Day. + self._add_observed(self._add_labor_day(tr("ວັນກຳມະກອນສາກົນ"))) - # ວັນເດັກສາກົນ - # Status: Defunct. + # ວັນເດັກສາກົນ (`PUBLIC`) + # Status: Defunct, Still Observed. # Starts as public holiday after Lao PDR joined UN Convention on the # Rights of the Child in 1989 (de-facto start as holiday in 1990). - # Became defunct from 2018 onwards. + # Became defunct from 2018 onwards. Still accessible in `WORKDAY` category. if 1990 <= self._year <= 2017: - # International Children Day + # International Children Day. self._add_childrens_day(tr("ວັນເດັກສາກົນ")) # ວັນຊາດ # Status: In-Use. # Celebrated the establishment of Lao PDR on Dec 2, 1975. - # Lao National Day - _add_observed(self._add_holiday_dec_2(tr("ວັນຊາດ"))) + # Lao National Day. + self._add_observed(self._add_holiday_dec_2(tr("ວັນຊາດ"))) def _populate_school_holidays(self): # Laotian Lunar Calendar Holidays @@ -163,16 +165,94 @@ def _populate_school_holidays(self): # As such, no in-lieu observance are in place for these holidays. # Laotian Lunar Calendar Holidays only work from 1941 to 2057. - if self._year <= 1940: + if self._year <= 1975: return None + # ວັນບຸນມາຂະບູຊາ + # Status: In-Use. + # 15th Waxing Day of Month 3. + + # Makha Bousa Festival. + self._add_makha_bucha(tr("ວັນບຸນມາຂະບູຊາ")) + + # ວັນບຸນວິສາຂະບູຊາ + # Status: In-Use. + # 15th Waxing Day of Month 6. + # This utilizes Thai calendar as a base, though are calculated to always happen + # in the Traditional Visakhamas month (May). + + # Visakha Bousa Festival. + self._add_visakha_bucha(tr("ວັນບຸນວິສາຂະບູຊາ")) + # ບຸນທາດຫລວງ - # Status: In-Use, Unofficial. + # Status: In-Use. # 15th Waxing Day of Month 12. - # Boun That Luang Festival + # Boun That Luang Festival. self._add_loy_krathong(tr("ບຸນທາດຫລວງ")) + def _populate_workday_holidays(self): + # No Public Holidays are issued, though still observed by the government. + + # Available post-Lao PDR proclamation on Dec 2, 1975. + if self._year <= 1975: + return None + + # ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ + # Status: In-Use. + # Celebrated the creation of the independent Lao army on Jan 20, 1949. + + # Lao People's Armed Force Day. + self._add_holiday_jan_20(tr("ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ")) + + # ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ + # Status: In-Use. + # Celebrated the creation of Lao Federation of Trade Unions on Feb 1, 1966. + + # Lao Federation of Trade Union's Day. + self._add_holiday_feb_1(tr("ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ")) + + # ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ + # Status: In-Use. + # Celebrated the creation of the Lao People's Revolutionary Party on Mar 22, 1955. + + # Establishment Day of the Lao People's Revolutionary Party. + self._add_holiday_mar_22(tr("ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ")) + + # ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ + # Status: In-Use. + # Celebrated the creation of the Lao People's Revolutionary Youth Union on Apr 14, 1955. + + # Lao People's Revolutionary Youth Union Day. + self._add_holiday_apr_14(tr("ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ")) + + # ວັນເດັກສາກົນ (`WORKDAY`) + # Status: Defunct, Still Observed. + # Starts as public holiday after Lao PDR joined UN Convention on the + # Rights of the Child in 1989 (de-facto start as holiday in 1990). + # Became defunct from 2018 onwards. Still accessible in `WORKDAY` category. + + if self._year >= 2018: + # International Children Day. + self._add_childrens_day(tr("ວັນເດັກສາກົນ")) + + # ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ + # Status: In-Use. + # No information on when this was first observed is available in Thai or English sources. + + # National Arbor Day. + self._add_holiday_jun_1(tr("ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ")) + + # ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ + + # ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ + # Status: In-Use. + # No information on when this was first observed is available in Thai or English sources. + + # The National Day for Wildlife and Aquatic Animal Conservation. + self._add_holiday_jul_13(tr("ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ")) + + class LA(Laos): pass diff --git a/holidays/locale/en_US/LC_MESSAGES/LA.po b/holidays/locale/en_US/LC_MESSAGES/LA.po new file mode 100644 index 000000000..12eacfe86 --- /dev/null +++ b/holidays/locale/en_US/LC_MESSAGES/LA.po @@ -0,0 +1,53 @@ +# Laos holidays en_US localization. +# Authors: PPsyrius , (c) 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Python Holidays 0.33\n" +"POT-Creation-Date: 2023-09-11 15:10+0700\n" +"PO-Revision-Date: \n" +"Last-Translator: PPsyrius \n" +"Language-Team: Python 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" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.3.2\n" + +#. %s (in lieu). +#, c-format +msgid "ພັກຊົດເຊີຍ%s" +msgstr "%s (in lieu)" + +#. Lao New Year's Day (in-lieu) +msgid "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ" +msgstr "Lao New Year's Day (in-lieu)" + +#. New Year's Day +msgid "ວັນປີໃໝ່ສາກົນ" +msgstr "New Year's Day" + +#. International Women's Rights Day +msgid "ວັນແມ່ຍິງສາກົນ" +msgstr "International Women's Rights Day" + +#. Lao New Year's Day +msgid "ບຸນປີໃໝ່ລາວ" +msgstr "Lao New Year's Day" + +#. Labor Day +msgid "ວັນກຳມະກອນສາກົນ" +msgstr "Labor Day" + +#. International Children Day +msgid "ວັນເດັກສາກົນ" +msgstr "International Children Day" + +#. Lao National Day +msgid "ວັນຊາດ" +msgstr "Lao National Day" + +#. Boun That Luang Festival +msgid "ບຸນທາດຫລວງ" +msgstr "Boun That Luang Festival" diff --git a/holidays/locale/lo/LC_MESSAGES/LA.po b/holidays/locale/lo/LC_MESSAGES/LA.po new file mode 100644 index 000000000..18d6dcadf --- /dev/null +++ b/holidays/locale/lo/LC_MESSAGES/LA.po @@ -0,0 +1,53 @@ +# Laos holidays lo localization. +# Authors: PPsyrius , (c) 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Python Holidays 0.33\n" +"POT-Creation-Date: 2023-09-11 15:10+0700\n" +"PO-Revision-Date: \n" +"Last-Translator: PPsyrius \n" +"Language-Team: Python Holidays localization team\n" +"Language: lo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.3.2\n" + +#. %s (in lieu). +#, c-format +msgid "ພັກຊົດເຊີຍ%s" +msgstr "" + +#. Lao New Year's Day (in-lieu) +msgid "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ" +msgstr "" + +#. New Year's Day +msgid "ວັນປີໃໝ່ສາກົນ" +msgstr "" + +#. International Women's Rights Day +msgid "ວັນແມ່ຍິງສາກົນ" +msgstr "" + +#. Lao New Year's Day +msgid "ບຸນປີໃໝ່ລາວ" +msgstr "" + +#. Labor Day +msgid "ວັນກຳມະກອນສາກົນ" +msgstr "" + +#. International Children Day +msgid "ວັນເດັກສາກົນ" +msgstr "" + +#. Lao National Day +msgid "ວັນຊາດ" +msgstr "" + +#. Boun That Luang Festival +msgid "ບຸນທາດຫລວງ" +msgstr "" diff --git a/holidays/locale/th/LC_MESSAGES/LA.po b/holidays/locale/th/LC_MESSAGES/LA.po new file mode 100644 index 000000000..92be9fff1 --- /dev/null +++ b/holidays/locale/th/LC_MESSAGES/LA.po @@ -0,0 +1,53 @@ +# Laos holidays th localization. +# Authors: PPsyrius , (c) 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Python Holidays 0.33\n" +"POT-Creation-Date: 2023-09-11 15:10+0700\n" +"PO-Revision-Date: \n" +"Last-Translator: PPsyrius \n" +"Language-Team: Python 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" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.3.2\n" + +#. %s (in lieu). +#, c-format +msgid "ພັກຊົດເຊີຍ%s" +msgstr "ชดเชย%s" + +#. Lao New Year's Day (in-lieu) +msgid "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ" +msgstr "ชดเชยวันปีใหม่ลาว" + +#. New Year's Day +msgid "ວັນປີໃໝ່ສາກົນ" +msgstr "วันปีใหม่สากล" + +#. International Women's Rights Day +msgid "ວັນແມ່ຍິງສາກົນ" +msgstr "วันสตรีสากล" + +#. Lao New Year's Day +msgid "ບຸນປີໃໝ່ລາວ" +msgstr "วันปีใหม่ลาว" + +#. Labor Day +msgid "ວັນກຳມະກອນສາກົນ" +msgstr "วันแรงงานสากล" + +#. International Children Day +msgid "ວັນເດັກສາກົນ" +msgstr "วันเด็กสากล" + +#. Lao National Day +msgid "ວັນຊາດ" +msgstr "วันชาติ สปป. ลาว" + +#. Boun That Luang Festival +msgid "ບຸນທາດຫລວງ" +msgstr "วันงานพระธาตุหลวง" diff --git a/holidays/registry.py b/holidays/registry.py index 0ef5e7e67..4834b4375 100644 --- a/holidays/registry.py +++ b/holidays/registry.py @@ -88,6 +88,7 @@ "kazakhstan": ("Kazakhstan", "KZ", "KAZ"), "kenya": ("Kenya", "KE", "KEN"), "kyrgyzstan": ("Kyrgyzstan", "KG", "KGZ"), + "laos": ("Laos", "LA", "LAO"), "latvia": ("Latvia", "LV", "LVA"), "lesotho": ("Lesotho", "LS", "LSO"), "liechtenstein": ("Liechtenstein", "LI", "LIE"), diff --git a/tests/countries/test_laos.py b/tests/countries/test_laos.py new file mode 100644 index 000000000..3d649e93b --- /dev/null +++ b/tests/countries/test_laos.py @@ -0,0 +1,112 @@ +# python-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: dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/dr-prodigy/python-holidays +# License: MIT (see LICENSE file) + +from holidays.constants import PUBLIC +from holidays.countries.laos import Laos, LA, LAO +from tests.common import TestCase + + +class TestLaos(TestCase): + @classmethod + def setUpClass(cls): + super().setUpClass(Laos, years=range(1975, 2058), years_non_observed=range(2018, 2058)) + + def test_country_aliases(self): + self.assertCountryAliases(Laos, LA, LAO) + + def test_no_holidays(self): + self.assertNoHolidays(Laos(years=1974)) + + def test_2022_public(self): + self.assertHolidays( + Laos(categories=(PUBLIC,), years=2022), + ("2022-01-01", "ວັນປີໃໝ່ສາກົນ"), + ("2022-01-03", "ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ"), + ("2022-03-08", "ວັນແມ່ຍິງສາກົນ"), + ("2022-04-14", "ບຸນປີໃໝ່ລາວ"), + ("2022-04-15", "ບຸນປີໃໝ່ລາວ"), + ("2022-04-16", "ບຸນປີໃໝ່ລາວ"), + ("2022-04-18", "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ"), + ("2022-05-01", "ວັນກຳມະກອນສາກົນ"), + ("2022-05-02", "ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ"), + ("2022-12-02", "ວັນຊາດ"), + ) + + def test_2023_public(self): + self.assertHolidays( + Laos(categories=(PUBLIC,), years=2023), + ("2023-01-01", "ວັນປີໃໝ່ສາກົນ"), + ("2023-01-02", "ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ"), + ("2023-03-08", "ວັນແມ່ຍິງສາກົນ"), + ("2023-04-14", "ບຸນປີໃໝ່ລາວ"), + ("2023-04-15", "ບຸນປີໃໝ່ລາວ"), + ("2023-04-16", "ບຸນປີໃໝ່ລາວ"), + ("2023-04-17", "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ"), + ("2023-04-18", "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ"), + ("2023-05-01", "ວັນກຳມະກອນສາກົນ"), + ("2023-12-02", "ວັນຊາດ"), + ("2023-12-04", "ພັກຊົດເຊີຍວັນຊາດ"), + ) + + def test_new_years_day(self): + self.assertHoliday(f"{year}-01-01" for year in range(1975, 2058)) + + self.assertNoNonObservedHoliday( + "2022-01-03", + "2023-01-02", + ) + + def test_lao_peoples_armed_force_day(self): + self.assertHoliday(f"{year}-01-20" for year in range(1975, 2058)) + + def test_l10n_default(self): + self.assertLocalizedHolidays( + ("2022-01-01", "ວັນປີໃໝ່ສາກົນ"), + ("2022-01-03", "ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ"), + ("2022-03-08", "ວັນແມ່ຍິງສາກົນ"), + ("2022-04-14", "ບຸນປີໃໝ່ລາວ"), + ("2022-04-15", "ບຸນປີໃໝ່ລາວ"), + ("2022-04-16", "ບຸນປີໃໝ່ລາວ"), + ("2022-04-18", "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ"), + ("2022-05-01", "ວັນກຳມະກອນສາກົນ"), + ("2022-05-02", "ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ"), + ("2022-12-02", "ວັນຊາດ"), + ) + + def test_l10n_en_US(self): + self.assertLocalizedHolidays( + "en_US", + ("2022-01-01", "New Year's Day"), + ("2022-01-03", "New Year's Day (in lieu)"), + ("2022-03-08", "International Women's Rights Day"), + ("2022-04-14", "Lao New Year's Day"), + ("2022-04-15", "Lao New Year's Day"), + ("2022-04-16", "Lao New Year's Day"), + ("2022-04-18", "Lao New Year's Day (in lieu)"), + ("2022-05-01", "Labor Day"), + ("2022-05-02", "Labor Day (in lieu)"), + ("2022-12-02", "Lao National Day"), + ) + + def test_l10n_th(self): + self.assertLocalizedHolidays( + "en_US", + ("2022-01-01", "วันปีใหม่สากล"), + ("2022-01-03", "ชดเชยวันปีใหม่สากล"), + ("2022-03-08", "วันสตรีสากล"), + ("2022-04-14", "วันปีใหม่ลาว"), + ("2022-04-15", "วันปีใหม่ลาว"), + ("2022-04-16", "วันปีใหม่ลาว"), + ("2022-04-18", "ชดเชยวันปีใหม่ลาว"), + ("2022-05-01", "วันแรงงานสากล"), + ("2022-05-02", "ชดเชยวันแรงงานสากล"), + ("2022-12-02", "วันชาติ สปป. ลาว"), + ) \ No newline at end of file From c4a6868fcb006fde5f95fd1effe68d7947d2ebe2 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Tue, 26 Sep 2023 16:37:43 +0700 Subject: [PATCH 07/18] [LA][WIP] Add in all remaining Laotian holidays --- holidays/calendars/thai.py | 117 ++++++++++- holidays/countries/laos.py | 248 +++++++++++++++++++++--- holidays/groups/thai.py | 56 ++++++ holidays/locale/en_US/LC_MESSAGES/LA.po | 144 +++++++++++++- holidays/locale/lo/LC_MESSAGES/LA.po | 144 +++++++++++++- holidays/locale/th/LC_MESSAGES/LA.po | 144 +++++++++++++- tests/calendars/test_thai.py | 44 +++++ tests/countries/test_laos.py | 185 +++++++++++++++++- 8 files changed, 1005 insertions(+), 77 deletions(-) diff --git a/holidays/calendars/thai.py b/holidays/calendars/thai.py index 75147aa01..7d6dfd296 100644 --- a/holidays/calendars/thai.py +++ b/holidays/calendars/thai.py @@ -286,8 +286,7 @@ def visakha_bucha_date(self, year: int, calendar=None) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "Vesak" and "Buddha Day". This concides with - the 15th Waxing Day of Month 6 in Thai Lunar Calendar, - or Month 7 in Athikamat years. + the 15th Waxing Day of Month 6 in Thai Lunar Calendar, or Month 7 in Athikamat years. KHMER_CALENDAR will always use Month 6 regardless of year type. @@ -359,8 +358,7 @@ def atthami_bucha_date(self, year: int, calendar=None) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "Buddha's Cremation Day". This concides with - the 8th Waning Day of Month 6 in Thai Lunar Calendar, - or Month 7 in Athikamat years. + the 8th Waning Day of Month 6 in Thai Lunar Calendar, or Month 7 in Athikamat years. KHMER_CALENDAR will always use Month 6 regardless of year type. @@ -489,14 +487,81 @@ def khao_phansa_date(self, year: int, calendar=None) -> Optional[date]: delta_days = 221 return start_date + td(days=delta_days) + def boun_haw_khao_padapdin_date(self, year: int) -> Optional[date]: + """ + Calculate the estimated Gregorian date of Boun Haw Khao Padapdin. + If the Gregorian year input is invalid, this will outputs None instead. + + Also known as "Boon Khao Padap Din". + This concides with the 14th Waning Day of Month 9 in Thai Lunar Calendar. + + To calculate, we use use the following time delta: + - Athikamat: 14th Waning Day of Month 9 + or 236[1-8] + 30[8.8] + 29[9] -1 = 294 + - Athikawan: 14th Waning Day of Month 9 + or 236[1-8] + 1[7] + 29[9] -1 = 265 + - Pakatimat: 14th Waning Day of Month 9 + or 236[1-8] + 29[9] -1 = 264 + + :param year: + The Gregorian year. + + :return: + Estimated Gregorian date of Boun Haw Khao Padapdin. + """ + start_date = self._get_start_date(year) + if not start_date: + return None + + if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: + delta_days = 294 + elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: + delta_days = 265 + else: + delta_days = 264 + return start_date + td(days=delta_days) + + def boun_haw_khao_salark_date(self, year: int) -> Optional[date]: + """ + Calculate the estimated Gregorian date of Boun Haw Khao Salark. + If the Gregorian year input is invalid, this will outputs None instead. + + Also known as "Boon Khao Sak". + This concides with the 15th Waxing Day of Month 10 in Thai Lunar Calendar. + + To calculate, we use use the following time delta: + - Athikamat: 15th Waxing Day of Month 10 + or 265[1-9] + 30[8.8] + 15[10] -1 = 309 + - Athikawan: 15th Waxing Day of Month 10 + or 265[1-9] + 1[7] + 15[10] -1 = 280 + - Pakatimat: 15th Waxing Day of Month 10 + or 265[1-9] + 15[10] -1 = 279 + + :param year: + The Gregorian year. + + :return: + Estimated Gregorian date of Pchum Ben. + """ + start_date = self._get_start_date(year) + if not start_date: + return None + + if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: + delta_days = 309 + elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: + delta_days = 280 + else: + delta_days = 279 + return start_date + td(days=delta_days) + def pchum_ben_date(self, year: int) -> Optional[date]: """ Calculate the estimated Gregorian date of Pchum Ben. If the Gregorian year input is invalid, this will outputs None instead. Also known as "Prachum Bandar". - This concides with the 15th Waning Day of Month 10 in - Thai Lunar Calendar. + This concides with the 15th Waning Day of Month 10 in Thai Lunar Calendar. To calculate, we use use the following time delta: - Athikamat: 15th Waning Day of Month 10 @@ -530,8 +595,7 @@ def ok_phansa_date(self, year: int) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "End of Buddhist Lent" and "End of Vassa". - This concides with the 15th Waxing Day of Month 11 - in Thai Lunar Calendar. + This concides with the 15th Waxing Day of Month 11 in Thai Lunar Calendar. To calculate, we use use the following time delta: - Athikamat: 15th Waxing Day of Month 11 @@ -559,14 +623,47 @@ def ok_phansa_date(self, year: int) -> Optional[date]: delta_days = 309 return start_date + td(days=delta_days) + def boun_suang_heua_date(self, year: int) -> Optional[date]: + """ + Calculate the estimated Gregorian date of Ok Boun Suang Huea. + If the Gregorian year input is invalid, this will outputs None instead. + + Boun Suang Huea Nakhone Luang Prabang, also known as "Vientiane Boat Racing Festival". + This concides with the 1st Waning Day of Month 11 in Thai Lunar Calendar. + + To calculate, we use use the following time delta: + - Athikamat: 1st Waning Day of Month 11 + or 295[1-10] + 30[8.8] + 16[11] -1 = 340 + - Athikawan: 1st Waning Day of Month 11 + or 295[1-10] + 1[7] + 16[11] -1 = 311 + - Pakatimat: 1st Waning Day of Month 11 + or 295[1-10] + 16[11] -1 = 310 + + :param year: + The Gregorian year. + + :return: + Estimated Gregorian date of Boun Suang Huea. + """ + start_date = self._get_start_date(year) + if not start_date: + return None + + if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: + delta_days = 340 + elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: + delta_days = 311 + else: + delta_days = 310 + return start_date + td(days=delta_days) + def loy_krathong_date(self, year: int) -> Optional[date]: """ Calculate the estimated Gregorian date of Loy Krathong. If the Gregorian year input is invalid, this will outputs None instead. Also known as "Boun That Louang" and "Bon Om Touk". - This concides with the 15th Waxing Day of Month 12 - in Thai Lunar Calendar. + This concides with the 15th Waxing Day of Month 12 in Thai Lunar Calendar. To calculate, we use use the following time delta: - Athikamat: 15th Waxing Day of Month 12 diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index 961ca9f94..d03986670 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -12,9 +12,9 @@ from datetime import date from gettext import gettext as tr -from holidays.calendars.gregorian import APR +from holidays.calendars.gregorian import JAN, MAR, APR, MAY, JUL, OCT, DEC from holidays.calendars.thai import KHMER_CALENDAR -from holidays.constants import PUBLIC, SCHOOL +from holidays.constants import BANK, PUBLIC, SCHOOL, WORKDAY from holidays.groups import InternationalHolidays, ThaiCalendarHolidays from holidays.observed_holiday_base import ( ObservedHolidayBase, @@ -39,6 +39,7 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): https://www.timeanddate.com/holidays/laos/ https://www.bcel.com.la/bcel/bcel-calendar.html?y=2022 https://www.bcel.com.la/bcel/bcel-calendar.html?year=2023 + http://www.lsx.com.la/cal/getStockCalendar.do?lang=lo (from 2011 onwards) !!! If Public Holiday falls on weekends, (in lieu) on workday !!! Despite the wording, this usually only applies to Monday only for holidays, @@ -62,26 +63,76 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): """ country = "LA" - supported_categories = {PUBLIC, SCHOOL} + supported_categories = {BANK, PUBLIC, SCHOOL, WORKDAY} default_language = "lo" # %s (in lieu). observed_label = tr("ພັກຊົດເຊີຍ%s") # Special Cases. - # Lao New Year's Day (in-lieu) + # Special Bank Holiday. + special_bank_day_off = tr("ມື້ປິດການໃຫ້ບໍລິການຂອງທະນາຄານຕົວແທນ") + + # New Year's Day (in-lieu). + new_year_day_in_lieu = tr("ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ") + + # Internation Women's Rights Day (in-lieu). + international_womens_rights_day_in_lieu = tr("ພັກຊົດເຊີຍວັນແມ່ຍິງສາກົນ") + + # Lao New Year's Day (in-lieu). lao_new_year_in_lieu = tr("ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ") + # Lao New Year's Day (Special). + lao_new_year_special = tr("ພັກບຸນປີໃໝ່ລາວ") + + # Labor Day (in-lieu). + labor_day_in_lieu = tr("ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ") + + # Establishment Day of the Lao Women's Union (in-lieu). + lao_womens_union_in_lieu = tr("ພັກຊົດເຊີຍວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ") + + # Establishment Day of the BOL (in-lieu). + establishment_day_of_bol_in_lieu = tr("ພັກຊົດເຊີຍວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ") + + # Lao National Day (in-lieu). + lao_national_day_in_lieu = tr("ພັກຊົດເຊີຍວັນຊາດ") + + special_bank_holiday = { + 2015: (JAN, 2, special_bank_day_off), + 2017: (OCT, 9, establishment_day_of_bol_in_lieu), + } special_public_holidays = { - 2016: ( - (APR, 12, lao_new_year_in_lieu), + 2011: (APR, 13, lao_new_year_in_lieu), + 2012: ( + (JAN, 2, new_year_day_in_lieu), (APR, 13, lao_new_year_in_lieu), + (APR, 17, lao_new_year_in_lieu), + (DEC, 3, lao_national_day_in_lieu), + ), + 2013: (APR, 17, lao_new_year_in_lieu), + 2015: ( + (MAR, 9, international_womens_rights_day_in_lieu), + (APR, 17, lao_new_year_special), + ), + 2016: ( + (APR, 13, lao_new_year_special), + (APR, 18, lao_new_year_special), + (MAY, 2, labor_day_in_lieu), ), 2017: ( + (JAN, 2, new_year_day_in_lieu), (APR, 13, lao_new_year_in_lieu), (APR, 17, lao_new_year_in_lieu), + (DEC, 4, lao_national_day_in_lieu), + ), + 2020: ( + (APR, 13, lao_new_year_special), + (APR, 17, lao_new_year_special), ), } + special_workday_holiday = { + 2019: (JUL, 22, lao_womens_union_in_lieu), + } supported_languages = ("en_US", "lo", "th") def __init__(self, *args, **kwargs): @@ -92,12 +143,59 @@ def __init__(self, *args, **kwargs): def _is_observed(self, dt: date) -> bool: return self._year >= 2018 - def _populate_public_holidays(self): + def _populate_bank_holidays(self): + # Based on both LSX and BCEL calendar. # Available post-Lao PDR proclamation on Dec 2, 1975. if self._year <= 1975: return None - # Fixed Date Official Holidays + # ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ + # Status: In-Use. + # Celebrated the creation of the Bank of the Lao PDR on Oct 7, 1968. + # In-Lieus are available in LSX calendar. + + # Establishment Day of the BOL. + self._add_observed(self._add_holiday_oct_7(tr("ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"))) + + # ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ + # Status: In-Use. + # Financial Institution in Laos are closed on last 3 weekdays of the year. + # Assume [WEEKDAY] is Dec 31: + # - CASE MON: (THU)-(FRI)-MON + # - CASE TUE: (FRI)-MON-TUE + # - CASE WED: MON-TUE-WED + # - CASE THU: TUE-WED-THU + # - CASE FRI/SAT/SUN: WED-THU-FRI + + # Lao Year-End Bank Holiday. + year_end_bank_holiday = tr("ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ") + + dec_31 = date(self._year, DEC, 31) + if self._is_monday(dec_31): + self._add_holiday_last_thu_of_dec(year_end_bank_holiday) + self._add_holiday_last_fri_of_dec(year_end_bank_holiday) + self._add_holiday_last_mon_of_dec(year_end_bank_holiday) + elif self._is_tuesday(dec_31): + self._add_holiday_last_fri_of_dec(year_end_bank_holiday) + self._add_holiday_last_mon_of_dec(year_end_bank_holiday) + self._add_holiday_last_tue_of_dec(year_end_bank_holiday) + elif self._is_wednesday(dec_31): + self._add_holiday_last_mon_of_dec(year_end_bank_holiday) + self._add_holiday_last_tue_of_dec(year_end_bank_holiday) + self._add_holiday_last_wed_of_dec(year_end_bank_holiday) + elif self._is_thursday(dec_31): + self._add_holiday_last_tue_of_dec(year_end_bank_holiday) + self._add_holiday_last_wed_of_dec(year_end_bank_holiday) + self._add_holiday_last_thu_of_dec(year_end_bank_holiday) + else: + self._add_holiday_last_wed_of_dec(year_end_bank_holiday) + self._add_holiday_last_thu_of_dec(year_end_bank_holiday) + self._add_holiday_last_fri_of_dec(year_end_bank_holiday) + + def _populate_public_holidays(self): + # Available post-Lao PDR proclamation on Dec 2, 1975. + if self._year <= 1975: + return None # ວັນປີໃໝ່ສາກົນ # Status: In-Use. @@ -126,9 +224,9 @@ def _populate_public_holidays(self): # Dates prior to 2018 are assigned manually # Status: In-Use. # - CASE 1: THU-FRI-SAT -> in-lieu on MON. - # - CASE 2: FRI-SAT-SUN -> in-lieu on MON-TUE - # - CASE 3: SAT-SUN-MON -> in-lieu on TUE-WED - # - CASE 4: SUN-MON-TUE -> in-lieu on WED + # - CASE 2: FRI-SAT-SUN -> in-lieu on MON-TUE. + # - CASE 3: SAT-SUN-MON -> in-lieu on TUE-WED. + # - CASE 4: SUN-MON-TUE -> in-lieu on WED. if self._year >= 2018: self._add_observed( dt, @@ -142,7 +240,7 @@ def _populate_public_holidays(self): self._add_observed(self._add_labor_day(tr("ວັນກຳມະກອນສາກົນ"))) # ວັນເດັກສາກົນ (`PUBLIC`) - # Status: Defunct, Still Observed. + # Status: Defunct, Still Observed. # Starts as public holiday after Lao PDR joined UN Convention on the # Rights of the Child in 1989 (de-facto start as holiday in 1990). # Became defunct from 2018 onwards. Still accessible in `WORKDAY` category. @@ -171,7 +269,9 @@ def _populate_school_holidays(self): # ວັນບຸນມາຂະບູຊາ # Status: In-Use. # 15th Waxing Day of Month 3. - + # Also denoted as festival days for Sikhottabong Stupa Festival and + # Wat Phou Champasack Festival in BCEL calendar. + # Makha Bousa Festival. self._add_makha_bucha(tr("ວັນບຸນມາຂະບູຊາ")) @@ -180,16 +280,60 @@ def _populate_school_holidays(self): # 15th Waxing Day of Month 6. # This utilizes Thai calendar as a base, though are calculated to always happen # in the Traditional Visakhamas month (May). + # In Laos Calendar, the day after marks the traditional Buddhist Calendar Year change. # Visakha Bousa Festival. self._add_visakha_bucha(tr("ວັນບຸນວິສາຂະບູຊາ")) - # ບຸນທາດຫລວງ + # ວັນບຸນເຂົ້າພັນສາ + # Status: In-Use. + # 1st Waning Day of Month 8. + + # Boun Khao Phansa (Begin of Buddhist Lent). + self._add_khao_phansa(tr("ວັນບຸນເຂົ້າພັນສາ")) + + # ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ + # Status: In-Use. + # 14th Waning Day of Month 9. + + # Boun Haw Khao Padapdin (Rice Growing Festival). + self._add_boun_haw_khao_padapdin(tr("ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ")) + + # ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ + # Status: In-Use. + # 15th Waxing Day of Month 10. + + # Boun Haw Khao Salark (Ancestor Festival). + self._add_boun_haw_khao_salark(tr("ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ")) + + # ວັນບຸນອອກພັນສາ + # Status: In-Use. + # 15th Waxing Day of Month 11. + + # Boun Awk Phansa (End of Buddhist Lent). + self._add_ok_phansa(tr("ວັນບຸນອອກພັນສາ")) + + # ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ + # Status: In-Use. + # 1st Waning Day of Month 11. + + # Boun Suang Heua (Vientiane Boat Racing Festival). + self._add_boun_suang_heua(tr("ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ")) + + # ວັນບຸນທາດຫລວງ # Status: In-Use. # 15th Waxing Day of Month 12. # Boun That Luang Festival. - self._add_loy_krathong(tr("ບຸນທາດຫລວງ")) + self._add_loy_krathong(tr("ວັນບຸນທາດຫລວງ")) + + # ວັນຄູແຫ່ງຊາດ + # Status: In-Use. + # In recognition of First Lao Teacher, Kham, as started in Oct 7, 1994. + + if self._year >= 1994: + # National Teacher Day. + self._add_holiday_oct_7(tr("ວັນຄູແຫ່ງຊາດ")) def _populate_workday_holidays(self): # No Public Holidays are issued, though still observed by the government. @@ -204,30 +348,30 @@ def _populate_workday_holidays(self): # Lao People's Armed Force Day. self._add_holiday_jan_20(tr("ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ")) - + # ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ # Status: In-Use. # Celebrated the creation of Lao Federation of Trade Unions on Feb 1, 1966. - + # Lao Federation of Trade Union's Day. self._add_holiday_feb_1(tr("ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ")) - + # ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ # Status: In-Use. # Celebrated the creation of the Lao People's Revolutionary Party on Mar 22, 1955. - + # Establishment Day of the Lao People's Revolutionary Party. self._add_holiday_mar_22(tr("ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ")) - + # ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ # Status: In-Use. # Celebrated the creation of the Lao People's Revolutionary Youth Union on Apr 14, 1955. - + # Lao People's Revolutionary Youth Union Day. self._add_holiday_apr_14(tr("ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ")) - + # ວັນເດັກສາກົນ (`WORKDAY`) - # Status: Defunct, Still Observed. + # Status: Defunct, Still Observed. # Starts as public holiday after Lao PDR joined UN Convention on the # Rights of the Child in 1989 (de-facto start as holiday in 1990). # Became defunct from 2018 onwards. Still accessible in `WORKDAY` category. @@ -239,19 +383,67 @@ def _populate_workday_holidays(self): # ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ # Status: In-Use. # No information on when this was first observed is available in Thai or English sources. - + # National Arbor Day. self._add_holiday_jun_1(tr("ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ")) - + # ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ - + # Status: In-Use. + # Celebrated President Souphanouvong's Birthday Anniversary on Jul 13, 1909. + + # President Souphanouvong's Birthday. + self._add_holiday_jul_13(tr("ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ")) + # ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ # Status: In-Use. # No information on when this was first observed is available in Thai or English sources. - + # The National Day for Wildlife and Aquatic Animal Conservation. self._add_holiday_jul_13(tr("ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ")) - + + # ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ + # Status: In-Use. + # Celebrated the creation of Lao Women's Union on Jul 20, 1955. + + # Establishment Day of the Lao Women's Union. + self._add_holiday_jul_20(tr("ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ")) + + # ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ + # Status: In-Use. + # Celebrated the creation of LPRP's Party Newspaper on Aug 13, 1950. + + # Lao National Mass Media and Publishing Day. + self._add_holiday_aug_13(tr("ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ")) + + # ວັນລັດຖະທໍາມະນູນແຫ່ງຊາດ + # Status: In-Use. + # Celebrated the adoption of the 1991 Constitution on Aug 15, 1991. + + if self._year >= 1991: + # Lao National Constitution Day. + self._add_holiday_aug_15(tr("ວັນລັດຖະທໍາມະນູນແຫ່ງຊາດ")) + + # ວັນຍຶດອຳນາດທົ່ວປະເທດ + # Status: In-Use. + # Celebrated the Liberation of Vientiane by Pathet Lao forces on Aug 23, 1975. + + # National Uprising Day. + self._add_holiday_aug_23(tr("ວັນຍຶດອຳນາດທົ່ວປະເທດ")) + + # ວັນປະກາດເອກະລາດ + # Status: In-Use. + # Celebrated the Declaration of Independence on Oct 12, 1945. + + # Indepedence Declaration Day. + self._add_holiday_oct_12(tr("ວັນປະກາດເອກະລາດ")) + + # ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ໄກສອນ ພົມວິຫານ + # Status: In-Use. + # Celebrated President Kaysone Phomvihane's Birthday Anniversary on Dec 13, 1920. + + if self._year >= 1991: + # President Kaysone Phomvihane's Birthday. + self._add_holiday_dec_13(tr("ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ໄກສອນ ພົມວິຫານ")) class LA(Laos): diff --git a/holidays/groups/thai.py b/holidays/groups/thai.py index 614e815f6..6c4f20413 100644 --- a/holidays/groups/thai.py +++ b/holidays/groups/thai.py @@ -45,6 +45,48 @@ def _add_asarnha_bucha(self, name, calendar=None) -> Optional[date]: name, self._thai_calendar.asarnha_bucha_date(self._year, calendar) ) + def _add_boun_haw_khao_padapdin(self, name) -> Optional[date]: + """ + Add Boun Haw Khao Padapdin. + + Boun Haw Khao Padapdin (also known as Rice Growing Festival) + is a Buddhist festival celebrated on the 14th Waning Day of Month 9. + + https://www.timsthailand.com/boon-khao-pradap-din/ + """ + + return self._add_thai_calendar_holiday( + name, self._thai_calendar.boun_haw_khao_padapdin_date(self._year) + ) + + def _add_boun_haw_khao_salark(self, name) -> Optional[date]: + """ + Add Boun Haw Khao Salark. + + Boun Haw Khao Salark (also known as Ancestor Festival) + is a Buddhist festival celebrated on the 15th Waxing Day of Month 10. + + https://www.timsthailand.com/boon-khao-sak/ + """ + + return self._add_thai_calendar_holiday( + name, self._thai_calendar.boun_haw_khao_salark_date(self._year) + ) + + def _add_boun_suang_heua(self, name) -> Optional[date]: + """ + Add Boun Suang Huea. + + Boun Suang Huea Nakhone Luang Prabang (also known as Vientiane Boat Racing Festival) + is a Buddhist festival celebrated on the 1st Waning Day of Month 11. + + https://sonasia-holiday.com/sonabee/laos-boat-racing-festival + """ + + return self._add_thai_calendar_holiday( + name, self._thai_calendar.boun_suang_heua_date(self._year) + ) + def _add_khao_phansa(self, name, calendar=None) -> Optional[date]: """ Add Khao Phansa. @@ -97,6 +139,20 @@ def _add_makha_bucha(self, name, calendar=None) -> Optional[date]: name, self._thai_calendar.makha_bucha_date(self._year, calendar) ) + def _add_ok_phansa(self, name) -> Optional[date]: + """ + Add Ok Phansa. + + End of Buddhist Lent (also written as Ok Phansa Day) is a Buddhist + festival celebrated on the 15th Waxing Day of Month 11. + + https://en.wikipedia.org/wiki/Pavarana + """ + + return self._add_thai_calendar_holiday( + name, self._thai_calendar.ok_phansa_date(self._year) + ) + def _add_pchum_ben(self, name) -> Optional[date]: """ Add Pchum Ben. diff --git a/holidays/locale/en_US/LC_MESSAGES/LA.po b/holidays/locale/en_US/LC_MESSAGES/LA.po index 12eacfe86..14c38fd53 100644 --- a/holidays/locale/en_US/LC_MESSAGES/LA.po +++ b/holidays/locale/en_US/LC_MESSAGES/LA.po @@ -3,7 +3,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Python Holidays 0.33\n" +"Project-Id-Version: Python Holidays 0.34\n" "POT-Creation-Date: 2023-09-11 15:10+0700\n" "PO-Revision-Date: \n" "Last-Translator: PPsyrius \n" @@ -20,34 +20,158 @@ msgstr "" msgid "ພັກຊົດເຊີຍ%s" msgstr "%s (in lieu)" -#. Lao New Year's Day (in-lieu) +#. Lao New Year's Day (in-lieu). msgid "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ" msgstr "Lao New Year's Day (in-lieu)" -#. New Year's Day +#. New Year's Day. msgid "ວັນປີໃໝ່ສາກົນ" msgstr "New Year's Day" -#. International Women's Rights Day +#. International Women's Rights Day. msgid "ວັນແມ່ຍິງສາກົນ" msgstr "International Women's Rights Day" -#. Lao New Year's Day +#. Lao New Year's Day. msgid "ບຸນປີໃໝ່ລາວ" msgstr "Lao New Year's Day" -#. Labor Day +#. Labor Day. msgid "ວັນກຳມະກອນສາກົນ" msgstr "Labor Day" -#. International Children Day +#. International Children Day. msgid "ວັນເດັກສາກົນ" msgstr "International Children Day" -#. Lao National Day +#. Lao National Day. msgid "ວັນຊາດ" msgstr "Lao National Day" -#. Boun That Luang Festival -msgid "ບຸນທາດຫລວງ" +#. Boun That Luang Festival. +msgid "ວັນບຸນທາດຫລວງ" msgstr "Boun That Luang Festival" + +#. Special Bank Holiday. +msgid "ມື້ປິດການໃຫ້ບໍລິການຂອງທະນາຄານຕົວແທນ" +msgstr "Special Bank Holiday" + +#. New Year's Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ" +msgstr "New Year's Day (in-lieu)" + +#. Internation Women's Rights Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນແມ່ຍິງສາກົນ" +msgstr "Internation Women's Rights Day (in-lieu)" + +#. Lao New Year's Day (Special). +msgid "ພັກບຸນປີໃໝ່ລາວ" +msgstr "Lao New Year's Day (Special)" + +#. Labor Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ" +msgstr "Labor Day (in-lieu)" + +#. Establishment Day of the Lao Women's Union (in-lieu). +msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ" +msgstr "Establishment Day of the Lao Women's Union (in-lieu)" + +#. Establishment Day of the BOL (in-lieu). +msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ" +msgstr "Establishment Day of the BOL (in-lieu)" + +#. Lao National Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນຊາດ" +msgstr "Lao National Day (in-lieu" + +#. Establishment Day of the BOL. +msgid "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ" +msgstr "Establishment Day of the BOL" + +#. Lao Year-End Bank Holiday. +msgid "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ" +msgstr "Lao Year-End Bank Holiday" + +#. Makha Bousa Festival. +msgid "ວັນບຸນມາຂະບູຊາ" +msgstr "Makha Bousa Festival" + +#. Visakha Bousa Festival. +msgid "ວັນບຸນວິສາຂະບູຊາ" +msgstr "Visakha Bousa Festival" + +#. Boun Khao Phansa (Begin of Buddhist Lent). +msgid "ວັນບຸນເຂົ້າພັນສາ" +msgstr "Begin of Buddhist Lent" + +#. Boun Haw Khao Padapdin (Rice Growing Festival). +msgid "ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ" +msgstr "Boun Haw Khao Padapdin" + +#. Boun Haw Khao Salark (Ancestor Festival). +msgid "ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ" +msgstr "Boun Haw Khao Salark" + +#. Boun Awk Phansa (End of Buddhist Lent). +msgid "ວັນບຸນອອກພັນສາ" +msgstr "End of Buddhist Lent" + +#. Boun Suang Heua (Vientiane Boat Racing Festival). +msgid "ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ" +msgstr "Vientiane Boat Racing Festival" + +#. National Teacher Day. +msgid "ວັນຄູແຫ່ງຊາດ" +msgstr "National Teacher Day" + +#. Lao People's Armed Force Day. +msgid "ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ" +msgstr "Lao People's Armed Force Day" + +#. Lao Federation of Trade Union's Day. +msgid "ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ" +msgstr "Lao Federation of Trade Union's Day" + +#. Establishment Day of the Lao People's Revolutionary Party. +msgid "ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ" +msgstr "Establishment Day of the Lao People's Revolutionary Party" + +#. Lao People's Revolutionary Youth Union Day. +msgid "ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ" +msgstr "Lao People's Revolutionary Youth Union Day" + +#. National Arbor Day. +msgid "ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ" +msgstr "National Arbor Day" + +#. President Souphanouvong's Birthday. +msgid "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ" +msgstr "President Souphanouvong's Birthday" + +#. The National Day for Wildlife and Aquatic Animal Conservation. +msgid "ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ" +msgstr "The National Day for Wildlife and Aquatic Animal Conservation" + +#. Establishment Day of the Lao Women's Union. +msgid "ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ" +msgstr "Establishment Day of the Lao Women's Union" + +#. Lao National Mass Media and Publishing Day. +msgid "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ" +msgstr "Lao National Mass Media and Publishing Day" + +#. Lao National Constitution Day. +msgid "ວັນລັດຖະທໍາມະນູນແຫ່ງຊາດ" +msgstr "Lao National Constitution Day" + +#. National Uprising Day. +msgid "ວັນຍຶດອຳນາດທົ່ວປະເທດ" +msgstr "National Uprising Day" + +#. Indepedence Declaration Day. +msgid "ວັນປະກາດເອກະລາດ" +msgstr "Indepedence Declaration Day" + +#. President Kaysone Phomvihane's Birthday. +msgid "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ໄກສອນ ພົມວິຫານ" +msgstr "President Kaysone Phomvihane's Birthday" diff --git a/holidays/locale/lo/LC_MESSAGES/LA.po b/holidays/locale/lo/LC_MESSAGES/LA.po index 18d6dcadf..a59284838 100644 --- a/holidays/locale/lo/LC_MESSAGES/LA.po +++ b/holidays/locale/lo/LC_MESSAGES/LA.po @@ -3,7 +3,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Python Holidays 0.33\n" +"Project-Id-Version: Python Holidays 0.34\n" "POT-Creation-Date: 2023-09-11 15:10+0700\n" "PO-Revision-Date: \n" "Last-Translator: PPsyrius \n" @@ -20,34 +20,158 @@ msgstr "" msgid "ພັກຊົດເຊີຍ%s" msgstr "" -#. Lao New Year's Day (in-lieu) +#. Lao New Year's Day (in-lieu). msgid "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ" msgstr "" -#. New Year's Day +#. New Year's Day. msgid "ວັນປີໃໝ່ສາກົນ" msgstr "" -#. International Women's Rights Day +#. International Women's Rights Day. msgid "ວັນແມ່ຍິງສາກົນ" msgstr "" -#. Lao New Year's Day +#. Lao New Year's Day. msgid "ບຸນປີໃໝ່ລາວ" msgstr "" -#. Labor Day +#. Labor Day. msgid "ວັນກຳມະກອນສາກົນ" msgstr "" -#. International Children Day +#. International Children Day. msgid "ວັນເດັກສາກົນ" msgstr "" -#. Lao National Day +#. Lao National Day. msgid "ວັນຊາດ" msgstr "" -#. Boun That Luang Festival -msgid "ບຸນທາດຫລວງ" +#. Boun That Luang Festival. +msgid "ວັນບຸນທາດຫລວງ" +msgstr "" + +#. Special Bank Holiday. +msgid "ມື້ປິດການໃຫ້ບໍລິການຂອງທະນາຄານຕົວແທນ" +msgstr "" + +#. New Year's Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ" +msgstr "" + +#. Internation Women's Rights Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນແມ່ຍິງສາກົນ" +msgstr "" + +#. Lao New Year's Day (Special). +msgid "ພັກບຸນປີໃໝ່ລາວ" +msgstr "" + +#. Labor Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ" +msgstr "" + +#. Establishment Day of the Lao Women's Union (in-lieu). +msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ" +msgstr "" + +#. Establishment Day of the BOL (in-lieu). +msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ" +msgstr "" + +#. Lao National Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນຊາດ" +msgstr "" + +#. Establishment Day of the BOL. +msgid "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ" +msgstr "" + +#. Lao Year-End Bank Holiday. +msgid "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ" +msgstr "" + +#. Makha Bousa Festival. +msgid "ວັນບຸນມາຂະບູຊາ" +msgstr "" + +#. Visakha Bousa Festival. +msgid "ວັນບຸນວິສາຂະບູຊາ" +msgstr "" + +#. Boun Khao Phansa (Begin of Buddhist Lent). +msgid "ວັນບຸນເຂົ້າພັນສາ" +msgstr "" + +#. Boun Haw Khao Padapdin (Rice Growing Festival). +msgid "ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ" +msgstr "" + +#. Boun Haw Khao Salark (Ancestor Festival). +msgid "ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ" +msgstr "" + +#. Boun Awk Phansa (End of Buddhist Lent). +msgid "ວັນບຸນອອກພັນສາ" +msgstr "" + +#. Boun Suang Heua (Vientiane Boat Racing Festival). +msgid "ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ" +msgstr "" + +#. National Teacher Day. +msgid "ວັນຄູແຫ່ງຊາດ" +msgstr "" + +#. Lao People's Armed Force Day. +msgid "ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ" +msgstr "" + +#. Lao Federation of Trade Union's Day. +msgid "ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ" +msgstr "" + +#. Establishment Day of the Lao People's Revolutionary Party. +msgid "ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ" +msgstr "" + +#. Lao People's Revolutionary Youth Union Day. +msgid "ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ" +msgstr "" + +#. National Arbor Day. +msgid "ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ" +msgstr "" + +#. President Souphanouvong's Birthday. +msgid "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ" +msgstr "" + +#. The National Day for Wildlife and Aquatic Animal Conservation. +msgid "ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ" +msgstr "" + +#. Establishment Day of the Lao Women's Union. +msgid "ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ" +msgstr "" + +#. Lao National Mass Media and Publishing Day. +msgid "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ" +msgstr "" + +#. Lao National Constitution Day. +msgid "ວັນລັດຖະທໍາມະນູນແຫ່ງຊາດ" +msgstr "" + +#. National Uprising Day. +msgid "ວັນຍຶດອຳນາດທົ່ວປະເທດ" +msgstr "" + +#. Indepedence Declaration Day. +msgid "ວັນປະກາດເອກະລາດ" +msgstr "" + +#. President Kaysone Phomvihane's Birthday. +msgid "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ໄກສອນ ພົມວິຫານ" msgstr "" diff --git a/holidays/locale/th/LC_MESSAGES/LA.po b/holidays/locale/th/LC_MESSAGES/LA.po index 92be9fff1..88bee45c8 100644 --- a/holidays/locale/th/LC_MESSAGES/LA.po +++ b/holidays/locale/th/LC_MESSAGES/LA.po @@ -3,7 +3,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Python Holidays 0.33\n" +"Project-Id-Version: Python Holidays 0.34\n" "POT-Creation-Date: 2023-09-11 15:10+0700\n" "PO-Revision-Date: \n" "Last-Translator: PPsyrius \n" @@ -20,34 +20,158 @@ msgstr "" msgid "ພັກຊົດເຊີຍ%s" msgstr "ชดเชย%s" -#. Lao New Year's Day (in-lieu) +#. Lao New Year's Day (in-lieu). msgid "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ" msgstr "ชดเชยวันปีใหม่ลาว" -#. New Year's Day +#. New Year's Day. msgid "ວັນປີໃໝ່ສາກົນ" msgstr "วันปีใหม่สากล" -#. International Women's Rights Day +#. International Women's Rights Day. msgid "ວັນແມ່ຍິງສາກົນ" msgstr "วันสตรีสากล" -#. Lao New Year's Day +#. Lao New Year's Day. msgid "ບຸນປີໃໝ່ລາວ" msgstr "วันปีใหม่ลาว" -#. Labor Day +#. Labor Day. msgid "ວັນກຳມະກອນສາກົນ" msgstr "วันแรงงานสากล" -#. International Children Day +#. International Children Day. msgid "ວັນເດັກສາກົນ" msgstr "วันเด็กสากล" -#. Lao National Day +#. Lao National Day. msgid "ວັນຊາດ" msgstr "วันชาติ สปป. ลาว" -#. Boun That Luang Festival -msgid "ບຸນທາດຫລວງ" +#. Boun That Luang Festival. +msgid "ວັນບຸນທາດຫລວງ" msgstr "วันงานพระธาตุหลวง" + +#. Special Bank Holiday. +msgid "ມື້ປິດການໃຫ້ບໍລິການຂອງທະນາຄານຕົວແທນ" +msgstr "วันหยุดทำการพิเศษของสถาบันการเงิน" + +#. New Year's Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ" +msgstr "ชดเชยวันปีใหม่สากล" + +#. Internation Women's Rights Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນແມ່ຍິງສາກົນ" +msgstr "ชดเชยวันสตรีสากล" + +#. Lao New Year's Day (Special). +msgid "ພັກບຸນປີໃໝ່ລາວ" +msgstr "ชดเชยวันปีใหม่ลาว" + +#. Labor Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ" +msgstr "ชดเชยันแรงงานสากล" + +#. Establishment Day of the Lao Women's Union (in-lieu). +msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ" +msgstr "ชดเชยวันก่อตั้งสหภาพแม่หญิงลาว" + +#. Establishment Day of the BOL (in-lieu). +msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ" +msgstr "ชดเชยวันก่อตั้งธนาคารแห่ง สปป. ลาว" + +#. Lao National Day (in-lieu). +msgid "ພັກຊົດເຊີຍວັນຊາດ" +msgstr "ชดเชยวันชาติ สปป. ลาว" + +#. Establishment Day of the BOL. +msgid "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ" +msgstr "วันก่อตั้งธนาคารแห่ง สปป. ลาว" + +#. Lao Year-End Bank Holiday. +msgid "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ" +msgstr "วันหยุดสิ้นปีของสถาบันการเงิน" + +#. Makha Bousa Festival. +msgid "ວັນບຸນມາຂະບູຊາ" +msgstr "วันมาฆบูชา" + +#. Visakha Bousa Festival. +msgid "ວັນບຸນວິສາຂະບູຊາ" +msgstr "วันวิสาขบูชา" + +#. Boun Khao Phansa (Begin of Buddhist Lent). +msgid "ວັນບຸນເຂົ້າພັນສາ" +msgstr "วันเข้าพรรษา" + +#. Boun Haw Khao Padapdin (Rice Growing Festival). +msgid "ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ" +msgstr "วันบุญข้าวประดับดิน" + +#. Boun Haw Khao Salark (Ancestor Festival). +msgid "ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ" +msgstr "วันข้าวบุญข้าวสาก" + +#. Boun Awk Phansa (End of Buddhist Lent). +msgid "ວັນບຸນອອກພັນສາ" +msgstr "วันออกพรรษา" + +#. Boun Suang Heua (Vientiane Boat Racing Festival). +msgid "ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ" +msgstr "วันงานบุญแข่งเรือ นครหลวงเวียงจันทน์" + +#. National Teacher Day. +msgid "ວັນຄູແຫ່ງຊາດ" +msgstr "วันครูแห่งชาติ" + +#. Lao People's Armed Force Day. +msgid "ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ" +msgstr "วันก่อตั้งกองทัพประชาชนลาว" + +#. Lao Federation of Trade Union's Day. +msgid "ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ" +msgstr "วันก่อตั้งสหพันธ์กำมะบานลาว" + +#. Establishment Day of the Lao People's Revolutionary Party. +msgid "ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ" +msgstr "วันก่อตั้งพรรคประชาชนปฏิวัติลาว" + +#. Lao People's Revolutionary Youth Union Day. +msgid "ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ" +msgstr "วันก่อตั้งศูนย์ซาวหนุ่มประชาชนปฏิวัติลาว" + +#. National Arbor Day. +msgid "ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ" +msgstr "วันปลูกต้นไม้แห่งชาติ" + +#. President Souphanouvong's Birthday. +msgid "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ" +msgstr "วันคล้ายวันเกิดท่านประธานสุภานุวงศ์" + +#. The National Day for Wildlife and Aquatic Animal Conservation. +msgid "ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ" +msgstr "วันอนุรักษ์สัตว์น้ำ สัตว์ป่า และวันปล่อยปลาแห่งชาติ" + +#. Establishment Day of the Lao Women's Union. +msgid "ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ" +msgstr "วันก่อตั้งสหภาพแม่หญิงลาว" + +#. Lao National Mass Media and Publishing Day. +msgid "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ" +msgstr "วันสื่อสารมวลชนและการพิมพ์แห่งชาติ " + +#. Lao National Constitution Day. +msgid "ວັນລັດຖະທໍາມະນູນແຫ່ງຊາດ" +msgstr "วันรัฐธรรมนูญแห่งชาติ" + +#. National Uprising Day. +msgid "ວັນຍຶດອຳນາດທົ່ວປະເທດ" +msgstr "วันยึดอำนาจทั่วประเทศ" + +#. Indepedence Declaration Day. +msgid "ວັນປະກາດເອກະລາດ" +msgstr "วันประกาศเอกราช" + +#. President Kaysone Phomvihane's Birthday. +msgid "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ໄກສອນ ພົມວິຫານ" +msgstr "วันคล้ายวันเกิดท่านประธานไกสอน พมวิหาน" diff --git a/tests/calendars/test_thai.py b/tests/calendars/test_thai.py index 69f1d244d..1b796ab09 100644 --- a/tests/calendars/test_thai.py +++ b/tests/calendars/test_thai.py @@ -79,6 +79,50 @@ def test_atthami_bucha_date(self): self.calendar.atthami_bucha_date(year, KHMER_CALENDAR), ) + def test_boun_haw_khao_padapdin(self): + boun_haw_khao_padapdin_year_date = { + self.calendar.START_YEAR - 1: None, + self.calendar.END_YEAR + 1: None, + 2022: date(2022, AUG, 26), + 2023: date(2023, SEP, 14), + 2024: date(2024, SEP, 2), + 2025: date(2025, AUG, 23), + } + for year in boun_haw_khao_padapdin_year_date: + self.assertEqual( + boun_haw_khao_padapdin_year_date[year], + self.calendar.boun_haw_khao_padapdin_date(year), + ) + + def test_boun_haw_khao_salark(self): + boun_haw_khao_salark_year_date = { + self.calendar.START_YEAR - 1: None, + self.calendar.END_YEAR + 1: None, + 2022: date(2022, SEP, 10), + 2023: date(2023, SEP, 29), + 2024: date(2024, SEP, 17), + 2025: date(2025, SEP, 7), + } + for year in boun_haw_khao_salark_year_date: + self.assertEqual( + boun_haw_khao_salark_year_date[year], + self.calendar.boun_haw_khao_salark_date(year), + ) + + def test_boun_suang_heua_date(self): + boun_suang_heua_year_date = { + self.calendar.START_YEAR - 1: None, + self.calendar.END_YEAR + 1: None, + 2022: date(2022, OCT, 11), + 2023: date(2023, OCT, 30), + 2024: date(2024, OCT, 18), + 2025: date(2025, OCT, 8), + } + for year in boun_suang_heua_year_date: + self.assertEqual( + boun_suang_heua_year_date[year], self.calendar.boun_suang_heua_date(year) + ) + def test_khao_phansa_date(self): # THAI_CALENDAR khao_phansa_year_date = { diff --git a/tests/countries/test_laos.py b/tests/countries/test_laos.py index 3d649e93b..7a3d48d58 100644 --- a/tests/countries/test_laos.py +++ b/tests/countries/test_laos.py @@ -9,7 +9,7 @@ # Website: https://github.com/dr-prodigy/python-holidays # License: MIT (see LICENSE file) -from holidays.constants import PUBLIC +from holidays.constants import BANK, PUBLIC, SCHOOL, WORKDAY from holidays.countries.laos import Laos, LA, LAO from tests.common import TestCase @@ -17,15 +17,15 @@ class TestLaos(TestCase): @classmethod def setUpClass(cls): - super().setUpClass(Laos, years=range(1975, 2058), years_non_observed=range(2018, 2058)) + super().setUpClass(Laos, years=range(1976, 2058), years_non_observed=range(2018, 2058)) def test_country_aliases(self): self.assertCountryAliases(Laos, LA, LAO) def test_no_holidays(self): - self.assertNoHolidays(Laos(years=1974)) + self.assertNoHolidays(Laos(years=1975)) - def test_2022_public(self): + def test_2022_public_holiday(self): self.assertHolidays( Laos(categories=(PUBLIC,), years=2022), ("2022-01-01", "ວັນປີໃໝ່ສາກົນ"), @@ -40,7 +40,7 @@ def test_2022_public(self): ("2022-12-02", "ວັນຊາດ"), ) - def test_2023_public(self): + def test_2023_public_holiday(self): self.assertHolidays( Laos(categories=(PUBLIC,), years=2023), ("2023-01-01", "ວັນປີໃໝ່ສາກົນ"), @@ -57,15 +57,182 @@ def test_2023_public(self): ) def test_new_years_day(self): - self.assertHoliday(f"{year}-01-01" for year in range(1975, 2058)) + self.assertHoliday(f"{year}-01-01" for year in range(1976, 2058)) self.assertNoNonObservedHoliday( "2022-01-03", "2023-01-02", ) - def test_lao_peoples_armed_force_day(self): - self.assertHoliday(f"{year}-01-20" for year in range(1975, 2058)) + def test_international_women_rights_day(self): + self.assertHoliday(f"{year}-03-08" for year in range(1976, 2058)) + + self.assertNoNonObservedHoliday( + "2020-03-09", + ) + + def test_laos_new_year_day(self): + for year in range(1976, 2058): + self.assertHoliday(f"{year}-04-14", f"{year}-04-15", f"{year}-04-16") + + self.assertNoNonObservedHoliday( + "2018-04-17", + "2018-04-18", + "2019-04-17", + "2022-04-18", + "2023-04-17", + "2023-04-18", + ) + + def test_labor_day(self): + self.assertHoliday(f"{year}-05-01" for year in range(1976, 2058)) + + self.assertNoNonObservedHoliday( + "2021-05-03", + "2022-05-02", + ) + + def test_international_children_day_public(self): + self.assertHoliday(f"{year}-06-01" for year in range(1990, 2018)) + + def test_lao_national_day(self): + self.assertHoliday(f"{year}-12-02" for year in range(1976, 2058)) + + self.assertNoNonObservedHoliday( + "2018-12-03", + "2023-12-04", + ) + + def test_2022_bank_holiday(self): + self.assertHolidays( + Laos(categories=(BANK,), years=2022), + ("2022-10-07", "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), + ("2022-12-28", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2022-12-29", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2022-12-30", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ) + + def test_2023_bank_holiday(self): + self.assertHolidays( + Laos(categories=(BANK,), years=2023), + ("2023-10-07", "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), + ("2023-10-09", "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), + ("2023-12-27", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2023-12-28", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2023-12-29", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ) + + def test_1993_school_holiday(self): + # Prior to Adoption of National Teacher Day + # All dates need to be checked again + self.assertHolidays( + Laos(categories=(SCHOOL,), years=1993), + ("1993-02-16", "ວັນບຸນມາຂະບູຊາ"), + ("1993-05-15", "ວັນບຸນວິສາຂະບູຊາ"), + ("1993-07-13", "ວັນບຸນເຂົ້າພັນສາ"), + ("1993-08-26", "ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ"), + ("1993-09-10", "ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ"), + ("1993-10-10", "ວັນບຸນອອກພັນສາ"), + ("1993-10-11", "ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ"), + ("1993-11-08", "ວັນບຸນທາດຫລວງ"), + ) + + def test_2022_school_holiday(self): + self.assertHolidays( + Laos(categories=(SCHOOL,), years=2022), + ("2022-02-16", "ວັນບຸນມາຂະບູຊາ"), + ("2022-05-15", "ວັນບຸນວິສາຂະບູຊາ"), + ("2022-07-13", "ວັນບຸນເຂົ້າພັນສາ"), + ("2022-08-26", "ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ"), + ("2022-09-10", "ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ"), + ("2022-10-07", "ວັນຄູແຫ່ງຊາດ"), + ("2022-10-10", "ວັນບຸນອອກພັນສາ"), + ("2022-10-11", "ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ"), + ("2022-11-08", "ວັນບຸນທາດຫລວງ"), + ) + + def test_2023_school_holiday(self): + self.assertHolidays( + Laos(categories=(SCHOOL,), years=2023), + ("2023-02-05", "ວັນບຸນມາຂະບູຊາ"), + ("2023-05-04", "ວັນບຸນວິສາຂະບູຊາ"), + ("2023-08-01", "ວັນບຸນເຂົ້າພັນສາ"), + ("2023-09-14", "ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ"), + ("2023-09-29", "ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ"), + ("2023-10-07", "ວັນຄູແຫ່ງຊາດ"), + ("2023-10-29", "ວັນບຸນອອກພັນສາ"), + ("2023-10-30", "ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ"), + ("2023-11-27", "ວັນບຸນທາດຫລວງ"), + ) + + def test_1990_workday(self): + # Prior to Kaysone Phomvihane's Presidency and 1991 Constitution Adoption. + self.assertHolidays( + Laos(categories=(WORKDAY,), years=1990), + ("1990-01-20", "ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ"), + ("1990-02-01", "ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ"), + ("1990-03-22", "ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ"), + ("1990-04-14", "ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ"), + ("1990-06-01", "ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ"), + ( + "1990-07-13", + ( + "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ; " + "ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ" + ), + ), + ("1990-07-20", "ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ"), + ("1990-08-13", "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ"), + ("1990-08-23", "ວັນຍຶດອຳນາດທົ່ວປະເທດ"), + ("1990-10-12", "ວັນປະກາດເອກະລາດ"), + ) + + def test_2017_workday(self): + # Prior to 2018 International Children's Day is in `PUBLIC` category + self.assertHolidays( + Laos(categories=(WORKDAY,), years=2017), + ("2017-01-20", "ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ"), + ("2017-02-01", "ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ"), + ("2017-03-22", "ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ"), + ("2017-04-14", "ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ"), + ("2017-06-01", "ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ"), + ( + "2017-07-13", + ( + "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ; " + "ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ" + ), + ), + ("2017-07-20", "ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ"), + ("2017-08-13", "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ"), + ("2017-08-15", "ວັນລັດຖະທໍາມະນູນແຫ່ງຊາດ"), + ("2017-08-23", "ວັນຍຶດອຳນາດທົ່ວປະເທດ"), + ("2017-10-12", "ວັນປະກາດເອກະລາດ"), + ("2017-12-13", "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ໄກສອນ ພົມວິຫານ"), + ) + + def test_2022_workday(self): + self.assertHolidays( + Laos(categories=(WORKDAY,), years=2022), + ("2022-01-20", "ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ"), + ("2022-02-01", "ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ"), + ("2022-03-22", "ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ"), + ("2022-04-14", "ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ"), + ("2022-06-01", "ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ; ວັນເດັກສາກົນ"), + ( + "2022-07-13", + ( + "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ; " + "ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ" + ), + ), + ("2022-07-20", "ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ"), + ("2022-08-13", "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ"), + ("2022-08-15", "ວັນລັດຖະທໍາມະນູນແຫ່ງຊາດ"), + ("2022-08-23", "ວັນຍຶດອຳນາດທົ່ວປະເທດ"), + ("2022-10-12", "ວັນປະກາດເອກະລາດ"), + ("2022-12-13", "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ໄກສອນ ພົມວິຫານ"), + ) def test_l10n_default(self): self.assertLocalizedHolidays( @@ -109,4 +276,4 @@ def test_l10n_th(self): ("2022-05-01", "วันแรงงานสากล"), ("2022-05-02", "ชดเชยวันแรงงานสากล"), ("2022-12-02", "วันชาติ สปป. ลาว"), - ) \ No newline at end of file + ) From 641788302a56284b2038f7064c4bc3853315c81e Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Tue, 26 Sep 2023 23:48:13 +0700 Subject: [PATCH 08/18] [LA] Cleanup Tests, Simplify Correcting Khmer Lunar Calendar's Result --- holidays/calendars/thai.py | 20 ++---- holidays/countries/laos.py | 14 ++-- holidays/groups/thai.py | 10 ++- holidays/observed_holiday_base.py | 4 +- tests/calendars/test_thai.py | 28 -------- tests/countries/test_laos.py | 109 ++++++++++++++++++++++++++---- 6 files changed, 112 insertions(+), 73 deletions(-) diff --git a/holidays/calendars/thai.py b/holidays/calendars/thai.py index 7d6dfd296..2fda87e2a 100644 --- a/holidays/calendars/thai.py +++ b/holidays/calendars/thai.py @@ -405,7 +405,7 @@ def asarnha_bucha_date(self, year: int, calendar=None) -> Optional[date]: the 15th Waxing Day of Month 8 in Thai Lunar Calendar, or Month 8.8 in Athikamat years. - KHMER_CALENDAR will always use Month 8 regardless of year type. + Lao Start of Buddhist Lent start on this day (1-day earlier than Thai and Khmer ones). To calculate, we use use the following time delta: - Athikamat: 15th Waxing Day of Month 8/8 @@ -424,16 +424,11 @@ def asarnha_bucha_date(self, year: int, calendar=None) -> Optional[date]: :return: Estimated Gregorian date of Asarnha Bucha. """ - calendar = calendar or self.__calendar - self.__verify_calendar(calendar) - start_date = self._get_start_date(year) if not start_date: return None - if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN and not self.__is_khmer_calendar( - calendar - ): + if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: delta_days = 250 elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: delta_days = 221 @@ -441,7 +436,7 @@ def asarnha_bucha_date(self, year: int, calendar=None) -> Optional[date]: delta_days = 220 return start_date + td(days=delta_days) - def khao_phansa_date(self, year: int, calendar=None) -> Optional[date]: + def khao_phansa_date(self, year: int) -> Optional[date]: """ Calculate the estimated Gregorian date of Khao Phansa. If the Gregorian year input is invalid, this will outputs None instead. @@ -450,8 +445,6 @@ def khao_phansa_date(self, year: int, calendar=None) -> Optional[date]: This concides with the 1st Waning Day of Month 8 in Thai Lunar Calendar, or Month 8.8 in Athikamat years. - KHMER_CALENDAR will always use Month 8 regardless of year type. - To calculate, we use use the following time delta: - Athikamat: 1st Waning Day of Month 8.8 or 177[1-6] + 29[7] + 30[8] + 16[8.8] -1 = 251 @@ -470,16 +463,11 @@ def khao_phansa_date(self, year: int, calendar=None) -> Optional[date]: :return: Estimated Gregorian date of Khao Phansa. """ - calendar = calendar or self.__calendar - self.__verify_calendar(calendar) - start_date = self._get_start_date(year) if not start_date: return None - if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN and not self.__is_khmer_calendar( - calendar - ): + if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: delta_days = 251 elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: delta_days = 222 diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index d03986670..41708ae24 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -18,8 +18,8 @@ from holidays.groups import InternationalHolidays, ThaiCalendarHolidays from holidays.observed_holiday_base import ( ObservedHolidayBase, - THU_FRI_SAT_TO_NEXT_MON_TUE_WED, - FRI_SAT_SUN_TO_NEXT_MON_TUE_WED, + THU_FRI_SAT_TO_NEXT_MON_TUE, + FRI_SAT_SUN_TO_NEXT_TUE_WED, SAT_SUN_TO_NEXT_MON, ) @@ -228,10 +228,8 @@ def _populate_public_holidays(self): # - CASE 3: SAT-SUN-MON -> in-lieu on TUE-WED. # - CASE 4: SUN-MON-TUE -> in-lieu on WED. if self._year >= 2018: - self._add_observed( - dt, - rule=THU_FRI_SAT_TO_NEXT_MON_TUE_WED + FRI_SAT_SUN_TO_NEXT_MON_TUE_WED, - ) + self._add_observed(dt, rule=THU_FRI_SAT_TO_NEXT_MON_TUE) + self._add_observed(dt, rule=FRI_SAT_SUN_TO_NEXT_TUE_WED) # ວັນກຳມະກອນສາກົນ # Status: In-Use. @@ -287,10 +285,10 @@ def _populate_school_holidays(self): # ວັນບຸນເຂົ້າພັນສາ # Status: In-Use. - # 1st Waning Day of Month 8. + # 15th Waxing Day of Month 8 (Asarnha Bucha for Thailand and Cambodia). # Boun Khao Phansa (Begin of Buddhist Lent). - self._add_khao_phansa(tr("ວັນບຸນເຂົ້າພັນສາ")) + self._add_asarnha_bucha(tr("ວັນບຸນເຂົ້າພັນສາ")) # ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ # Status: In-Use. diff --git a/holidays/groups/thai.py b/holidays/groups/thai.py index 6c4f20413..4f2643314 100644 --- a/holidays/groups/thai.py +++ b/holidays/groups/thai.py @@ -27,7 +27,7 @@ def __init__(self, calendar=THAI_CALENDAR) -> None: self.__calendar = calendar self._thai_calendar = _ThaiLunisolar(calendar) - def _add_asarnha_bucha(self, name, calendar=None) -> Optional[date]: + def _add_asarnha_bucha(self, name) -> Optional[date]: """ Add Asarnha Bucha. @@ -39,10 +39,9 @@ def _add_asarnha_bucha(self, name, calendar=None) -> Optional[date]: https://en.wikipedia.org/wiki/Asalha_Puja """ - calendar = calendar or self.__calendar return self._add_thai_calendar_holiday( - name, self._thai_calendar.asarnha_bucha_date(self._year, calendar) + name, self._thai_calendar.asarnha_bucha_date(self._year) ) def _add_boun_haw_khao_padapdin(self, name) -> Optional[date]: @@ -87,7 +86,7 @@ def _add_boun_suang_heua(self, name) -> Optional[date]: name, self._thai_calendar.boun_suang_heua_date(self._year) ) - def _add_khao_phansa(self, name, calendar=None) -> Optional[date]: + def _add_khao_phansa(self, name) -> Optional[date]: """ Add Khao Phansa. @@ -99,10 +98,9 @@ def _add_khao_phansa(self, name, calendar=None) -> Optional[date]: https://en.wikipedia.org/wiki/Vassa """ - calendar = calendar or self.__calendar return self._add_thai_calendar_holiday( - name, self._thai_calendar.khao_phansa_date(self._year, calendar) + name, self._thai_calendar.khao_phansa_date(self._year) ) def _add_loy_krathong(self, name) -> Optional[date]: diff --git a/holidays/observed_holiday_base.py b/holidays/observed_holiday_base.py index 69d1ce280..d7b23a6c5 100644 --- a/holidays/observed_holiday_base.py +++ b/holidays/observed_holiday_base.py @@ -74,12 +74,12 @@ def __add__(self, other): THU_FRI_TO_NEXT_MON = ObservedRule({THU: +4, FRI: +3}) THU_FRI_TO_NEXT_WORKDAY = ObservedRule({THU: +7, FRI: +7}) THU_FRI_SUN_TO_NEXT_MON = ObservedRule({THU: +4, FRI: +3, SUN: +1}) -THU_FRI_SAT_TO_NEXT_MON_TUE_WED = ObservedRule({THU: +4, FRI: +4, SAT: +4}) +THU_FRI_SAT_TO_NEXT_MON_TUE = ObservedRule({THU: +4, FRI: +3, SAT: +3}) FRI_SAT_TO_NEXT_WORKDAY = ObservedRule({FRI: +7, SAT: +7}) FRI_SUN_TO_NEXT_MON = ObservedRule({FRI: +3, SUN: +1}) FRI_SUN_TO_NEXT_SAT_MON = ObservedRule({FRI: +1, SUN: +1}) -FRI_SAT_SUN_TO_NEXT_MON_TUE_WED = ObservedRule({FRI: +3, SAT: +3, SUN: +3}) +FRI_SAT_SUN_TO_NEXT_TUE_WED = ObservedRule({FRI: +4, SAT: +4, SUN: +3}) SAT_SUN_TO_PREV_FRI = ObservedRule({SAT: -1, SUN: -2}) SAT_SUN_TO_NEXT_MON = ObservedRule({SAT: +2, SUN: +1}) diff --git a/tests/calendars/test_thai.py b/tests/calendars/test_thai.py index 1b796ab09..f1b291a6d 100644 --- a/tests/calendars/test_thai.py +++ b/tests/calendars/test_thai.py @@ -37,20 +37,6 @@ def test_asarnha_bucha_date(self): } for year in asarnha_bucha_year_date: self.assertEqual(asarnha_bucha_year_date[year], self.calendar.asarnha_bucha_date(year)) - # KHMER_CALENDAR - asanha_bochea_year_date = { - self.calendar.START_YEAR - 1: None, - self.calendar.END_YEAR + 1: None, - 2022: date(2022, JUL, 13), - 2023: date(2023, JUL, 2), - 2024: date(2024, JUL, 20), - 2025: date(2025, JUL, 10), - } - for year in asanha_bochea_year_date: - self.assertEqual( - asanha_bochea_year_date[year], - self.calendar.asarnha_bucha_date(year, KHMER_CALENDAR), - ) def test_atthami_bucha_date(self): # THAI_CALENDAR @@ -135,20 +121,6 @@ def test_khao_phansa_date(self): } for year in khao_phansa_year_date: self.assertEqual(khao_phansa_year_date[year], self.calendar.khao_phansa_date(year)) - # KHMER_CALENDAR - bony_kanben_year_date = { - self.calendar.START_YEAR - 1: None, - self.calendar.END_YEAR + 1: None, - 2022: date(2022, JUL, 14), - 2023: date(2023, JUL, 3), - 2024: date(2024, JUL, 21), - 2025: date(2025, JUL, 11), - } - for year in bony_kanben_year_date: - self.assertEqual( - bony_kanben_year_date[year], - self.calendar.khao_phansa_date(year, KHMER_CALENDAR), - ) def test_loy_krathong_date(self): loy_krathong_year_date = { diff --git a/tests/countries/test_laos.py b/tests/countries/test_laos.py index 7a3d48d58..8e464c95a 100644 --- a/tests/countries/test_laos.py +++ b/tests/countries/test_laos.py @@ -124,17 +124,16 @@ def test_2023_bank_holiday(self): def test_1993_school_holiday(self): # Prior to Adoption of National Teacher Day - # All dates need to be checked again self.assertHolidays( Laos(categories=(SCHOOL,), years=1993), - ("1993-02-16", "ວັນບຸນມາຂະບູຊາ"), - ("1993-05-15", "ວັນບຸນວິສາຂະບູຊາ"), - ("1993-07-13", "ວັນບຸນເຂົ້າພັນສາ"), - ("1993-08-26", "ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ"), - ("1993-09-10", "ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ"), - ("1993-10-10", "ວັນບຸນອອກພັນສາ"), - ("1993-10-11", "ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ"), - ("1993-11-08", "ວັນບຸນທາດຫລວງ"), + ("1993-02-06", "ວັນບຸນມາຂະບູຊາ"), + ("1993-05-05", "ວັນບຸນວິສາຂະບູຊາ"), + ("1993-07-03", "ວັນບຸນເຂົ້າພັນສາ"), + ("1993-08-16", "ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ"), + ("1993-08-31", "ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ"), + ("1993-09-30", "ວັນບຸນອອກພັນສາ"), + ("1993-10-01", "ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ"), + ("1993-10-29", "ວັນບຸນທາດຫລວງ"), ) def test_2022_school_holiday(self): @@ -238,14 +237,42 @@ def test_l10n_default(self): self.assertLocalizedHolidays( ("2022-01-01", "ວັນປີໃໝ່ສາກົນ"), ("2022-01-03", "ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ"), + ("2022-01-20", "ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ"), + ("2022-02-01", "ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ"), + ("2022-02-16", "ວັນບຸນມາຂະບູຊາ"), ("2022-03-08", "ວັນແມ່ຍິງສາກົນ"), - ("2022-04-14", "ບຸນປີໃໝ່ລາວ"), + ("2022-03-22", "ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ"), + ("2022-04-14", "ບຸນປີໃໝ່ລາວ; ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ"), ("2022-04-15", "ບຸນປີໃໝ່ລາວ"), ("2022-04-16", "ບຸນປີໃໝ່ລາວ"), ("2022-04-18", "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ"), ("2022-05-01", "ວັນກຳມະກອນສາກົນ"), ("2022-05-02", "ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ"), + ("2022-05-15", "ວັນບຸນວິສາຂະບູຊາ"), + ("2022-06-01", "ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ; ວັນເດັກສາກົນ"), + ( + "2022-07-13", + ( + "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ; ວັນບຸນເຂົ້າພັນສາ; " + "ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ" + ), + ), + ("2022-07-20", "ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ"), + ("2022-08-13", "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ"), + ("2022-08-15", "ວັນລັດຖະທໍາມະນູນແຫ່ງຊາດ"), + ("2022-08-23", "ວັນຍຶດອຳນາດທົ່ວປະເທດ"), + ("2022-08-26", "ວັນບຸນຫໍ່ເຂົ້າປະດັບດິນ"), + ("2022-09-10", "ວັນບຸນຫໍ່ເຂົ້າສະຫຼາກ"), + ("2022-10-07", "ວັນຄູແຫ່ງຊາດ; ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), + ("2022-10-10", "ວັນບຸນອອກພັນສາ"), + ("2022-10-11", "ວັນບຸນຊ່ວງເຮືອ ນະຄອນຫຼວງວຽງຈັນ"), + ("2022-10-12", "ວັນປະກາດເອກະລາດ"), + ("2022-11-08", "ວັນບຸນທາດຫລວງ"), ("2022-12-02", "ວັນຊາດ"), + ("2022-12-13", "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ໄກສອນ ພົມວິຫານ"), + ("2022-12-28", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2022-12-29", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2022-12-30", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), ) def test_l10n_en_US(self): @@ -253,27 +280,83 @@ def test_l10n_en_US(self): "en_US", ("2022-01-01", "New Year's Day"), ("2022-01-03", "New Year's Day (in lieu)"), + ("2022-01-20", "Lao People's Armed Force Day"), + ("2022-02-01", "Lao Federation of Trade Union's Day"), + ("2022-02-16", "Makha Bousa Festival"), ("2022-03-08", "International Women's Rights Day"), - ("2022-04-14", "Lao New Year's Day"), + ("2022-03-22", "Establishment Day of the Lao People's Revolutionary Party"), + ("2022-04-14", "Lao New Year's Day; Lao People's Revolutionary Youth Union Day"), ("2022-04-15", "Lao New Year's Day"), ("2022-04-16", "Lao New Year's Day"), ("2022-04-18", "Lao New Year's Day (in lieu)"), ("2022-05-01", "Labor Day"), ("2022-05-02", "Labor Day (in lieu)"), + ("2022-05-15", "Visakha Bousa Festival"), + ("2022-06-01", "International Children Day; National Arbor Day"), + ( + "2022-07-13", + ( + "Begin of Buddhist Lent; President Souphanouvong's Birthday; " + "The National Day for Wildlife and Aquatic Animal Conservation" + ), + ), + ("2022-07-20", "Establishment Day of the Lao Women's Union"), + ("2022-08-13", "Lao National Mass Media and Publishing Day"), + ("2022-08-15", "Lao National Constitution Day"), + ("2022-08-23", "National Uprising Day"), + ("2022-08-26", "Boun Haw Khao Padapdin"), + ("2022-09-10", "Boun Haw Khao Salark"), + ("2022-10-07", "Establishment Day of the BOL; National Teacher Day"), + ("2022-10-10", "End of Buddhist Lent"), + ("2022-10-11", "Vientiane Boat Racing Festival"), + ("2022-10-12", "Indepedence Declaration Day"), + ("2022-11-08", "Boun That Luang Festival"), ("2022-12-02", "Lao National Day"), + ("2022-12-13", "President Kaysone Phomvihane's Birthday"), + ("2022-12-28", "Lao Year-End Bank Holiday"), + ("2022-12-29", "Lao Year-End Bank Holiday"), + ("2022-12-30", "Lao Year-End Bank Holiday"), ) def test_l10n_th(self): self.assertLocalizedHolidays( - "en_US", + "th", ("2022-01-01", "วันปีใหม่สากล"), ("2022-01-03", "ชดเชยวันปีใหม่สากล"), + ("2022-01-20", "วันก่อตั้งกองทัพประชาชนลาว"), + ("2022-02-01", "วันก่อตั้งสหพันธ์กำมะบานลาว"), + ("2022-02-16", "วันมาฆบูชา"), ("2022-03-08", "วันสตรีสากล"), - ("2022-04-14", "วันปีใหม่ลาว"), + ("2022-03-22", "วันก่อตั้งพรรคประชาชนปฏิวัติลาว"), + ("2022-04-14", "วันก่อตั้งศูนย์ซาวหนุ่มประชาชนปฏิวัติลาว; วันปีใหม่ลาว"), ("2022-04-15", "วันปีใหม่ลาว"), ("2022-04-16", "วันปีใหม่ลาว"), ("2022-04-18", "ชดเชยวันปีใหม่ลาว"), ("2022-05-01", "วันแรงงานสากล"), ("2022-05-02", "ชดเชยวันแรงงานสากล"), + ("2022-05-15", "วันวิสาขบูชา"), + ("2022-06-01", "วันปลูกต้นไม้แห่งชาติ; วันเด็กสากล"), + ( + "2022-07-13", + ( + "วันคล้ายวันเกิดท่านประธานสุภานุวงศ์; วันอนุรักษ์สัตว์น้ำ สัตว์ป่า " + "และวันปล่อยปลาแห่งชาติ; วันเข้าพรรษา" + ), + ), + ("2022-07-20", "วันก่อตั้งสหภาพแม่หญิงลาว"), + ("2022-08-13", "วันสื่อสารมวลชนและการพิมพ์แห่งชาติ "), + ("2022-08-15", "วันรัฐธรรมนูญแห่งชาติ"), + ("2022-08-23", "วันยึดอำนาจทั่วประเทศ"), + ("2022-08-26", "วันบุญข้าวประดับดิน"), + ("2022-09-10", "วันข้าวบุญข้าวสาก"), + ("2022-10-07", "วันก่อตั้งธนาคารแห่ง สปป. ลาว; วันครูแห่งชาติ"), + ("2022-10-10", "วันออกพรรษา"), + ("2022-10-11", "วันงานบุญแข่งเรือ นครหลวงเวียงจันทน์"), + ("2022-10-12", "วันประกาศเอกราช"), + ("2022-11-08", "วันงานพระธาตุหลวง"), ("2022-12-02", "วันชาติ สปป. ลาว"), + ("2022-12-13", "วันคล้ายวันเกิดท่านประธานไกสอน พมวิหาน"), + ("2022-12-28", "วันหยุดสิ้นปีของสถาบันการเงิน"), + ("2022-12-29", "วันหยุดสิ้นปีของสถาบันการเงิน"), + ("2022-12-30", "วันหยุดสิ้นปีของสถาบันการเงิน"), ) From 96ee5d2f680563e9b2fd8ee5705b0f9a591b5449 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Tue, 26 Sep 2023 23:51:14 +0700 Subject: [PATCH 09/18] [LA] Add Snapshots for Laotian Holidays --- snapshots/countries/LA.json | 2290 +++++++++++++++++++++++++++++++++++ 1 file changed, 2290 insertions(+) create mode 100644 snapshots/countries/LA.json diff --git a/snapshots/countries/LA.json b/snapshots/countries/LA.json new file mode 100644 index 000000000..53400e93c --- /dev/null +++ b/snapshots/countries/LA.json @@ -0,0 +1,2290 @@ +{ + "1976-01-01": "New Year's Day", + "1976-01-20": "Lao People's Armed Force Day", + "1976-02-01": "Lao Federation of Trade Union's Day", + "1976-02-15": "Makha Bousa Festival", + "1976-03-08": "International Women's Rights Day", + "1976-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1976-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1976-04-15": "Lao New Year's Day", + "1976-04-16": "Lao New Year's Day", + "1976-05-01": "Labor Day", + "1976-05-13": "Visakha Bousa Festival", + "1976-06-01": "National Arbor Day", + "1976-07-11": "Begin of Buddhist Lent", + "1976-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1976-07-20": "Establishment Day of the Lao Women's Union", + "1976-08-13": "Lao National Mass Media and Publishing Day", + "1976-08-23": "National Uprising Day", + "1976-08-24": "Boun Haw Khao Padapdin", + "1976-09-08": "Boun Haw Khao Salark", + "1976-10-07": "Establishment Day of the BOL", + "1976-10-08": "End of Buddhist Lent", + "1976-10-09": "Vientiane Boat Racing Festival", + "1976-10-12": "Indepedence Declaration Day", + "1976-11-06": "Boun That Luang Festival", + "1976-12-02": "Lao National Day", + "1976-12-29": "Lao Year-End Bank Holiday", + "1976-12-30": "Lao Year-End Bank Holiday", + "1976-12-31": "Lao Year-End Bank Holiday", + "1977-01-01": "New Year's Day", + "1977-01-20": "Lao People's Armed Force Day", + "1977-02-01": "Lao Federation of Trade Union's Day", + "1977-02-03": "Makha Bousa Festival", + "1977-03-08": "International Women's Rights Day", + "1977-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1977-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1977-04-15": "Lao New Year's Day", + "1977-04-16": "Lao New Year's Day", + "1977-05-01": "Labor Day", + "1977-05-02": "Visakha Bousa Festival", + "1977-06-01": "National Arbor Day", + "1977-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1977-07-20": "Establishment Day of the Lao Women's Union", + "1977-07-30": "Begin of Buddhist Lent", + "1977-08-13": "Lao National Mass Media and Publishing Day", + "1977-08-23": "National Uprising Day", + "1977-09-12": "Boun Haw Khao Padapdin", + "1977-09-27": "Boun Haw Khao Salark", + "1977-10-07": "Establishment Day of the BOL", + "1977-10-12": "Indepedence Declaration Day", + "1977-10-27": "End of Buddhist Lent", + "1977-10-28": "Vientiane Boat Racing Festival", + "1977-11-25": "Boun That Luang Festival", + "1977-12-02": "Lao National Day", + "1977-12-28": "Lao Year-End Bank Holiday", + "1977-12-29": "Lao Year-End Bank Holiday", + "1977-12-30": "Lao Year-End Bank Holiday", + "1978-01-01": "New Year's Day", + "1978-01-20": "Lao People's Armed Force Day", + "1978-02-01": "Lao Federation of Trade Union's Day", + "1978-02-22": "Makha Bousa Festival", + "1978-03-08": "International Women's Rights Day", + "1978-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1978-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1978-04-15": "Lao New Year's Day", + "1978-04-16": "Lao New Year's Day", + "1978-05-01": "Labor Day", + "1978-05-21": "Visakha Bousa Festival", + "1978-06-01": "National Arbor Day", + "1978-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1978-07-19": "Begin of Buddhist Lent", + "1978-07-20": "Establishment Day of the Lao Women's Union", + "1978-08-13": "Lao National Mass Media and Publishing Day", + "1978-08-23": "National Uprising Day", + "1978-09-01": "Boun Haw Khao Padapdin", + "1978-09-16": "Boun Haw Khao Salark", + "1978-10-07": "Establishment Day of the BOL", + "1978-10-12": "Indepedence Declaration Day", + "1978-10-16": "End of Buddhist Lent", + "1978-10-17": "Vientiane Boat Racing Festival", + "1978-11-14": "Boun That Luang Festival", + "1978-12-02": "Lao National Day", + "1978-12-27": "Lao Year-End Bank Holiday", + "1978-12-28": "Lao Year-End Bank Holiday", + "1978-12-29": "Lao Year-End Bank Holiday", + "1979-01-01": "New Year's Day", + "1979-01-20": "Lao People's Armed Force Day", + "1979-02-01": "Lao Federation of Trade Union's Day", + "1979-02-11": "Makha Bousa Festival", + "1979-03-08": "International Women's Rights Day", + "1979-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1979-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1979-04-15": "Lao New Year's Day", + "1979-04-16": "Lao New Year's Day", + "1979-05-01": "Labor Day", + "1979-05-10": "Visakha Bousa Festival", + "1979-06-01": "National Arbor Day", + "1979-07-09": "Begin of Buddhist Lent", + "1979-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1979-07-20": "Establishment Day of the Lao Women's Union", + "1979-08-13": "Lao National Mass Media and Publishing Day", + "1979-08-22": "Boun Haw Khao Padapdin", + "1979-08-23": "National Uprising Day", + "1979-09-06": "Boun Haw Khao Salark", + "1979-10-06": "End of Buddhist Lent", + "1979-10-07": "Establishment Day of the BOL; Vientiane Boat Racing Festival", + "1979-10-12": "Indepedence Declaration Day", + "1979-11-04": "Boun That Luang Festival", + "1979-12-02": "Lao National Day", + "1979-12-27": "Lao Year-End Bank Holiday", + "1979-12-28": "Lao Year-End Bank Holiday", + "1979-12-31": "Lao Year-End Bank Holiday", + "1980-01-01": "New Year's Day", + "1980-01-20": "Lao People's Armed Force Day", + "1980-02-01": "Lao Federation of Trade Union's Day; Makha Bousa Festival", + "1980-03-08": "International Women's Rights Day", + "1980-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1980-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1980-04-15": "Lao New Year's Day", + "1980-04-16": "Lao New Year's Day", + "1980-04-29": "Visakha Bousa Festival", + "1980-05-01": "Labor Day", + "1980-06-01": "National Arbor Day", + "1980-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1980-07-20": "Establishment Day of the Lao Women's Union", + "1980-07-27": "Begin of Buddhist Lent", + "1980-08-13": "Lao National Mass Media and Publishing Day", + "1980-08-23": "National Uprising Day", + "1980-09-09": "Boun Haw Khao Padapdin", + "1980-09-24": "Boun Haw Khao Salark", + "1980-10-07": "Establishment Day of the BOL", + "1980-10-12": "Indepedence Declaration Day", + "1980-10-24": "End of Buddhist Lent", + "1980-10-25": "Vientiane Boat Racing Festival", + "1980-11-22": "Boun That Luang Festival", + "1980-12-02": "Lao National Day", + "1980-12-29": "Lao Year-End Bank Holiday", + "1980-12-30": "Lao Year-End Bank Holiday", + "1980-12-31": "Lao Year-End Bank Holiday", + "1981-01-01": "New Year's Day", + "1981-01-20": "Lao People's Armed Force Day", + "1981-02-01": "Lao Federation of Trade Union's Day", + "1981-02-19": "Makha Bousa Festival", + "1981-03-08": "International Women's Rights Day", + "1981-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1981-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1981-04-15": "Lao New Year's Day", + "1981-04-16": "Lao New Year's Day", + "1981-05-01": "Labor Day", + "1981-05-18": "Visakha Bousa Festival", + "1981-06-01": "National Arbor Day", + "1981-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1981-07-16": "Begin of Buddhist Lent", + "1981-07-20": "Establishment Day of the Lao Women's Union", + "1981-08-13": "Lao National Mass Media and Publishing Day", + "1981-08-23": "National Uprising Day", + "1981-08-29": "Boun Haw Khao Padapdin", + "1981-09-13": "Boun Haw Khao Salark", + "1981-10-07": "Establishment Day of the BOL", + "1981-10-12": "Indepedence Declaration Day", + "1981-10-13": "End of Buddhist Lent", + "1981-10-14": "Vientiane Boat Racing Festival", + "1981-11-11": "Boun That Luang Festival", + "1981-12-02": "Lao National Day", + "1981-12-29": "Lao Year-End Bank Holiday", + "1981-12-30": "Lao Year-End Bank Holiday", + "1981-12-31": "Lao Year-End Bank Holiday", + "1982-01-01": "New Year's Day", + "1982-01-20": "Lao People's Armed Force Day", + "1982-02-01": "Lao Federation of Trade Union's Day", + "1982-02-08": "Makha Bousa Festival", + "1982-03-08": "International Women's Rights Day", + "1982-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1982-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1982-04-15": "Lao New Year's Day", + "1982-04-16": "Lao New Year's Day", + "1982-05-01": "Labor Day", + "1982-05-07": "Visakha Bousa Festival", + "1982-06-01": "National Arbor Day", + "1982-07-05": "Begin of Buddhist Lent", + "1982-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1982-07-20": "Establishment Day of the Lao Women's Union", + "1982-08-13": "Lao National Mass Media and Publishing Day", + "1982-08-18": "Boun Haw Khao Padapdin", + "1982-08-23": "National Uprising Day", + "1982-09-02": "Boun Haw Khao Salark", + "1982-10-02": "End of Buddhist Lent", + "1982-10-03": "Vientiane Boat Racing Festival", + "1982-10-07": "Establishment Day of the BOL", + "1982-10-12": "Indepedence Declaration Day", + "1982-10-31": "Boun That Luang Festival", + "1982-12-02": "Lao National Day", + "1982-12-29": "Lao Year-End Bank Holiday", + "1982-12-30": "Lao Year-End Bank Holiday", + "1982-12-31": "Lao Year-End Bank Holiday", + "1983-01-01": "New Year's Day", + "1983-01-20": "Lao People's Armed Force Day", + "1983-01-28": "Makha Bousa Festival", + "1983-02-01": "Lao Federation of Trade Union's Day", + "1983-03-08": "International Women's Rights Day", + "1983-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1983-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1983-04-15": "Lao New Year's Day", + "1983-04-16": "Lao New Year's Day", + "1983-04-26": "Visakha Bousa Festival", + "1983-05-01": "Labor Day", + "1983-06-01": "National Arbor Day", + "1983-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1983-07-20": "Establishment Day of the Lao Women's Union", + "1983-07-24": "Begin of Buddhist Lent", + "1983-08-13": "Lao National Mass Media and Publishing Day", + "1983-08-23": "National Uprising Day", + "1983-09-06": "Boun Haw Khao Padapdin", + "1983-09-21": "Boun Haw Khao Salark", + "1983-10-07": "Establishment Day of the BOL", + "1983-10-12": "Indepedence Declaration Day", + "1983-10-21": "End of Buddhist Lent", + "1983-10-22": "Vientiane Boat Racing Festival", + "1983-11-19": "Boun That Luang Festival", + "1983-12-02": "Lao National Day", + "1983-12-28": "Lao Year-End Bank Holiday", + "1983-12-29": "Lao Year-End Bank Holiday", + "1983-12-30": "Lao Year-End Bank Holiday", + "1984-01-01": "New Year's Day", + "1984-01-20": "Lao People's Armed Force Day", + "1984-02-01": "Lao Federation of Trade Union's Day", + "1984-02-16": "Makha Bousa Festival", + "1984-03-08": "International Women's Rights Day", + "1984-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1984-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1984-04-15": "Lao New Year's Day", + "1984-04-16": "Lao New Year's Day", + "1984-05-01": "Labor Day", + "1984-05-14": "Visakha Bousa Festival", + "1984-06-01": "National Arbor Day", + "1984-07-12": "Begin of Buddhist Lent", + "1984-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1984-07-20": "Establishment Day of the Lao Women's Union", + "1984-08-13": "Lao National Mass Media and Publishing Day", + "1984-08-23": "National Uprising Day", + "1984-08-25": "Boun Haw Khao Padapdin", + "1984-09-09": "Boun Haw Khao Salark", + "1984-10-07": "Establishment Day of the BOL", + "1984-10-09": "End of Buddhist Lent", + "1984-10-10": "Vientiane Boat Racing Festival", + "1984-10-12": "Indepedence Declaration Day", + "1984-11-07": "Boun That Luang Festival", + "1984-12-02": "Lao National Day", + "1984-12-27": "Lao Year-End Bank Holiday", + "1984-12-28": "Lao Year-End Bank Holiday", + "1984-12-31": "Lao Year-End Bank Holiday", + "1985-01-01": "New Year's Day", + "1985-01-20": "Lao People's Armed Force Day", + "1985-02-01": "Lao Federation of Trade Union's Day", + "1985-02-04": "Makha Bousa Festival", + "1985-03-08": "International Women's Rights Day", + "1985-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1985-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1985-04-15": "Lao New Year's Day", + "1985-04-16": "Lao New Year's Day", + "1985-05-01": "Labor Day", + "1985-05-03": "Visakha Bousa Festival", + "1985-06-01": "National Arbor Day", + "1985-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1985-07-20": "Establishment Day of the Lao Women's Union", + "1985-07-31": "Begin of Buddhist Lent", + "1985-08-13": "Lao National Mass Media and Publishing Day", + "1985-08-23": "National Uprising Day", + "1985-09-13": "Boun Haw Khao Padapdin", + "1985-09-28": "Boun Haw Khao Salark", + "1985-10-07": "Establishment Day of the BOL", + "1985-10-12": "Indepedence Declaration Day", + "1985-10-28": "End of Buddhist Lent", + "1985-10-29": "Vientiane Boat Racing Festival", + "1985-11-26": "Boun That Luang Festival", + "1985-12-02": "Lao National Day", + "1985-12-27": "Lao Year-End Bank Holiday", + "1985-12-30": "Lao Year-End Bank Holiday", + "1985-12-31": "Lao Year-End Bank Holiday", + "1986-01-01": "New Year's Day", + "1986-01-20": "Lao People's Armed Force Day", + "1986-02-01": "Lao Federation of Trade Union's Day", + "1986-02-23": "Makha Bousa Festival", + "1986-03-08": "International Women's Rights Day", + "1986-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1986-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1986-04-15": "Lao New Year's Day", + "1986-04-16": "Lao New Year's Day", + "1986-05-01": "Labor Day", + "1986-05-22": "Visakha Bousa Festival", + "1986-06-01": "National Arbor Day", + "1986-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1986-07-20": "Begin of Buddhist Lent; Establishment Day of the Lao Women's Union", + "1986-08-13": "Lao National Mass Media and Publishing Day", + "1986-08-23": "National Uprising Day", + "1986-09-02": "Boun Haw Khao Padapdin", + "1986-09-17": "Boun Haw Khao Salark", + "1986-10-07": "Establishment Day of the BOL", + "1986-10-12": "Indepedence Declaration Day", + "1986-10-17": "End of Buddhist Lent", + "1986-10-18": "Vientiane Boat Racing Festival", + "1986-11-15": "Boun That Luang Festival", + "1986-12-02": "Lao National Day", + "1986-12-29": "Lao Year-End Bank Holiday", + "1986-12-30": "Lao Year-End Bank Holiday", + "1986-12-31": "Lao Year-End Bank Holiday", + "1987-01-01": "New Year's Day", + "1987-01-20": "Lao People's Armed Force Day", + "1987-02-01": "Lao Federation of Trade Union's Day", + "1987-02-12": "Makha Bousa Festival", + "1987-03-08": "International Women's Rights Day", + "1987-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1987-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1987-04-15": "Lao New Year's Day", + "1987-04-16": "Lao New Year's Day", + "1987-05-01": "Labor Day", + "1987-05-11": "Visakha Bousa Festival", + "1987-06-01": "National Arbor Day", + "1987-07-10": "Begin of Buddhist Lent", + "1987-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1987-07-20": "Establishment Day of the Lao Women's Union", + "1987-08-13": "Lao National Mass Media and Publishing Day", + "1987-08-23": "Boun Haw Khao Padapdin; National Uprising Day", + "1987-09-07": "Boun Haw Khao Salark", + "1987-10-07": "End of Buddhist Lent; Establishment Day of the BOL", + "1987-10-08": "Vientiane Boat Racing Festival", + "1987-10-12": "Indepedence Declaration Day", + "1987-11-05": "Boun That Luang Festival", + "1987-12-02": "Lao National Day", + "1987-12-29": "Lao Year-End Bank Holiday", + "1987-12-30": "Lao Year-End Bank Holiday", + "1987-12-31": "Lao Year-End Bank Holiday", + "1988-01-01": "New Year's Day", + "1988-01-20": "Lao People's Armed Force Day", + "1988-02-01": "Lao Federation of Trade Union's Day", + "1988-02-02": "Makha Bousa Festival", + "1988-03-08": "International Women's Rights Day", + "1988-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1988-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1988-04-15": "Lao New Year's Day", + "1988-04-16": "Lao New Year's Day", + "1988-04-30": "Visakha Bousa Festival", + "1988-05-01": "Labor Day", + "1988-06-01": "National Arbor Day", + "1988-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1988-07-20": "Establishment Day of the Lao Women's Union", + "1988-07-28": "Begin of Buddhist Lent", + "1988-08-13": "Lao National Mass Media and Publishing Day", + "1988-08-23": "National Uprising Day", + "1988-09-10": "Boun Haw Khao Padapdin", + "1988-09-25": "Boun Haw Khao Salark", + "1988-10-07": "Establishment Day of the BOL", + "1988-10-12": "Indepedence Declaration Day", + "1988-10-25": "End of Buddhist Lent", + "1988-10-26": "Vientiane Boat Racing Festival", + "1988-11-23": "Boun That Luang Festival", + "1988-12-02": "Lao National Day", + "1988-12-28": "Lao Year-End Bank Holiday", + "1988-12-29": "Lao Year-End Bank Holiday", + "1988-12-30": "Lao Year-End Bank Holiday", + "1989-01-01": "New Year's Day", + "1989-01-20": "Lao People's Armed Force Day", + "1989-02-01": "Lao Federation of Trade Union's Day", + "1989-02-20": "Makha Bousa Festival", + "1989-03-08": "International Women's Rights Day", + "1989-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1989-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1989-04-15": "Lao New Year's Day", + "1989-04-16": "Lao New Year's Day", + "1989-05-01": "Labor Day", + "1989-05-19": "Visakha Bousa Festival", + "1989-06-01": "National Arbor Day", + "1989-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1989-07-17": "Begin of Buddhist Lent", + "1989-07-20": "Establishment Day of the Lao Women's Union", + "1989-08-13": "Lao National Mass Media and Publishing Day", + "1989-08-23": "National Uprising Day", + "1989-08-30": "Boun Haw Khao Padapdin", + "1989-09-14": "Boun Haw Khao Salark", + "1989-10-07": "Establishment Day of the BOL", + "1989-10-12": "Indepedence Declaration Day", + "1989-10-14": "End of Buddhist Lent", + "1989-10-15": "Vientiane Boat Racing Festival", + "1989-11-12": "Boun That Luang Festival", + "1989-12-02": "Lao National Day", + "1989-12-27": "Lao Year-End Bank Holiday", + "1989-12-28": "Lao Year-End Bank Holiday", + "1989-12-29": "Lao Year-End Bank Holiday", + "1990-01-01": "New Year's Day", + "1990-01-20": "Lao People's Armed Force Day", + "1990-02-01": "Lao Federation of Trade Union's Day", + "1990-02-09": "Makha Bousa Festival", + "1990-03-08": "International Women's Rights Day", + "1990-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1990-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1990-04-15": "Lao New Year's Day", + "1990-04-16": "Lao New Year's Day", + "1990-05-01": "Labor Day", + "1990-05-08": "Visakha Bousa Festival", + "1990-06-01": "International Children Day; National Arbor Day", + "1990-07-07": "Begin of Buddhist Lent", + "1990-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1990-07-20": "Establishment Day of the Lao Women's Union", + "1990-08-13": "Lao National Mass Media and Publishing Day", + "1990-08-20": "Boun Haw Khao Padapdin", + "1990-08-23": "National Uprising Day", + "1990-09-04": "Boun Haw Khao Salark", + "1990-10-04": "End of Buddhist Lent", + "1990-10-05": "Vientiane Boat Racing Festival", + "1990-10-07": "Establishment Day of the BOL", + "1990-10-12": "Indepedence Declaration Day", + "1990-11-02": "Boun That Luang Festival", + "1990-12-02": "Lao National Day", + "1990-12-27": "Lao Year-End Bank Holiday", + "1990-12-28": "Lao Year-End Bank Holiday", + "1990-12-31": "Lao Year-End Bank Holiday", + "1991-01-01": "New Year's Day", + "1991-01-20": "Lao People's Armed Force Day", + "1991-01-30": "Makha Bousa Festival", + "1991-02-01": "Lao Federation of Trade Union's Day", + "1991-03-08": "International Women's Rights Day", + "1991-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1991-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1991-04-15": "Lao New Year's Day", + "1991-04-16": "Lao New Year's Day", + "1991-04-28": "Visakha Bousa Festival", + "1991-05-01": "Labor Day", + "1991-06-01": "International Children Day; National Arbor Day", + "1991-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1991-07-20": "Establishment Day of the Lao Women's Union", + "1991-07-26": "Begin of Buddhist Lent", + "1991-08-13": "Lao National Mass Media and Publishing Day", + "1991-08-15": "Lao National Constitution Day", + "1991-08-23": "National Uprising Day", + "1991-09-08": "Boun Haw Khao Padapdin", + "1991-09-23": "Boun Haw Khao Salark", + "1991-10-07": "Establishment Day of the BOL", + "1991-10-12": "Indepedence Declaration Day", + "1991-10-23": "End of Buddhist Lent", + "1991-10-24": "Vientiane Boat Racing Festival", + "1991-11-21": "Boun That Luang Festival", + "1991-12-02": "Lao National Day", + "1991-12-13": "President Kaysone Phomvihane's Birthday", + "1991-12-27": "Lao Year-End Bank Holiday", + "1991-12-30": "Lao Year-End Bank Holiday", + "1991-12-31": "Lao Year-End Bank Holiday", + "1992-01-01": "New Year's Day", + "1992-01-20": "Lao People's Armed Force Day", + "1992-02-01": "Lao Federation of Trade Union's Day", + "1992-02-18": "Makha Bousa Festival", + "1992-03-08": "International Women's Rights Day", + "1992-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1992-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1992-04-15": "Lao New Year's Day", + "1992-04-16": "Lao New Year's Day", + "1992-05-01": "Labor Day", + "1992-05-16": "Visakha Bousa Festival", + "1992-06-01": "International Children Day; National Arbor Day", + "1992-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1992-07-14": "Begin of Buddhist Lent", + "1992-07-20": "Establishment Day of the Lao Women's Union", + "1992-08-13": "Lao National Mass Media and Publishing Day", + "1992-08-15": "Lao National Constitution Day", + "1992-08-23": "National Uprising Day", + "1992-08-27": "Boun Haw Khao Padapdin", + "1992-09-11": "Boun Haw Khao Salark", + "1992-10-07": "Establishment Day of the BOL", + "1992-10-11": "End of Buddhist Lent", + "1992-10-12": "Indepedence Declaration Day; Vientiane Boat Racing Festival", + "1992-11-09": "Boun That Luang Festival", + "1992-12-02": "Lao National Day", + "1992-12-13": "President Kaysone Phomvihane's Birthday", + "1992-12-29": "Lao Year-End Bank Holiday", + "1992-12-30": "Lao Year-End Bank Holiday", + "1992-12-31": "Lao Year-End Bank Holiday", + "1993-01-01": "New Year's Day", + "1993-01-20": "Lao People's Armed Force Day", + "1993-02-01": "Lao Federation of Trade Union's Day", + "1993-02-06": "Makha Bousa Festival", + "1993-03-08": "International Women's Rights Day", + "1993-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1993-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1993-04-15": "Lao New Year's Day", + "1993-04-16": "Lao New Year's Day", + "1993-05-01": "Labor Day", + "1993-05-05": "Visakha Bousa Festival", + "1993-06-01": "International Children Day; National Arbor Day", + "1993-07-03": "Begin of Buddhist Lent", + "1993-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1993-07-20": "Establishment Day of the Lao Women's Union", + "1993-08-13": "Lao National Mass Media and Publishing Day", + "1993-08-15": "Lao National Constitution Day", + "1993-08-16": "Boun Haw Khao Padapdin", + "1993-08-23": "National Uprising Day", + "1993-08-31": "Boun Haw Khao Salark", + "1993-09-30": "End of Buddhist Lent", + "1993-10-01": "Vientiane Boat Racing Festival", + "1993-10-07": "Establishment Day of the BOL", + "1993-10-12": "Indepedence Declaration Day", + "1993-10-29": "Boun That Luang Festival", + "1993-12-02": "Lao National Day", + "1993-12-13": "President Kaysone Phomvihane's Birthday", + "1993-12-29": "Lao Year-End Bank Holiday", + "1993-12-30": "Lao Year-End Bank Holiday", + "1993-12-31": "Lao Year-End Bank Holiday", + "1994-01-01": "New Year's Day", + "1994-01-20": "Lao People's Armed Force Day", + "1994-01-26": "Makha Bousa Festival", + "1994-02-01": "Lao Federation of Trade Union's Day", + "1994-03-08": "International Women's Rights Day", + "1994-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1994-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1994-04-15": "Lao New Year's Day", + "1994-04-16": "Lao New Year's Day", + "1994-04-24": "Visakha Bousa Festival", + "1994-05-01": "Labor Day", + "1994-06-01": "International Children Day; National Arbor Day", + "1994-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1994-07-20": "Establishment Day of the Lao Women's Union", + "1994-07-22": "Begin of Buddhist Lent", + "1994-08-13": "Lao National Mass Media and Publishing Day", + "1994-08-15": "Lao National Constitution Day", + "1994-08-23": "National Uprising Day", + "1994-09-04": "Boun Haw Khao Padapdin", + "1994-09-19": "Boun Haw Khao Salark", + "1994-10-07": "Establishment Day of the BOL; National Teacher Day", + "1994-10-12": "Indepedence Declaration Day", + "1994-10-19": "End of Buddhist Lent", + "1994-10-20": "Vientiane Boat Racing Festival", + "1994-11-17": "Boun That Luang Festival", + "1994-12-02": "Lao National Day", + "1994-12-13": "President Kaysone Phomvihane's Birthday", + "1994-12-28": "Lao Year-End Bank Holiday", + "1994-12-29": "Lao Year-End Bank Holiday", + "1994-12-30": "Lao Year-End Bank Holiday", + "1995-01-01": "New Year's Day", + "1995-01-20": "Lao People's Armed Force Day", + "1995-02-01": "Lao Federation of Trade Union's Day", + "1995-02-14": "Makha Bousa Festival", + "1995-03-08": "International Women's Rights Day", + "1995-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1995-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1995-04-15": "Lao New Year's Day", + "1995-04-16": "Lao New Year's Day", + "1995-05-01": "Labor Day", + "1995-05-13": "Visakha Bousa Festival", + "1995-06-01": "International Children Day; National Arbor Day", + "1995-07-11": "Begin of Buddhist Lent", + "1995-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1995-07-20": "Establishment Day of the Lao Women's Union", + "1995-08-13": "Lao National Mass Media and Publishing Day", + "1995-08-15": "Lao National Constitution Day", + "1995-08-23": "National Uprising Day", + "1995-08-24": "Boun Haw Khao Padapdin", + "1995-09-08": "Boun Haw Khao Salark", + "1995-10-07": "Establishment Day of the BOL; National Teacher Day", + "1995-10-08": "End of Buddhist Lent", + "1995-10-09": "Vientiane Boat Racing Festival", + "1995-10-12": "Indepedence Declaration Day", + "1995-11-06": "Boun That Luang Festival", + "1995-12-02": "Lao National Day", + "1995-12-13": "President Kaysone Phomvihane's Birthday", + "1995-12-27": "Lao Year-End Bank Holiday", + "1995-12-28": "Lao Year-End Bank Holiday", + "1995-12-29": "Lao Year-End Bank Holiday", + "1996-01-01": "New Year's Day", + "1996-01-20": "Lao People's Armed Force Day", + "1996-02-01": "Lao Federation of Trade Union's Day", + "1996-02-03": "Makha Bousa Festival", + "1996-03-08": "International Women's Rights Day", + "1996-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1996-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1996-04-15": "Lao New Year's Day", + "1996-04-16": "Lao New Year's Day", + "1996-05-01": "Labor Day; Visakha Bousa Festival", + "1996-06-01": "International Children Day; National Arbor Day", + "1996-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1996-07-20": "Establishment Day of the Lao Women's Union", + "1996-07-29": "Begin of Buddhist Lent", + "1996-08-13": "Lao National Mass Media and Publishing Day", + "1996-08-15": "Lao National Constitution Day", + "1996-08-23": "National Uprising Day", + "1996-09-11": "Boun Haw Khao Padapdin", + "1996-09-26": "Boun Haw Khao Salark", + "1996-10-07": "Establishment Day of the BOL; National Teacher Day", + "1996-10-12": "Indepedence Declaration Day", + "1996-10-26": "End of Buddhist Lent", + "1996-10-27": "Vientiane Boat Racing Festival", + "1996-11-24": "Boun That Luang Festival", + "1996-12-02": "Lao National Day", + "1996-12-13": "President Kaysone Phomvihane's Birthday", + "1996-12-27": "Lao Year-End Bank Holiday", + "1996-12-30": "Lao Year-End Bank Holiday", + "1996-12-31": "Lao Year-End Bank Holiday", + "1997-01-01": "New Year's Day", + "1997-01-20": "Lao People's Armed Force Day", + "1997-02-01": "Lao Federation of Trade Union's Day", + "1997-02-21": "Makha Bousa Festival", + "1997-03-08": "International Women's Rights Day", + "1997-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1997-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1997-04-15": "Lao New Year's Day", + "1997-04-16": "Lao New Year's Day", + "1997-05-01": "Labor Day", + "1997-05-20": "Visakha Bousa Festival", + "1997-06-01": "International Children Day; National Arbor Day", + "1997-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1997-07-19": "Begin of Buddhist Lent", + "1997-07-20": "Establishment Day of the Lao Women's Union", + "1997-08-13": "Lao National Mass Media and Publishing Day", + "1997-08-15": "Lao National Constitution Day", + "1997-08-23": "National Uprising Day", + "1997-09-01": "Boun Haw Khao Padapdin", + "1997-09-16": "Boun Haw Khao Salark", + "1997-10-07": "Establishment Day of the BOL; National Teacher Day", + "1997-10-12": "Indepedence Declaration Day", + "1997-10-16": "End of Buddhist Lent", + "1997-10-17": "Vientiane Boat Racing Festival", + "1997-11-14": "Boun That Luang Festival", + "1997-12-02": "Lao National Day", + "1997-12-13": "President Kaysone Phomvihane's Birthday", + "1997-12-29": "Lao Year-End Bank Holiday", + "1997-12-30": "Lao Year-End Bank Holiday", + "1997-12-31": "Lao Year-End Bank Holiday", + "1998-01-01": "New Year's Day", + "1998-01-20": "Lao People's Armed Force Day", + "1998-02-01": "Lao Federation of Trade Union's Day", + "1998-02-11": "Makha Bousa Festival", + "1998-03-08": "International Women's Rights Day", + "1998-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1998-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1998-04-15": "Lao New Year's Day", + "1998-04-16": "Lao New Year's Day", + "1998-05-01": "Labor Day", + "1998-05-10": "Visakha Bousa Festival", + "1998-06-01": "International Children Day; National Arbor Day", + "1998-07-08": "Begin of Buddhist Lent", + "1998-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1998-07-20": "Establishment Day of the Lao Women's Union", + "1998-08-13": "Lao National Mass Media and Publishing Day", + "1998-08-15": "Lao National Constitution Day", + "1998-08-21": "Boun Haw Khao Padapdin", + "1998-08-23": "National Uprising Day", + "1998-09-05": "Boun Haw Khao Salark", + "1998-10-05": "End of Buddhist Lent", + "1998-10-06": "Vientiane Boat Racing Festival", + "1998-10-07": "Establishment Day of the BOL; National Teacher Day", + "1998-10-12": "Indepedence Declaration Day", + "1998-11-03": "Boun That Luang Festival", + "1998-12-02": "Lao National Day", + "1998-12-13": "President Kaysone Phomvihane's Birthday", + "1998-12-29": "Lao Year-End Bank Holiday", + "1998-12-30": "Lao Year-End Bank Holiday", + "1998-12-31": "Lao Year-End Bank Holiday", + "1999-01-01": "New Year's Day", + "1999-01-20": "Lao People's Armed Force Day", + "1999-01-31": "Makha Bousa Festival", + "1999-02-01": "Lao Federation of Trade Union's Day", + "1999-03-08": "International Women's Rights Day", + "1999-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "1999-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "1999-04-15": "Lao New Year's Day", + "1999-04-16": "Lao New Year's Day", + "1999-04-29": "Visakha Bousa Festival", + "1999-05-01": "Labor Day", + "1999-06-01": "International Children Day; National Arbor Day", + "1999-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1999-07-20": "Establishment Day of the Lao Women's Union", + "1999-07-27": "Begin of Buddhist Lent", + "1999-08-13": "Lao National Mass Media and Publishing Day", + "1999-08-15": "Lao National Constitution Day", + "1999-08-23": "National Uprising Day", + "1999-09-09": "Boun Haw Khao Padapdin", + "1999-09-24": "Boun Haw Khao Salark", + "1999-10-07": "Establishment Day of the BOL; National Teacher Day", + "1999-10-12": "Indepedence Declaration Day", + "1999-10-24": "End of Buddhist Lent", + "1999-10-25": "Vientiane Boat Racing Festival", + "1999-11-22": "Boun That Luang Festival", + "1999-12-02": "Lao National Day", + "1999-12-13": "President Kaysone Phomvihane's Birthday", + "1999-12-29": "Lao Year-End Bank Holiday", + "1999-12-30": "Lao Year-End Bank Holiday", + "1999-12-31": "Lao Year-End Bank Holiday", + "2000-01-01": "New Year's Day", + "2000-01-20": "Lao People's Armed Force Day", + "2000-02-01": "Lao Federation of Trade Union's Day", + "2000-02-19": "Makha Bousa Festival", + "2000-03-08": "International Women's Rights Day", + "2000-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2000-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2000-04-15": "Lao New Year's Day", + "2000-04-16": "Lao New Year's Day", + "2000-05-01": "Labor Day", + "2000-05-17": "Visakha Bousa Festival", + "2000-06-01": "International Children Day; National Arbor Day", + "2000-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2000-07-16": "Begin of Buddhist Lent", + "2000-07-20": "Establishment Day of the Lao Women's Union", + "2000-08-13": "Lao National Mass Media and Publishing Day", + "2000-08-15": "Lao National Constitution Day", + "2000-08-23": "National Uprising Day", + "2000-08-29": "Boun Haw Khao Padapdin", + "2000-09-13": "Boun Haw Khao Salark", + "2000-10-07": "Establishment Day of the BOL; National Teacher Day", + "2000-10-12": "Indepedence Declaration Day", + "2000-10-13": "End of Buddhist Lent", + "2000-10-14": "Vientiane Boat Racing Festival", + "2000-11-11": "Boun That Luang Festival", + "2000-12-02": "Lao National Day", + "2000-12-13": "President Kaysone Phomvihane's Birthday", + "2000-12-27": "Lao Year-End Bank Holiday", + "2000-12-28": "Lao Year-End Bank Holiday", + "2000-12-29": "Lao Year-End Bank Holiday", + "2001-01-01": "New Year's Day", + "2001-01-20": "Lao People's Armed Force Day", + "2001-02-01": "Lao Federation of Trade Union's Day", + "2001-02-08": "Makha Bousa Festival", + "2001-03-08": "International Women's Rights Day", + "2001-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2001-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2001-04-15": "Lao New Year's Day", + "2001-04-16": "Lao New Year's Day", + "2001-05-01": "Labor Day", + "2001-05-07": "Visakha Bousa Festival", + "2001-06-01": "International Children Day; National Arbor Day", + "2001-07-05": "Begin of Buddhist Lent", + "2001-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2001-07-20": "Establishment Day of the Lao Women's Union", + "2001-08-13": "Lao National Mass Media and Publishing Day", + "2001-08-15": "Lao National Constitution Day", + "2001-08-18": "Boun Haw Khao Padapdin", + "2001-08-23": "National Uprising Day", + "2001-09-02": "Boun Haw Khao Salark", + "2001-10-02": "End of Buddhist Lent", + "2001-10-03": "Vientiane Boat Racing Festival", + "2001-10-07": "Establishment Day of the BOL; National Teacher Day", + "2001-10-12": "Indepedence Declaration Day", + "2001-10-31": "Boun That Luang Festival", + "2001-12-02": "Lao National Day", + "2001-12-13": "President Kaysone Phomvihane's Birthday", + "2001-12-27": "Lao Year-End Bank Holiday", + "2001-12-28": "Lao Year-End Bank Holiday", + "2001-12-31": "Lao Year-End Bank Holiday", + "2002-01-01": "New Year's Day", + "2002-01-20": "Lao People's Armed Force Day", + "2002-01-28": "Makha Bousa Festival", + "2002-02-01": "Lao Federation of Trade Union's Day", + "2002-03-08": "International Women's Rights Day", + "2002-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2002-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2002-04-15": "Lao New Year's Day", + "2002-04-16": "Lao New Year's Day", + "2002-04-26": "Visakha Bousa Festival", + "2002-05-01": "Labor Day", + "2002-06-01": "International Children Day; National Arbor Day", + "2002-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2002-07-20": "Establishment Day of the Lao Women's Union", + "2002-07-24": "Begin of Buddhist Lent", + "2002-08-13": "Lao National Mass Media and Publishing Day", + "2002-08-15": "Lao National Constitution Day", + "2002-08-23": "National Uprising Day", + "2002-09-06": "Boun Haw Khao Padapdin", + "2002-09-21": "Boun Haw Khao Salark", + "2002-10-07": "Establishment Day of the BOL; National Teacher Day", + "2002-10-12": "Indepedence Declaration Day", + "2002-10-21": "End of Buddhist Lent", + "2002-10-22": "Vientiane Boat Racing Festival", + "2002-11-19": "Boun That Luang Festival", + "2002-12-02": "Lao National Day", + "2002-12-13": "President Kaysone Phomvihane's Birthday", + "2002-12-27": "Lao Year-End Bank Holiday", + "2002-12-30": "Lao Year-End Bank Holiday", + "2002-12-31": "Lao Year-End Bank Holiday", + "2003-01-01": "New Year's Day", + "2003-01-20": "Lao People's Armed Force Day", + "2003-02-01": "Lao Federation of Trade Union's Day", + "2003-02-16": "Makha Bousa Festival", + "2003-03-08": "International Women's Rights Day", + "2003-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2003-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2003-04-15": "Lao New Year's Day", + "2003-04-16": "Lao New Year's Day", + "2003-05-01": "Labor Day", + "2003-05-15": "Visakha Bousa Festival", + "2003-06-01": "International Children Day; National Arbor Day", + "2003-07-13": "Begin of Buddhist Lent; President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2003-07-20": "Establishment Day of the Lao Women's Union", + "2003-08-13": "Lao National Mass Media and Publishing Day", + "2003-08-15": "Lao National Constitution Day", + "2003-08-23": "National Uprising Day", + "2003-08-26": "Boun Haw Khao Padapdin", + "2003-09-10": "Boun Haw Khao Salark", + "2003-10-07": "Establishment Day of the BOL; National Teacher Day", + "2003-10-10": "End of Buddhist Lent", + "2003-10-11": "Vientiane Boat Racing Festival", + "2003-10-12": "Indepedence Declaration Day", + "2003-11-08": "Boun That Luang Festival", + "2003-12-02": "Lao National Day", + "2003-12-13": "President Kaysone Phomvihane's Birthday", + "2003-12-29": "Lao Year-End Bank Holiday", + "2003-12-30": "Lao Year-End Bank Holiday", + "2003-12-31": "Lao Year-End Bank Holiday", + "2004-01-01": "New Year's Day", + "2004-01-20": "Lao People's Armed Force Day", + "2004-02-01": "Lao Federation of Trade Union's Day", + "2004-02-05": "Makha Bousa Festival", + "2004-03-08": "International Women's Rights Day", + "2004-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2004-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2004-04-15": "Lao New Year's Day", + "2004-04-16": "Lao New Year's Day", + "2004-05-01": "Labor Day", + "2004-05-03": "Visakha Bousa Festival", + "2004-06-01": "International Children Day; National Arbor Day", + "2004-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2004-07-20": "Establishment Day of the Lao Women's Union", + "2004-07-31": "Begin of Buddhist Lent", + "2004-08-13": "Lao National Mass Media and Publishing Day", + "2004-08-15": "Lao National Constitution Day", + "2004-08-23": "National Uprising Day", + "2004-09-13": "Boun Haw Khao Padapdin", + "2004-09-28": "Boun Haw Khao Salark", + "2004-10-07": "Establishment Day of the BOL; National Teacher Day", + "2004-10-12": "Indepedence Declaration Day", + "2004-10-28": "End of Buddhist Lent", + "2004-10-29": "Vientiane Boat Racing Festival", + "2004-11-26": "Boun That Luang Festival", + "2004-12-02": "Lao National Day", + "2004-12-13": "President Kaysone Phomvihane's Birthday", + "2004-12-29": "Lao Year-End Bank Holiday", + "2004-12-30": "Lao Year-End Bank Holiday", + "2004-12-31": "Lao Year-End Bank Holiday", + "2005-01-01": "New Year's Day", + "2005-01-20": "Lao People's Armed Force Day", + "2005-02-01": "Lao Federation of Trade Union's Day", + "2005-02-23": "Makha Bousa Festival", + "2005-03-08": "International Women's Rights Day", + "2005-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2005-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2005-04-15": "Lao New Year's Day", + "2005-04-16": "Lao New Year's Day", + "2005-05-01": "Labor Day", + "2005-05-22": "Visakha Bousa Festival", + "2005-06-01": "International Children Day; National Arbor Day", + "2005-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2005-07-20": "Begin of Buddhist Lent; Establishment Day of the Lao Women's Union", + "2005-08-13": "Lao National Mass Media and Publishing Day", + "2005-08-15": "Lao National Constitution Day", + "2005-08-23": "National Uprising Day", + "2005-09-02": "Boun Haw Khao Padapdin", + "2005-09-17": "Boun Haw Khao Salark", + "2005-10-07": "Establishment Day of the BOL; National Teacher Day", + "2005-10-12": "Indepedence Declaration Day", + "2005-10-17": "End of Buddhist Lent", + "2005-10-18": "Vientiane Boat Racing Festival", + "2005-11-15": "Boun That Luang Festival", + "2005-12-02": "Lao National Day", + "2005-12-13": "President Kaysone Phomvihane's Birthday", + "2005-12-28": "Lao Year-End Bank Holiday", + "2005-12-29": "Lao Year-End Bank Holiday", + "2005-12-30": "Lao Year-End Bank Holiday", + "2006-01-01": "New Year's Day", + "2006-01-20": "Lao People's Armed Force Day", + "2006-02-01": "Lao Federation of Trade Union's Day", + "2006-02-12": "Makha Bousa Festival", + "2006-03-08": "International Women's Rights Day", + "2006-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2006-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2006-04-15": "Lao New Year's Day", + "2006-04-16": "Lao New Year's Day", + "2006-05-01": "Labor Day", + "2006-05-11": "Visakha Bousa Festival", + "2006-06-01": "International Children Day; National Arbor Day", + "2006-07-10": "Begin of Buddhist Lent", + "2006-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2006-07-20": "Establishment Day of the Lao Women's Union", + "2006-08-13": "Lao National Mass Media and Publishing Day", + "2006-08-15": "Lao National Constitution Day", + "2006-08-23": "Boun Haw Khao Padapdin; National Uprising Day", + "2006-09-07": "Boun Haw Khao Salark", + "2006-10-07": "End of Buddhist Lent; Establishment Day of the BOL; National Teacher Day", + "2006-10-08": "Vientiane Boat Racing Festival", + "2006-10-12": "Indepedence Declaration Day", + "2006-11-05": "Boun That Luang Festival", + "2006-12-02": "Lao National Day", + "2006-12-13": "President Kaysone Phomvihane's Birthday", + "2006-12-27": "Lao Year-End Bank Holiday", + "2006-12-28": "Lao Year-End Bank Holiday", + "2006-12-29": "Lao Year-End Bank Holiday", + "2007-01-01": "New Year's Day", + "2007-01-20": "Lao People's Armed Force Day", + "2007-02-01": "Lao Federation of Trade Union's Day", + "2007-02-02": "Makha Bousa Festival", + "2007-03-08": "International Women's Rights Day", + "2007-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2007-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2007-04-15": "Lao New Year's Day", + "2007-04-16": "Lao New Year's Day", + "2007-05-01": "Labor Day; Visakha Bousa Festival", + "2007-06-01": "International Children Day; National Arbor Day", + "2007-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2007-07-20": "Establishment Day of the Lao Women's Union", + "2007-07-29": "Begin of Buddhist Lent", + "2007-08-13": "Lao National Mass Media and Publishing Day", + "2007-08-15": "Lao National Constitution Day", + "2007-08-23": "National Uprising Day", + "2007-09-11": "Boun Haw Khao Padapdin", + "2007-09-26": "Boun Haw Khao Salark", + "2007-10-07": "Establishment Day of the BOL; National Teacher Day", + "2007-10-12": "Indepedence Declaration Day", + "2007-10-26": "End of Buddhist Lent", + "2007-10-27": "Vientiane Boat Racing Festival", + "2007-11-24": "Boun That Luang Festival", + "2007-12-02": "Lao National Day", + "2007-12-13": "President Kaysone Phomvihane's Birthday", + "2007-12-27": "Lao Year-End Bank Holiday", + "2007-12-28": "Lao Year-End Bank Holiday", + "2007-12-31": "Lao Year-End Bank Holiday", + "2008-01-01": "New Year's Day", + "2008-01-20": "Lao People's Armed Force Day", + "2008-02-01": "Lao Federation of Trade Union's Day", + "2008-02-21": "Makha Bousa Festival", + "2008-03-08": "International Women's Rights Day", + "2008-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2008-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2008-04-15": "Lao New Year's Day", + "2008-04-16": "Lao New Year's Day", + "2008-05-01": "Labor Day", + "2008-05-19": "Visakha Bousa Festival", + "2008-06-01": "International Children Day; National Arbor Day", + "2008-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2008-07-17": "Begin of Buddhist Lent", + "2008-07-20": "Establishment Day of the Lao Women's Union", + "2008-08-13": "Lao National Mass Media and Publishing Day", + "2008-08-15": "Lao National Constitution Day", + "2008-08-23": "National Uprising Day", + "2008-08-30": "Boun Haw Khao Padapdin", + "2008-09-14": "Boun Haw Khao Salark", + "2008-10-07": "Establishment Day of the BOL; National Teacher Day", + "2008-10-12": "Indepedence Declaration Day", + "2008-10-14": "End of Buddhist Lent", + "2008-10-15": "Vientiane Boat Racing Festival", + "2008-11-12": "Boun That Luang Festival", + "2008-12-02": "Lao National Day", + "2008-12-13": "President Kaysone Phomvihane's Birthday", + "2008-12-29": "Lao Year-End Bank Holiday", + "2008-12-30": "Lao Year-End Bank Holiday", + "2008-12-31": "Lao Year-End Bank Holiday", + "2009-01-01": "New Year's Day", + "2009-01-20": "Lao People's Armed Force Day", + "2009-02-01": "Lao Federation of Trade Union's Day", + "2009-02-09": "Makha Bousa Festival", + "2009-03-08": "International Women's Rights Day", + "2009-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2009-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2009-04-15": "Lao New Year's Day", + "2009-04-16": "Lao New Year's Day", + "2009-05-01": "Labor Day", + "2009-05-08": "Visakha Bousa Festival", + "2009-06-01": "International Children Day; National Arbor Day", + "2009-07-07": "Begin of Buddhist Lent", + "2009-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2009-07-20": "Establishment Day of the Lao Women's Union", + "2009-08-13": "Lao National Mass Media and Publishing Day", + "2009-08-15": "Lao National Constitution Day", + "2009-08-20": "Boun Haw Khao Padapdin", + "2009-08-23": "National Uprising Day", + "2009-09-04": "Boun Haw Khao Salark", + "2009-10-04": "End of Buddhist Lent", + "2009-10-05": "Vientiane Boat Racing Festival", + "2009-10-07": "Establishment Day of the BOL; National Teacher Day", + "2009-10-12": "Indepedence Declaration Day", + "2009-11-02": "Boun That Luang Festival", + "2009-12-02": "Lao National Day", + "2009-12-13": "President Kaysone Phomvihane's Birthday", + "2009-12-29": "Lao Year-End Bank Holiday", + "2009-12-30": "Lao Year-End Bank Holiday", + "2009-12-31": "Lao Year-End Bank Holiday", + "2010-01-01": "New Year's Day", + "2010-01-20": "Lao People's Armed Force Day", + "2010-01-30": "Makha Bousa Festival", + "2010-02-01": "Lao Federation of Trade Union's Day", + "2010-03-08": "International Women's Rights Day", + "2010-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2010-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2010-04-15": "Lao New Year's Day", + "2010-04-16": "Lao New Year's Day", + "2010-04-28": "Visakha Bousa Festival", + "2010-05-01": "Labor Day", + "2010-06-01": "International Children Day; National Arbor Day", + "2010-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2010-07-20": "Establishment Day of the Lao Women's Union", + "2010-07-26": "Begin of Buddhist Lent", + "2010-08-13": "Lao National Mass Media and Publishing Day", + "2010-08-15": "Lao National Constitution Day", + "2010-08-23": "National Uprising Day", + "2010-09-08": "Boun Haw Khao Padapdin", + "2010-09-23": "Boun Haw Khao Salark", + "2010-10-07": "Establishment Day of the BOL; National Teacher Day", + "2010-10-12": "Indepedence Declaration Day", + "2010-10-23": "End of Buddhist Lent", + "2010-10-24": "Vientiane Boat Racing Festival", + "2010-11-21": "Boun That Luang Festival", + "2010-12-02": "Lao National Day", + "2010-12-13": "President Kaysone Phomvihane's Birthday", + "2010-12-29": "Lao Year-End Bank Holiday", + "2010-12-30": "Lao Year-End Bank Holiday", + "2010-12-31": "Lao Year-End Bank Holiday", + "2011-01-01": "New Year's Day", + "2011-01-20": "Lao People's Armed Force Day", + "2011-02-01": "Lao Federation of Trade Union's Day", + "2011-02-18": "Makha Bousa Festival", + "2011-03-08": "International Women's Rights Day", + "2011-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2011-04-13": "Lao New Year's Day (in-lieu)", + "2011-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2011-04-15": "Lao New Year's Day", + "2011-04-16": "Lao New Year's Day", + "2011-05-01": "Labor Day", + "2011-05-17": "Visakha Bousa Festival", + "2011-06-01": "International Children Day; National Arbor Day", + "2011-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2011-07-15": "Begin of Buddhist Lent", + "2011-07-20": "Establishment Day of the Lao Women's Union", + "2011-08-13": "Lao National Mass Media and Publishing Day", + "2011-08-15": "Lao National Constitution Day", + "2011-08-23": "National Uprising Day", + "2011-08-28": "Boun Haw Khao Padapdin", + "2011-09-12": "Boun Haw Khao Salark", + "2011-10-07": "Establishment Day of the BOL; National Teacher Day", + "2011-10-12": "End of Buddhist Lent; Indepedence Declaration Day", + "2011-10-13": "Vientiane Boat Racing Festival", + "2011-11-10": "Boun That Luang Festival", + "2011-12-02": "Lao National Day", + "2011-12-13": "President Kaysone Phomvihane's Birthday", + "2011-12-28": "Lao Year-End Bank Holiday", + "2011-12-29": "Lao Year-End Bank Holiday", + "2011-12-30": "Lao Year-End Bank Holiday", + "2012-01-01": "New Year's Day", + "2012-01-02": "New Year's Day (in-lieu)", + "2012-01-20": "Lao People's Armed Force Day", + "2012-02-01": "Lao Federation of Trade Union's Day", + "2012-02-07": "Makha Bousa Festival", + "2012-03-08": "International Women's Rights Day", + "2012-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2012-04-13": "Lao New Year's Day (in-lieu)", + "2012-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2012-04-15": "Lao New Year's Day", + "2012-04-16": "Lao New Year's Day", + "2012-04-17": "Lao New Year's Day (in-lieu)", + "2012-05-01": "Labor Day", + "2012-05-05": "Visakha Bousa Festival", + "2012-06-01": "International Children Day; National Arbor Day", + "2012-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2012-07-20": "Establishment Day of the Lao Women's Union", + "2012-08-02": "Begin of Buddhist Lent", + "2012-08-13": "Lao National Mass Media and Publishing Day", + "2012-08-15": "Lao National Constitution Day", + "2012-08-23": "National Uprising Day", + "2012-09-15": "Boun Haw Khao Padapdin", + "2012-09-30": "Boun Haw Khao Salark", + "2012-10-07": "Establishment Day of the BOL; National Teacher Day", + "2012-10-12": "Indepedence Declaration Day", + "2012-10-30": "End of Buddhist Lent", + "2012-10-31": "Vientiane Boat Racing Festival", + "2012-11-28": "Boun That Luang Festival", + "2012-12-02": "Lao National Day", + "2012-12-03": "Lao National Day (in-lieu", + "2012-12-13": "President Kaysone Phomvihane's Birthday", + "2012-12-27": "Lao Year-End Bank Holiday", + "2012-12-28": "Lao Year-End Bank Holiday", + "2012-12-31": "Lao Year-End Bank Holiday", + "2013-01-01": "New Year's Day", + "2013-01-20": "Lao People's Armed Force Day", + "2013-02-01": "Lao Federation of Trade Union's Day", + "2013-02-25": "Makha Bousa Festival", + "2013-03-08": "International Women's Rights Day", + "2013-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2013-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2013-04-15": "Lao New Year's Day", + "2013-04-16": "Lao New Year's Day", + "2013-04-17": "Lao New Year's Day (in-lieu)", + "2013-05-01": "Labor Day", + "2013-05-24": "Visakha Bousa Festival", + "2013-06-01": "International Children Day; National Arbor Day", + "2013-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2013-07-20": "Establishment Day of the Lao Women's Union", + "2013-07-22": "Begin of Buddhist Lent", + "2013-08-13": "Lao National Mass Media and Publishing Day", + "2013-08-15": "Lao National Constitution Day", + "2013-08-23": "National Uprising Day", + "2013-09-04": "Boun Haw Khao Padapdin", + "2013-09-19": "Boun Haw Khao Salark", + "2013-10-07": "Establishment Day of the BOL; National Teacher Day", + "2013-10-12": "Indepedence Declaration Day", + "2013-10-19": "End of Buddhist Lent", + "2013-10-20": "Vientiane Boat Racing Festival", + "2013-11-17": "Boun That Luang Festival", + "2013-12-02": "Lao National Day", + "2013-12-13": "President Kaysone Phomvihane's Birthday", + "2013-12-27": "Lao Year-End Bank Holiday", + "2013-12-30": "Lao Year-End Bank Holiday", + "2013-12-31": "Lao Year-End Bank Holiday", + "2014-01-01": "New Year's Day", + "2014-01-20": "Lao People's Armed Force Day", + "2014-02-01": "Lao Federation of Trade Union's Day", + "2014-02-14": "Makha Bousa Festival", + "2014-03-08": "International Women's Rights Day", + "2014-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2014-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2014-04-15": "Lao New Year's Day", + "2014-04-16": "Lao New Year's Day", + "2014-05-01": "Labor Day", + "2014-05-13": "Visakha Bousa Festival", + "2014-06-01": "International Children Day; National Arbor Day", + "2014-07-11": "Begin of Buddhist Lent", + "2014-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2014-07-20": "Establishment Day of the Lao Women's Union", + "2014-08-13": "Lao National Mass Media and Publishing Day", + "2014-08-15": "Lao National Constitution Day", + "2014-08-23": "National Uprising Day", + "2014-08-24": "Boun Haw Khao Padapdin", + "2014-09-08": "Boun Haw Khao Salark", + "2014-10-07": "Establishment Day of the BOL; National Teacher Day", + "2014-10-08": "End of Buddhist Lent", + "2014-10-09": "Vientiane Boat Racing Festival", + "2014-10-12": "Indepedence Declaration Day", + "2014-11-06": "Boun That Luang Festival", + "2014-12-02": "Lao National Day", + "2014-12-13": "President Kaysone Phomvihane's Birthday", + "2014-12-29": "Lao Year-End Bank Holiday", + "2014-12-30": "Lao Year-End Bank Holiday", + "2014-12-31": "Lao Year-End Bank Holiday", + "2015-01-01": "New Year's Day", + "2015-01-20": "Lao People's Armed Force Day", + "2015-02-01": "Lao Federation of Trade Union's Day", + "2015-02-03": "Makha Bousa Festival", + "2015-03-08": "International Women's Rights Day", + "2015-03-09": "Internation Women's Rights Day (in-lieu)", + "2015-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2015-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2015-04-15": "Lao New Year's Day", + "2015-04-16": "Lao New Year's Day", + "2015-04-17": "Lao New Year's Day (Special)", + "2015-05-01": "Labor Day", + "2015-05-02": "Visakha Bousa Festival", + "2015-06-01": "International Children Day; National Arbor Day", + "2015-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2015-07-20": "Establishment Day of the Lao Women's Union", + "2015-07-30": "Begin of Buddhist Lent", + "2015-08-13": "Lao National Mass Media and Publishing Day", + "2015-08-15": "Lao National Constitution Day", + "2015-08-23": "National Uprising Day", + "2015-09-12": "Boun Haw Khao Padapdin", + "2015-09-27": "Boun Haw Khao Salark", + "2015-10-07": "Establishment Day of the BOL; National Teacher Day", + "2015-10-12": "Indepedence Declaration Day", + "2015-10-27": "End of Buddhist Lent", + "2015-10-28": "Vientiane Boat Racing Festival", + "2015-11-25": "Boun That Luang Festival", + "2015-12-02": "Lao National Day", + "2015-12-13": "President Kaysone Phomvihane's Birthday", + "2015-12-29": "Lao Year-End Bank Holiday", + "2015-12-30": "Lao Year-End Bank Holiday", + "2015-12-31": "Lao Year-End Bank Holiday", + "2016-01-01": "New Year's Day", + "2016-01-20": "Lao People's Armed Force Day", + "2016-02-01": "Lao Federation of Trade Union's Day", + "2016-02-22": "Makha Bousa Festival", + "2016-03-08": "International Women's Rights Day", + "2016-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2016-04-13": "Lao New Year's Day (Special)", + "2016-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2016-04-15": "Lao New Year's Day", + "2016-04-16": "Lao New Year's Day", + "2016-04-18": "Lao New Year's Day (Special)", + "2016-05-01": "Labor Day", + "2016-05-02": "Labor Day (in-lieu)", + "2016-05-20": "Visakha Bousa Festival", + "2016-06-01": "International Children Day; National Arbor Day", + "2016-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2016-07-19": "Begin of Buddhist Lent", + "2016-07-20": "Establishment Day of the Lao Women's Union", + "2016-08-13": "Lao National Mass Media and Publishing Day", + "2016-08-15": "Lao National Constitution Day", + "2016-08-23": "National Uprising Day", + "2016-09-01": "Boun Haw Khao Padapdin", + "2016-09-16": "Boun Haw Khao Salark", + "2016-10-07": "Establishment Day of the BOL; National Teacher Day", + "2016-10-12": "Indepedence Declaration Day", + "2016-10-16": "End of Buddhist Lent", + "2016-10-17": "Vientiane Boat Racing Festival", + "2016-11-14": "Boun That Luang Festival", + "2016-12-02": "Lao National Day", + "2016-12-13": "President Kaysone Phomvihane's Birthday", + "2016-12-28": "Lao Year-End Bank Holiday", + "2016-12-29": "Lao Year-End Bank Holiday", + "2016-12-30": "Lao Year-End Bank Holiday", + "2017-01-01": "New Year's Day", + "2017-01-02": "New Year's Day (in-lieu)", + "2017-01-20": "Lao People's Armed Force Day", + "2017-02-01": "Lao Federation of Trade Union's Day", + "2017-02-11": "Makha Bousa Festival", + "2017-03-08": "International Women's Rights Day", + "2017-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2017-04-13": "Lao New Year's Day (in-lieu)", + "2017-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2017-04-15": "Lao New Year's Day", + "2017-04-16": "Lao New Year's Day", + "2017-04-17": "Lao New Year's Day (in-lieu)", + "2017-05-01": "Labor Day", + "2017-05-10": "Visakha Bousa Festival", + "2017-06-01": "International Children Day; National Arbor Day", + "2017-07-08": "Begin of Buddhist Lent", + "2017-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2017-07-20": "Establishment Day of the Lao Women's Union", + "2017-08-13": "Lao National Mass Media and Publishing Day", + "2017-08-15": "Lao National Constitution Day", + "2017-08-21": "Boun Haw Khao Padapdin", + "2017-08-23": "National Uprising Day", + "2017-09-05": "Boun Haw Khao Salark", + "2017-10-05": "End of Buddhist Lent", + "2017-10-06": "Vientiane Boat Racing Festival", + "2017-10-07": "Establishment Day of the BOL; National Teacher Day", + "2017-10-12": "Indepedence Declaration Day", + "2017-11-03": "Boun That Luang Festival", + "2017-12-02": "Lao National Day", + "2017-12-04": "Lao National Day (in-lieu", + "2017-12-13": "President Kaysone Phomvihane's Birthday", + "2017-12-27": "Lao Year-End Bank Holiday", + "2017-12-28": "Lao Year-End Bank Holiday", + "2017-12-29": "Lao Year-End Bank Holiday", + "2018-01-01": "New Year's Day", + "2018-01-20": "Lao People's Armed Force Day", + "2018-01-31": "Makha Bousa Festival", + "2018-02-01": "Lao Federation of Trade Union's Day", + "2018-03-08": "International Women's Rights Day", + "2018-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2018-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2018-04-15": "Lao New Year's Day", + "2018-04-16": "Lao New Year's Day", + "2018-04-17": "Lao New Year's Day (in lieu)", + "2018-04-18": "Lao New Year's Day (in lieu)", + "2018-04-29": "Visakha Bousa Festival", + "2018-05-01": "Labor Day", + "2018-06-01": "International Children Day; National Arbor Day", + "2018-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2018-07-20": "Establishment Day of the Lao Women's Union", + "2018-07-27": "Begin of Buddhist Lent", + "2018-08-13": "Lao National Mass Media and Publishing Day", + "2018-08-15": "Lao National Constitution Day", + "2018-08-23": "National Uprising Day", + "2018-09-09": "Boun Haw Khao Padapdin", + "2018-09-24": "Boun Haw Khao Salark", + "2018-10-07": "Establishment Day of the BOL; National Teacher Day", + "2018-10-08": "Establishment Day of the BOL (in lieu)", + "2018-10-12": "Indepedence Declaration Day", + "2018-10-24": "End of Buddhist Lent", + "2018-10-25": "Vientiane Boat Racing Festival", + "2018-11-22": "Boun That Luang Festival", + "2018-12-02": "Lao National Day", + "2018-12-03": "Lao National Day (in lieu)", + "2018-12-13": "President Kaysone Phomvihane's Birthday", + "2018-12-27": "Lao Year-End Bank Holiday", + "2018-12-28": "Lao Year-End Bank Holiday", + "2018-12-31": "Lao Year-End Bank Holiday", + "2019-01-01": "New Year's Day", + "2019-01-20": "Lao People's Armed Force Day", + "2019-02-01": "Lao Federation of Trade Union's Day", + "2019-02-19": "Makha Bousa Festival", + "2019-03-08": "International Women's Rights Day", + "2019-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2019-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2019-04-15": "Lao New Year's Day", + "2019-04-16": "Lao New Year's Day", + "2019-04-17": "Lao New Year's Day (in lieu)", + "2019-05-01": "Labor Day", + "2019-05-18": "Visakha Bousa Festival", + "2019-06-01": "International Children Day; National Arbor Day", + "2019-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2019-07-16": "Begin of Buddhist Lent", + "2019-07-20": "Establishment Day of the Lao Women's Union", + "2019-08-13": "Lao National Mass Media and Publishing Day", + "2019-08-15": "Lao National Constitution Day", + "2019-08-23": "National Uprising Day", + "2019-08-29": "Boun Haw Khao Padapdin", + "2019-09-13": "Boun Haw Khao Salark", + "2019-10-07": "Establishment Day of the BOL; National Teacher Day", + "2019-10-12": "Indepedence Declaration Day", + "2019-10-13": "End of Buddhist Lent", + "2019-10-14": "Vientiane Boat Racing Festival", + "2019-11-11": "Boun That Luang Festival", + "2019-12-02": "Lao National Day", + "2019-12-13": "President Kaysone Phomvihane's Birthday", + "2019-12-27": "Lao Year-End Bank Holiday", + "2019-12-30": "Lao Year-End Bank Holiday", + "2019-12-31": "Lao Year-End Bank Holiday", + "2020-01-01": "New Year's Day", + "2020-01-20": "Lao People's Armed Force Day", + "2020-02-01": "Lao Federation of Trade Union's Day", + "2020-02-08": "Makha Bousa Festival", + "2020-03-08": "International Women's Rights Day", + "2020-03-09": "International Women's Rights Day (in lieu)", + "2020-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2020-04-13": "Lao New Year's Day (Special)", + "2020-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2020-04-15": "Lao New Year's Day", + "2020-04-16": "Lao New Year's Day", + "2020-04-17": "Lao New Year's Day (Special)", + "2020-05-01": "Labor Day", + "2020-05-06": "Visakha Bousa Festival", + "2020-06-01": "International Children Day; National Arbor Day", + "2020-07-05": "Begin of Buddhist Lent", + "2020-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2020-07-20": "Establishment Day of the Lao Women's Union", + "2020-08-13": "Lao National Mass Media and Publishing Day", + "2020-08-15": "Lao National Constitution Day", + "2020-08-18": "Boun Haw Khao Padapdin", + "2020-08-23": "National Uprising Day", + "2020-09-02": "Boun Haw Khao Salark", + "2020-10-02": "End of Buddhist Lent", + "2020-10-03": "Vientiane Boat Racing Festival", + "2020-10-07": "Establishment Day of the BOL; National Teacher Day", + "2020-10-12": "Indepedence Declaration Day", + "2020-10-31": "Boun That Luang Festival", + "2020-12-02": "Lao National Day", + "2020-12-13": "President Kaysone Phomvihane's Birthday", + "2020-12-29": "Lao Year-End Bank Holiday", + "2020-12-30": "Lao Year-End Bank Holiday", + "2020-12-31": "Lao Year-End Bank Holiday", + "2021-01-01": "New Year's Day", + "2021-01-20": "Lao People's Armed Force Day", + "2021-01-28": "Makha Bousa Festival", + "2021-02-01": "Lao Federation of Trade Union's Day", + "2021-03-08": "International Women's Rights Day", + "2021-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2021-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2021-04-15": "Lao New Year's Day", + "2021-04-16": "Lao New Year's Day", + "2021-04-26": "Visakha Bousa Festival", + "2021-05-01": "Labor Day", + "2021-05-03": "Labor Day (in lieu)", + "2021-06-01": "International Children Day; National Arbor Day", + "2021-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2021-07-20": "Establishment Day of the Lao Women's Union", + "2021-07-24": "Begin of Buddhist Lent", + "2021-08-13": "Lao National Mass Media and Publishing Day", + "2021-08-15": "Lao National Constitution Day", + "2021-08-23": "National Uprising Day", + "2021-09-06": "Boun Haw Khao Padapdin", + "2021-09-21": "Boun Haw Khao Salark", + "2021-10-07": "Establishment Day of the BOL; National Teacher Day", + "2021-10-12": "Indepedence Declaration Day", + "2021-10-21": "End of Buddhist Lent", + "2021-10-22": "Vientiane Boat Racing Festival", + "2021-11-19": "Boun That Luang Festival", + "2021-12-02": "Lao National Day", + "2021-12-13": "President Kaysone Phomvihane's Birthday", + "2021-12-29": "Lao Year-End Bank Holiday", + "2021-12-30": "Lao Year-End Bank Holiday", + "2021-12-31": "Lao Year-End Bank Holiday", + "2022-01-01": "New Year's Day", + "2022-01-03": "New Year's Day (in lieu)", + "2022-01-20": "Lao People's Armed Force Day", + "2022-02-01": "Lao Federation of Trade Union's Day", + "2022-02-16": "Makha Bousa Festival", + "2022-03-08": "International Women's Rights Day", + "2022-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2022-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2022-04-15": "Lao New Year's Day", + "2022-04-16": "Lao New Year's Day", + "2022-04-18": "Lao New Year's Day (in lieu)", + "2022-05-01": "Labor Day", + "2022-05-02": "Labor Day (in lieu)", + "2022-05-15": "Visakha Bousa Festival", + "2022-06-01": "International Children Day; National Arbor Day", + "2022-07-13": "Begin of Buddhist Lent; President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2022-07-20": "Establishment Day of the Lao Women's Union", + "2022-08-13": "Lao National Mass Media and Publishing Day", + "2022-08-15": "Lao National Constitution Day", + "2022-08-23": "National Uprising Day", + "2022-08-26": "Boun Haw Khao Padapdin", + "2022-09-10": "Boun Haw Khao Salark", + "2022-10-07": "Establishment Day of the BOL; National Teacher Day", + "2022-10-10": "End of Buddhist Lent", + "2022-10-11": "Vientiane Boat Racing Festival", + "2022-10-12": "Indepedence Declaration Day", + "2022-11-08": "Boun That Luang Festival", + "2022-12-02": "Lao National Day", + "2022-12-13": "President Kaysone Phomvihane's Birthday", + "2022-12-28": "Lao Year-End Bank Holiday", + "2022-12-29": "Lao Year-End Bank Holiday", + "2022-12-30": "Lao Year-End Bank Holiday", + "2023-01-01": "New Year's Day", + "2023-01-02": "New Year's Day (in lieu)", + "2023-01-20": "Lao People's Armed Force Day", + "2023-02-01": "Lao Federation of Trade Union's Day", + "2023-02-05": "Makha Bousa Festival", + "2023-03-08": "International Women's Rights Day", + "2023-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2023-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2023-04-15": "Lao New Year's Day", + "2023-04-16": "Lao New Year's Day", + "2023-04-17": "Lao New Year's Day (in lieu)", + "2023-04-18": "Lao New Year's Day (in lieu)", + "2023-05-01": "Labor Day", + "2023-05-04": "Visakha Bousa Festival", + "2023-06-01": "International Children Day; National Arbor Day", + "2023-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2023-07-20": "Establishment Day of the Lao Women's Union", + "2023-08-01": "Begin of Buddhist Lent", + "2023-08-13": "Lao National Mass Media and Publishing Day", + "2023-08-15": "Lao National Constitution Day", + "2023-08-23": "National Uprising Day", + "2023-09-14": "Boun Haw Khao Padapdin", + "2023-09-29": "Boun Haw Khao Salark", + "2023-10-07": "Establishment Day of the BOL; National Teacher Day", + "2023-10-09": "Establishment Day of the BOL (in lieu)", + "2023-10-12": "Indepedence Declaration Day", + "2023-10-29": "End of Buddhist Lent", + "2023-10-30": "Vientiane Boat Racing Festival", + "2023-11-27": "Boun That Luang Festival", + "2023-12-02": "Lao National Day", + "2023-12-04": "Lao National Day (in lieu)", + "2023-12-13": "President Kaysone Phomvihane's Birthday", + "2023-12-27": "Lao Year-End Bank Holiday", + "2023-12-28": "Lao Year-End Bank Holiday", + "2023-12-29": "Lao Year-End Bank Holiday", + "2024-01-01": "New Year's Day", + "2024-01-20": "Lao People's Armed Force Day", + "2024-02-01": "Lao Federation of Trade Union's Day", + "2024-02-24": "Makha Bousa Festival", + "2024-03-08": "International Women's Rights Day", + "2024-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2024-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2024-04-15": "Lao New Year's Day", + "2024-04-16": "Lao New Year's Day", + "2024-04-17": "Lao New Year's Day (in lieu)", + "2024-05-01": "Labor Day", + "2024-05-22": "Visakha Bousa Festival", + "2024-06-01": "International Children Day; National Arbor Day", + "2024-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2024-07-20": "Begin of Buddhist Lent; Establishment Day of the Lao Women's Union", + "2024-08-13": "Lao National Mass Media and Publishing Day", + "2024-08-15": "Lao National Constitution Day", + "2024-08-23": "National Uprising Day", + "2024-09-02": "Boun Haw Khao Padapdin", + "2024-09-17": "Boun Haw Khao Salark", + "2024-10-07": "Establishment Day of the BOL; National Teacher Day", + "2024-10-12": "Indepedence Declaration Day", + "2024-10-17": "End of Buddhist Lent", + "2024-10-18": "Vientiane Boat Racing Festival", + "2024-11-15": "Boun That Luang Festival", + "2024-12-02": "Lao National Day", + "2024-12-13": "President Kaysone Phomvihane's Birthday", + "2024-12-27": "Lao Year-End Bank Holiday", + "2024-12-30": "Lao Year-End Bank Holiday", + "2024-12-31": "Lao Year-End Bank Holiday", + "2025-01-01": "New Year's Day", + "2025-01-20": "Lao People's Armed Force Day", + "2025-02-01": "Lao Federation of Trade Union's Day", + "2025-02-12": "Makha Bousa Festival", + "2025-03-08": "International Women's Rights Day", + "2025-03-10": "International Women's Rights Day (in lieu)", + "2025-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2025-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2025-04-15": "Lao New Year's Day", + "2025-04-16": "Lao New Year's Day", + "2025-05-01": "Labor Day", + "2025-05-11": "Visakha Bousa Festival", + "2025-06-01": "International Children Day; National Arbor Day", + "2025-07-10": "Begin of Buddhist Lent", + "2025-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2025-07-20": "Establishment Day of the Lao Women's Union", + "2025-08-13": "Lao National Mass Media and Publishing Day", + "2025-08-15": "Lao National Constitution Day", + "2025-08-23": "Boun Haw Khao Padapdin; National Uprising Day", + "2025-09-07": "Boun Haw Khao Salark", + "2025-10-07": "End of Buddhist Lent; Establishment Day of the BOL; National Teacher Day", + "2025-10-08": "Vientiane Boat Racing Festival", + "2025-10-12": "Indepedence Declaration Day", + "2025-11-05": "Boun That Luang Festival", + "2025-12-02": "Lao National Day", + "2025-12-13": "President Kaysone Phomvihane's Birthday", + "2025-12-29": "Lao Year-End Bank Holiday", + "2025-12-30": "Lao Year-End Bank Holiday", + "2025-12-31": "Lao Year-End Bank Holiday", + "2026-01-01": "New Year's Day", + "2026-01-20": "Lao People's Armed Force Day", + "2026-02-01": "Lao Federation of Trade Union's Day", + "2026-02-02": "Makha Bousa Festival", + "2026-03-08": "International Women's Rights Day", + "2026-03-09": "International Women's Rights Day (in lieu)", + "2026-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2026-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2026-04-15": "Lao New Year's Day", + "2026-04-16": "Lao New Year's Day", + "2026-05-01": "Labor Day; Visakha Bousa Festival", + "2026-06-01": "International Children Day; National Arbor Day", + "2026-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2026-07-20": "Establishment Day of the Lao Women's Union", + "2026-07-29": "Begin of Buddhist Lent", + "2026-08-13": "Lao National Mass Media and Publishing Day", + "2026-08-15": "Lao National Constitution Day", + "2026-08-23": "National Uprising Day", + "2026-09-11": "Boun Haw Khao Padapdin", + "2026-09-26": "Boun Haw Khao Salark", + "2026-10-07": "Establishment Day of the BOL; National Teacher Day", + "2026-10-12": "Indepedence Declaration Day", + "2026-10-26": "End of Buddhist Lent", + "2026-10-27": "Vientiane Boat Racing Festival", + "2026-11-24": "Boun That Luang Festival", + "2026-12-02": "Lao National Day", + "2026-12-13": "President Kaysone Phomvihane's Birthday", + "2026-12-29": "Lao Year-End Bank Holiday", + "2026-12-30": "Lao Year-End Bank Holiday", + "2026-12-31": "Lao Year-End Bank Holiday", + "2027-01-01": "New Year's Day", + "2027-01-20": "Lao People's Armed Force Day", + "2027-02-01": "Lao Federation of Trade Union's Day", + "2027-02-21": "Makha Bousa Festival", + "2027-03-08": "International Women's Rights Day", + "2027-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2027-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2027-04-15": "Lao New Year's Day", + "2027-04-16": "Lao New Year's Day", + "2027-05-01": "Labor Day", + "2027-05-03": "Labor Day (in lieu)", + "2027-05-20": "Visakha Bousa Festival", + "2027-06-01": "International Children Day; National Arbor Day", + "2027-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2027-07-18": "Begin of Buddhist Lent", + "2027-07-20": "Establishment Day of the Lao Women's Union", + "2027-08-13": "Lao National Mass Media and Publishing Day", + "2027-08-15": "Lao National Constitution Day", + "2027-08-23": "National Uprising Day", + "2027-08-31": "Boun Haw Khao Padapdin", + "2027-09-15": "Boun Haw Khao Salark", + "2027-10-07": "Establishment Day of the BOL; National Teacher Day", + "2027-10-12": "Indepedence Declaration Day", + "2027-10-15": "End of Buddhist Lent", + "2027-10-16": "Vientiane Boat Racing Festival", + "2027-11-13": "Boun That Luang Festival", + "2027-12-02": "Lao National Day", + "2027-12-13": "President Kaysone Phomvihane's Birthday", + "2027-12-29": "Lao Year-End Bank Holiday", + "2027-12-30": "Lao Year-End Bank Holiday", + "2027-12-31": "Lao Year-End Bank Holiday", + "2028-01-01": "New Year's Day", + "2028-01-03": "New Year's Day (in lieu)", + "2028-01-20": "Lao People's Armed Force Day", + "2028-02-01": "Lao Federation of Trade Union's Day", + "2028-02-10": "Makha Bousa Festival", + "2028-03-08": "International Women's Rights Day", + "2028-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2028-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2028-04-15": "Lao New Year's Day", + "2028-04-16": "Lao New Year's Day", + "2028-04-17": "Lao New Year's Day (in lieu)", + "2028-04-18": "Lao New Year's Day (in lieu)", + "2028-05-01": "Labor Day", + "2028-05-08": "Visakha Bousa Festival", + "2028-06-01": "International Children Day; National Arbor Day", + "2028-07-06": "Begin of Buddhist Lent", + "2028-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2028-07-20": "Establishment Day of the Lao Women's Union", + "2028-08-13": "Lao National Mass Media and Publishing Day", + "2028-08-15": "Lao National Constitution Day", + "2028-08-19": "Boun Haw Khao Padapdin", + "2028-08-23": "National Uprising Day", + "2028-09-03": "Boun Haw Khao Salark", + "2028-10-03": "End of Buddhist Lent", + "2028-10-04": "Vientiane Boat Racing Festival", + "2028-10-07": "Establishment Day of the BOL; National Teacher Day", + "2028-10-09": "Establishment Day of the BOL (in lieu)", + "2028-10-12": "Indepedence Declaration Day", + "2028-11-01": "Boun That Luang Festival", + "2028-12-02": "Lao National Day", + "2028-12-04": "Lao National Day (in lieu)", + "2028-12-13": "President Kaysone Phomvihane's Birthday", + "2028-12-27": "Lao Year-End Bank Holiday", + "2028-12-28": "Lao Year-End Bank Holiday", + "2028-12-29": "Lao Year-End Bank Holiday", + "2029-01-01": "New Year's Day", + "2029-01-20": "Lao People's Armed Force Day", + "2029-01-29": "Makha Bousa Festival", + "2029-02-01": "Lao Federation of Trade Union's Day", + "2029-03-08": "International Women's Rights Day", + "2029-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2029-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2029-04-15": "Lao New Year's Day", + "2029-04-16": "Lao New Year's Day", + "2029-04-17": "Lao New Year's Day (in lieu)", + "2029-04-18": "Lao New Year's Day (in lieu)", + "2029-04-27": "Visakha Bousa Festival", + "2029-05-01": "Labor Day", + "2029-06-01": "International Children Day; National Arbor Day", + "2029-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2029-07-20": "Establishment Day of the Lao Women's Union", + "2029-07-25": "Begin of Buddhist Lent", + "2029-08-13": "Lao National Mass Media and Publishing Day", + "2029-08-15": "Lao National Constitution Day", + "2029-08-23": "National Uprising Day", + "2029-09-07": "Boun Haw Khao Padapdin", + "2029-09-22": "Boun Haw Khao Salark", + "2029-10-07": "Establishment Day of the BOL; National Teacher Day", + "2029-10-08": "Establishment Day of the BOL (in lieu)", + "2029-10-12": "Indepedence Declaration Day", + "2029-10-22": "End of Buddhist Lent", + "2029-10-23": "Vientiane Boat Racing Festival", + "2029-11-20": "Boun That Luang Festival", + "2029-12-02": "Lao National Day", + "2029-12-03": "Lao National Day (in lieu)", + "2029-12-13": "President Kaysone Phomvihane's Birthday", + "2029-12-27": "Lao Year-End Bank Holiday", + "2029-12-28": "Lao Year-End Bank Holiday", + "2029-12-31": "Lao Year-End Bank Holiday", + "2030-01-01": "New Year's Day", + "2030-01-20": "Lao People's Armed Force Day", + "2030-02-01": "Lao Federation of Trade Union's Day", + "2030-02-17": "Makha Bousa Festival", + "2030-03-08": "International Women's Rights Day", + "2030-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2030-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2030-04-15": "Lao New Year's Day", + "2030-04-16": "Lao New Year's Day", + "2030-04-17": "Lao New Year's Day (in lieu)", + "2030-05-01": "Labor Day", + "2030-05-16": "Visakha Bousa Festival", + "2030-06-01": "International Children Day; National Arbor Day", + "2030-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2030-07-14": "Begin of Buddhist Lent", + "2030-07-20": "Establishment Day of the Lao Women's Union", + "2030-08-13": "Lao National Mass Media and Publishing Day", + "2030-08-15": "Lao National Constitution Day", + "2030-08-23": "National Uprising Day", + "2030-08-27": "Boun Haw Khao Padapdin", + "2030-09-11": "Boun Haw Khao Salark", + "2030-10-07": "Establishment Day of the BOL; National Teacher Day", + "2030-10-11": "End of Buddhist Lent", + "2030-10-12": "Indepedence Declaration Day; Vientiane Boat Racing Festival", + "2030-11-09": "Boun That Luang Festival", + "2030-12-02": "Lao National Day", + "2030-12-13": "President Kaysone Phomvihane's Birthday", + "2030-12-27": "Lao Year-End Bank Holiday", + "2030-12-30": "Lao Year-End Bank Holiday", + "2030-12-31": "Lao Year-End Bank Holiday", + "2031-01-01": "New Year's Day", + "2031-01-20": "Lao People's Armed Force Day", + "2031-02-01": "Lao Federation of Trade Union's Day", + "2031-02-06": "Makha Bousa Festival", + "2031-03-08": "International Women's Rights Day", + "2031-03-10": "International Women's Rights Day (in lieu)", + "2031-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2031-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2031-04-15": "Lao New Year's Day", + "2031-04-16": "Lao New Year's Day", + "2031-05-01": "Labor Day", + "2031-05-05": "Visakha Bousa Festival", + "2031-06-01": "International Children Day; National Arbor Day", + "2031-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2031-07-20": "Establishment Day of the Lao Women's Union", + "2031-08-02": "Begin of Buddhist Lent", + "2031-08-13": "Lao National Mass Media and Publishing Day", + "2031-08-15": "Lao National Constitution Day", + "2031-08-23": "National Uprising Day", + "2031-09-15": "Boun Haw Khao Padapdin", + "2031-09-30": "Boun Haw Khao Salark", + "2031-10-07": "Establishment Day of the BOL; National Teacher Day", + "2031-10-12": "Indepedence Declaration Day", + "2031-10-30": "End of Buddhist Lent", + "2031-10-31": "Vientiane Boat Racing Festival", + "2031-11-28": "Boun That Luang Festival", + "2031-12-02": "Lao National Day", + "2031-12-13": "President Kaysone Phomvihane's Birthday", + "2031-12-29": "Lao Year-End Bank Holiday", + "2031-12-30": "Lao Year-End Bank Holiday", + "2031-12-31": "Lao Year-End Bank Holiday", + "2032-01-01": "New Year's Day", + "2032-01-20": "Lao People's Armed Force Day", + "2032-02-01": "Lao Federation of Trade Union's Day", + "2032-02-25": "Makha Bousa Festival", + "2032-03-08": "International Women's Rights Day", + "2032-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2032-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2032-04-15": "Lao New Year's Day", + "2032-04-16": "Lao New Year's Day", + "2032-05-01": "Labor Day", + "2032-05-03": "Labor Day (in lieu)", + "2032-05-23": "Visakha Bousa Festival", + "2032-06-01": "International Children Day; National Arbor Day", + "2032-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2032-07-20": "Establishment Day of the Lao Women's Union", + "2032-07-22": "Begin of Buddhist Lent", + "2032-08-13": "Lao National Mass Media and Publishing Day", + "2032-08-15": "Lao National Constitution Day", + "2032-08-23": "National Uprising Day", + "2032-09-04": "Boun Haw Khao Padapdin", + "2032-09-19": "Boun Haw Khao Salark", + "2032-10-07": "Establishment Day of the BOL; National Teacher Day", + "2032-10-12": "Indepedence Declaration Day", + "2032-10-19": "End of Buddhist Lent", + "2032-10-20": "Vientiane Boat Racing Festival", + "2032-11-17": "Boun That Luang Festival", + "2032-12-02": "Lao National Day", + "2032-12-13": "President Kaysone Phomvihane's Birthday", + "2032-12-29": "Lao Year-End Bank Holiday", + "2032-12-30": "Lao Year-End Bank Holiday", + "2032-12-31": "Lao Year-End Bank Holiday", + "2033-01-01": "New Year's Day", + "2033-01-03": "New Year's Day (in lieu)", + "2033-01-20": "Lao People's Armed Force Day", + "2033-02-01": "Lao Federation of Trade Union's Day", + "2033-02-14": "Makha Bousa Festival", + "2033-03-08": "International Women's Rights Day", + "2033-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2033-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2033-04-15": "Lao New Year's Day", + "2033-04-16": "Lao New Year's Day", + "2033-04-18": "Lao New Year's Day (in lieu)", + "2033-05-01": "Labor Day", + "2033-05-02": "Labor Day (in lieu)", + "2033-05-13": "Visakha Bousa Festival", + "2033-06-01": "International Children Day; National Arbor Day", + "2033-07-11": "Begin of Buddhist Lent", + "2033-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2033-07-20": "Establishment Day of the Lao Women's Union", + "2033-08-13": "Lao National Mass Media and Publishing Day", + "2033-08-15": "Lao National Constitution Day", + "2033-08-23": "National Uprising Day", + "2033-08-24": "Boun Haw Khao Padapdin", + "2033-09-08": "Boun Haw Khao Salark", + "2033-10-07": "Establishment Day of the BOL; National Teacher Day", + "2033-10-08": "End of Buddhist Lent", + "2033-10-09": "Vientiane Boat Racing Festival", + "2033-10-12": "Indepedence Declaration Day", + "2033-11-06": "Boun That Luang Festival", + "2033-12-02": "Lao National Day", + "2033-12-13": "President Kaysone Phomvihane's Birthday", + "2033-12-28": "Lao Year-End Bank Holiday", + "2033-12-29": "Lao Year-End Bank Holiday", + "2033-12-30": "Lao Year-End Bank Holiday", + "2034-01-01": "New Year's Day", + "2034-01-02": "New Year's Day (in lieu)", + "2034-01-20": "Lao People's Armed Force Day", + "2034-02-01": "Lao Federation of Trade Union's Day", + "2034-02-03": "Makha Bousa Festival", + "2034-03-08": "International Women's Rights Day", + "2034-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2034-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2034-04-15": "Lao New Year's Day", + "2034-04-16": "Lao New Year's Day", + "2034-04-17": "Lao New Year's Day (in lieu)", + "2034-04-18": "Lao New Year's Day (in lieu)", + "2034-05-01": "Labor Day", + "2034-05-02": "Visakha Bousa Festival", + "2034-06-01": "International Children Day; National Arbor Day", + "2034-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2034-07-20": "Establishment Day of the Lao Women's Union", + "2034-07-30": "Begin of Buddhist Lent", + "2034-08-13": "Lao National Mass Media and Publishing Day", + "2034-08-15": "Lao National Constitution Day", + "2034-08-23": "National Uprising Day", + "2034-09-12": "Boun Haw Khao Padapdin", + "2034-09-27": "Boun Haw Khao Salark", + "2034-10-07": "Establishment Day of the BOL; National Teacher Day", + "2034-10-09": "Establishment Day of the BOL (in lieu)", + "2034-10-12": "Indepedence Declaration Day", + "2034-10-27": "End of Buddhist Lent", + "2034-10-28": "Vientiane Boat Racing Festival", + "2034-11-25": "Boun That Luang Festival", + "2034-12-02": "Lao National Day", + "2034-12-04": "Lao National Day (in lieu)", + "2034-12-13": "President Kaysone Phomvihane's Birthday", + "2034-12-27": "Lao Year-End Bank Holiday", + "2034-12-28": "Lao Year-End Bank Holiday", + "2034-12-29": "Lao Year-End Bank Holiday", + "2035-01-01": "New Year's Day", + "2035-01-20": "Lao People's Armed Force Day", + "2035-02-01": "Lao Federation of Trade Union's Day", + "2035-02-22": "Makha Bousa Festival", + "2035-03-08": "International Women's Rights Day", + "2035-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2035-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2035-04-15": "Lao New Year's Day", + "2035-04-16": "Lao New Year's Day", + "2035-04-17": "Lao New Year's Day (in lieu)", + "2035-04-18": "Lao New Year's Day (in lieu)", + "2035-05-01": "Labor Day", + "2035-05-21": "Visakha Bousa Festival", + "2035-06-01": "International Children Day; National Arbor Day", + "2035-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2035-07-20": "Begin of Buddhist Lent; Establishment Day of the Lao Women's Union", + "2035-08-13": "Lao National Mass Media and Publishing Day", + "2035-08-15": "Lao National Constitution Day", + "2035-08-23": "National Uprising Day", + "2035-09-02": "Boun Haw Khao Padapdin", + "2035-09-17": "Boun Haw Khao Salark", + "2035-10-07": "Establishment Day of the BOL; National Teacher Day", + "2035-10-08": "Establishment Day of the BOL (in lieu)", + "2035-10-12": "Indepedence Declaration Day", + "2035-10-17": "End of Buddhist Lent", + "2035-10-18": "Vientiane Boat Racing Festival", + "2035-11-15": "Boun That Luang Festival", + "2035-12-02": "Lao National Day", + "2035-12-03": "Lao National Day (in lieu)", + "2035-12-13": "President Kaysone Phomvihane's Birthday", + "2035-12-27": "Lao Year-End Bank Holiday", + "2035-12-28": "Lao Year-End Bank Holiday", + "2035-12-31": "Lao Year-End Bank Holiday", + "2036-01-01": "New Year's Day", + "2036-01-20": "Lao People's Armed Force Day", + "2036-02-01": "Lao Federation of Trade Union's Day", + "2036-02-12": "Makha Bousa Festival", + "2036-03-08": "International Women's Rights Day", + "2036-03-10": "International Women's Rights Day (in lieu)", + "2036-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2036-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2036-04-15": "Lao New Year's Day", + "2036-04-16": "Lao New Year's Day", + "2036-05-01": "Labor Day", + "2036-05-10": "Visakha Bousa Festival", + "2036-06-01": "International Children Day; National Arbor Day", + "2036-07-08": "Begin of Buddhist Lent", + "2036-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2036-07-20": "Establishment Day of the Lao Women's Union", + "2036-08-13": "Lao National Mass Media and Publishing Day", + "2036-08-15": "Lao National Constitution Day", + "2036-08-21": "Boun Haw Khao Padapdin", + "2036-08-23": "National Uprising Day", + "2036-09-05": "Boun Haw Khao Salark", + "2036-10-05": "End of Buddhist Lent", + "2036-10-06": "Vientiane Boat Racing Festival", + "2036-10-07": "Establishment Day of the BOL; National Teacher Day", + "2036-10-12": "Indepedence Declaration Day", + "2036-11-03": "Boun That Luang Festival", + "2036-12-02": "Lao National Day", + "2036-12-13": "President Kaysone Phomvihane's Birthday", + "2036-12-29": "Lao Year-End Bank Holiday", + "2036-12-30": "Lao Year-End Bank Holiday", + "2036-12-31": "Lao Year-End Bank Holiday", + "2037-01-01": "New Year's Day", + "2037-01-20": "Lao People's Armed Force Day", + "2037-01-31": "Makha Bousa Festival", + "2037-02-01": "Lao Federation of Trade Union's Day", + "2037-03-08": "International Women's Rights Day", + "2037-03-09": "International Women's Rights Day (in lieu)", + "2037-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2037-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2037-04-15": "Lao New Year's Day", + "2037-04-16": "Lao New Year's Day", + "2037-04-29": "Visakha Bousa Festival", + "2037-05-01": "Labor Day", + "2037-06-01": "International Children Day; National Arbor Day", + "2037-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2037-07-20": "Establishment Day of the Lao Women's Union", + "2037-07-27": "Begin of Buddhist Lent", + "2037-08-13": "Lao National Mass Media and Publishing Day", + "2037-08-15": "Lao National Constitution Day", + "2037-08-23": "National Uprising Day", + "2037-09-09": "Boun Haw Khao Padapdin", + "2037-09-24": "Boun Haw Khao Salark", + "2037-10-07": "Establishment Day of the BOL; National Teacher Day", + "2037-10-12": "Indepedence Declaration Day", + "2037-10-24": "End of Buddhist Lent", + "2037-10-25": "Vientiane Boat Racing Festival", + "2037-11-22": "Boun That Luang Festival", + "2037-12-02": "Lao National Day", + "2037-12-13": "President Kaysone Phomvihane's Birthday", + "2037-12-29": "Lao Year-End Bank Holiday", + "2037-12-30": "Lao Year-End Bank Holiday", + "2037-12-31": "Lao Year-End Bank Holiday", + "2038-01-01": "New Year's Day", + "2038-01-20": "Lao People's Armed Force Day", + "2038-02-01": "Lao Federation of Trade Union's Day", + "2038-02-19": "Makha Bousa Festival", + "2038-03-08": "International Women's Rights Day", + "2038-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2038-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2038-04-15": "Lao New Year's Day", + "2038-04-16": "Lao New Year's Day", + "2038-05-01": "Labor Day", + "2038-05-03": "Labor Day (in lieu)", + "2038-05-18": "Visakha Bousa Festival", + "2038-06-01": "International Children Day; National Arbor Day", + "2038-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2038-07-16": "Begin of Buddhist Lent", + "2038-07-20": "Establishment Day of the Lao Women's Union", + "2038-08-13": "Lao National Mass Media and Publishing Day", + "2038-08-15": "Lao National Constitution Day", + "2038-08-23": "National Uprising Day", + "2038-08-29": "Boun Haw Khao Padapdin", + "2038-09-13": "Boun Haw Khao Salark", + "2038-10-07": "Establishment Day of the BOL; National Teacher Day", + "2038-10-12": "Indepedence Declaration Day", + "2038-10-13": "End of Buddhist Lent", + "2038-10-14": "Vientiane Boat Racing Festival", + "2038-11-11": "Boun That Luang Festival", + "2038-12-02": "Lao National Day", + "2038-12-13": "President Kaysone Phomvihane's Birthday", + "2038-12-29": "Lao Year-End Bank Holiday", + "2038-12-30": "Lao Year-End Bank Holiday", + "2038-12-31": "Lao Year-End Bank Holiday", + "2039-01-01": "New Year's Day", + "2039-01-03": "New Year's Day (in lieu)", + "2039-01-20": "Lao People's Armed Force Day", + "2039-02-01": "Lao Federation of Trade Union's Day", + "2039-02-08": "Makha Bousa Festival", + "2039-03-08": "International Women's Rights Day", + "2039-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2039-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2039-04-15": "Lao New Year's Day", + "2039-04-16": "Lao New Year's Day", + "2039-04-18": "Lao New Year's Day (in lieu)", + "2039-05-01": "Labor Day", + "2039-05-02": "Labor Day (in lieu)", + "2039-05-07": "Visakha Bousa Festival", + "2039-06-01": "International Children Day; National Arbor Day", + "2039-07-05": "Begin of Buddhist Lent", + "2039-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2039-07-20": "Establishment Day of the Lao Women's Union", + "2039-08-13": "Lao National Mass Media and Publishing Day", + "2039-08-15": "Lao National Constitution Day", + "2039-08-18": "Boun Haw Khao Padapdin", + "2039-08-23": "National Uprising Day", + "2039-09-02": "Boun Haw Khao Salark", + "2039-10-02": "End of Buddhist Lent", + "2039-10-03": "Vientiane Boat Racing Festival", + "2039-10-07": "Establishment Day of the BOL; National Teacher Day", + "2039-10-12": "Indepedence Declaration Day", + "2039-10-31": "Boun That Luang Festival", + "2039-12-02": "Lao National Day", + "2039-12-13": "President Kaysone Phomvihane's Birthday", + "2039-12-28": "Lao Year-End Bank Holiday", + "2039-12-29": "Lao Year-End Bank Holiday", + "2039-12-30": "Lao Year-End Bank Holiday", + "2040-01-01": "New Year's Day", + "2040-01-02": "New Year's Day (in lieu)", + "2040-01-20": "Lao People's Armed Force Day", + "2040-01-28": "Makha Bousa Festival", + "2040-02-01": "Lao Federation of Trade Union's Day", + "2040-03-08": "International Women's Rights Day", + "2040-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2040-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2040-04-15": "Lao New Year's Day", + "2040-04-16": "Lao New Year's Day", + "2040-04-17": "Lao New Year's Day (in lieu)", + "2040-04-18": "Lao New Year's Day (in lieu)", + "2040-04-25": "Visakha Bousa Festival", + "2040-05-01": "Labor Day", + "2040-06-01": "International Children Day; National Arbor Day", + "2040-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2040-07-20": "Establishment Day of the Lao Women's Union", + "2040-07-23": "Begin of Buddhist Lent", + "2040-08-13": "Lao National Mass Media and Publishing Day", + "2040-08-15": "Lao National Constitution Day", + "2040-08-23": "National Uprising Day", + "2040-09-05": "Boun Haw Khao Padapdin", + "2040-09-20": "Boun Haw Khao Salark", + "2040-10-07": "Establishment Day of the BOL; National Teacher Day", + "2040-10-08": "Establishment Day of the BOL (in lieu)", + "2040-10-12": "Indepedence Declaration Day", + "2040-10-20": "End of Buddhist Lent", + "2040-10-21": "Vientiane Boat Racing Festival", + "2040-11-18": "Boun That Luang Festival", + "2040-12-02": "Lao National Day", + "2040-12-03": "Lao National Day (in lieu)", + "2040-12-13": "President Kaysone Phomvihane's Birthday", + "2040-12-27": "Lao Year-End Bank Holiday", + "2040-12-28": "Lao Year-End Bank Holiday", + "2040-12-31": "Lao Year-End Bank Holiday", + "2041-01-01": "New Year's Day", + "2041-01-20": "Lao People's Armed Force Day", + "2041-02-01": "Lao Federation of Trade Union's Day", + "2041-02-15": "Makha Bousa Festival", + "2041-03-08": "International Women's Rights Day", + "2041-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2041-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2041-04-15": "Lao New Year's Day", + "2041-04-16": "Lao New Year's Day", + "2041-04-17": "Lao New Year's Day (in lieu)", + "2041-05-01": "Labor Day", + "2041-05-14": "Visakha Bousa Festival", + "2041-06-01": "International Children Day; National Arbor Day", + "2041-07-12": "Begin of Buddhist Lent", + "2041-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2041-07-20": "Establishment Day of the Lao Women's Union", + "2041-08-13": "Lao National Mass Media and Publishing Day", + "2041-08-15": "Lao National Constitution Day", + "2041-08-23": "National Uprising Day", + "2041-08-25": "Boun Haw Khao Padapdin", + "2041-09-09": "Boun Haw Khao Salark", + "2041-10-07": "Establishment Day of the BOL; National Teacher Day", + "2041-10-09": "End of Buddhist Lent", + "2041-10-10": "Vientiane Boat Racing Festival", + "2041-10-12": "Indepedence Declaration Day", + "2041-11-07": "Boun That Luang Festival", + "2041-12-02": "Lao National Day", + "2041-12-13": "President Kaysone Phomvihane's Birthday", + "2041-12-27": "Lao Year-End Bank Holiday", + "2041-12-30": "Lao Year-End Bank Holiday", + "2041-12-31": "Lao Year-End Bank Holiday", + "2042-01-01": "New Year's Day", + "2042-01-20": "Lao People's Armed Force Day", + "2042-02-01": "Lao Federation of Trade Union's Day", + "2042-02-04": "Makha Bousa Festival", + "2042-03-08": "International Women's Rights Day", + "2042-03-10": "International Women's Rights Day (in lieu)", + "2042-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2042-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2042-04-15": "Lao New Year's Day", + "2042-04-16": "Lao New Year's Day", + "2042-05-01": "Labor Day", + "2042-05-03": "Visakha Bousa Festival", + "2042-06-01": "International Children Day; National Arbor Day", + "2042-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2042-07-20": "Establishment Day of the Lao Women's Union", + "2042-07-31": "Begin of Buddhist Lent", + "2042-08-13": "Lao National Mass Media and Publishing Day", + "2042-08-15": "Lao National Constitution Day", + "2042-08-23": "National Uprising Day", + "2042-09-13": "Boun Haw Khao Padapdin", + "2042-09-28": "Boun Haw Khao Salark", + "2042-10-07": "Establishment Day of the BOL; National Teacher Day", + "2042-10-12": "Indepedence Declaration Day", + "2042-10-28": "End of Buddhist Lent", + "2042-10-29": "Vientiane Boat Racing Festival", + "2042-11-26": "Boun That Luang Festival", + "2042-12-02": "Lao National Day", + "2042-12-13": "President Kaysone Phomvihane's Birthday", + "2042-12-29": "Lao Year-End Bank Holiday", + "2042-12-30": "Lao Year-End Bank Holiday", + "2042-12-31": "Lao Year-End Bank Holiday", + "2043-01-01": "New Year's Day", + "2043-01-20": "Lao People's Armed Force Day", + "2043-02-01": "Lao Federation of Trade Union's Day", + "2043-02-23": "Makha Bousa Festival", + "2043-03-08": "International Women's Rights Day", + "2043-03-09": "International Women's Rights Day (in lieu)", + "2043-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2043-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2043-04-15": "Lao New Year's Day", + "2043-04-16": "Lao New Year's Day", + "2043-05-01": "Labor Day", + "2043-05-22": "Visakha Bousa Festival", + "2043-06-01": "International Children Day; National Arbor Day", + "2043-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2043-07-20": "Establishment Day of the Lao Women's Union", + "2043-07-21": "Begin of Buddhist Lent", + "2043-08-13": "Lao National Mass Media and Publishing Day", + "2043-08-15": "Lao National Constitution Day", + "2043-08-23": "National Uprising Day", + "2043-09-03": "Boun Haw Khao Padapdin", + "2043-09-18": "Boun Haw Khao Salark", + "2043-10-07": "Establishment Day of the BOL; National Teacher Day", + "2043-10-12": "Indepedence Declaration Day", + "2043-10-18": "End of Buddhist Lent", + "2043-10-19": "Vientiane Boat Racing Festival", + "2043-11-16": "Boun That Luang Festival", + "2043-12-02": "Lao National Day", + "2043-12-13": "President Kaysone Phomvihane's Birthday", + "2043-12-29": "Lao Year-End Bank Holiday", + "2043-12-30": "Lao Year-End Bank Holiday", + "2043-12-31": "Lao Year-End Bank Holiday", + "2044-01-01": "New Year's Day", + "2044-01-20": "Lao People's Armed Force Day", + "2044-02-01": "Lao Federation of Trade Union's Day", + "2044-02-13": "Makha Bousa Festival", + "2044-03-08": "International Women's Rights Day", + "2044-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2044-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2044-04-15": "Lao New Year's Day", + "2044-04-16": "Lao New Year's Day", + "2044-04-18": "Lao New Year's Day (in lieu)", + "2044-05-01": "Labor Day", + "2044-05-02": "Labor Day (in lieu)", + "2044-05-11": "Visakha Bousa Festival", + "2044-06-01": "International Children Day; National Arbor Day", + "2044-07-09": "Begin of Buddhist Lent", + "2044-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2044-07-20": "Establishment Day of the Lao Women's Union", + "2044-08-13": "Lao National Mass Media and Publishing Day", + "2044-08-15": "Lao National Constitution Day", + "2044-08-22": "Boun Haw Khao Padapdin", + "2044-08-23": "National Uprising Day", + "2044-09-06": "Boun Haw Khao Salark", + "2044-10-06": "End of Buddhist Lent", + "2044-10-07": "Establishment Day of the BOL; National Teacher Day; Vientiane Boat Racing Festival", + "2044-10-12": "Indepedence Declaration Day", + "2044-11-04": "Boun That Luang Festival", + "2044-12-02": "Lao National Day", + "2044-12-13": "President Kaysone Phomvihane's Birthday", + "2044-12-28": "Lao Year-End Bank Holiday", + "2044-12-29": "Lao Year-End Bank Holiday", + "2044-12-30": "Lao Year-End Bank Holiday", + "2045-01-01": "New Year's Day", + "2045-01-02": "New Year's Day (in lieu)", + "2045-01-20": "Lao People's Armed Force Day", + "2045-02-01": "Lao Federation of Trade Union's Day; Makha Bousa Festival", + "2045-03-08": "International Women's Rights Day", + "2045-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2045-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2045-04-15": "Lao New Year's Day", + "2045-04-16": "Lao New Year's Day", + "2045-04-17": "Lao New Year's Day (in lieu)", + "2045-04-18": "Lao New Year's Day (in lieu)", + "2045-04-30": "Visakha Bousa Festival", + "2045-05-01": "Labor Day", + "2045-06-01": "International Children Day; National Arbor Day", + "2045-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2045-07-20": "Establishment Day of the Lao Women's Union", + "2045-07-28": "Begin of Buddhist Lent", + "2045-08-13": "Lao National Mass Media and Publishing Day", + "2045-08-15": "Lao National Constitution Day", + "2045-08-23": "National Uprising Day", + "2045-09-10": "Boun Haw Khao Padapdin", + "2045-09-25": "Boun Haw Khao Salark", + "2045-10-07": "Establishment Day of the BOL; National Teacher Day", + "2045-10-09": "Establishment Day of the BOL (in lieu)", + "2045-10-12": "Indepedence Declaration Day", + "2045-10-25": "End of Buddhist Lent", + "2045-10-26": "Vientiane Boat Racing Festival", + "2045-11-23": "Boun That Luang Festival", + "2045-12-02": "Lao National Day", + "2045-12-04": "Lao National Day (in lieu)", + "2045-12-13": "President Kaysone Phomvihane's Birthday", + "2045-12-27": "Lao Year-End Bank Holiday", + "2045-12-28": "Lao Year-End Bank Holiday", + "2045-12-29": "Lao Year-End Bank Holiday", + "2046-01-01": "New Year's Day", + "2046-01-20": "Lao People's Armed Force Day", + "2046-02-01": "Lao Federation of Trade Union's Day", + "2046-02-20": "Makha Bousa Festival", + "2046-03-08": "International Women's Rights Day", + "2046-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2046-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2046-04-15": "Lao New Year's Day", + "2046-04-16": "Lao New Year's Day", + "2046-04-17": "Lao New Year's Day (in lieu)", + "2046-04-18": "Lao New Year's Day (in lieu)", + "2046-05-01": "Labor Day", + "2046-05-19": "Visakha Bousa Festival", + "2046-06-01": "International Children Day; National Arbor Day", + "2046-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2046-07-18": "Begin of Buddhist Lent", + "2046-07-20": "Establishment Day of the Lao Women's Union", + "2046-08-13": "Lao National Mass Media and Publishing Day", + "2046-08-15": "Lao National Constitution Day", + "2046-08-23": "National Uprising Day", + "2046-08-31": "Boun Haw Khao Padapdin", + "2046-09-15": "Boun Haw Khao Salark", + "2046-10-07": "Establishment Day of the BOL; National Teacher Day", + "2046-10-08": "Establishment Day of the BOL (in lieu)", + "2046-10-12": "Indepedence Declaration Day", + "2046-10-15": "End of Buddhist Lent", + "2046-10-16": "Vientiane Boat Racing Festival", + "2046-11-13": "Boun That Luang Festival", + "2046-12-02": "Lao National Day", + "2046-12-03": "Lao National Day (in lieu)", + "2046-12-13": "President Kaysone Phomvihane's Birthday", + "2046-12-27": "Lao Year-End Bank Holiday", + "2046-12-28": "Lao Year-End Bank Holiday", + "2046-12-31": "Lao Year-End Bank Holiday", + "2047-01-01": "New Year's Day", + "2047-01-20": "Lao People's Armed Force Day", + "2047-02-01": "Lao Federation of Trade Union's Day", + "2047-02-10": "Makha Bousa Festival", + "2047-03-08": "International Women's Rights Day", + "2047-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2047-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2047-04-15": "Lao New Year's Day", + "2047-04-16": "Lao New Year's Day", + "2047-04-17": "Lao New Year's Day (in lieu)", + "2047-05-01": "Labor Day", + "2047-05-09": "Visakha Bousa Festival", + "2047-06-01": "International Children Day; National Arbor Day", + "2047-07-07": "Begin of Buddhist Lent", + "2047-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2047-07-20": "Establishment Day of the Lao Women's Union", + "2047-08-13": "Lao National Mass Media and Publishing Day", + "2047-08-15": "Lao National Constitution Day", + "2047-08-20": "Boun Haw Khao Padapdin", + "2047-08-23": "National Uprising Day", + "2047-09-04": "Boun Haw Khao Salark", + "2047-10-04": "End of Buddhist Lent", + "2047-10-05": "Vientiane Boat Racing Festival", + "2047-10-07": "Establishment Day of the BOL; National Teacher Day", + "2047-10-12": "Indepedence Declaration Day", + "2047-11-02": "Boun That Luang Festival", + "2047-12-02": "Lao National Day", + "2047-12-13": "President Kaysone Phomvihane's Birthday", + "2047-12-27": "Lao Year-End Bank Holiday", + "2047-12-30": "Lao Year-End Bank Holiday", + "2047-12-31": "Lao Year-End Bank Holiday", + "2048-01-01": "New Year's Day", + "2048-01-20": "Lao People's Armed Force Day", + "2048-01-30": "Makha Bousa Festival", + "2048-02-01": "Lao Federation of Trade Union's Day", + "2048-03-08": "International Women's Rights Day", + "2048-03-09": "International Women's Rights Day (in lieu)", + "2048-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2048-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2048-04-15": "Lao New Year's Day", + "2048-04-16": "Lao New Year's Day", + "2048-04-27": "Visakha Bousa Festival", + "2048-05-01": "Labor Day", + "2048-06-01": "International Children Day; National Arbor Day", + "2048-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2048-07-20": "Establishment Day of the Lao Women's Union", + "2048-07-25": "Begin of Buddhist Lent", + "2048-08-13": "Lao National Mass Media and Publishing Day", + "2048-08-15": "Lao National Constitution Day", + "2048-08-23": "National Uprising Day", + "2048-09-07": "Boun Haw Khao Padapdin", + "2048-09-22": "Boun Haw Khao Salark", + "2048-10-07": "Establishment Day of the BOL; National Teacher Day", + "2048-10-12": "Indepedence Declaration Day", + "2048-10-22": "End of Buddhist Lent", + "2048-10-23": "Vientiane Boat Racing Festival", + "2048-11-20": "Boun That Luang Festival", + "2048-12-02": "Lao National Day", + "2048-12-13": "President Kaysone Phomvihane's Birthday", + "2048-12-29": "Lao Year-End Bank Holiday", + "2048-12-30": "Lao Year-End Bank Holiday", + "2048-12-31": "Lao Year-End Bank Holiday", + "2049-01-01": "New Year's Day", + "2049-01-20": "Lao People's Armed Force Day", + "2049-02-01": "Lao Federation of Trade Union's Day", + "2049-02-17": "Makha Bousa Festival", + "2049-03-08": "International Women's Rights Day", + "2049-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2049-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2049-04-15": "Lao New Year's Day", + "2049-04-16": "Lao New Year's Day", + "2049-05-01": "Labor Day", + "2049-05-03": "Labor Day (in lieu)", + "2049-05-16": "Visakha Bousa Festival", + "2049-06-01": "International Children Day; National Arbor Day", + "2049-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2049-07-14": "Begin of Buddhist Lent", + "2049-07-20": "Establishment Day of the Lao Women's Union", + "2049-08-13": "Lao National Mass Media and Publishing Day", + "2049-08-15": "Lao National Constitution Day", + "2049-08-23": "National Uprising Day", + "2049-08-27": "Boun Haw Khao Padapdin", + "2049-09-11": "Boun Haw Khao Salark", + "2049-10-07": "Establishment Day of the BOL; National Teacher Day", + "2049-10-11": "End of Buddhist Lent", + "2049-10-12": "Indepedence Declaration Day; Vientiane Boat Racing Festival", + "2049-11-09": "Boun That Luang Festival", + "2049-12-02": "Lao National Day", + "2049-12-13": "President Kaysone Phomvihane's Birthday", + "2049-12-29": "Lao Year-End Bank Holiday", + "2049-12-30": "Lao Year-End Bank Holiday", + "2049-12-31": "Lao Year-End Bank Holiday", + "2050-01-01": "New Year's Day", + "2050-01-03": "New Year's Day (in lieu)", + "2050-01-20": "Lao People's Armed Force Day", + "2050-02-01": "Lao Federation of Trade Union's Day", + "2050-02-06": "Makha Bousa Festival", + "2050-03-08": "International Women's Rights Day", + "2050-03-22": "Establishment Day of the Lao People's Revolutionary Party", + "2050-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", + "2050-04-15": "Lao New Year's Day", + "2050-04-16": "Lao New Year's Day", + "2050-04-18": "Lao New Year's Day (in lieu)", + "2050-05-01": "Labor Day", + "2050-05-02": "Labor Day (in lieu)", + "2050-05-05": "Visakha Bousa Festival", + "2050-06-01": "International Children Day; National Arbor Day", + "2050-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "2050-07-20": "Establishment Day of the Lao Women's Union", + "2050-08-02": "Begin of Buddhist Lent", + "2050-08-13": "Lao National Mass Media and Publishing Day", + "2050-08-15": "Lao National Constitution Day", + "2050-08-23": "National Uprising Day", + "2050-09-15": "Boun Haw Khao Padapdin", + "2050-09-30": "Boun Haw Khao Salark", + "2050-10-07": "Establishment Day of the BOL; National Teacher Day", + "2050-10-12": "Indepedence Declaration Day", + "2050-10-30": "End of Buddhist Lent", + "2050-10-31": "Vientiane Boat Racing Festival", + "2050-11-28": "Boun That Luang Festival", + "2050-12-02": "Lao National Day", + "2050-12-13": "President Kaysone Phomvihane's Birthday", + "2050-12-28": "Lao Year-End Bank Holiday", + "2050-12-29": "Lao Year-End Bank Holiday", + "2050-12-30": "Lao Year-End Bank Holiday" +} From b70a0cfde38bf7fdb5769c83d70f725b0ce25a62 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Wed, 27 Sep 2023 00:27:39 +0700 Subject: [PATCH 10/18] [LA] fix l10n mistake --- holidays/locale/th/LC_MESSAGES/LA.po | 2 +- tests/countries/test_laos.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/holidays/locale/th/LC_MESSAGES/LA.po b/holidays/locale/th/LC_MESSAGES/LA.po index 88bee45c8..2fd8de95a 100644 --- a/holidays/locale/th/LC_MESSAGES/LA.po +++ b/holidays/locale/th/LC_MESSAGES/LA.po @@ -158,7 +158,7 @@ msgstr "วันก่อตั้งสหภาพแม่หญิงลา #. Lao National Mass Media and Publishing Day. msgid "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ" -msgstr "วันสื่อสารมวลชนและการพิมพ์แห่งชาติ " +msgstr "วันสื่อสารมวลชนและการพิมพ์แห่งชาติ" #. Lao National Constitution Day. msgid "ວັນລັດຖະທໍາມະນູນແຫ່ງຊາດ" diff --git a/tests/countries/test_laos.py b/tests/countries/test_laos.py index 8e464c95a..f4143942b 100644 --- a/tests/countries/test_laos.py +++ b/tests/countries/test_laos.py @@ -344,7 +344,7 @@ def test_l10n_th(self): ), ), ("2022-07-20", "วันก่อตั้งสหภาพแม่หญิงลาว"), - ("2022-08-13", "วันสื่อสารมวลชนและการพิมพ์แห่งชาติ "), + ("2022-08-13", "วันสื่อสารมวลชนและการพิมพ์แห่งชาติ"), ("2022-08-15", "วันรัฐธรรมนูญแห่งชาติ"), ("2022-08-23", "วันยึดอำนาจทั่วประเทศ"), ("2022-08-26", "วันบุญข้าวประดับดิน"), From 0355ad498a50a0fa5338499fb6452fa50ccfe8ba Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Wed, 27 Sep 2023 00:44:47 +0700 Subject: [PATCH 11/18] [LA] add test for special holidays --- holidays/countries/laos.py | 4 ++-- snapshots/countries/LA.json | 3 +++ tests/countries/test_laos.py | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index 41708ae24..fb2e62160 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -97,7 +97,7 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): # Lao National Day (in-lieu). lao_national_day_in_lieu = tr("ພັກຊົດເຊີຍວັນຊາດ") - special_bank_holiday = { + special_bank_holidays = { 2015: (JAN, 2, special_bank_day_off), 2017: (OCT, 9, establishment_day_of_bol_in_lieu), } @@ -130,7 +130,7 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): (APR, 17, lao_new_year_special), ), } - special_workday_holiday = { + special_workday_holidays = { 2019: (JUL, 22, lao_womens_union_in_lieu), } supported_languages = ("en_US", "lo", "th") diff --git a/snapshots/countries/LA.json b/snapshots/countries/LA.json index 53400e93c..b7eda3339 100644 --- a/snapshots/countries/LA.json +++ b/snapshots/countries/LA.json @@ -1133,6 +1133,7 @@ "2014-12-30": "Lao Year-End Bank Holiday", "2014-12-31": "Lao Year-End Bank Holiday", "2015-01-01": "New Year's Day", + "2015-01-02": "Special Bank Holiday", "2015-01-20": "Lao People's Armed Force Day", "2015-02-01": "Lao Federation of Trade Union's Day", "2015-02-03": "Makha Bousa Festival", @@ -1223,6 +1224,7 @@ "2017-10-05": "End of Buddhist Lent", "2017-10-06": "Vientiane Boat Racing Festival", "2017-10-07": "Establishment Day of the BOL; National Teacher Day", + "2017-10-09": "Establishment Day of the BOL (in-lieu)", "2017-10-12": "Indepedence Declaration Day", "2017-11-03": "Boun That Luang Festival", "2017-12-02": "Lao National Day", @@ -1281,6 +1283,7 @@ "2019-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", "2019-07-16": "Begin of Buddhist Lent", "2019-07-20": "Establishment Day of the Lao Women's Union", + "2019-07-22": "Establishment Day of the Lao Women's Union (in-lieu)", "2019-08-13": "Lao National Mass Media and Publishing Day", "2019-08-15": "Lao National Constitution Day", "2019-08-23": "National Uprising Day", diff --git a/tests/countries/test_laos.py b/tests/countries/test_laos.py index f4143942b..8d3f8c116 100644 --- a/tests/countries/test_laos.py +++ b/tests/countries/test_laos.py @@ -25,6 +25,41 @@ def test_country_aliases(self): def test_no_holidays(self): self.assertNoHolidays(Laos(years=1975)) + def test_special_bank_holiday(self): + self.assertHoliday( + Laos(categories=(BANK,)), + "2015-01-02", + "2017-10-09", + ) + + def test_special_public_holiday(self): + self.assertHoliday( + Laos(categories=(PUBLIC,)), + "2011-04-13", + "2012-01-02", + "2012-04-13", + "2012-04-17", + "2012-12-03", + "2013-04-17", + "2015-03-09", + "2015-04-17", + "2016-04-13", + "2016-04-18", + "2016-05-02", + "2017-01-02", + "2017-04-13", + "2017-04-17", + "2017-12-04", + "2020-04-13", + "2020-04-17", + ) + + def test_special_workday(self): + self.assertHoliday( + Laos(categories=(WORKDAY,)), + "2019-07-22", + ) + def test_2022_public_holiday(self): self.assertHolidays( Laos(categories=(PUBLIC,), years=2022), From da8fbb5e671ec11192a555da3d7dd4913f77283e Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Wed, 27 Sep 2023 11:10:24 +0700 Subject: [PATCH 12/18] [LA] Implementing Suggestions 20230926 Co-Authored-By: ~Jhellico --- holidays/calendars/thai.py | 2 +- holidays/countries/laos.py | 39 +++++++++++-------------- snapshots/countries/LA.json | 55 ++++++++++++++---------------------- tests/countries/test_laos.py | 41 ++++++++++++++++++++++----- 4 files changed, 73 insertions(+), 64 deletions(-) diff --git a/holidays/calendars/thai.py b/holidays/calendars/thai.py index 2fda87e2a..68cc78b38 100644 --- a/holidays/calendars/thai.py +++ b/holidays/calendars/thai.py @@ -396,7 +396,7 @@ def atthami_bucha_date(self, year: int, calendar=None) -> Optional[date]: else +169 ) - def asarnha_bucha_date(self, year: int, calendar=None) -> Optional[date]: + def asarnha_bucha_date(self, year: int) -> Optional[date]: """ Calculate the estimated Gregorian date of Asarnha Bucha. If the Gregorian year input is invalid, this will outputs None instead. diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index fb2e62160..9ea629d9c 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -9,7 +9,6 @@ # Website: https://github.com/dr-prodigy/python-holidays # License: MIT (see LICENSE file) -from datetime import date from gettext import gettext as tr from holidays.calendars.gregorian import JAN, MAR, APR, MAY, JUL, OCT, DEC @@ -138,10 +137,7 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): def __init__(self, *args, **kwargs): InternationalHolidays.__init__(self) ThaiCalendarHolidays.__init__(self, KHMER_CALENDAR) - super().__init__(observed_rule=SAT_SUN_TO_NEXT_MON, *args, **kwargs) - - def _is_observed(self, dt: date) -> bool: - return self._year >= 2018 + super().__init__(observed_rule=SAT_SUN_TO_NEXT_MON, observed_since=2018, *args, **kwargs) def _populate_bank_holidays(self): # Based on both LSX and BCEL calendar. @@ -170,7 +166,7 @@ def _populate_bank_holidays(self): # Lao Year-End Bank Holiday. year_end_bank_holiday = tr("ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ") - dec_31 = date(self._year, DEC, 31) + dec_31 = (DEC, 31) if self._is_monday(dec_31): self._add_holiday_last_thu_of_dec(year_end_bank_holiday) self._add_holiday_last_fri_of_dec(year_end_bank_holiday) @@ -213,6 +209,11 @@ def _populate_public_holidays(self): # ບຸນປີໃໝ່ລາວ # Status: In-Use. # Celebrated for 3 days from 14-16 April annualy. + # Observed dates prior to 2018 are assigned manually. + # - CASE 1: THU-FRI-SAT -> in-lieu on MON. + # - CASE 2: FRI-SAT-SUN -> in-lieu on MON-TUE. + # - CASE 3: SAT-SUN-MON -> in-lieu on TUE-WED. + # - CASE 4: SUN-MON-TUE -> in-lieu on WED. # Lao New Year's Day. name = tr("ບຸນປີໃໝ່ລາວ") @@ -220,16 +221,8 @@ def _populate_public_holidays(self): self._add_holiday_apr_15(name) self._add_holiday_apr_16(name) - # ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ - # Dates prior to 2018 are assigned manually - # Status: In-Use. - # - CASE 1: THU-FRI-SAT -> in-lieu on MON. - # - CASE 2: FRI-SAT-SUN -> in-lieu on MON-TUE. - # - CASE 3: SAT-SUN-MON -> in-lieu on TUE-WED. - # - CASE 4: SUN-MON-TUE -> in-lieu on WED. - if self._year >= 2018: - self._add_observed(dt, rule=THU_FRI_SAT_TO_NEXT_MON_TUE) - self._add_observed(dt, rule=FRI_SAT_SUN_TO_NEXT_TUE_WED) + self._add_observed(dt, rule=THU_FRI_SAT_TO_NEXT_MON_TUE) + self._add_observed(dt, rule=FRI_SAT_SUN_TO_NEXT_TUE_WED) # ວັນກຳມະກອນສາກົນ # Status: In-Use. @@ -380,10 +373,11 @@ def _populate_workday_holidays(self): # ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ # Status: In-Use. - # No information on when this was first observed is available in Thai or English sources. + # Assumed to first observed in 1989 following the National Forestry Conference in May. - # National Arbor Day. - self._add_holiday_jun_1(tr("ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ")) + if self._year >= 1989: + # National Arbor Day. + self._add_holiday_jun_1(tr("ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ")) # ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ # Status: In-Use. @@ -394,10 +388,11 @@ def _populate_workday_holidays(self): # ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ # Status: In-Use. - # No information on when this was first observed is available in Thai or English sources. + # First designated in 1997 to concide with Souphanouvong's Birthday anniversary. - # The National Day for Wildlife and Aquatic Animal Conservation. - self._add_holiday_jul_13(tr("ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ")) + if self._year >= 1997: + # The National Day for Wildlife and Aquatic Animal Conservation. + self._add_holiday_jul_13(tr("ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ")) # ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ # Status: In-Use. diff --git a/snapshots/countries/LA.json b/snapshots/countries/LA.json index b7eda3339..86d6e682a 100644 --- a/snapshots/countries/LA.json +++ b/snapshots/countries/LA.json @@ -10,9 +10,8 @@ "1976-04-16": "Lao New Year's Day", "1976-05-01": "Labor Day", "1976-05-13": "Visakha Bousa Festival", - "1976-06-01": "National Arbor Day", "1976-07-11": "Begin of Buddhist Lent", - "1976-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1976-07-13": "President Souphanouvong's Birthday", "1976-07-20": "Establishment Day of the Lao Women's Union", "1976-08-13": "Lao National Mass Media and Publishing Day", "1976-08-23": "National Uprising Day", @@ -38,8 +37,7 @@ "1977-04-16": "Lao New Year's Day", "1977-05-01": "Labor Day", "1977-05-02": "Visakha Bousa Festival", - "1977-06-01": "National Arbor Day", - "1977-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1977-07-13": "President Souphanouvong's Birthday", "1977-07-20": "Establishment Day of the Lao Women's Union", "1977-07-30": "Begin of Buddhist Lent", "1977-08-13": "Lao National Mass Media and Publishing Day", @@ -66,8 +64,7 @@ "1978-04-16": "Lao New Year's Day", "1978-05-01": "Labor Day", "1978-05-21": "Visakha Bousa Festival", - "1978-06-01": "National Arbor Day", - "1978-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1978-07-13": "President Souphanouvong's Birthday", "1978-07-19": "Begin of Buddhist Lent", "1978-07-20": "Establishment Day of the Lao Women's Union", "1978-08-13": "Lao National Mass Media and Publishing Day", @@ -94,9 +91,8 @@ "1979-04-16": "Lao New Year's Day", "1979-05-01": "Labor Day", "1979-05-10": "Visakha Bousa Festival", - "1979-06-01": "National Arbor Day", "1979-07-09": "Begin of Buddhist Lent", - "1979-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1979-07-13": "President Souphanouvong's Birthday", "1979-07-20": "Establishment Day of the Lao Women's Union", "1979-08-13": "Lao National Mass Media and Publishing Day", "1979-08-22": "Boun Haw Khao Padapdin", @@ -120,8 +116,7 @@ "1980-04-16": "Lao New Year's Day", "1980-04-29": "Visakha Bousa Festival", "1980-05-01": "Labor Day", - "1980-06-01": "National Arbor Day", - "1980-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1980-07-13": "President Souphanouvong's Birthday", "1980-07-20": "Establishment Day of the Lao Women's Union", "1980-07-27": "Begin of Buddhist Lent", "1980-08-13": "Lao National Mass Media and Publishing Day", @@ -148,8 +143,7 @@ "1981-04-16": "Lao New Year's Day", "1981-05-01": "Labor Day", "1981-05-18": "Visakha Bousa Festival", - "1981-06-01": "National Arbor Day", - "1981-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1981-07-13": "President Souphanouvong's Birthday", "1981-07-16": "Begin of Buddhist Lent", "1981-07-20": "Establishment Day of the Lao Women's Union", "1981-08-13": "Lao National Mass Media and Publishing Day", @@ -176,9 +170,8 @@ "1982-04-16": "Lao New Year's Day", "1982-05-01": "Labor Day", "1982-05-07": "Visakha Bousa Festival", - "1982-06-01": "National Arbor Day", "1982-07-05": "Begin of Buddhist Lent", - "1982-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1982-07-13": "President Souphanouvong's Birthday", "1982-07-20": "Establishment Day of the Lao Women's Union", "1982-08-13": "Lao National Mass Media and Publishing Day", "1982-08-18": "Boun Haw Khao Padapdin", @@ -204,8 +197,7 @@ "1983-04-16": "Lao New Year's Day", "1983-04-26": "Visakha Bousa Festival", "1983-05-01": "Labor Day", - "1983-06-01": "National Arbor Day", - "1983-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1983-07-13": "President Souphanouvong's Birthday", "1983-07-20": "Establishment Day of the Lao Women's Union", "1983-07-24": "Begin of Buddhist Lent", "1983-08-13": "Lao National Mass Media and Publishing Day", @@ -232,9 +224,8 @@ "1984-04-16": "Lao New Year's Day", "1984-05-01": "Labor Day", "1984-05-14": "Visakha Bousa Festival", - "1984-06-01": "National Arbor Day", "1984-07-12": "Begin of Buddhist Lent", - "1984-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1984-07-13": "President Souphanouvong's Birthday", "1984-07-20": "Establishment Day of the Lao Women's Union", "1984-08-13": "Lao National Mass Media and Publishing Day", "1984-08-23": "National Uprising Day", @@ -260,8 +251,7 @@ "1985-04-16": "Lao New Year's Day", "1985-05-01": "Labor Day", "1985-05-03": "Visakha Bousa Festival", - "1985-06-01": "National Arbor Day", - "1985-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1985-07-13": "President Souphanouvong's Birthday", "1985-07-20": "Establishment Day of the Lao Women's Union", "1985-07-31": "Begin of Buddhist Lent", "1985-08-13": "Lao National Mass Media and Publishing Day", @@ -288,8 +278,7 @@ "1986-04-16": "Lao New Year's Day", "1986-05-01": "Labor Day", "1986-05-22": "Visakha Bousa Festival", - "1986-06-01": "National Arbor Day", - "1986-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1986-07-13": "President Souphanouvong's Birthday", "1986-07-20": "Begin of Buddhist Lent; Establishment Day of the Lao Women's Union", "1986-08-13": "Lao National Mass Media and Publishing Day", "1986-08-23": "National Uprising Day", @@ -315,9 +304,8 @@ "1987-04-16": "Lao New Year's Day", "1987-05-01": "Labor Day", "1987-05-11": "Visakha Bousa Festival", - "1987-06-01": "National Arbor Day", "1987-07-10": "Begin of Buddhist Lent", - "1987-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1987-07-13": "President Souphanouvong's Birthday", "1987-07-20": "Establishment Day of the Lao Women's Union", "1987-08-13": "Lao National Mass Media and Publishing Day", "1987-08-23": "Boun Haw Khao Padapdin; National Uprising Day", @@ -341,8 +329,7 @@ "1988-04-16": "Lao New Year's Day", "1988-04-30": "Visakha Bousa Festival", "1988-05-01": "Labor Day", - "1988-06-01": "National Arbor Day", - "1988-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1988-07-13": "President Souphanouvong's Birthday", "1988-07-20": "Establishment Day of the Lao Women's Union", "1988-07-28": "Begin of Buddhist Lent", "1988-08-13": "Lao National Mass Media and Publishing Day", @@ -370,7 +357,7 @@ "1989-05-01": "Labor Day", "1989-05-19": "Visakha Bousa Festival", "1989-06-01": "National Arbor Day", - "1989-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1989-07-13": "President Souphanouvong's Birthday", "1989-07-17": "Begin of Buddhist Lent", "1989-07-20": "Establishment Day of the Lao Women's Union", "1989-08-13": "Lao National Mass Media and Publishing Day", @@ -399,7 +386,7 @@ "1990-05-08": "Visakha Bousa Festival", "1990-06-01": "International Children Day; National Arbor Day", "1990-07-07": "Begin of Buddhist Lent", - "1990-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1990-07-13": "President Souphanouvong's Birthday", "1990-07-20": "Establishment Day of the Lao Women's Union", "1990-08-13": "Lao National Mass Media and Publishing Day", "1990-08-20": "Boun Haw Khao Padapdin", @@ -426,7 +413,7 @@ "1991-04-28": "Visakha Bousa Festival", "1991-05-01": "Labor Day", "1991-06-01": "International Children Day; National Arbor Day", - "1991-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1991-07-13": "President Souphanouvong's Birthday", "1991-07-20": "Establishment Day of the Lao Women's Union", "1991-07-26": "Begin of Buddhist Lent", "1991-08-13": "Lao National Mass Media and Publishing Day", @@ -456,7 +443,7 @@ "1992-05-01": "Labor Day", "1992-05-16": "Visakha Bousa Festival", "1992-06-01": "International Children Day; National Arbor Day", - "1992-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1992-07-13": "President Souphanouvong's Birthday", "1992-07-14": "Begin of Buddhist Lent", "1992-07-20": "Establishment Day of the Lao Women's Union", "1992-08-13": "Lao National Mass Media and Publishing Day", @@ -486,7 +473,7 @@ "1993-05-05": "Visakha Bousa Festival", "1993-06-01": "International Children Day; National Arbor Day", "1993-07-03": "Begin of Buddhist Lent", - "1993-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1993-07-13": "President Souphanouvong's Birthday", "1993-07-20": "Establishment Day of the Lao Women's Union", "1993-08-13": "Lao National Mass Media and Publishing Day", "1993-08-15": "Lao National Constitution Day", @@ -515,7 +502,7 @@ "1994-04-24": "Visakha Bousa Festival", "1994-05-01": "Labor Day", "1994-06-01": "International Children Day; National Arbor Day", - "1994-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1994-07-13": "President Souphanouvong's Birthday", "1994-07-20": "Establishment Day of the Lao Women's Union", "1994-07-22": "Begin of Buddhist Lent", "1994-08-13": "Lao National Mass Media and Publishing Day", @@ -546,7 +533,7 @@ "1995-05-13": "Visakha Bousa Festival", "1995-06-01": "International Children Day; National Arbor Day", "1995-07-11": "Begin of Buddhist Lent", - "1995-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1995-07-13": "President Souphanouvong's Birthday", "1995-07-20": "Establishment Day of the Lao Women's Union", "1995-08-13": "Lao National Mass Media and Publishing Day", "1995-08-15": "Lao National Constitution Day", @@ -574,7 +561,7 @@ "1996-04-16": "Lao New Year's Day", "1996-05-01": "Labor Day; Visakha Bousa Festival", "1996-06-01": "International Children Day; National Arbor Day", - "1996-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", + "1996-07-13": "President Souphanouvong's Birthday", "1996-07-20": "Establishment Day of the Lao Women's Union", "1996-07-29": "Begin of Buddhist Lent", "1996-08-13": "Lao National Mass Media and Publishing Day", diff --git a/tests/countries/test_laos.py b/tests/countries/test_laos.py index 8d3f8c116..f9023091f 100644 --- a/tests/countries/test_laos.py +++ b/tests/countries/test_laos.py @@ -199,6 +199,21 @@ def test_2023_school_holiday(self): ("2023-11-27", "ວັນບຸນທາດຫລວງ"), ) + def test_1988_workday(self): + # Prior to National Arbor Day creation in 1989. + self.assertHolidays( + Laos(categories=(WORKDAY,), years=1988), + ("1988-01-20", "ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ"), + ("1988-02-01", "ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ"), + ("1988-03-22", "ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ"), + ("1988-04-14", "ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ"), + ("1988-07-13", "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ"), + ("1988-07-20", "ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ"), + ("1988-08-13", "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ"), + ("1988-08-23", "ວັນຍຶດອຳນາດທົ່ວປະເທດ"), + ("1988-10-12", "ວັນປະກາດເອກະລາດ"), + ) + def test_1990_workday(self): # Prior to Kaysone Phomvihane's Presidency and 1991 Constitution Adoption. self.assertHolidays( @@ -208,19 +223,31 @@ def test_1990_workday(self): ("1990-03-22", "ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ"), ("1990-04-14", "ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ"), ("1990-06-01", "ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ"), - ( - "1990-07-13", - ( - "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ; " - "ວັນປ່ອຍປາ ແລະ ວັນອະນຸລັກສັດນ້ຳ-ສັດປ່າແຫ່ງຊາດ" - ), - ), + ("1990-07-13", "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ"), ("1990-07-20", "ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ"), ("1990-08-13", "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ"), ("1990-08-23", "ວັນຍຶດອຳນາດທົ່ວປະເທດ"), ("1990-10-12", "ວັນປະກາດເອກະລາດ"), ) + def test_1996_workday(self): + # Prior to 1997's Lao Wildlife Conservation Day Designation. + self.assertHolidays( + Laos(categories=(WORKDAY,), years=1996), + ("1996-01-20", "ວັນສ້າງຕັ້ງກອງທັບປະຊາຊົນລາວ"), + ("1996-02-01", "ວັນສ້າງຕັ້ງສະຫະພັນກໍາມະບານລາວ"), + ("1996-03-22", "ວັນສ້າງຕັ້ງພັກປະຊາຊົນປະຕິວັດລາວ"), + ("1996-04-14", "ວັນສ້າງຕັ້ງສູນກາງຊາວໜຸ່ມປະຊາຊົນປະຕິວັດລາວ"), + ("1996-06-01", "ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ"), + ("1996-07-13", "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ສຸພານຸວົງ"), + ("1996-07-20", "ວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ"), + ("1996-08-13", "ວັນສື່ມວນຊົນແຫ່ງຊາດ ແລະ ວັນພິມຈໍາໜ່າຍ"), + ("1996-08-15", "ວັນລັດຖະທໍາມະນູນແຫ່ງຊາດ"), + ("1996-08-23", "ວັນຍຶດອຳນາດທົ່ວປະເທດ"), + ("1996-10-12", "ວັນປະກາດເອກະລາດ"), + ("1996-12-13", "ວັນຄ້າຍວັນເກີດ ທ່ານ ປະທານ ໄກສອນ ພົມວິຫານ"), + ) + def test_2017_workday(self): # Prior to 2018 International Children's Day is in `PUBLIC` category self.assertHolidays( From e8688856a5ad5fb8c9e128a0f5d1a03f5d770356 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Wed, 27 Sep 2023 18:07:01 +0700 Subject: [PATCH 13/18] [LA] add in missing category testing Co-authored-by: ~Jhellico --- tests/countries/test_laos.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/countries/test_laos.py b/tests/countries/test_laos.py index f9023091f..eca586adc 100644 --- a/tests/countries/test_laos.py +++ b/tests/countries/test_laos.py @@ -24,6 +24,9 @@ def test_country_aliases(self): def test_no_holidays(self): self.assertNoHolidays(Laos(years=1975)) + self.assertNoHolidays(Laos(years=1975, categories=(BANK,))) + self.assertNoHolidays(Laos(years=1975, categories=(SCHOOL,))) + self.assertNoHolidays(Laos(years=1975, categories=(WORKDAY,))) def test_special_bank_holiday(self): self.assertHoliday( From 67a55af6af43e2da689848221fda7e3f1f779250 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Wed, 27 Sep 2023 18:37:33 +0700 Subject: [PATCH 14/18] [LA] Increase Laos coverall up to 100% --- tests/countries/test_laos.py | 53 ++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/tests/countries/test_laos.py b/tests/countries/test_laos.py index eca586adc..d6fff07b6 100644 --- a/tests/countries/test_laos.py +++ b/tests/countries/test_laos.py @@ -141,7 +141,59 @@ def test_lao_national_day(self): "2023-12-04", ) + def test_2014_bank_holiday(self): + # Dec 31 is Wedneday. + self.assertHolidays( + Laos(categories=(BANK,), years=2014), + ("2014-10-07", "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), + ("2014-12-29", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2014-12-30", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2014-12-31", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ) + + def test_2018_bank_holiday(self): + # Dec 31 is Monday. + self.assertHolidays( + Laos(categories=(BANK,), years=2018), + ("2018-10-07", "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), + ("2018-10-08", "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), + ("2018-12-27", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2018-12-28", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2018-12-31", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ) + + def test_2019_bank_holiday(self): + # Dec 31 is Tuesday. + self.assertHolidays( + Laos(categories=(BANK,), years=2019), + ("2019-10-07", "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), + ("2019-12-27", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2019-12-30", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2019-12-31", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ) + + def test_2020_bank_holiday(self): + # Dec 31 is Thursday. + self.assertHolidays( + Laos(categories=(BANK,), years=2020), + ("2020-10-07", "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), + ("2020-12-29", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2020-12-30", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2020-12-31", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ) + + def test_2021_bank_holiday(self): + # Dec 31 is Friday. + self.assertHolidays( + Laos(categories=(BANK,), years=2021), + ("2021-10-07", "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), + ("2021-12-29", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2021-12-30", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ("2021-12-31", "ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ"), + ) + def test_2022_bank_holiday(self): + # Dec 31 is Saturday. self.assertHolidays( Laos(categories=(BANK,), years=2022), ("2022-10-07", "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), @@ -151,6 +203,7 @@ def test_2022_bank_holiday(self): ) def test_2023_bank_holiday(self): + # Dec 31 is Sunday. self.assertHolidays( Laos(categories=(BANK,), years=2023), ("2023-10-07", "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), From 5095673b8f413132913b3b890bbfd5393c633110 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Wed, 27 Sep 2023 23:23:40 +0700 Subject: [PATCH 15/18] [LA] fix typo in comment Co-authored-by: ~Jhellico --- tests/countries/test_laos.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/countries/test_laos.py b/tests/countries/test_laos.py index d6fff07b6..b13467338 100644 --- a/tests/countries/test_laos.py +++ b/tests/countries/test_laos.py @@ -142,7 +142,7 @@ def test_lao_national_day(self): ) def test_2014_bank_holiday(self): - # Dec 31 is Wedneday. + # Dec 31 is Wednesday. self.assertHolidays( Laos(categories=(BANK,), years=2014), ("2014-10-07", "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ"), From 4906f4ca32b21bb13124c8dd8caf5117acc6803c Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Fri, 29 Sep 2023 02:06:15 +0700 Subject: [PATCH 16/18] [LA] Implementing Suggestions 20230928 Co-Authored-By: Arkadii Yakovets <2201626+arkid15r@users.noreply.github.com> --- holidays/calendars/thai.py | 78 ++++++++++++------------- holidays/countries/laos.py | 35 +++++------ holidays/locale/en_US/LC_MESSAGES/LA.po | 28 ++++----- holidays/locale/lo/LC_MESSAGES/LA.po | 14 ++--- holidays/locale/th/LC_MESSAGES/LA.po | 14 ++--- holidays/observed_holiday_base.py | 4 +- snapshots/countries/LA.json | 28 ++++----- tests/calendars/test_thai.py | 41 ++++++++++--- 8 files changed, 133 insertions(+), 109 deletions(-) diff --git a/holidays/calendars/thai.py b/holidays/calendars/thai.py index 68cc78b38..95d405f74 100644 --- a/holidays/calendars/thai.py +++ b/holidays/calendars/thai.py @@ -227,11 +227,11 @@ def _get_start_date(self, year: int) -> Optional[date]: while iter_start_year < year: if iter_start_year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: - delta_days = 384 + delta_days = +384 elif iter_start_year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: - delta_days = 355 + delta_days = +355 else: - delta_days = 354 + delta_days = +354 iter_start_date += td(days=delta_days) iter_start_year += 1 return iter_start_date @@ -242,7 +242,7 @@ def makha_bucha_date(self, year: int, calendar=None) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "Magha Puja", "Makha Buxha" and "Meak Bochea". - This concides with the 15th Waxing Day of Month 3 + This coincides with the 15th Waxing Day of Month 3 in Thai Lunar Calendar, or Month 4 in Athikamat years. KHMER_CALENDAR will always use Month 3 regardless of year type. @@ -285,7 +285,7 @@ def visakha_bucha_date(self, year: int, calendar=None) -> Optional[date]: Calculate the estimated Gregorian date of Visakha Bucha. If the Gregorian year input is invalid, this will outputs None instead. - Also known as "Vesak" and "Buddha Day". This concides with + Also known as "Vesak" and "Buddha Day". This coincides with the 15th Waxing Day of Month 6 in Thai Lunar Calendar, or Month 7 in Athikamat years. KHMER_CALENDAR will always use Month 6 regardless of year type. @@ -329,7 +329,7 @@ def preah_neangkoal_date(self, year: int) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "Cambodian Royal Ploughing Ceremony". This always - concides with the 4th Waning Day of Month 6 in Khmer Lunar Calendar. + coincides with the 4th Waning Day of Month 6 in Khmer Lunar Calendar. To calculate, we use use the following time delta: - Athikamat: 15th Waxing Day of Month 6 @@ -357,7 +357,7 @@ def atthami_bucha_date(self, year: int, calendar=None) -> Optional[date]: Calculate the estimated Gregorian date of Atthami Bucha. If the Gregorian year input is invalid, this will outputs None instead. - Also known as "Buddha's Cremation Day". This concides with + Also known as "Buddha's Cremation Day". This coincides with the 8th Waning Day of Month 6 in Thai Lunar Calendar, or Month 7 in Athikamat years. KHMER_CALENDAR will always use Month 6 regardless of year type. @@ -401,7 +401,7 @@ def asarnha_bucha_date(self, year: int) -> Optional[date]: Calculate the estimated Gregorian date of Asarnha Bucha. If the Gregorian year input is invalid, this will outputs None instead. - Also known as "Asalha Puja". This concides with + Also known as "Asalha Puja". This coincides with the 15th Waxing Day of Month 8 in Thai Lunar Calendar, or Month 8.8 in Athikamat years. @@ -429,11 +429,11 @@ def asarnha_bucha_date(self, year: int) -> Optional[date]: return None if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: - delta_days = 250 + delta_days = +250 elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: - delta_days = 221 + delta_days = +221 else: - delta_days = 220 + delta_days = +220 return start_date + td(days=delta_days) def khao_phansa_date(self, year: int) -> Optional[date]: @@ -442,7 +442,7 @@ def khao_phansa_date(self, year: int) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "(Start of) Buddhist Lent" and "Start of Vassa". - This concides with the 1st Waning Day of Month 8 + This coincides with the 1st Waning Day of Month 8 in Thai Lunar Calendar, or Month 8.8 in Athikamat years. To calculate, we use use the following time delta: @@ -468,11 +468,11 @@ def khao_phansa_date(self, year: int) -> Optional[date]: return None if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: - delta_days = 251 + delta_days = +251 elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: - delta_days = 222 + delta_days = +222 else: - delta_days = 221 + delta_days = +221 return start_date + td(days=delta_days) def boun_haw_khao_padapdin_date(self, year: int) -> Optional[date]: @@ -481,7 +481,7 @@ def boun_haw_khao_padapdin_date(self, year: int) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "Boon Khao Padap Din". - This concides with the 14th Waning Day of Month 9 in Thai Lunar Calendar. + This coincides with the 14th Waning Day of Month 9 in Thai Lunar Calendar. To calculate, we use use the following time delta: - Athikamat: 14th Waning Day of Month 9 @@ -502,11 +502,11 @@ def boun_haw_khao_padapdin_date(self, year: int) -> Optional[date]: return None if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: - delta_days = 294 + delta_days = +294 elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: - delta_days = 265 + delta_days = +265 else: - delta_days = 264 + delta_days = +264 return start_date + td(days=delta_days) def boun_haw_khao_salark_date(self, year: int) -> Optional[date]: @@ -515,7 +515,7 @@ def boun_haw_khao_salark_date(self, year: int) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "Boon Khao Sak". - This concides with the 15th Waxing Day of Month 10 in Thai Lunar Calendar. + This coincides with the 15th Waxing Day of Month 10 in Thai Lunar Calendar. To calculate, we use use the following time delta: - Athikamat: 15th Waxing Day of Month 10 @@ -536,11 +536,11 @@ def boun_haw_khao_salark_date(self, year: int) -> Optional[date]: return None if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: - delta_days = 309 + delta_days = +309 elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: - delta_days = 280 + delta_days = +280 else: - delta_days = 279 + delta_days = +279 return start_date + td(days=delta_days) def pchum_ben_date(self, year: int) -> Optional[date]: @@ -549,7 +549,7 @@ def pchum_ben_date(self, year: int) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "Prachum Bandar". - This concides with the 15th Waning Day of Month 10 in Thai Lunar Calendar. + This coincides with the 15th Waning Day of Month 10 in Thai Lunar Calendar. To calculate, we use use the following time delta: - Athikamat: 15th Waning Day of Month 10 @@ -570,11 +570,11 @@ def pchum_ben_date(self, year: int) -> Optional[date]: return None if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: - delta_days = 324 + delta_days = +324 elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: - delta_days = 295 + delta_days = +295 else: - delta_days = 294 + delta_days = +294 return start_date + td(days=delta_days) def ok_phansa_date(self, year: int) -> Optional[date]: @@ -583,7 +583,7 @@ def ok_phansa_date(self, year: int) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "End of Buddhist Lent" and "End of Vassa". - This concides with the 15th Waxing Day of Month 11 in Thai Lunar Calendar. + This coincides with the 15th Waxing Day of Month 11 in Thai Lunar Calendar. To calculate, we use use the following time delta: - Athikamat: 15th Waxing Day of Month 11 @@ -604,11 +604,11 @@ def ok_phansa_date(self, year: int) -> Optional[date]: return None if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: - delta_days = 339 + delta_days = +339 elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: - delta_days = 310 + delta_days = +310 else: - delta_days = 309 + delta_days = +309 return start_date + td(days=delta_days) def boun_suang_heua_date(self, year: int) -> Optional[date]: @@ -617,7 +617,7 @@ def boun_suang_heua_date(self, year: int) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Boun Suang Huea Nakhone Luang Prabang, also known as "Vientiane Boat Racing Festival". - This concides with the 1st Waning Day of Month 11 in Thai Lunar Calendar. + This coincides with the 1st Waning Day of Month 11 in Thai Lunar Calendar. To calculate, we use use the following time delta: - Athikamat: 1st Waning Day of Month 11 @@ -638,11 +638,11 @@ def boun_suang_heua_date(self, year: int) -> Optional[date]: return None if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: - delta_days = 340 + delta_days = +340 elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: - delta_days = 311 + delta_days = +311 else: - delta_days = 310 + delta_days = +310 return start_date + td(days=delta_days) def loy_krathong_date(self, year: int) -> Optional[date]: @@ -651,7 +651,7 @@ def loy_krathong_date(self, year: int) -> Optional[date]: If the Gregorian year input is invalid, this will outputs None instead. Also known as "Boun That Louang" and "Bon Om Touk". - This concides with the 15th Waxing Day of Month 12 in Thai Lunar Calendar. + This coincides with the 15th Waxing Day of Month 12 in Thai Lunar Calendar. To calculate, we use use the following time delta: - Athikamat: 15th Waxing Day of Month 12 @@ -672,9 +672,9 @@ def loy_krathong_date(self, year: int) -> Optional[date]: return None if year in _ThaiLunisolar.ATHIKAMAT_YEARS_GREGORIAN: - delta_days = 368 + delta_days = +368 elif year in _ThaiLunisolar.ATHIKAWAN_YEARS_GREGORIAN: - delta_days = 339 + delta_days = +339 else: - delta_days = 338 + delta_days = +338 return start_date + td(days=delta_days) diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index 9ea629d9c..b7b80b700 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -17,9 +17,11 @@ from holidays.groups import InternationalHolidays, ThaiCalendarHolidays from holidays.observed_holiday_base import ( ObservedHolidayBase, - THU_FRI_SAT_TO_NEXT_MON_TUE, - FRI_SAT_SUN_TO_NEXT_TUE_WED, + THU_FRI_TO_NEXT_MON, + FRI_TO_NEXT_TUE, + SAT_TO_NEXT_TUE, SAT_SUN_TO_NEXT_MON, + SAT_SUN_TO_NEXT_WED, ) @@ -30,7 +32,6 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): References: - Based on: https://en.wikipedia.org/wiki/Public_holidays_in_Laos - https://www.ayutthaya.go.th/5786-%20ข้อควรรู้และวันหยุดในประเทศลาว ດຳລັດວ່າດ້ວຍ ວັນພັກ ເລກທີ 386 /ລບ (15.12.2017) - Checked with: https://asean.org/wp-content/uploads/2021/12/ASEAN-National-Holidays-2022.pdf @@ -72,28 +73,28 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): # Special Bank Holiday. special_bank_day_off = tr("ມື້ປິດການໃຫ້ບໍລິການຂອງທະນາຄານຕົວແທນ") - # New Year's Day (in-lieu). + # New Year's Day (in lieu). new_year_day_in_lieu = tr("ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ") - # Internation Women's Rights Day (in-lieu). + # Internation Women's Rights Day (in lieu). international_womens_rights_day_in_lieu = tr("ພັກຊົດເຊີຍວັນແມ່ຍິງສາກົນ") - # Lao New Year's Day (in-lieu). + # Lao New Year's Day (in lieu). lao_new_year_in_lieu = tr("ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ") # Lao New Year's Day (Special). lao_new_year_special = tr("ພັກບຸນປີໃໝ່ລາວ") - # Labor Day (in-lieu). + # Labor Day (in lieu). labor_day_in_lieu = tr("ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ") - # Establishment Day of the Lao Women's Union (in-lieu). + # Establishment Day of the Lao Women's Union (in lieu). lao_womens_union_in_lieu = tr("ພັກຊົດເຊີຍວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ") - # Establishment Day of the BOL (in-lieu). + # Establishment Day of the BOL (in lieu). establishment_day_of_bol_in_lieu = tr("ພັກຊົດເຊີຍວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ") - # Lao National Day (in-lieu). + # Lao National Day (in lieu). lao_national_day_in_lieu = tr("ພັກຊົດເຊີຍວັນຊາດ") special_bank_holidays = { @@ -210,10 +211,10 @@ def _populate_public_holidays(self): # Status: In-Use. # Celebrated for 3 days from 14-16 April annualy. # Observed dates prior to 2018 are assigned manually. - # - CASE 1: THU-FRI-SAT -> in-lieu on MON. - # - CASE 2: FRI-SAT-SUN -> in-lieu on MON-TUE. - # - CASE 3: SAT-SUN-MON -> in-lieu on TUE-WED. - # - CASE 4: SUN-MON-TUE -> in-lieu on WED. + # - CASE 1: THU-FRI-SAT -> in lieu on MON. + # - CASE 2: FRI-SAT-SUN -> in lieu on MON-TUE. + # - CASE 3: SAT-SUN-MON -> in lieu on TUE-WED. + # - CASE 4: SUN-MON-TUE -> in lieu on WED. # Lao New Year's Day. name = tr("ບຸນປີໃໝ່ລາວ") @@ -221,8 +222,8 @@ def _populate_public_holidays(self): self._add_holiday_apr_15(name) self._add_holiday_apr_16(name) - self._add_observed(dt, rule=THU_FRI_SAT_TO_NEXT_MON_TUE) - self._add_observed(dt, rule=FRI_SAT_SUN_TO_NEXT_TUE_WED) + self._add_observed(dt, rule=THU_FRI_TO_NEXT_MON + SAT_TO_NEXT_TUE) + self._add_observed(dt, rule=FRI_TO_NEXT_TUE + SAT_SUN_TO_NEXT_WED) # ວັນກຳມະກອນສາກົນ # Status: In-Use. @@ -251,7 +252,7 @@ def _populate_school_holidays(self): # Laotian Lunar Calendar Holidays # See `_ThaiLunisolar` in holidays/utils.py for more details. # Unofficial, but observed by schools and most business holidays; - # As such, no in-lieu observance are in place for these holidays. + # As such, no in lieu observance are in place for these holidays. # Laotian Lunar Calendar Holidays only work from 1941 to 2057. if self._year <= 1975: diff --git a/holidays/locale/en_US/LC_MESSAGES/LA.po b/holidays/locale/en_US/LC_MESSAGES/LA.po index 14c38fd53..2c49a7043 100644 --- a/holidays/locale/en_US/LC_MESSAGES/LA.po +++ b/holidays/locale/en_US/LC_MESSAGES/LA.po @@ -20,9 +20,9 @@ msgstr "" msgid "ພັກຊົດເຊີຍ%s" msgstr "%s (in lieu)" -#. Lao New Year's Day (in-lieu). +#. Lao New Year's Day (in lieu). msgid "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ" -msgstr "Lao New Year's Day (in-lieu)" +msgstr "Lao New Year's Day (in lieu)" #. New Year's Day. msgid "ວັນປີໃໝ່ສາກົນ" @@ -56,33 +56,33 @@ msgstr "Boun That Luang Festival" msgid "ມື້ປິດການໃຫ້ບໍລິການຂອງທະນາຄານຕົວແທນ" msgstr "Special Bank Holiday" -#. New Year's Day (in-lieu). +#. New Year's Day (in lieu). msgid "ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ" -msgstr "New Year's Day (in-lieu)" +msgstr "New Year's Day (in lieu)" -#. Internation Women's Rights Day (in-lieu). +#. Internation Women's Rights Day (in lieu). msgid "ພັກຊົດເຊີຍວັນແມ່ຍິງສາກົນ" -msgstr "Internation Women's Rights Day (in-lieu)" +msgstr "Internation Women's Rights Day (in lieu)" #. Lao New Year's Day (Special). msgid "ພັກບຸນປີໃໝ່ລາວ" msgstr "Lao New Year's Day (Special)" -#. Labor Day (in-lieu). +#. Labor Day (in lieu). msgid "ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ" -msgstr "Labor Day (in-lieu)" +msgstr "Labor Day (in lieu)" -#. Establishment Day of the Lao Women's Union (in-lieu). +#. Establishment Day of the Lao Women's Union (in lieu). msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ" -msgstr "Establishment Day of the Lao Women's Union (in-lieu)" +msgstr "Establishment Day of the Lao Women's Union (in lieu)" -#. Establishment Day of the BOL (in-lieu). +#. Establishment Day of the BOL (in lieu). msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ" -msgstr "Establishment Day of the BOL (in-lieu)" +msgstr "Establishment Day of the BOL (in lieu)" -#. Lao National Day (in-lieu). +#. Lao National Day (in lieu). msgid "ພັກຊົດເຊີຍວັນຊາດ" -msgstr "Lao National Day (in-lieu" +msgstr "Lao National Day (in lieu" #. Establishment Day of the BOL. msgid "ວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ" diff --git a/holidays/locale/lo/LC_MESSAGES/LA.po b/holidays/locale/lo/LC_MESSAGES/LA.po index a59284838..1351dd957 100644 --- a/holidays/locale/lo/LC_MESSAGES/LA.po +++ b/holidays/locale/lo/LC_MESSAGES/LA.po @@ -20,7 +20,7 @@ msgstr "" msgid "ພັກຊົດເຊີຍ%s" msgstr "" -#. Lao New Year's Day (in-lieu). +#. Lao New Year's Day (in lieu). msgid "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ" msgstr "" @@ -56,11 +56,11 @@ msgstr "" msgid "ມື້ປິດການໃຫ້ບໍລິການຂອງທະນາຄານຕົວແທນ" msgstr "" -#. New Year's Day (in-lieu). +#. New Year's Day (in lieu). msgid "ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ" msgstr "" -#. Internation Women's Rights Day (in-lieu). +#. Internation Women's Rights Day (in lieu). msgid "ພັກຊົດເຊີຍວັນແມ່ຍິງສາກົນ" msgstr "" @@ -68,19 +68,19 @@ msgstr "" msgid "ພັກບຸນປີໃໝ່ລາວ" msgstr "" -#. Labor Day (in-lieu). +#. Labor Day (in lieu). msgid "ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ" msgstr "" -#. Establishment Day of the Lao Women's Union (in-lieu). +#. Establishment Day of the Lao Women's Union (in lieu). msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ" msgstr "" -#. Establishment Day of the BOL (in-lieu). +#. Establishment Day of the BOL (in lieu). msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ" msgstr "" -#. Lao National Day (in-lieu). +#. Lao National Day (in lieu). msgid "ພັກຊົດເຊີຍວັນຊາດ" msgstr "" diff --git a/holidays/locale/th/LC_MESSAGES/LA.po b/holidays/locale/th/LC_MESSAGES/LA.po index 2fd8de95a..91c4dbfb3 100644 --- a/holidays/locale/th/LC_MESSAGES/LA.po +++ b/holidays/locale/th/LC_MESSAGES/LA.po @@ -20,7 +20,7 @@ msgstr "" msgid "ພັກຊົດເຊີຍ%s" msgstr "ชดเชย%s" -#. Lao New Year's Day (in-lieu). +#. Lao New Year's Day (in lieu). msgid "ພັກຊົດເຊີຍບຸນປີໃໝ່ລາວ" msgstr "ชดเชยวันปีใหม่ลาว" @@ -56,11 +56,11 @@ msgstr "วันงานพระธาตุหลวง" msgid "ມື້ປິດການໃຫ້ບໍລິການຂອງທະນາຄານຕົວແທນ" msgstr "วันหยุดทำการพิเศษของสถาบันการเงิน" -#. New Year's Day (in-lieu). +#. New Year's Day (in lieu). msgid "ພັກຊົດເຊີຍວັນປີໃໝ່ສາກົນ" msgstr "ชดเชยวันปีใหม่สากล" -#. Internation Women's Rights Day (in-lieu). +#. Internation Women's Rights Day (in lieu). msgid "ພັກຊົດເຊີຍວັນແມ່ຍິງສາກົນ" msgstr "ชดเชยวันสตรีสากล" @@ -68,19 +68,19 @@ msgstr "ชดเชยวันสตรีสากล" msgid "ພັກບຸນປີໃໝ່ລາວ" msgstr "ชดเชยวันปีใหม่ลาว" -#. Labor Day (in-lieu). +#. Labor Day (in lieu). msgid "ພັກຊົດເຊີຍວັນກຳມະກອນສາກົນ" msgstr "ชดเชยันแรงงานสากล" -#. Establishment Day of the Lao Women's Union (in-lieu). +#. Establishment Day of the Lao Women's Union (in lieu). msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງສະຫະພັນແມ່ຍິງລາວ" msgstr "ชดเชยวันก่อตั้งสหภาพแม่หญิงลาว" -#. Establishment Day of the BOL (in-lieu). +#. Establishment Day of the BOL (in lieu). msgid "ພັກຊົດເຊີຍວັນສ້າງຕັ້ງທະນາຄານແຫ່ງ ສປປ ລາວ" msgstr "ชดเชยวันก่อตั้งธนาคารแห่ง สปป. ลาว" -#. Lao National Day (in-lieu). +#. Lao National Day (in lieu). msgid "ພັກຊົດເຊີຍວັນຊາດ" msgstr "ชดเชยวันชาติ สปป. ลาว" diff --git a/holidays/observed_holiday_base.py b/holidays/observed_holiday_base.py index d7b23a6c5..6cc8f89c8 100644 --- a/holidays/observed_holiday_base.py +++ b/holidays/observed_holiday_base.py @@ -41,6 +41,7 @@ def __add__(self, other): FRI_TO_PREV_THU = ObservedRule({FRI: -1}) FRI_TO_NEXT_MON = ObservedRule({FRI: +3}) +FRI_TO_NEXT_TUE = ObservedRule({FRI: +4}) FRI_TO_NEXT_SAT = ObservedRule({FRI: +1}) FRI_TO_NEXT_WORKDAY = ObservedRule({FRI: +7}) @@ -74,16 +75,15 @@ def __add__(self, other): THU_FRI_TO_NEXT_MON = ObservedRule({THU: +4, FRI: +3}) THU_FRI_TO_NEXT_WORKDAY = ObservedRule({THU: +7, FRI: +7}) THU_FRI_SUN_TO_NEXT_MON = ObservedRule({THU: +4, FRI: +3, SUN: +1}) -THU_FRI_SAT_TO_NEXT_MON_TUE = ObservedRule({THU: +4, FRI: +3, SAT: +3}) FRI_SAT_TO_NEXT_WORKDAY = ObservedRule({FRI: +7, SAT: +7}) FRI_SUN_TO_NEXT_MON = ObservedRule({FRI: +3, SUN: +1}) FRI_SUN_TO_NEXT_SAT_MON = ObservedRule({FRI: +1, SUN: +1}) -FRI_SAT_SUN_TO_NEXT_TUE_WED = ObservedRule({FRI: +4, SAT: +4, SUN: +3}) SAT_SUN_TO_PREV_FRI = ObservedRule({SAT: -1, SUN: -2}) SAT_SUN_TO_NEXT_MON = ObservedRule({SAT: +2, SUN: +1}) SAT_SUN_TO_NEXT_TUE = ObservedRule({SAT: +3, SUN: +2}) +SAT_SUN_TO_NEXT_WED = ObservedRule({SAT: +4, SUN: +3}) SAT_SUN_TO_NEXT_MON_TUE = ObservedRule({SAT: +2, SUN: +2}) SAT_SUN_TO_NEXT_WORKDAY = ObservedRule({SAT: +7, SUN: +7}) diff --git a/snapshots/countries/LA.json b/snapshots/countries/LA.json index 86d6e682a..8fcbbc175 100644 --- a/snapshots/countries/LA.json +++ b/snapshots/countries/LA.json @@ -1000,7 +1000,7 @@ "2011-02-18": "Makha Bousa Festival", "2011-03-08": "International Women's Rights Day", "2011-03-22": "Establishment Day of the Lao People's Revolutionary Party", - "2011-04-13": "Lao New Year's Day (in-lieu)", + "2011-04-13": "Lao New Year's Day (in lieu)", "2011-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", "2011-04-15": "Lao New Year's Day", "2011-04-16": "Lao New Year's Day", @@ -1025,17 +1025,17 @@ "2011-12-29": "Lao Year-End Bank Holiday", "2011-12-30": "Lao Year-End Bank Holiday", "2012-01-01": "New Year's Day", - "2012-01-02": "New Year's Day (in-lieu)", + "2012-01-02": "New Year's Day (in lieu)", "2012-01-20": "Lao People's Armed Force Day", "2012-02-01": "Lao Federation of Trade Union's Day", "2012-02-07": "Makha Bousa Festival", "2012-03-08": "International Women's Rights Day", "2012-03-22": "Establishment Day of the Lao People's Revolutionary Party", - "2012-04-13": "Lao New Year's Day (in-lieu)", + "2012-04-13": "Lao New Year's Day (in lieu)", "2012-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", "2012-04-15": "Lao New Year's Day", "2012-04-16": "Lao New Year's Day", - "2012-04-17": "Lao New Year's Day (in-lieu)", + "2012-04-17": "Lao New Year's Day (in lieu)", "2012-05-01": "Labor Day", "2012-05-05": "Visakha Bousa Festival", "2012-06-01": "International Children Day; National Arbor Day", @@ -1053,7 +1053,7 @@ "2012-10-31": "Vientiane Boat Racing Festival", "2012-11-28": "Boun That Luang Festival", "2012-12-02": "Lao National Day", - "2012-12-03": "Lao National Day (in-lieu", + "2012-12-03": "Lao National Day (in lieu", "2012-12-13": "President Kaysone Phomvihane's Birthday", "2012-12-27": "Lao Year-End Bank Holiday", "2012-12-28": "Lao Year-End Bank Holiday", @@ -1067,7 +1067,7 @@ "2013-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", "2013-04-15": "Lao New Year's Day", "2013-04-16": "Lao New Year's Day", - "2013-04-17": "Lao New Year's Day (in-lieu)", + "2013-04-17": "Lao New Year's Day (in lieu)", "2013-05-01": "Labor Day", "2013-05-24": "Visakha Bousa Festival", "2013-06-01": "International Children Day; National Arbor Day", @@ -1125,7 +1125,7 @@ "2015-02-01": "Lao Federation of Trade Union's Day", "2015-02-03": "Makha Bousa Festival", "2015-03-08": "International Women's Rights Day", - "2015-03-09": "Internation Women's Rights Day (in-lieu)", + "2015-03-09": "Internation Women's Rights Day (in lieu)", "2015-03-22": "Establishment Day of the Lao People's Revolutionary Party", "2015-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", "2015-04-15": "Lao New Year's Day", @@ -1164,7 +1164,7 @@ "2016-04-16": "Lao New Year's Day", "2016-04-18": "Lao New Year's Day (Special)", "2016-05-01": "Labor Day", - "2016-05-02": "Labor Day (in-lieu)", + "2016-05-02": "Labor Day (in lieu)", "2016-05-20": "Visakha Bousa Festival", "2016-06-01": "International Children Day; National Arbor Day", "2016-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", @@ -1186,17 +1186,17 @@ "2016-12-29": "Lao Year-End Bank Holiday", "2016-12-30": "Lao Year-End Bank Holiday", "2017-01-01": "New Year's Day", - "2017-01-02": "New Year's Day (in-lieu)", + "2017-01-02": "New Year's Day (in lieu)", "2017-01-20": "Lao People's Armed Force Day", "2017-02-01": "Lao Federation of Trade Union's Day", "2017-02-11": "Makha Bousa Festival", "2017-03-08": "International Women's Rights Day", "2017-03-22": "Establishment Day of the Lao People's Revolutionary Party", - "2017-04-13": "Lao New Year's Day (in-lieu)", + "2017-04-13": "Lao New Year's Day (in lieu)", "2017-04-14": "Lao New Year's Day; Lao People's Revolutionary Youth Union Day", "2017-04-15": "Lao New Year's Day", "2017-04-16": "Lao New Year's Day", - "2017-04-17": "Lao New Year's Day (in-lieu)", + "2017-04-17": "Lao New Year's Day (in lieu)", "2017-05-01": "Labor Day", "2017-05-10": "Visakha Bousa Festival", "2017-06-01": "International Children Day; National Arbor Day", @@ -1211,11 +1211,11 @@ "2017-10-05": "End of Buddhist Lent", "2017-10-06": "Vientiane Boat Racing Festival", "2017-10-07": "Establishment Day of the BOL; National Teacher Day", - "2017-10-09": "Establishment Day of the BOL (in-lieu)", + "2017-10-09": "Establishment Day of the BOL (in lieu)", "2017-10-12": "Indepedence Declaration Day", "2017-11-03": "Boun That Luang Festival", "2017-12-02": "Lao National Day", - "2017-12-04": "Lao National Day (in-lieu", + "2017-12-04": "Lao National Day (in lieu", "2017-12-13": "President Kaysone Phomvihane's Birthday", "2017-12-27": "Lao Year-End Bank Holiday", "2017-12-28": "Lao Year-End Bank Holiday", @@ -1270,7 +1270,7 @@ "2019-07-13": "President Souphanouvong's Birthday; The National Day for Wildlife and Aquatic Animal Conservation", "2019-07-16": "Begin of Buddhist Lent", "2019-07-20": "Establishment Day of the Lao Women's Union", - "2019-07-22": "Establishment Day of the Lao Women's Union (in-lieu)", + "2019-07-22": "Establishment Day of the Lao Women's Union (in lieu)", "2019-08-13": "Lao National Mass Media and Publishing Day", "2019-08-15": "Lao National Constitution Day", "2019-08-23": "National Uprising Day", diff --git a/tests/calendars/test_thai.py b/tests/calendars/test_thai.py index f1b291a6d..d42af9dc9 100644 --- a/tests/calendars/test_thai.py +++ b/tests/calendars/test_thai.py @@ -36,7 +36,10 @@ def test_asarnha_bucha_date(self): 2025: date(2025, JUL, 10), } for year in asarnha_bucha_year_date: - self.assertEqual(asarnha_bucha_year_date[year], self.calendar.asarnha_bucha_date(year)) + self.assertEqual( + asarnha_bucha_year_date[year], + self.calendar.asarnha_bucha_date(year), + ) def test_atthami_bucha_date(self): # THAI_CALENDAR @@ -49,7 +52,10 @@ def test_atthami_bucha_date(self): 2025: date(2025, MAY, 19), } for year in atthami_bucha_year_date: - self.assertEqual(atthami_bucha_year_date[year], self.calendar.atthami_bucha_date(year)) + self.assertEqual( + atthami_bucha_year_date[year], + self.calendar.atthami_bucha_date(year), + ) # KHMER_CALENDAR athami_bochea_year_date = { self.calendar.START_YEAR - 1: None, @@ -106,7 +112,8 @@ def test_boun_suang_heua_date(self): } for year in boun_suang_heua_year_date: self.assertEqual( - boun_suang_heua_year_date[year], self.calendar.boun_suang_heua_date(year) + boun_suang_heua_year_date[year], + self.calendar.boun_suang_heua_date(year), ) def test_khao_phansa_date(self): @@ -120,7 +127,10 @@ def test_khao_phansa_date(self): 2025: date(2025, JUL, 11), } for year in khao_phansa_year_date: - self.assertEqual(khao_phansa_year_date[year], self.calendar.khao_phansa_date(year)) + self.assertEqual( + khao_phansa_year_date[year], + self.calendar.khao_phansa_date(year), + ) def test_loy_krathong_date(self): loy_krathong_year_date = { @@ -132,7 +142,10 @@ def test_loy_krathong_date(self): 2025: date(2025, NOV, 5), } for year in loy_krathong_year_date: - self.assertEqual(loy_krathong_year_date[year], self.calendar.loy_krathong_date(year)) + self.assertEqual( + loy_krathong_year_date[year], + self.calendar.loy_krathong_date(year), + ) def test_makha_bucha_date(self): # THAI_CALENDAR @@ -171,7 +184,10 @@ def test_ok_phansa_date(self): 2025: date(2025, OCT, 7), } for year in ok_phansa_year_date: - self.assertEqual(ok_phansa_year_date[year], self.calendar.ok_phansa_date(year)) + self.assertEqual( + ok_phansa_year_date[year], + self.calendar.ok_phansa_date(year), + ) def test_pchum_ben_date(self): pchum_ben_year_date = { @@ -183,7 +199,10 @@ def test_pchum_ben_date(self): 2025: date(2025, SEP, 22), } for year in pchum_ben_year_date: - self.assertEqual(pchum_ben_year_date[year], self.calendar.pchum_ben_date(year)) + self.assertEqual( + pchum_ben_year_date[year], + self.calendar.pchum_ben_date(year), + ) def test_preah_neangkoal_date(self): preah_neangkoal_year_date = { @@ -196,7 +215,8 @@ def test_preah_neangkoal_date(self): } for year in preah_neangkoal_year_date: self.assertEqual( - preah_neangkoal_year_date[year], self.calendar.preah_neangkoal_date(year) + preah_neangkoal_year_date[year], + self.calendar.preah_neangkoal_date(year), ) def test_visakha_bucha_date(self): @@ -210,7 +230,10 @@ def test_visakha_bucha_date(self): 2025: date(2025, MAY, 11), } for year in visakha_bucha_year_date: - self.assertEqual(visakha_bucha_year_date[year], self.calendar.visakha_bucha_date(year)) + self.assertEqual( + visakha_bucha_year_date[year], + self.calendar.visakha_bucha_date(year), + ) # KHMER_CALENDAR visaka_bochea_year_date = { self.calendar.START_YEAR - 1: None, From 80a4618b668b6a8261044312cfc7184fa6ad96a6 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Fri, 29 Sep 2023 10:10:11 +0700 Subject: [PATCH 17/18] [LA] Update Laotian Official Gazette source to include link --- holidays/countries/laos.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index b7b80b700..2ed21b5c2 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -32,7 +32,8 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): References: - Based on: https://en.wikipedia.org/wiki/Public_holidays_in_Laos - ດຳລັດວ່າດ້ວຍ ວັນພັກ ເລກທີ 386 /ລບ (15.12.2017) + Decree on Holidays No. 386 / Rev. 15.12.2017 + https://juristact.weebly.com/uploads/1/0/9/9/109947087/d17_386.pdf - Checked with: https://asean.org/wp-content/uploads/2021/12/ASEAN-National-Holidays-2022.pdf https://asean.org/wp-content/uploads/2022/12/ASEAN-Public-Holidays-2023.pdf From e6c7aedf3c77ba0a7ff5ba1dc48095144e60a9c7 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Fri, 29 Sep 2023 23:24:20 +0700 Subject: [PATCH 18/18] {LA] forgot one --- holidays/countries/laos.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/holidays/countries/laos.py b/holidays/countries/laos.py index 2ed21b5c2..4b4225cf6 100644 --- a/holidays/countries/laos.py +++ b/holidays/countries/laos.py @@ -46,7 +46,7 @@ class Laos(ObservedHolidayBase, InternationalHolidays, ThaiCalendarHolidays): Despite the wording, this usually only applies to Monday only for holidays, consecutive holidays all have their own special in lieu declared separately. - As featured in ດຳລັດວ່າດ້ວຍ ວັນພັກ ເລກທີ 386 /ລບ (15.12.2017); + As featured in Decree on Holidays No. 386 / Rev. 15.12.2017; - Saturdays and Sundays shall be restdays each week. - In-Lieu holidays shall be given if it fall on the weekends.