Repository: vacanza/holidays
Pull request #2049 (2024-10-11 16:19:35)

Update Vietnam holidays
<!--
  Thanks for contributing to holidays!
-->

## Proposed change

<!--
  Describe the big picture of your changes.
  Don't forget to link your PR to an existing issue if any.
-->

Update Vietnam holidays:
- update Lunar New Year holidays calculation
- add substituted holidays

## Type of change

<!--
  Type of change you want to introduce. Please, check one (1) box only!
  If your PR requires multiple boxes to be checked, most likely it needs to
  be split into multiple PRs.
-->

- [ ] New country/market holidays support (thank you!)
- [x] Supported country/market holidays update (calendar discrepancy fix, localization)
- [ ] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
- [ ] Dependency update (version deprecation/pin/upgrade)
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] Breaking change (a code change causing existing functionality to break)
- [ ] New feature (new `holidays` functionality in general)

## Checklist

<!--
  Put an `x` in the boxes that apply. You can change them after PR is created.
-->

- [x] I've followed the [contributing guidelines][contributing-guidelines]
- [x] I've run `make pre-commit`, it didn't generate any changes
- [x] I've run `make test`, all tests passed locally

<!--
  Thanks again for your contribution!
-->

[contributing-guidelines]: https://github.com/vacanza/holidays/blob/dev/CONTRIBUTING.rst
[docs]: https://github.com/vacanza/holidays/tree/dev/docs/source


sonarcloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2049) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2049&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2049&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2049&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2049&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2049&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarCloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2049)


codecov[bot]: ## [Codecov](https://app.codecov.io/gh/vacanza/holidays/pull/2049?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 100.00%. Comparing base [(`1f3170f`)](https://app.codecov.io/gh/vacanza/holidays/commit/1f3170fe5db8d5c9d322fda3261988103697228d?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza) to head [(`b1aae72`)](https://app.codecov.io/gh/vacanza/holidays/commit/b1aae7227b80b0dec6d43d6dce2a1c5e881a015e?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza).
> Report is 8 commits behind head on dev.

<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff            @@
##               dev     #2049   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          190       190           
  Lines        11522     11537   +15     
  Branches      1798      1743   -55     
=========================================
+ Hits         11522     11537   +15     
```

</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/vacanza/holidays/pull/2049?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza).


Patch:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index e30b14b1..e60438f9 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -16,7 +16,7 @@ repos:
           - rst
 
   - repo: https://github.com/asottile/pyupgrade
-    rev: v3.17.0
+    rev: v3.18.0
     hooks:
     -   id: pyupgrade
         args:
diff --git a/holidays/countries/egypt.py b/holidays/countries/egypt.py
index 3fe78a23..16c082f6 100644
--- a/holidays/countries/egypt.py
+++ b/holidays/countries/egypt.py
@@ -39,7 +39,6 @@ class Egypt(HolidayBase, ChristianHolidays, IslamicHolidays, InternationalHolida
         ChristianHolidays.__init__(self, JULIAN_CALENDAR)
         InternationalHolidays.__init__(self)
         IslamicHolidays.__init__(self)
-
         super().__init__(*args, **kwargs)
 
     def _populate_public_holidays(self):
diff --git a/holidays/countries/jordan.py b/holidays/countries/jordan.py
index e7ab398e..e0218a64 100644
--- a/holidays/countries/jordan.py
+++ b/holidays/countries/jordan.py
@@ -39,7 +39,7 @@ class Jordan(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolid
     def _populate_public_holidays(self):
         # The resting days are Friday and Saturday since Jan 6, 2000.
         # https://archive.wfn.org/2000/01/msg00078.html
-        self.weekend = {FRI, SAT} if self._year >= 2000 else {THU, FRI}
+        self.weekend = {THU, FRI} if self._year <= 1999 else {FRI, SAT}
 
         # New Year's Day.
         self._add_new_years_day(tr("رأس السنة الميلادية"))
diff --git a/holidays/countries/kuwait.py b/holidays/countries/kuwait.py
index 20155f5a..57cca90e 100644
--- a/holidays/countries/kuwait.py
+++ b/holidays/countries/kuwait.py
@@ -39,7 +39,7 @@ class Kuwait(HolidayBase, InternationalHolidays, IslamicHolidays):
     def _populate_public_holidays(self):
         # The resting days are Friday and Saturday since Sep 1, 2007.
         # https://www.arabnews.com/node/298933
-        self.weekend = {FRI, SAT} if self._year >= 2007 else {THU, FRI}
+        self.weekend = {THU, FRI} if self._year <= 2006 else {FRI, SAT}
 
         # New Year's Day.
         self._add_new_years_day(tr("رأس السنة الميلادية"))
diff --git a/holidays/countries/malaysia.py b/holidays/countries/malaysia.py
index 98eebfc8..5d1eb7ef 100644
--- a/holidays/countries/malaysia.py
+++ b/holidays/countries/malaysia.py
@@ -33,6 +33,7 @@ from holidays.calendars.gregorian import (
     DEC,
     FRI,
     SAT,
+    SUN,
 )
 from holidays.groups import (
     BuddhistCalendarHolidays,
@@ -220,12 +221,17 @@ class Malaysia(
 
         super()._populate_subdiv_holidays()
 
-        if self.subdiv in {"01", "02"}:
+        if (
+            self.subdiv == "01" and (self._year <= 1994 or 2014 <= self._year <= 2024)
+        ) or self.subdiv == "02":
             self._observed_rule = FRI_TO_NEXT_WORKDAY
             self.weekend = {FRI, SAT}
         elif self.subdiv in {"03", "11"}:
             self._observed_rule = SAT_TO_NEXT_WORKDAY
             self.weekend = {FRI, SAT}
+        else:
+            self._observed_rule = SUN_TO_NEXT_WORKDAY
+            self.weekend = {SAT, SUN}
 
         if self.observed:
             self._populate_observed(self.dts_observed)
diff --git a/holidays/countries/mauritania.py b/holidays/countries/mauritania.py
index 58274826..40156adb 100644
--- a/holidays/countries/mauritania.py
+++ b/holidays/countries/mauritania.py
@@ -28,7 +28,6 @@ class Mauritania(HolidayBase, InternationalHolidays, IslamicHolidays):
     def __init__(self, *args, **kwargs):
         InternationalHolidays.__init__(self)
         IslamicHolidays.__init__(self)
-
         super().__init__(*args, **kwargs)
 
     def _populate(self, year):
diff --git a/holidays/countries/united_arab_emirates.py b/holidays/countries/united_arab_emirates.py
index bf290c74..83ca817a 100644
--- a/holidays/countries/united_arab_emirates.py
+++ b/holidays/countries/united_arab_emirates.py
@@ -13,7 +13,7 @@
 from gettext import gettext as tr
 
 from holidays.calendars import _CustomIslamicHolidays
-from holidays.calendars.gregorian import APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, FRI, SAT
+from holidays.calendars.gregorian import APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, FRI, SAT, SUN
 from holidays.groups import InternationalHolidays, IslamicHolidays
 from holidays.holiday_base import HolidayBase
 
@@ -35,7 +35,6 @@ class UnitedArabEmirates(HolidayBase, InternationalHolidays, IslamicHolidays):
     # %s (estimated).
     estimated_label = tr("(تقدير) %s")
     supported_languages = ("ar", "en_US")
-    weekend = {FRI, SAT}
 
     def __init__(self, *args, **kwargs):
         InternationalHolidays.__init__(self)
@@ -43,6 +42,10 @@ class UnitedArabEmirates(HolidayBase, InternationalHolidays, IslamicHolidays):
         super().__init__(*args, **kwargs)
 
     def _populate_public_holidays(self):
+        # The resting days are Saturday and Sunday since Jan 1, 2022.
+        # https://time.com/6126260/uae-working-days-weekend/
+        self.weekend = {FRI, SAT} if self._year <= 2021 else {SAT, SUN}
+
         # New Year's Day.
         self._add_new_years_day(tr("رأس السنة الميلادية"))
 
diff --git a/holidays/countries/vietnam.py b/holidays/countries/vietnam.py
index 231af59d..7ddd842a 100644
--- a/holidays/countries/vietnam.py
+++ b/holidays/countries/vietnam.py
@@ -10,17 +10,49 @@
 #  Website: https://github.com/vacanza/holidays
 #  License: MIT (see LICENSE file)
 
+from datetime import date
 from gettext import gettext as tr
 
-from holidays.groups import ChineseCalendarHolidays, InternationalHolidays
-from holidays.observed_holiday_base import ObservedHolidayBase, SAT_SUN_TO_NEXT_WORKDAY
-
-
-class Vietnam(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays):
+from holidays.calendars.gregorian import (
+    JAN,
+    FEB,
+    APR,
+    MAY,
+    SEP,
+    DEC,
+    MON,
+    TUE,
+    WED,
+    THU,
+    FRI,
+    SAT,
+    SUN,
+    _timedelta,
+)
+from holidays.groups import ChineseCalendarHolidays, InternationalHolidays, StaticHolidays
+from holidays.observed_holiday_base import (
+    ObservedHolidayBase,
+    ObservedRule,
+    SAT_TO_PREV_WORKDAY,
+    SUN_TO_NEXT_WORKDAY,
+    SAT_SUN_TO_NEXT_WORKDAY,
+)
+
+NATIONAL_DAY_RULE = ObservedRule({MON: +1, TUE: -1, WED: -1, THU: +1, FRI: -1, SAT: -1, SUN: +1})
+
+
+class Vietnam(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays, StaticHolidays):
     """
-    https://publicholidays.vn/
-    http://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11013 Article.115
-    https://www.timeanddate.com/holidays/vietnam/
+    References:
+        - `Labor Code 1994 (Art. 73) (en) <https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=2835>`_
+        - `Labor Code 2012 (Art. 115) (en) <https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11013>`_
+        - `Labor Code 2012 (Art. 115) (vi) <https://vbpl.vn/TW/Pages/vbpq-toanvan.aspx?ItemID=27615>`_
+        - `Labor Code 2019 (Art. 112) (en) <https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11135>`_
+        - `Labor Code 2019 (Art. 112) (vi) <https://vbpl.vn/TW/Pages/vbpq-van-ban-goc.aspx?ItemID=139264>`_
+
+    Substituted holidays:
+        - `2018-2019 <https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-6519-VPCP-KGVX-2018-national-holidays-for-public-sector-employees/387625/tieng-anh.aspx>`_
+        - `2024 <https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-2450-VPCP-KGVX-2024-swap-of-working-days-during-the-Reunification-Day/606458/tieng-anh.aspx>`_
     """
 
     country = "VN"
@@ -32,47 +64,81 @@ class Vietnam(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHoliday
     def __init__(self, *args, **kwargs):
         ChineseCalendarHolidays.__init__(self)
         InternationalHolidays.__init__(self)
+        StaticHolidays.__init__(self, VietnamStaticHolidays)
         kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY)
+        kwargs.setdefault("observed_since", 1995)
         super().__init__(*args, **kwargs)
 
+    def _add_lunar_new_year_observed(self, dt_lny: date) -> None:
+        if self._year <= 1994:
+            return None
+
+        day_names = {
+            # 29 of Lunar New Year.
+            -2: tr("29 Tết"),
+            # Fourth Day of Lunar New Year.
+            3: tr("Mùng bốn Tết Nguyên Đán"),
+            # Fifth Day of Lunar New Year.
+            4: tr("Mùng năm Tết Nguyên Đán"),
+            # Sixth Day of Lunar New Year.
+            5: tr("Mùng sáu Tết Nguyên Đán"),
+        }
+        for delta in range(-1, 4 if self._year >= 2013 else 3):
+            dt = _timedelta(dt_lny, delta)
+            dt_observed = self._get_observed_date(
+                dt,
+                rule=(
+                    SAT_TO_PREV_WORKDAY + SUN_TO_NEXT_WORKDAY
+                    if self._year >= 2014
+                    else SAT_SUN_TO_NEXT_WORKDAY
+                ),
+            )
+            if dt_observed != dt:
+                self._add_holiday(
+                    day_names[(dt_observed - dt_lny).days],  # type: ignore[operator]
+                    dt_observed,
+                )
+
     def _populate_public_holidays(self):
         dts_observed = set()
 
-        # New Year's Day
+        # New Year's Day.
         dts_observed.add(self._add_new_years_day(tr("Tết Dương lịch")))
 
-        # Lunar New Year's Eve
+        # Lunar New Year's Eve.
         self._add_chinese_new_years_eve(tr("Giao thừa Tết Nguyên Đán"))
 
-        # Lunar New Year
-        self._add_chinese_new_years_day(tr("Tết Nguyên Đán"))
+        # Lunar New Year.
+        lny = self._add_chinese_new_years_day(tr("Tết Nguyên Đán"))
 
-        # Second Day of Lunar New Year
+        # Second Day of Lunar New Year.
         self._add_chinese_new_years_day_two(tr("Mùng hai Tết Nguyên Đán"))
 
-        # Third Day of Lunar New Year
+        # Third Day of Lunar New Year.
         self._add_chinese_new_years_day_three(tr("Mùng ba Tết Nguyên Đán"))
 
-        # Fourth Day of Lunar New Year
-        self._add_chinese_new_years_day_four(tr("Mùng bốn Tết Nguyên Đán"))
-
-        # Fifth Day of Lunar New Year
-        self._add_chinese_new_years_day_five(tr("Mùng năm Tết Nguyên Đán"))
+        if self._year >= 2013:
+            # Fourth Day of Lunar New Year.
+            self._add_chinese_new_years_day_four(tr("Mùng bốn Tết Nguyên Đán"))
 
         if self._year >= 2007:
-            # Hung Kings' Commemoration Day
+            # Hung Kings' Commemoration Day.
             dts_observed.add(self._add_hung_kings_day(tr("Ngày Giỗ Tổ Hùng Vương")))
 
-        # Liberation Day/Reunification Day
+        # Liberation Day/Reunification Day.
         dts_observed.add(self._add_holiday_apr_30(tr("Ngày Chiến thắng")))
 
-        # International Labor Day
+        # International Labor Day.
         dts_observed.add(self._add_labor_day(tr("Ngày Quốc tế Lao động")))
 
-        # National Day
-        dts_observed.add(self._add_holiday_sep_2(tr("Quốc khánh")))
+        # National Day.
+        name = tr("Quốc khánh")
+        dts_observed.add(sep_2 := self._add_holiday_sep_2(name))
+        if self._year >= 2021:
+            self._add_holiday(name, self._get_observed_date(sep_2, NATIONAL_DAY_RULE))
 
         if self.observed:
+            self._add_lunar_new_year_observed(lny)
             self._populate_observed(dts_observed)
 
 
@@ -82,3 +148,28 @@ class VN(Vietnam):
 
 class VNM(Vietnam):
     pass
+
+
+class VietnamStaticHolidays:
+    # Date format (see strftime() Format Codes).
+    substituted_date_format = tr("%d/%m/%Y")
+    # Day off (substituted from %s).
+    substituted_label = tr("Ngày nghỉ (thay cho ngày %s)")
+
+    special_public_holidays = {
+        2010: (FEB, 19, FEB, 27),
+        2012: (JAN, 27, FEB, 4),
+        2013: (APR, 29, MAY, 4),
+        2014: (
+            (MAY, 2, APR, 26),
+            (SEP, 1, SEP, 6),
+        ),
+        2015: (
+            (JAN, 2, DEC, 27, 2014),
+            (FEB, 16, FEB, 14),
+            (APR, 29, APR, 25),
+        ),
+        2018: (DEC, 31, JAN, 5, 2019),
+        2019: (APR, 29, MAY, 4),
+        2024: (APR, 29, MAY, 4),
+    }
diff --git a/holidays/groups/chinese.py b/holidays/groups/chinese.py
index 5563c7e6..e2f78af6 100644
--- a/holidays/groups/chinese.py
+++ b/holidays/groups/chinese.py
@@ -136,16 +136,6 @@ class ChineseCalendarHolidays:
             name, self._chinese_calendar.lunar_new_year_date(self._year), days_delta=+3
         )
 
-    def _add_chinese_new_years_day_five(self, name) -> Optional[date]:
-        """
-        Add Chinese New Year's Day Five.
-
-        https://en.wikipedia.org/wiki/Chinese_New_Year
-        """
-        return self._add_chinese_calendar_holiday(
-            name, self._chinese_calendar.lunar_new_year_date(self._year), days_delta=+4
-        )
-
     def _add_qingming_festival(self, name) -> date:
         """
         Add Qingming Festival (15th day after the Spring Equinox).
diff --git a/holidays/locale/en_US/LC_MESSAGES/VN.po b/holidays/locale/en_US/LC_MESSAGES/VN.po
index 0f416b64..408b6e25 100644
--- a/holidays/locale/en_US/LC_MESSAGES/VN.po
+++ b/holidays/locale/en_US/LC_MESSAGES/VN.po
@@ -14,62 +14,80 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Holidays 0.58\n"
+"Project-Id-Version: Holidays 0.59\n"
 "POT-Creation-Date: 2024-09-27 15:50+0700\n"
-"PO-Revision-Date: 2024-09-27 15:50+0700\n"
-"Last-Translator: Vu Nhat Chuong <ronnyvu321@gmail.com>\n"
+"PO-Revision-Date: 2024-10-09 20:57+0300\n"
+"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
 "Language-Team: Holidays Localization Team\n"
-"Language: vi\n"
+"Language: en_US\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Lingva 5.0.4\n"
+"X-Generator: Poedit 3.5\n"
 
 #. %s (observed).
 #, c-format
 msgid "%s (nghỉ bù)"
 msgstr "%s (observed)"
 
-#. New Year's Day
+#. New Year's Day.
 msgid "Tết Dương lịch"
 msgstr "New Year's Day"
 
-#. Lunar New Year's Eve
+#. 29 of Lunar New Year.
+msgid "29 Tết"
+msgstr "29 of Lunar New Year"
+
+#. Lunar New Year's Eve.
 msgid "Giao thừa Tết Nguyên Đán"
 msgstr "Lunar New Year's Eve"
 
-#. Lunar New Year
+#. Lunar New Year.
 msgid "Tết Nguyên Đán"
 msgstr "Lunar New Year"
 
-#. Second Day of Lunar New Year
+#. Second Day of Lunar New Year.
 msgid "Mùng hai Tết Nguyên Đán"
-msgstr "The second day of Tet Holiday"
+msgstr "Second Day of Lunar New Year"
 
-#. Third Day of Lunar New Year
+#. Third Day of Lunar New Year.
 msgid "Mùng ba Tết Nguyên Đán"
-msgstr "The third day of Tet Holiday"
+msgstr "Third Day of Lunar New Year"
 
-#. Fourth Day of Lunar New Year
+#. Fourth Day of Lunar New Year.
 msgid "Mùng bốn Tết Nguyên Đán"
-msgstr "The fourth day of Tet Holiday"
+msgstr "Fourth Day of Lunar New Year"
 
-#. Fifth Day of Lunar New Year
+#. Fifth Day of Lunar New Year.
 msgid "Mùng năm Tết Nguyên Đán"
-msgstr "The fifth day of Tet Holiday"
+msgstr "Fifth Day of Lunar New Year"
+
+#. Sixth Day of Lunar New Year.
+msgid "Mùng sáu Tết Nguyên Đán"
+msgstr "Sixth Day of Lunar New Year"
 
-#. Hung Kings' Commemoration Day
+#. Hung Kings' Commemoration Day.
 msgid "Ngày Giỗ Tổ Hùng Vương"
 msgstr "Hung Kings' Commemoration Day"
 
-#. Liberation Day/Reunification Day
+#. Liberation Day/Reunification Day.
 msgid "Ngày Chiến thắng"
 msgstr "Liberation Day/Reunification Day"
 
-#. International Labor Day
+#. International Labor Day.
 msgid "Ngày Quốc tế Lao động"
 msgstr "International Labor Day"
 
-#. National Day
+#. National Day.
 msgid "Quốc khánh"
 msgstr "National Day"
+
+#. Date format (see strftime() Format Codes).
+msgid "%d/%m/%Y"
+msgstr "%m/%d/%Y"
+
+#. Day off (substituted from %s).
+#, c-format
+msgid "Ngày nghỉ (thay cho ngày %s)"
+msgstr "Day off (substituted from %s)"
diff --git a/holidays/locale/vi/LC_MESSAGES/VN.po b/holidays/locale/vi/LC_MESSAGES/VN.po
index 9ce748db..f81a6e34 100644
--- a/holidays/locale/vi/LC_MESSAGES/VN.po
+++ b/holidays/locale/vi/LC_MESSAGES/VN.po
@@ -14,62 +14,80 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Holidays 0.58\n"
+"Project-Id-Version: Holidays 0.59\n"
 "POT-Creation-Date: 2024-09-27 15:50+0700\n"
-"PO-Revision-Date: 2024-09-27 15:50+0700\n"
-"Last-Translator: Vu Nhat Chuong <ronnyvu321@gmail.com>\n"
+"PO-Revision-Date: 2024-10-09 20:58+0300\n"
+"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
 "Language-Team: Holidays Localization Team\n"
 "Language: vi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Lingva 5.0.4\n"
+"X-Generator: Poedit 3.5\n"
 
 #. %s (observed).
 #, c-format
 msgid "%s (nghỉ bù)"
 msgstr ""
 
-#. New Year's Day
+#. New Year's Day.
 msgid "Tết Dương lịch"
 msgstr ""
 
-#. Lunar New Year's Eve
+#. 29 of Lunar New Year.
+msgid "29 Tết"
+msgstr ""
+
+#. Lunar New Year's Eve.
 msgid "Giao thừa Tết Nguyên Đán"
 msgstr ""
 
-#. Lunar New Year
+#. Lunar New Year.
 msgid "Tết Nguyên Đán"
 msgstr ""
 
-#. Second Day of Lunar New Year
+#. Second Day of Lunar New Year.
 msgid "Mùng hai Tết Nguyên Đán"
 msgstr ""
 
-#. Third Day of Lunar New Year
+#. Third Day of Lunar New Year.
 msgid "Mùng ba Tết Nguyên Đán"
 msgstr ""
 
-#. Fourth Day of Lunar New Year
+#. Fourth Day of Lunar New Year.
 msgid "Mùng bốn Tết Nguyên Đán"
 msgstr ""
 
-#. Fifth Day of Lunar New Year
+#. Fifth Day of Lunar New Year.
 msgid "Mùng năm Tết Nguyên Đán"
 msgstr ""
 
-#. Hung Kings' Commemoration Day
+#. Sixth Day of Lunar New Year.
+msgid "Mùng sáu Tết Nguyên Đán"
+msgstr ""
+
+#. Hung Kings' Commemoration Day.
 msgid "Ngày Giỗ Tổ Hùng Vương"
 msgstr ""
 
-#. Liberation Day/Reunification Day
+#. Liberation Day/Reunification Day.
 msgid "Ngày Chiến thắng"
 msgstr ""
 
-#. International Labor Day
+#. International Labor Day.
 msgid "Ngày Quốc tế Lao động"
 msgstr ""
 
-#. National Day
+#. National Day.
 msgid "Quốc khánh"
 msgstr ""
+
+#. Date format (see strftime() Format Codes).
+msgid "%d/%m/%Y"
+msgstr ""
+
+#. Day off (substituted from %s).
+#, c-format
+msgid "Ngày nghỉ (thay cho ngày %s)"
+msgstr ""
diff --git a/requirements/build.txt b/requirements/build.txt
index 8e99acc3..4d8c3604 100644
--- a/requirements/build.txt
+++ b/requirements/build.txt
@@ -1,3 +1,3 @@
-build==1.2.2
+build==1.2.2.post1
 cyclonedx-bom==4.6.1
 polib==1.2.0
diff --git a/requirements/dev.txt b/requirements/dev.txt
index e11bc16e..1d109d7c 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -1,6 +1,6 @@
 # Dev requirements.
 
-build==1.2.2
+build==1.2.2.post1
 convertdate==2.4.0
 gitpython==3.1.43
 hijridate==2.5.0
@@ -8,6 +8,6 @@ lingva==5.0.4
 pre-commit==4.0.1
 pygithub==2.4.0
 ruff==0.6.9
-tox==4.21.1
+tox==4.21.2
 urllib3>=2.2.2 # not directly required, pinned by Snyk to avoid a vulnerability
 zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability
diff --git a/snapshots/countries/MY_01.json b/snapshots/countries/MY_01.json
index 7ed012e2..6e3aadfe 100644
--- a/snapshots/countries/MY_01.json
+++ b/snapshots/countries/MY_01.json
@@ -657,10 +657,10 @@
     "1995-02-14": "Thaipusam",
     "1995-03-02": "Eid al-Fitr (estimated)",
     "1995-03-03": "Eid al-Fitr (Second Day) (estimated)",
-    "1995-03-05": "Eid al-Fitr (Second Day) (observed, estimated)",
     "1995-05-01": "Labor Day",
     "1995-05-09": "Eid al-Adha (estimated)",
     "1995-05-14": "Vesak Day (estimated)",
+    "1995-05-15": "Vesak Day (observed, estimated)",
     "1995-05-30": "Islamic New Year (estimated)",
     "1995-06-03": "Birthday of HM Yang di-Pertuan Agong",
     "1995-08-08": "Prophet Muhammad's Birthday (estimated)",
@@ -668,6 +668,7 @@
     "1995-11-20": "Deepavali",
     "1995-12-25": "Christmas Day",
     "1996-01-21": "Beginning of Ramadan (estimated)",
+    "1996-01-22": "Beginning of Ramadan (observed, estimated)",
     "1996-02-19": "Chinese New Year (estimated); Eid al-Fitr (estimated)",
     "1996-02-20": "Chinese New Year (Second Day) (estimated); Eid al-Fitr (Second Day) (estimated)",
     "1996-03-04": "Thaipusam",
@@ -681,11 +682,10 @@
     "1996-11-09": "Deepavali",
     "1996-12-25": "Christmas Day",
     "1997-01-10": "Beginning of Ramadan (estimated)",
-    "1997-01-12": "Beginning of Ramadan (observed, estimated)",
     "1997-02-07": "Chinese New Year (estimated)",
     "1997-02-08": "Chinese New Year (Second Day) (estimated); Eid al-Fitr (estimated)",
     "1997-02-09": "Eid al-Fitr (Second Day) (estimated)",
-    "1997-02-10": "Chinese New Year (observed, estimated)",
+    "1997-02-10": "Eid al-Fitr (Second Day) (observed, estimated)",
     "1997-02-22": "Thaipusam",
     "1997-04-17": "Eid al-Adha (estimated)",
     "1997-05-01": "Labor Day",
@@ -694,6 +694,7 @@
     "1997-06-07": "Birthday of HM Yang di-Pertuan Agong",
     "1997-07-16": "Prophet Muhammad's Birthday (estimated)",
     "1997-08-31": "National Day",
+    "1997-09-01": "National Day (observed)",
     "1997-10-29": "Deepavali",
     "1997-12-25": "Christmas Day",
     "1997-12-30": "Beginning of Ramadan (estimated)",
@@ -701,19 +702,17 @@
     "1998-01-28": "Chinese New Year (estimated)",
     "1998-01-29": "Chinese New Year (Second Day) (estimated); Eid al-Fitr (estimated)",
     "1998-01-30": "Eid al-Fitr (Second Day) (estimated)",
-    "1998-02-01": "Eid al-Fitr (Second Day) (observed, estimated)",
     "1998-04-07": "Eid al-Adha (estimated)",
     "1998-04-27": "Islamic New Year (estimated)",
     "1998-05-01": "Labor Day",
-    "1998-05-03": "Labor Day (observed)",
     "1998-05-10": "Vesak Day (estimated)",
+    "1998-05-11": "Vesak Day (observed, estimated)",
     "1998-06-06": "Birthday of HM Yang di-Pertuan Agong",
     "1998-07-06": "Prophet Muhammad's Birthday (estimated)",
     "1998-08-31": "National Day",
     "1998-11-17": "Deepavali",
     "1998-12-19": "Beginning of Ramadan (estimated)",
     "1998-12-25": "Christmas Day",
-    "1998-12-27": "Christmas Day (observed)",
     "1999-01-18": "Eid al-Fitr (estimated)",
     "1999-01-19": "Eid al-Fitr (Second Day) (estimated)",
     "1999-02-16": "Chinese New Year (estimated)",
@@ -732,9 +731,12 @@
     "1999-12-25": "Christmas Day",
     "2000-01-08": "Eid al-Fitr (estimated)",
     "2000-01-09": "Eid al-Fitr (Second Day) (estimated)",
+    "2000-01-10": "Eid al-Fitr (Second Day) (observed, estimated)",
     "2000-02-05": "Chinese New Year (estimated)",
     "2000-02-06": "Chinese New Year (Second Day) (estimated)",
+    "2000-02-07": "Chinese New Year (Second Day) (observed, estimated)",
     "2000-02-20": "Thaipusam",
+    "2000-02-21": "Thaipusam (observed)",
     "2000-03-16": "Eid al-Adha (estimated)",
     "2000-04-06": "Islamic New Year (estimated)",
     "2000-05-01": "Labor Day",
@@ -757,7 +759,6 @@
     "2001-06-02": "Birthday of HM Yang di-Pertuan Agong",
     "2001-06-04": "Prophet Muhammad's Birthday",
     "2001-08-31": "National Day",
-    "2001-09-02": "National Day (observed)",
     "2001-11-14": "Deepavali",
     "2001-11-17": "Beginning of Ramadan",
     "2001-12-17": "Eid al-Fitr",
@@ -770,26 +771,28 @@
     "2002-03-15": "Islamic New Year",
     "2002-05-01": "Labor Day",
     "2002-05-24": "Prophet Muhammad's Birthday",
-    "2002-05-26": "Prophet Muhammad's Birthday (observed)",
     "2002-05-27": "Vesak Day",
     "2002-06-01": "Birthday of HM Yang di-Pertuan Agong",
     "2002-08-31": "National Day",
     "2002-11-03": "Deepavali",
+    "2002-11-04": "Deepavali (observed)",
     "2002-11-06": "Beginning of Ramadan",
     "2002-12-06": "Eid al-Fitr",
     "2002-12-07": "Eid al-Fitr (Second Day)",
-    "2002-12-08": "Eid al-Fitr (observed)",
     "2002-12-25": "Christmas Day",
     "2003-02-01": "Chinese New Year",
     "2003-02-02": "Chinese New Year (Second Day)",
+    "2003-02-03": "Chinese New Year (Second Day) (observed)",
     "2003-02-12": "Eid al-Adha",
     "2003-02-16": "Thaipusam",
+    "2003-02-17": "Thaipusam (observed)",
     "2003-03-05": "Islamic New Year",
     "2003-05-01": "Labor Day",
     "2003-05-14": "Prophet Muhammad's Birthday",
     "2003-05-15": "Vesak Day",
     "2003-06-07": "Birthday of HM Yang di-Pertuan Agong",
     "2003-08-31": "National Day",
+    "2003-09-01": "National Day (observed)",
     "2003-10-23": "Deepavali",
     "2003-10-27": "Beginning of Ramadan",
     "2003-11-26": "Eid al-Fitr",
@@ -798,47 +801,50 @@
     "2004-01-07": "Thaipusam",
     "2004-01-22": "Chinese New Year",
     "2004-01-23": "Chinese New Year (Second Day)",
-    "2004-01-25": "Chinese New Year (Second Day) (observed)",
     "2004-02-02": "Eid al-Adha",
     "2004-02-22": "Islamic New Year",
     "2004-05-01": "Labor Day",
     "2004-05-02": "Prophet Muhammad's Birthday",
     "2004-05-03": "Vesak Day",
+    "2004-05-04": "Prophet Muhammad's Birthday (observed)",
     "2004-06-05": "Birthday of HM Yang di-Pertuan Agong",
     "2004-08-31": "National Day",
     "2004-10-16": "Beginning of Ramadan",
     "2004-11-11": "Deepavali",
     "2004-11-14": "Eid al-Fitr",
     "2004-11-15": "Eid al-Fitr (Second Day)",
+    "2004-11-16": "Eid al-Fitr (observed)",
     "2004-12-25": "Christmas Day",
     "2005-01-21": "Eid al-Adha",
-    "2005-01-23": "Eid al-Adha (observed)",
     "2005-02-09": "Chinese New Year",
     "2005-02-10": "Chinese New Year (Second Day); Islamic New Year",
     "2005-02-23": "Thaipusam",
     "2005-04-21": "Prophet Muhammad's Birthday",
     "2005-05-01": "Labor Day",
+    "2005-05-02": "Labor Day (observed)",
     "2005-05-22": "Vesak Day",
+    "2005-05-23": "Vesak Day (observed)",
     "2005-06-04": "Birthday of HM Yang di-Pertuan Agong",
     "2005-08-31": "National Day",
     "2005-10-05": "Beginning of Ramadan",
     "2005-11-01": "Deepavali",
     "2005-11-03": "Eid al-Fitr",
     "2005-11-04": "Eid al-Fitr (Second Day)",
-    "2005-11-06": "Eid al-Fitr (Second Day) (observed)",
     "2005-12-25": "Christmas Day",
+    "2005-12-26": "Christmas Day (observed)",
     "2006-01-10": "Eid al-Adha",
     "2006-01-29": "Chinese New Year",
     "2006-01-30": "Chinese New Year (Second Day)",
     "2006-01-31": "Islamic New Year",
+    "2006-02-01": "Chinese New Year (observed)",
     "2006-02-13": "Thaipusam",
     "2006-04-11": "Prophet Muhammad's Birthday",
     "2006-05-01": "Labor Day",
     "2006-05-12": "Vesak Day",
-    "2006-05-14": "Vesak Day (observed)",
     "2006-06-03": "Birthday of HM Yang di-Pertuan Agong",
     "2006-08-31": "National Day",
     "2006-09-24": "Beginning of Ramadan",
+    "2006-09-25": "Beginning of Ramadan (observed)",
     "2006-10-21": "Deepavali",
     "2006-10-24": "Eid al-Fitr",
     "2006-10-25": "Eid al-Fitr (Second Day)",
@@ -847,29 +853,30 @@
     "2007-01-20": "Islamic New Year",
     "2007-02-18": "Chinese New Year",
     "2007-02-19": "Chinese New Year (Second Day)",
+    "2007-02-20": "Chinese New Year (observed)",
     "2007-03-04": "Thaipusam",
+    "2007-03-05": "Thaipusam (observed)",
     "2007-03-31": "Prophet Muhammad's Birthday",
     "2007-05-01": "Labor Day; Vesak Day",
     "2007-06-02": "Birthday of HM Yang di-Pertuan Agong",
     "2007-08-31": "National Day",
-    "2007-09-02": "National Day (observed)",
     "2007-09-13": "Beginning of Ramadan",
     "2007-10-13": "Eid al-Fitr",
     "2007-10-14": "Eid al-Fitr (Second Day)",
+    "2007-10-15": "Eid al-Fitr (Second Day) (observed)",
     "2007-11-08": "Deepavali",
     "2007-12-20": "Eid al-Adha",
     "2007-12-25": "Christmas Day",
     "2008-01-10": "Islamic New Year",
     "2008-02-07": "Chinese New Year",
     "2008-02-08": "Chinese New Year (Second Day)",
-    "2008-02-10": "Chinese New Year (Second Day) (observed)",
     "2008-02-22": "Thaipusam",
-    "2008-02-24": "Thaipusam (observed)",
     "2008-03-20": "Prophet Muhammad's Birthday",
     "2008-05-01": "Labor Day",
     "2008-05-19": "Vesak Day",
     "2008-06-07": "Birthday of HM Yang di-Pertuan Agong",
     "2008-08-31": "National Day",
+    "2008-09-01": "National Day (observed)",
     "2008-09-02": "Beginning of Ramadan",
     "2008-10-01": "Eid al-Fitr",
     "2008-10-02": "Eid al-Fitr (Second Day)",
@@ -878,77 +885,74 @@
     "2008-12-25": "Christmas Day",
     "2008-12-29": "Islamic New Year",
     "2009-01-11": "Thaipusam",
+    "2009-01-12": "Thaipusam (observed)",
     "2009-01-26": "Chinese New Year",
     "2009-01-27": "Chinese New Year (Second Day)",
     "2009-03-09": "Prophet Muhammad's Birthday",
     "2009-05-01": "Labor Day",
-    "2009-05-03": "Labor Day (observed)",
     "2009-05-09": "Vesak Day",
     "2009-06-06": "Birthday of HM Yang di-Pertuan Agong",
     "2009-08-22": "Beginning of Ramadan",
     "2009-08-31": "National Day",
     "2009-09-20": "Eid al-Fitr",
     "2009-09-21": "Eid al-Fitr (Second Day)",
+    "2009-09-22": "Eid al-Fitr (observed)",
     "2009-10-17": "Deepavali",
     "2009-11-28": "Eid al-Adha",
     "2009-12-18": "Islamic New Year",
     "2009-12-25": "Christmas Day",
-    "2009-12-27": "Christmas Day (observed)",
     "2010-02-14": "Chinese New Year",
     "2010-02-15": "Chinese New Year (Second Day)",
+    "2010-02-16": "Chinese New Year (observed)",
     "2010-02-26": "Prophet Muhammad's Birthday",
-    "2010-02-28": "Prophet Muhammad's Birthday (observed)",
     "2010-03-01": "Thaipusam",
     "2010-05-01": "Labor Day",
     "2010-05-28": "Vesak Day",
-    "2010-05-30": "Vesak Day (observed)",
     "2010-06-05": "Birthday of HM Yang di-Pertuan Agong",
     "2010-08-11": "Beginning of Ramadan",
     "2010-08-31": "National Day",
     "2010-09-10": "Eid al-Fitr",
     "2010-09-11": "Eid al-Fitr (Second Day)",
-    "2010-09-12": "Eid al-Fitr (observed)",
     "2010-09-16": "Malaysia Day",
     "2010-11-05": "Deepavali",
-    "2010-11-07": "Deepavali (observed)",
     "2010-11-17": "Eid al-Adha",
     "2010-12-08": "Islamic New Year",
     "2010-12-25": "Christmas Day",
     "2011-01-12": "The Sultan of Johor Hol",
     "2011-02-03": "Chinese New Year",
     "2011-02-04": "Chinese New Year (Second Day)",
-    "2011-02-06": "Chinese New Year (Second Day) (observed)",
     "2011-02-16": "Prophet Muhammad's Birthday",
     "2011-02-18": "Thaipusam",
-    "2011-02-20": "Thaipusam (observed)",
     "2011-05-01": "Labor Day",
+    "2011-05-02": "Labor Day (observed)",
     "2011-05-17": "Vesak Day",
     "2011-06-04": "Birthday of HM Yang di-Pertuan Agong",
     "2011-08-01": "Beginning of Ramadan",
     "2011-08-31": "Eid al-Fitr; National Day",
     "2011-09-01": "Eid al-Fitr (Second Day)",
     "2011-09-16": "Malaysia Day",
-    "2011-09-18": "Malaysia Day (observed)",
     "2011-10-26": "Deepavali",
     "2011-11-07": "Eid al-Adha",
     "2011-11-27": "Islamic New Year",
     "2011-12-25": "Christmas Day",
+    "2011-12-26": "Christmas Day (observed)",
     "2012-01-08": "Thaipusam",
+    "2012-01-09": "Thaipusam (observed)",
     "2012-01-23": "Chinese New Year",
     "2012-01-24": "Chinese New Year (Second Day)",
     "2012-02-05": "Prophet Muhammad's Birthday",
+    "2012-02-06": "Prophet Muhammad's Birthday (observed)",
     "2012-05-01": "Labor Day",
     "2012-05-05": "Vesak Day",
     "2012-06-02": "Birthday of HM Yang di-Pertuan Agong",
     "2012-07-20": "Beginning of Ramadan",
-    "2012-07-22": "Beginning of Ramadan (observed)",
     "2012-08-19": "Eid al-Fitr",
     "2012-08-20": "Eid al-Fitr (Second Day)",
+    "2012-08-21": "Eid al-Fitr (observed)",
     "2012-08-31": "National Day",
-    "2012-09-02": "National Day (observed)",
     "2012-09-16": "Malaysia Day",
+    "2012-09-17": "Malaysia Day (observed)",
     "2012-10-26": "Eid al-Adha",
-    "2012-10-28": "Eid al-Adha (observed)",
     "2012-11-13": "Deepavali",
     "2012-11-15": "Islamic New Year",
     "2012-12-20": "The Sultan of Johor Hol",
@@ -956,15 +960,14 @@
     "2013-01-24": "Prophet Muhammad's Birthday",
     "2013-02-10": "Chinese New Year",
     "2013-02-11": "Chinese New Year (Second Day)",
+    "2013-02-12": "Chinese New Year (observed)",
     "2013-02-25": "Thaipusam",
     "2013-05-01": "Labor Day",
     "2013-05-24": "Vesak Day",
-    "2013-05-26": "Vesak Day (observed)",
     "2013-06-01": "Birthday of HM Yang di-Pertuan Agong",
     "2013-07-09": "Beginning of Ramadan",
     "2013-08-08": "Eid al-Fitr",
     "2013-08-09": "Eid al-Fitr (Second Day)",
-    "2013-08-11": "Eid al-Fitr (Second Day) (observed)",
     "2013-08-31": "National Day",
     "2013-09-16": "Malaysia Day",
     "2013-10-15": "Eid al-Adha",
@@ -1204,27 +1207,28 @@
     "2025-03-23": "Birthday of the Sultan of Johor",
     "2025-03-30": "Eid al-Fitr (estimated)",
     "2025-03-31": "Eid al-Fitr (Second Day) (estimated)",
+    "2025-04-01": "Eid al-Fitr (observed, estimated)",
     "2025-05-01": "Labor Day",
     "2025-05-11": "Vesak Day (estimated)",
+    "2025-05-12": "Vesak Day (observed, estimated)",
     "2025-06-02": "Birthday of HM Yang di-Pertuan Agong",
     "2025-06-06": "Eid al-Adha (estimated)",
-    "2025-06-08": "Eid al-Adha (observed, estimated)",
     "2025-06-26": "Islamic New Year (estimated)",
     "2025-07-31": "The Sultan of Johor Hol (estimated)",
     "2025-08-31": "National Day",
+    "2025-09-01": "National Day (observed)",
     "2025-09-04": "Prophet Muhammad's Birthday (estimated)",
     "2025-09-16": "Malaysia Day",
     "2025-11-18": "Deepavali",
     "2025-12-25": "Christmas Day",
     "2026-02-01": "Thaipusam",
+    "2026-02-02": "Thaipusam (observed)",
     "2026-02-17": "Chinese New Year (estimated)",
     "2026-02-18": "Beginning of Ramadan (estimated); Chinese New Year (Second Day) (estimated)",
     "2026-03-20": "Eid al-Fitr (estimated)",
     "2026-03-21": "Eid al-Fitr (Second Day) (estimated)",
-    "2026-03-22": "Eid al-Fitr (observed, estimated)",
     "2026-03-23": "Birthday of the Sultan of Johor",
     "2026-05-01": "Labor Day; Vesak Day (estimated)",
-    "2026-05-03": "Labor Day (observed); Vesak Day (observed, estimated)",
     "2026-05-27": "Eid al-Adha (estimated)",
     "2026-06-01": "Birthday of HM Yang di-Pertuan Agong",
     "2026-06-16": "Islamic New Year (estimated)",
@@ -1234,17 +1238,17 @@
     "2026-09-16": "Malaysia Day",
     "2026-11-07": "Deepavali",
     "2026-12-25": "Christmas Day",
-    "2026-12-27": "Christmas Day (observed)",
     "2027-01-22": "Thaipusam",
-    "2027-01-24": "Thaipusam (observed)",
     "2027-02-06": "Chinese New Year (estimated)",
     "2027-02-07": "Chinese New Year (Second Day) (estimated)",
     "2027-02-08": "Beginning of Ramadan (estimated)",
+    "2027-02-09": "Chinese New Year (Second Day) (observed, estimated)",
     "2027-03-09": "Eid al-Fitr (estimated)",
     "2027-03-10": "Eid al-Fitr (Second Day) (estimated)",
     "2027-03-23": "Birthday of the Sultan of Johor",
     "2027-05-01": "Labor Day",
     "2027-05-16": "Eid al-Adha (estimated)",
+    "2027-05-17": "Eid al-Adha (observed, estimated)",
     "2027-05-20": "Vesak Day (estimated)",
     "2027-06-06": "Islamic New Year (estimated)",
     "2027-06-07": "Birthday of HM Yang di-Pertuan Agong",
@@ -1258,13 +1262,12 @@
     "2028-01-26": "Chinese New Year (estimated)",
     "2028-01-27": "Chinese New Year (Second Day) (estimated)",
     "2028-01-28": "Beginning of Ramadan (estimated)",
-    "2028-01-30": "Beginning of Ramadan (observed, estimated)",
     "2028-02-26": "Eid al-Fitr (estimated)",
     "2028-02-27": "Eid al-Fitr (Second Day) (estimated)",
+    "2028-02-28": "Eid al-Fitr (Second Day) (observed, estimated)",
     "2028-03-23": "Birthday of the Sultan of Johor",
     "2028-05-01": "Labor Day",
     "2028-05-05": "Eid al-Adha (estimated)",
-    "2028-05-07": "Eid al-Adha (observed, estimated)",
     "2028-05-09": "Vesak Day (estimated)",
     "2028-05-25": "Islamic New Year (estimated)",
     "2028-06-05": "Birthday of HM Yang di-Pertuan Agong",
@@ -1284,19 +1287,23 @@
     "2029-05-01": "Labor Day",
     "2029-05-14": "Islamic New Year (estimated)",
     "2029-05-27": "Vesak Day (estimated)",
+    "2029-05-28": "Vesak Day (observed, estimated)",
     "2029-06-04": "Birthday of HM Yang di-Pertuan Agong",
     "2029-06-18": "The Sultan of Johor Hol (estimated)",
     "2029-07-24": "Prophet Muhammad's Birthday (estimated)",
     "2029-08-31": "National Day",
-    "2029-09-02": "National Day (observed)",
     "2029-09-16": "Malaysia Day",
+    "2029-09-17": "Malaysia Day (observed)",
     "2029-11-04": "Deepavali",
+    "2029-11-05": "Deepavali (observed)",
     "2029-12-25": "Christmas Day",
     "2030-01-05": "Beginning of Ramadan (estimated)",
     "2030-02-03": "Chinese New Year (estimated)",
     "2030-02-04": "Chinese New Year (Second Day) (estimated); Eid al-Fitr (estimated)",
     "2030-02-05": "Eid al-Fitr (Second Day) (estimated)",
+    "2030-02-06": "Chinese New Year (observed, estimated)",
     "2030-02-17": "Thaipusam",
+    "2030-02-18": "Thaipusam (observed)",
     "2030-03-23": "Birthday of the Sultan of Johor",
     "2030-04-13": "Eid al-Adha (estimated)",
     "2030-05-01": "Labor Day",
@@ -1308,14 +1315,12 @@
     "2030-08-31": "National Day",
     "2030-09-16": "Malaysia Day",
     "2030-10-25": "Deepavali",
-    "2030-10-27": "Deepavali (observed)",
     "2030-12-25": "Christmas Day",
     "2030-12-26": "Beginning of Ramadan (estimated)",
     "2031-01-08": "Thaipusam",
     "2031-01-23": "Chinese New Year (estimated)",
     "2031-01-24": "Chinese New Year (Second Day) (estimated); Eid al-Fitr (estimated)",
     "2031-01-25": "Eid al-Fitr (Second Day) (estimated)",
-    "2031-01-26": "Chinese New Year (Second Day) (observed, estimated); Eid al-Fitr (observed, estimated)",
     "2031-03-23": "Birthday of the Sultan of Johor",
     "2031-04-02": "Eid al-Adha (estimated)",
     "2031-04-23": "Islamic New Year (estimated)",
@@ -1325,6 +1330,7 @@
     "2031-06-02": "Birthday of HM Yang di-Pertuan Agong",
     "2031-07-02": "Prophet Muhammad's Birthday (estimated)",
     "2031-08-31": "National Day",
+    "2031-09-01": "National Day (observed)",
     "2031-09-16": "Malaysia Day",
     "2031-11-13": "Deepavali",
     "2031-12-15": "Beginning of Ramadan (estimated)",
@@ -1340,8 +1346,10 @@
     "2032-05-01": "Labor Day",
     "2032-05-15": "The Sultan of Johor Hol (estimated)",
     "2032-05-23": "Vesak Day (estimated)",
+    "2032-05-24": "Vesak Day (observed, estimated)",
     "2032-06-07": "Birthday of HM Yang di-Pertuan Agong",
     "2032-06-20": "Prophet Muhammad's Birthday (estimated)",
+    "2032-06-21": "Prophet Muhammad's Birthday (observed, estimated)",
     "2032-08-31": "National Day",
     "2032-09-16": "Malaysia Day",
     "2032-11-01": "Deepavali",
@@ -1349,33 +1357,33 @@
     "2032-12-25": "Christmas Day",
     "2033-01-02": "Eid al-Fitr (estimated)",
     "2033-01-03": "Eid al-Fitr (Second Day) (estimated)",
+    "2033-01-04": "Eid al-Fitr (observed, estimated)",
     "2033-01-31": "Chinese New Year (estimated)",
     "2033-02-01": "Chinese New Year (Second Day) (estimated)",
     "2033-02-14": "Thaipusam",
     "2033-03-11": "Eid al-Adha (estimated)",
-    "2033-03-13": "Eid al-Adha (observed, estimated)",
     "2033-03-23": "Birthday of the Sultan of Johor",
     "2033-04-01": "Islamic New Year (estimated)",
     "2033-05-01": "Labor Day",
+    "2033-05-02": "Labor Day (observed)",
     "2033-05-05": "The Sultan of Johor Hol (estimated)",
     "2033-05-13": "Vesak Day (estimated)",
-    "2033-05-15": "Vesak Day (observed, estimated)",
     "2033-06-06": "Birthday of HM Yang di-Pertuan Agong",
     "2033-06-09": "Prophet Muhammad's Birthday (estimated)",
     "2033-08-31": "National Day",
     "2033-09-16": "Malaysia Day",
-    "2033-09-18": "Malaysia Day (observed)",
     "2033-10-21": "Deepavali",
-    "2033-10-23": "Deepavali (observed)",
     "2033-11-23": "Beginning of Ramadan (estimated)",
     "2033-12-23": "Eid al-Fitr (estimated)",
     "2033-12-24": "Eid al-Fitr (Second Day) (estimated)",
     "2033-12-25": "Christmas Day",
-    "2033-12-26": "Eid al-Fitr (observed, estimated)",
+    "2033-12-26": "Christmas Day (observed)",
     "2034-02-19": "Chinese New Year (estimated)",
     "2034-02-20": "Chinese New Year (Second Day) (estimated)",
+    "2034-02-21": "Chinese New Year (observed, estimated)",
     "2034-03-01": "Eid al-Adha (estimated)",
     "2034-03-05": "Thaipusam",
+    "2034-03-06": "Thaipusam (observed)",
     "2034-03-21": "Islamic New Year (estimated)",
     "2034-03-23": "Birthday of the Sultan of Johor",
     "2034-04-25": "The Sultan of Johor Hol (estimated)",
@@ -1387,31 +1395,34 @@
     "2034-09-16": "Malaysia Day",
     "2034-11-09": "Deepavali",
     "2034-11-12": "Beginning of Ramadan (estimated)",
+    "2034-11-13": "Beginning of Ramadan (observed, estimated)",
     "2034-12-12": "Eid al-Fitr (estimated)",
     "2034-12-13": "Eid al-Fitr (Second Day) (estimated)",
     "2034-12-25": "Christmas Day",
     "2035-02-08": "Chinese New Year (estimated)",
     "2035-02-09": "Chinese New Year (Second Day) (estimated)",
-    "2035-02-11": "Chinese New Year (Second Day) (observed, estimated)",
     "2035-02-18": "Eid al-Adha (estimated)",
+    "2035-02-19": "Eid al-Adha (observed, estimated)",
     "2035-02-23": "Thaipusam",
-    "2035-02-25": "Thaipusam (observed)",
     "2035-03-11": "Islamic New Year (estimated)",
     "2035-03-23": "Birthday of the Sultan of Johor",
     "2035-04-14": "The Sultan of Johor Hol (estimated)",
     "2035-05-01": "Labor Day",
     "2035-05-20": "Prophet Muhammad's Birthday (estimated)",
+    "2035-05-21": "Prophet Muhammad's Birthday (observed, estimated)",
     "2035-05-22": "Vesak Day (estimated)",
     "2035-06-04": "Birthday of HM Yang di-Pertuan Agong",
     "2035-08-31": "National Day",
-    "2035-09-02": "National Day (observed)",
     "2035-09-16": "Malaysia Day",
+    "2035-09-17": "Malaysia Day (observed)",
     "2035-10-29": "Deepavali",
     "2035-11-01": "Beginning of Ramadan (estimated)",
     "2035-12-01": "Eid al-Fitr (estimated)",
     "2035-12-02": "Eid al-Fitr (Second Day) (estimated)",
+    "2035-12-03": "Eid al-Fitr (Second Day) (observed, estimated)",
     "2035-12-25": "Christmas Day",
     "2036-01-13": "Thaipusam",
+    "2036-01-14": "Thaipusam (observed)",
     "2036-01-28": "Chinese New Year (estimated)",
     "2036-01-29": "Chinese New Year (Second Day) (estimated)",
     "2036-02-07": "Eid al-Adha (estimated)",
@@ -1423,22 +1434,23 @@
     "2036-05-10": "Vesak Day (estimated)",
     "2036-06-02": "Birthday of HM Yang di-Pertuan Agong",
     "2036-08-31": "National Day",
+    "2036-09-01": "National Day (observed)",
     "2036-09-16": "Malaysia Day",
     "2036-10-20": "Beginning of Ramadan (estimated)",
     "2036-11-16": "Deepavali",
+    "2036-11-17": "Deepavali (observed)",
     "2036-11-19": "Eid al-Fitr (estimated)",
     "2036-11-20": "Eid al-Fitr (Second Day) (estimated)",
     "2036-12-25": "Christmas Day",
     "2037-01-26": "Eid al-Adha (estimated)",
     "2037-02-15": "Chinese New Year (estimated)",
     "2037-02-16": "Chinese New Year (Second Day) (estimated); Islamic New Year (estimated)",
+    "2037-02-17": "Chinese New Year (observed, estimated)",
     "2037-03-02": "Thaipusam",
     "2037-03-23": "Birthday of the Sultan of Johor; The Sultan of Johor Hol (estimated)",
     "2037-04-28": "Prophet Muhammad's Birthday (estimated)",
     "2037-05-01": "Labor Day",
-    "2037-05-03": "Labor Day (observed)",
     "2037-05-29": "Vesak Day (estimated)",
-    "2037-05-31": "Vesak Day (observed, estimated)",
     "2037-06-01": "Birthday of HM Yang di-Pertuan Agong",
     "2037-08-31": "National Day",
     "2037-09-16": "Malaysia Day",
@@ -1446,14 +1458,12 @@
     "2037-11-05": "Deepavali",
     "2037-11-08": "Eid al-Fitr (estimated)",
     "2037-11-09": "Eid al-Fitr (Second Day) (estimated)",
+    "2037-11-10": "Eid al-Fitr (observed, estimated)",
     "2037-12-25": "Christmas Day",
-    "2037-12-27": "Christmas Day (observed)",
     "2038-01-16": "Eid al-Adha (estimated)",
     "2038-02-04": "Chinese New Year (estimated)",
     "2038-02-05": "Chinese New Year (Second Day) (estimated); Islamic New Year (estimated)",
-    "2038-02-07": "Chinese New Year (Second Day) (observed, estimated); Islamic New Year (observed, estimated)",
     "2038-02-19": "Thaipusam",
-    "2038-02-21": "Thaipusam (observed)",
     "2038-03-12": "The Sultan of Johor Hol (estimated)",
     "2038-03-23": "Birthday of the Sultan of Johor",
     "2038-04-17": "Prophet Muhammad's Birthday (estimated)",
@@ -1466,10 +1476,10 @@
     "2038-10-26": "Deepavali",
     "2038-10-29": "Eid al-Fitr (estimated)",
     "2038-10-30": "Eid al-Fitr (Second Day) (estimated)",
-    "2038-10-31": "Eid al-Fitr (observed, estimated)",
     "2038-12-25": "Christmas Day",
     "2039-01-05": "Eid al-Adha (estimated)",
     "2039-01-09": "Thaipusam",
+    "2039-01-10": "Thaipusam (observed)",
     "2039-01-24": "Chinese New Year (estimated)",
     "2039-01-25": "Chinese New Year (Second Day) (estimated)",
     "2039-01-26": "Islamic New Year (estimated)",
@@ -1477,48 +1487,46 @@
     "2039-03-23": "Birthday of the Sultan of Johor",
     "2039-04-06": "Prophet Muhammad's Birthday (estimated)",
     "2039-05-01": "Labor Day",
+    "2039-05-02": "Labor Day (observed)",
     "2039-05-07": "Vesak Day (estimated)",
     "2039-06-06": "Birthday of HM Yang di-Pertuan Agong",
     "2039-08-31": "National Day",
     "2039-09-16": "Malaysia Day",
-    "2039-09-18": "Malaysia Day (observed)",
     "2039-09-19": "Beginning of Ramadan (estimated)",
     "2039-10-19": "Eid al-Fitr (estimated)",
     "2039-10-20": "Eid al-Fitr (Second Day) (estimated)",
     "2039-11-14": "Deepavali",
     "2039-12-25": "Christmas Day",
     "2039-12-26": "Eid al-Adha (estimated)",
+    "2039-12-27": "Christmas Day (observed)",
     "2040-01-15": "Islamic New Year (estimated)",
     "2040-02-12": "Chinese New Year (estimated)",
     "2040-02-13": "Chinese New Year (Second Day) (estimated)",
+    "2040-02-14": "Chinese New Year (observed, estimated)",
     "2040-02-19": "The Sultan of Johor Hol (estimated)",
     "2040-02-27": "Thaipusam",
     "2040-03-23": "Birthday of the Sultan of Johor",
     "2040-03-25": "Prophet Muhammad's Birthday (estimated)",
+    "2040-03-26": "Prophet Muhammad's Birthday (observed, estimated)",
     "2040-05-01": "Labor Day",
     "2040-05-25": "Vesak Day (estimated)",
-    "2040-05-27": "Vesak Day (observed, estimated)",
     "2040-06-04": "Birthday of HM Yang di-Pertuan Agong",
     "2040-08-31": "National Day",
-    "2040-09-02": "National Day (observed)",
     "2040-09-07": "Beginning of Ramadan (estimated)",
-    "2040-09-09": "Beginning of Ramadan (observed, estimated)",
     "2040-09-16": "Malaysia Day",
+    "2040-09-17": "Malaysia Day (observed)",
     "2040-10-07": "Eid al-Fitr (estimated)",
     "2040-10-08": "Eid al-Fitr (Second Day) (estimated)",
+    "2040-10-09": "Eid al-Fitr (observed, estimated)",
     "2040-11-03": "Deepavali",
     "2040-12-14": "Eid al-Adha (estimated)",
-    "2040-12-16": "Eid al-Adha (observed, estimated)",
     "2040-12-25": "Christmas Day",
     "2041-01-04": "Islamic New Year (estimated)",
     "2041-02-01": "Chinese New Year (estimated)",
     "2041-02-02": "Chinese New Year (Second Day) (estimated)",
-    "2041-02-03": "Chinese New Year (observed, estimated)",
     "2041-02-07": "The Sultan of Johor Hol (estimated)",
     "2041-02-15": "Thaipusam",
-    "2041-02-17": "Thaipusam (observed)",
     "2041-03-15": "Prophet Muhammad's Birthday (estimated)",
-    "2041-03-17": "Prophet Muhammad's Birthday (observed, estimated)",
     "2041-03-23": "Birthday of the Sultan of Johor",
     "2041-05-01": "Labor Day",
     "2041-05-14": "Vesak Day (estimated)",
@@ -1528,7 +1536,6 @@
     "2041-09-16": "Malaysia Day",
     "2041-09-26": "Eid al-Fitr (estimated)",
     "2041-09-27": "Eid al-Fitr (Second Day) (estimated)",
-    "2041-09-29": "Eid al-Fitr (Second Day) (observed, estimated)",
     "2041-10-23": "Deepavali",
     "2041-12-04": "Eid al-Adha (estimated)",
     "2041-12-24": "Islamic New Year (estimated)",
@@ -1541,43 +1548,48 @@
     "2042-03-23": "Birthday of the Sultan of Johor",
     "2042-05-01": "Labor Day",
     "2042-05-04": "Vesak Day (estimated)",
+    "2042-05-05": "Vesak Day (observed, estimated)",
     "2042-06-02": "Birthday of HM Yang di-Pertuan Agong",
     "2042-08-17": "Beginning of Ramadan (estimated)",
+    "2042-08-18": "Beginning of Ramadan (observed, estimated)",
     "2042-08-31": "National Day",
+    "2042-09-01": "National Day (observed)",
     "2042-09-15": "Eid al-Fitr (estimated)",
     "2042-09-16": "Eid al-Fitr (Second Day) (estimated); Malaysia Day",
     "2042-11-11": "Deepavali",
     "2042-11-23": "Eid al-Adha (estimated)",
+    "2042-11-24": "Eid al-Adha (observed, estimated)",
     "2042-12-14": "Islamic New Year (estimated)",
     "2042-12-25": "Christmas Day",
     "2043-01-17": "The Sultan of Johor Hol (estimated)",
     "2043-02-10": "Chinese New Year (estimated)",
     "2043-02-11": "Chinese New Year (Second Day) (estimated)",
     "2043-02-22": "Prophet Muhammad's Birthday (estimated)",
+    "2043-02-23": "Prophet Muhammad's Birthday (observed, estimated)",
     "2043-02-24": "Thaipusam",
     "2043-03-23": "Birthday of the Sultan of Johor",
     "2043-05-01": "Labor Day",
-    "2043-05-03": "Labor Day (observed)",
     "2043-05-23": "Vesak Day (estimated)",
     "2043-06-01": "Birthday of HM Yang di-Pertuan Agong",
     "2043-08-06": "Beginning of Ramadan (estimated)",
     "2043-08-31": "National Day",
     "2043-09-04": "Eid al-Fitr (estimated)",
     "2043-09-05": "Eid al-Fitr (Second Day) (estimated)",
-    "2043-09-06": "Eid al-Fitr (observed, estimated)",
     "2043-09-16": "Malaysia Day",
     "2043-10-31": "Deepavali",
     "2043-11-12": "Eid al-Adha (estimated)",
     "2043-12-03": "Islamic New Year (estimated)",
     "2043-12-25": "Christmas Day",
-    "2043-12-27": "Christmas Day (observed)",
     "2044-01-07": "The Sultan of Johor Hol (estimated)",
     "2044-01-30": "Chinese New Year (estimated)",
     "2044-01-31": "Chinese New Year (Second Day) (estimated)",
+    "2044-02-01": "Chinese New Year (Second Day) (observed, estimated)",
     "2044-02-11": "Prophet Muhammad's Birthday (estimated)",
     "2044-02-14": "Thaipusam",
+    "2044-02-15": "Thaipusam (observed)",
     "2044-03-23": "Birthday of the Sultan of Johor",
     "2044-05-01": "Labor Day",
+    "2044-05-02": "Labor Day (observed)",
     "2044-05-12": "Vesak Day (estimated)",
     "2044-06-06": "Birthday of HM Yang di-Pertuan Agong",
     "2044-07-26": "Beginning of Ramadan (estimated)",
@@ -1585,16 +1597,15 @@
     "2044-08-25": "Eid al-Fitr (Second Day) (estimated)",
     "2044-08-31": "National Day",
     "2044-09-16": "Malaysia Day",
-    "2044-09-18": "Malaysia Day (observed)",
     "2044-10-31": "Eid al-Adha (estimated)",
     "2044-11-17": "Deepavali",
     "2044-11-21": "Islamic New Year (estimated)",
     "2044-12-25": "Christmas Day",
     "2044-12-26": "The Sultan of Johor Hol (estimated)",
+    "2044-12-27": "Christmas Day (observed)",
     "2045-01-30": "Prophet Muhammad's Birthday (estimated)",
     "2045-02-17": "Chinese New Year (estimated)",
     "2045-02-18": "Chinese New Year (Second Day) (estimated)",
-    "2045-02-19": "Chinese New Year (observed, estimated)",
     "2045-03-04": "Thaipusam",
     "2045-03-23": "Birthday of the Sultan of Johor",
     "2045-05-01": "Labor Day; Vesak Day (estimated)",
@@ -1610,21 +1621,20 @@
     "2045-12-15": "The Sultan of Johor Hol (estimated)",
     "2045-12-25": "Christmas Day",
     "2046-01-19": "Prophet Muhammad's Birthday (estimated)",
-    "2046-01-21": "Prophet Muhammad's Birthday (observed, estimated)",
     "2046-02-06": "Chinese New Year (estimated)",
     "2046-02-07": "Chinese New Year (Second Day) (estimated)",
     "2046-02-21": "Thaipusam",
     "2046-03-23": "Birthday of the Sultan of Johor",
     "2046-05-01": "Labor Day",
     "2046-05-20": "Vesak Day (estimated)",
+    "2046-05-21": "Vesak Day (observed, estimated)",
     "2046-06-04": "Birthday of HM Yang di-Pertuan Agong",
     "2046-07-05": "Beginning of Ramadan (estimated)",
     "2046-08-03": "Eid al-Fitr (estimated)",
     "2046-08-04": "Eid al-Fitr (Second Day) (estimated)",
-    "2046-08-05": "Eid al-Fitr (observed, estimated)",
     "2046-08-31": "National Day",
-    "2046-09-02": "National Day (observed)",
     "2046-09-16": "Malaysia Day",
+    "2046-09-17": "Malaysia Day (observed)",
     "2046-10-10": "Eid al-Adha (estimated)",
     "2046-10-27": "Deepavali",
     "2046-10-31": "Islamic New Year (estimated)",
@@ -1632,9 +1642,9 @@
     "2046-12-25": "Christmas Day",
     "2047-01-08": "Prophet Muhammad's Birthday (estimated)",
     "2047-01-11": "Thaipusam",
-    "2047-01-13": "Thaipusam (observed)",
     "2047-01-26": "Chinese New Year (estimated)",
     "2047-01-27": "Chinese New Year (Second Day) (estimated)",
+    "2047-01-28": "Chinese New Year (Second Day) (observed, estimated)",
     "2047-03-23": "Birthday of the Sultan of Johor",
     "2047-05-01": "Labor Day",
     "2047-05-09": "Vesak Day (estimated)",
@@ -1647,24 +1657,21 @@
     "2047-09-30": "Eid al-Adha (estimated)",
     "2047-10-20": "Islamic New Year (estimated)",
     "2047-11-15": "Deepavali",
-    "2047-11-17": "Deepavali (observed)",
     "2047-11-24": "The Sultan of Johor Hol (estimated)",
     "2047-12-25": "Christmas Day",
     "2047-12-29": "Prophet Muhammad's Birthday (estimated)",
+    "2047-12-30": "Prophet Muhammad's Birthday (observed, estimated)",
     "2048-02-14": "Chinese New Year (estimated)",
     "2048-02-15": "Chinese New Year (Second Day) (estimated)",
-    "2048-02-16": "Chinese New Year (observed, estimated)",
     "2048-02-28": "Thaipusam",
-    "2048-03-01": "Thaipusam (observed)",
     "2048-03-23": "Birthday of the Sultan of Johor",
     "2048-05-01": "Labor Day",
-    "2048-05-03": "Labor Day (observed)",
     "2048-05-27": "Vesak Day (estimated)",
     "2048-06-01": "Birthday of HM Yang di-Pertuan Agong",
     "2048-06-12": "Beginning of Ramadan (estimated)",
-    "2048-06-14": "Beginning of Ramadan (observed, estimated)",
     "2048-07-12": "Eid al-Fitr (estimated)",
     "2048-07-13": "Eid al-Fitr (Second Day) (estimated)",
+    "2048-07-14": "Eid al-Fitr (observed, estimated)",
     "2048-08-31": "National Day",
     "2048-09-16": "Malaysia Day",
     "2048-09-19": "Eid al-Adha (estimated)",
@@ -1672,20 +1679,18 @@
     "2048-11-04": "Deepavali",
     "2048-11-12": "The Sultan of Johor Hol (estimated)",
     "2048-12-18": "Prophet Muhammad's Birthday (estimated)",
-    "2048-12-20": "Prophet Muhammad's Birthday (observed, estimated)",
     "2048-12-25": "Christmas Day",
-    "2048-12-27": "Christmas Day (observed)",
     "2049-02-02": "Chinese New Year (estimated)",
     "2049-02-03": "Chinese New Year (Second Day) (estimated)",
     "2049-02-17": "Thaipusam",
     "2049-03-23": "Birthday of the Sultan of Johor",
     "2049-05-01": "Labor Day",
     "2049-05-16": "Vesak Day (estimated)",
+    "2049-05-17": "Vesak Day (observed, estimated)",
     "2049-06-02": "Beginning of Ramadan (estimated)",
     "2049-06-07": "Birthday of HM Yang di-Pertuan Agong",
     "2049-07-01": "Eid al-Fitr (estimated)",
     "2049-07-02": "Eid al-Fitr (Second Day) (estimated)",
-    "2049-07-04": "Eid al-Fitr (Second Day) (observed, estimated)",
     "2049-08-31": "National Day",
     "2049-09-08": "Eid al-Adha (estimated)",
     "2049-09-16": "Malaysia Day",
@@ -1697,20 +1702,24 @@
     "2050-01-08": "Thaipusam",
     "2050-01-23": "Chinese New Year (estimated)",
     "2050-01-24": "Chinese New Year (Second Day) (estimated)",
+    "2050-01-25": "Chinese New Year (observed, estimated)",
     "2050-03-23": "Birthday of the Sultan of Johor",
     "2050-05-01": "Labor Day",
+    "2050-05-02": "Labor Day (observed)",
     "2050-05-05": "Vesak Day (estimated)",
     "2050-05-22": "Beginning of Ramadan (estimated)",
+    "2050-05-23": "Beginning of Ramadan (observed, estimated)",
     "2050-06-06": "Birthday of HM Yang di-Pertuan Agong",
     "2050-06-20": "Eid al-Fitr (estimated)",
     "2050-06-21": "Eid al-Fitr (Second Day) (estimated)",
     "2050-08-28": "Eid al-Adha (estimated)",
+    "2050-08-29": "Eid al-Adha (observed, estimated)",
     "2050-08-31": "National Day",
     "2050-09-16": "Malaysia Day",
     "2050-09-17": "Islamic New Year (estimated)",
-    "2050-09-18": "Malaysia Day (observed)",
     "2050-10-22": "The Sultan of Johor Hol (estimated)",
     "2050-11-12": "Deepavali",
     "2050-11-26": "Prophet Muhammad's Birthday (estimated)",
-    "2050-12-25": "Christmas Day"
+    "2050-12-25": "Christmas Day",
+    "2050-12-26": "Christmas Day (observed)"
 }
diff --git a/snapshots/countries/VN_COMMON.json b/snapshots/countries/VN_COMMON.json
index bc941910..873ad5af 100644
--- a/snapshots/countries/VN_COMMON.json
+++ b/snapshots/countries/VN_COMMON.json
@@ -1,514 +1,370 @@
 {
     "1950-01-01": "New Year's Day",
-    "1950-01-02": "New Year's Day (observed)",
     "1950-02-16": "Lunar New Year's Eve",
     "1950-02-17": "Lunar New Year",
-    "1950-02-18": "The second day of Tet Holiday",
-    "1950-02-19": "The third day of Tet Holiday",
-    "1950-02-20": "The fourth day of Tet Holiday",
-    "1950-02-21": "The fifth day of Tet Holiday",
+    "1950-02-18": "Second Day of Lunar New Year",
+    "1950-02-19": "Third Day of Lunar New Year",
     "1950-04-30": "Liberation Day/Reunification Day",
     "1950-05-01": "International Labor Day",
-    "1950-05-02": "Liberation Day/Reunification Day (observed)",
     "1950-09-02": "National Day",
-    "1950-09-04": "National Day (observed)",
     "1951-01-01": "New Year's Day",
     "1951-02-05": "Lunar New Year's Eve",
     "1951-02-06": "Lunar New Year",
-    "1951-02-07": "The second day of Tet Holiday",
-    "1951-02-08": "The third day of Tet Holiday",
-    "1951-02-09": "The fourth day of Tet Holiday",
-    "1951-02-10": "The fifth day of Tet Holiday",
+    "1951-02-07": "Second Day of Lunar New Year",
+    "1951-02-08": "Third Day of Lunar New Year",
     "1951-04-30": "Liberation Day/Reunification Day",
     "1951-05-01": "International Labor Day",
     "1951-09-02": "National Day",
-    "1951-09-03": "National Day (observed)",
     "1952-01-01": "New Year's Day",
     "1952-01-26": "Lunar New Year's Eve",
     "1952-01-27": "Lunar New Year",
-    "1952-01-28": "The second day of Tet Holiday",
-    "1952-01-29": "The third day of Tet Holiday",
-    "1952-01-30": "The fourth day of Tet Holiday",
-    "1952-01-31": "The fifth day of Tet Holiday",
+    "1952-01-28": "Second Day of Lunar New Year",
+    "1952-01-29": "Third Day of Lunar New Year",
     "1952-04-30": "Liberation Day/Reunification Day",
     "1952-05-01": "International Labor Day",
     "1952-09-02": "National Day",
     "1953-01-01": "New Year's Day",
     "1953-02-13": "Lunar New Year's Eve",
     "1953-02-14": "Lunar New Year",
-    "1953-02-15": "The second day of Tet Holiday",
-    "1953-02-16": "The third day of Tet Holiday",
-    "1953-02-17": "The fourth day of Tet Holiday",
-    "1953-02-18": "The fifth day of Tet Holiday",
+    "1953-02-15": "Second Day of Lunar New Year",
+    "1953-02-16": "Third Day of Lunar New Year",
     "1953-04-30": "Liberation Day/Reunification Day",
     "1953-05-01": "International Labor Day",
     "1953-09-02": "National Day",
     "1954-01-01": "New Year's Day",
     "1954-02-02": "Lunar New Year's Eve",
     "1954-02-03": "Lunar New Year",
-    "1954-02-04": "The second day of Tet Holiday",
-    "1954-02-05": "The third day of Tet Holiday",
-    "1954-02-06": "The fourth day of Tet Holiday",
-    "1954-02-07": "The fifth day of Tet Holiday",
+    "1954-02-04": "Second Day of Lunar New Year",
+    "1954-02-05": "Third Day of Lunar New Year",
     "1954-04-30": "Liberation Day/Reunification Day",
     "1954-05-01": "International Labor Day",
-    "1954-05-03": "International Labor Day (observed)",
     "1954-09-02": "National Day",
     "1955-01-01": "New Year's Day",
-    "1955-01-03": "New Year's Day (observed)",
     "1955-01-23": "Lunar New Year's Eve",
     "1955-01-24": "Lunar New Year",
-    "1955-01-25": "The second day of Tet Holiday",
-    "1955-01-26": "The third day of Tet Holiday",
-    "1955-01-27": "The fourth day of Tet Holiday",
-    "1955-01-28": "The fifth day of Tet Holiday",
+    "1955-01-25": "Second Day of Lunar New Year",
+    "1955-01-26": "Third Day of Lunar New Year",
     "1955-04-30": "Liberation Day/Reunification Day",
     "1955-05-01": "International Labor Day",
-    "1955-05-02": "Liberation Day/Reunification Day (observed)",
-    "1955-05-03": "International Labor Day (observed)",
     "1955-09-02": "National Day",
     "1956-01-01": "New Year's Day",
-    "1956-01-02": "New Year's Day (observed)",
     "1956-02-11": "Lunar New Year's Eve",
     "1956-02-12": "Lunar New Year",
-    "1956-02-13": "The second day of Tet Holiday",
-    "1956-02-14": "The third day of Tet Holiday",
-    "1956-02-15": "The fourth day of Tet Holiday",
-    "1956-02-16": "The fifth day of Tet Holiday",
+    "1956-02-13": "Second Day of Lunar New Year",
+    "1956-02-14": "Third Day of Lunar New Year",
     "1956-04-30": "Liberation Day/Reunification Day",
     "1956-05-01": "International Labor Day",
     "1956-09-02": "National Day",
-    "1956-09-03": "National Day (observed)",
     "1957-01-01": "New Year's Day",
     "1957-01-30": "Lunar New Year's Eve",
     "1957-01-31": "Lunar New Year",
-    "1957-02-01": "The second day of Tet Holiday",
-    "1957-02-02": "The third day of Tet Holiday",
-    "1957-02-03": "The fourth day of Tet Holiday",
-    "1957-02-04": "The fifth day of Tet Holiday",
+    "1957-02-01": "Second Day of Lunar New Year",
+    "1957-02-02": "Third Day of Lunar New Year",
     "1957-04-30": "Liberation Day/Reunification Day",
     "1957-05-01": "International Labor Day",
     "1957-09-02": "National Day",
     "1958-01-01": "New Year's Day",
     "1958-02-17": "Lunar New Year's Eve",
     "1958-02-18": "Lunar New Year",
-    "1958-02-19": "The second day of Tet Holiday",
-    "1958-02-20": "The third day of Tet Holiday",
-    "1958-02-21": "The fourth day of Tet Holiday",
-    "1958-02-22": "The fifth day of Tet Holiday",
+    "1958-02-19": "Second Day of Lunar New Year",
+    "1958-02-20": "Third Day of Lunar New Year",
     "1958-04-30": "Liberation Day/Reunification Day",
     "1958-05-01": "International Labor Day",
     "1958-09-02": "National Day",
     "1959-01-01": "New Year's Day",
     "1959-02-07": "Lunar New Year's Eve",
     "1959-02-08": "Lunar New Year",
-    "1959-02-09": "The second day of Tet Holiday",
-    "1959-02-10": "The third day of Tet Holiday",
-    "1959-02-11": "The fourth day of Tet Holiday",
-    "1959-02-12": "The fifth day of Tet Holiday",
+    "1959-02-09": "Second Day of Lunar New Year",
+    "1959-02-10": "Third Day of Lunar New Year",
     "1959-04-30": "Liberation Day/Reunification Day",
     "1959-05-01": "International Labor Day",
     "1959-09-02": "National Day",
     "1960-01-01": "New Year's Day",
     "1960-01-27": "Lunar New Year's Eve",
     "1960-01-28": "Lunar New Year",
-    "1960-01-29": "The second day of Tet Holiday",
-    "1960-01-30": "The third day of Tet Holiday",
-    "1960-01-31": "The fourth day of Tet Holiday",
-    "1960-02-01": "The fifth day of Tet Holiday",
+    "1960-01-29": "Second Day of Lunar New Year",
+    "1960-01-30": "Third Day of Lunar New Year",
     "1960-04-30": "Liberation Day/Reunification Day",
     "1960-05-01": "International Labor Day",
-    "1960-05-02": "Liberation Day/Reunification Day (observed)",
-    "1960-05-03": "International Labor Day (observed)",
     "1960-09-02": "National Day",
     "1961-01-01": "New Year's Day",
-    "1961-01-02": "New Year's Day (observed)",
     "1961-02-14": "Lunar New Year's Eve",
     "1961-02-15": "Lunar New Year",
-    "1961-02-16": "The second day of Tet Holiday",
-    "1961-02-17": "The third day of Tet Holiday",
-    "1961-02-18": "The fourth day of Tet Holiday",
-    "1961-02-19": "The fifth day of Tet Holiday",
+    "1961-02-16": "Second Day of Lunar New Year",
+    "1961-02-17": "Third Day of Lunar New Year",
     "1961-04-30": "Liberation Day/Reunification Day",
     "1961-05-01": "International Labor Day",
-    "1961-05-02": "Liberation Day/Reunification Day (observed)",
     "1961-09-02": "National Day",
-    "1961-09-04": "National Day (observed)",
     "1962-01-01": "New Year's Day",
     "1962-02-04": "Lunar New Year's Eve",
     "1962-02-05": "Lunar New Year",
-    "1962-02-06": "The second day of Tet Holiday",
-    "1962-02-07": "The third day of Tet Holiday",
-    "1962-02-08": "The fourth day of Tet Holiday",
-    "1962-02-09": "The fifth day of Tet Holiday",
+    "1962-02-06": "Second Day of Lunar New Year",
+    "1962-02-07": "Third Day of Lunar New Year",
     "1962-04-30": "Liberation Day/Reunification Day",
     "1962-05-01": "International Labor Day",
     "1962-09-02": "National Day",
-    "1962-09-03": "National Day (observed)",
     "1963-01-01": "New Year's Day",
     "1963-01-24": "Lunar New Year's Eve",
     "1963-01-25": "Lunar New Year",
-    "1963-01-26": "The second day of Tet Holiday",
-    "1963-01-27": "The third day of Tet Holiday",
-    "1963-01-28": "The fourth day of Tet Holiday",
-    "1963-01-29": "The fifth day of Tet Holiday",
+    "1963-01-26": "Second Day of Lunar New Year",
+    "1963-01-27": "Third Day of Lunar New Year",
     "1963-04-30": "Liberation Day/Reunification Day",
     "1963-05-01": "International Labor Day",
     "1963-09-02": "National Day",
     "1964-01-01": "New Year's Day",
     "1964-02-12": "Lunar New Year's Eve",
     "1964-02-13": "Lunar New Year",
-    "1964-02-14": "The second day of Tet Holiday",
-    "1964-02-15": "The third day of Tet Holiday",
-    "1964-02-16": "The fourth day of Tet Holiday",
-    "1964-02-17": "The fifth day of Tet Holiday",
+    "1964-02-14": "Second Day of Lunar New Year",
+    "1964-02-15": "Third Day of Lunar New Year",
     "1964-04-30": "Liberation Day/Reunification Day",
     "1964-05-01": "International Labor Day",
     "1964-09-02": "National Day",
     "1965-01-01": "New Year's Day",
     "1965-02-01": "Lunar New Year's Eve",
     "1965-02-02": "Lunar New Year",
-    "1965-02-03": "The second day of Tet Holiday",
-    "1965-02-04": "The third day of Tet Holiday",
-    "1965-02-05": "The fourth day of Tet Holiday",
-    "1965-02-06": "The fifth day of Tet Holiday",
+    "1965-02-03": "Second Day of Lunar New Year",
+    "1965-02-04": "Third Day of Lunar New Year",
     "1965-04-30": "Liberation Day/Reunification Day",
     "1965-05-01": "International Labor Day",
-    "1965-05-03": "International Labor Day (observed)",
     "1965-09-02": "National Day",
     "1966-01-01": "New Year's Day",
-    "1966-01-03": "New Year's Day (observed)",
     "1966-01-20": "Lunar New Year's Eve",
     "1966-01-21": "Lunar New Year",
-    "1966-01-22": "The second day of Tet Holiday",
-    "1966-01-23": "The third day of Tet Holiday",
-    "1966-01-24": "The fourth day of Tet Holiday",
-    "1966-01-25": "The fifth day of Tet Holiday",
+    "1966-01-22": "Second Day of Lunar New Year",
+    "1966-01-23": "Third Day of Lunar New Year",
     "1966-04-30": "Liberation Day/Reunification Day",
     "1966-05-01": "International Labor Day",
-    "1966-05-02": "Liberation Day/Reunification Day (observed)",
-    "1966-05-03": "International Labor Day (observed)",
     "1966-09-02": "National Day",
     "1967-01-01": "New Year's Day",
-    "1967-01-02": "New Year's Day (observed)",
     "1967-02-08": "Lunar New Year's Eve",
     "1967-02-09": "Lunar New Year",
-    "1967-02-10": "The second day of Tet Holiday",
-    "1967-02-11": "The third day of Tet Holiday",
-    "1967-02-12": "The fourth day of Tet Holiday",
-    "1967-02-13": "The fifth day of Tet Holiday",
+    "1967-02-10": "Second Day of Lunar New Year",
+    "1967-02-11": "Third Day of Lunar New Year",
     "1967-04-30": "Liberation Day/Reunification Day",
     "1967-05-01": "International Labor Day",
-    "1967-05-02": "Liberation Day/Reunification Day (observed)",
     "1967-09-02": "National Day",
-    "1967-09-04": "National Day (observed)",
     "1968-01-01": "New Year's Day",
     "1968-01-29": "Lunar New Year's Eve",
     "1968-01-30": "Lunar New Year",
-    "1968-01-31": "The second day of Tet Holiday",
-    "1968-02-01": "The third day of Tet Holiday",
-    "1968-02-02": "The fourth day of Tet Holiday",
-    "1968-02-03": "The fifth day of Tet Holiday",
+    "1968-01-31": "Second Day of Lunar New Year",
+    "1968-02-01": "Third Day of Lunar New Year",
     "1968-04-30": "Liberation Day/Reunification Day",
     "1968-05-01": "International Labor Day",
     "1968-09-02": "National Day",
     "1969-01-01": "New Year's Day",
     "1969-02-16": "Lunar New Year's Eve",
     "1969-02-17": "Lunar New Year",
-    "1969-02-18": "The second day of Tet Holiday",
-    "1969-02-19": "The third day of Tet Holiday",
-    "1969-02-20": "The fourth day of Tet Holiday",
-    "1969-02-21": "The fifth day of Tet Holiday",
+    "1969-02-18": "Second Day of Lunar New Year",
+    "1969-02-19": "Third Day of Lunar New Year",
     "1969-04-30": "Liberation Day/Reunification Day",
     "1969-05-01": "International Labor Day",
     "1969-09-02": "National Day",
     "1970-01-01": "New Year's Day",
     "1970-02-05": "Lunar New Year's Eve",
     "1970-02-06": "Lunar New Year",
-    "1970-02-07": "The second day of Tet Holiday",
-    "1970-02-08": "The third day of Tet Holiday",
-    "1970-02-09": "The fourth day of Tet Holiday",
-    "1970-02-10": "The fifth day of Tet Holiday",
+    "1970-02-07": "Second Day of Lunar New Year",
+    "1970-02-08": "Third Day of Lunar New Year",
     "1970-04-30": "Liberation Day/Reunification Day",
     "1970-05-01": "International Labor Day",
     "1970-09-02": "National Day",
     "1971-01-01": "New Year's Day",
     "1971-01-26": "Lunar New Year's Eve",
     "1971-01-27": "Lunar New Year",
-    "1971-01-28": "The second day of Tet Holiday",
-    "1971-01-29": "The third day of Tet Holiday",
-    "1971-01-30": "The fourth day of Tet Holiday",
-    "1971-01-31": "The fifth day of Tet Holiday",
+    "1971-01-28": "Second Day of Lunar New Year",
+    "1971-01-29": "Third Day of Lunar New Year",
     "1971-04-30": "Liberation Day/Reunification Day",
     "1971-05-01": "International Labor Day",
-    "1971-05-03": "International Labor Day (observed)",
     "1971-09-02": "National Day",
     "1972-01-01": "New Year's Day",
-    "1972-01-03": "New Year's Day (observed)",
     "1972-02-14": "Lunar New Year's Eve",
     "1972-02-15": "Lunar New Year",
-    "1972-02-16": "The second day of Tet Holiday",
-    "1972-02-17": "The third day of Tet Holiday",
-    "1972-02-18": "The fourth day of Tet Holiday",
-    "1972-02-19": "The fifth day of Tet Holiday",
+    "1972-02-16": "Second Day of Lunar New Year",
+    "1972-02-17": "Third Day of Lunar New Year",
     "1972-04-30": "Liberation Day/Reunification Day",
     "1972-05-01": "International Labor Day",
-    "1972-05-02": "Liberation Day/Reunification Day (observed)",
     "1972-09-02": "National Day",
-    "1972-09-04": "National Day (observed)",
     "1973-01-01": "New Year's Day",
     "1973-02-02": "Lunar New Year's Eve",
     "1973-02-03": "Lunar New Year",
-    "1973-02-04": "The second day of Tet Holiday",
-    "1973-02-05": "The third day of Tet Holiday",
-    "1973-02-06": "The fourth day of Tet Holiday",
-    "1973-02-07": "The fifth day of Tet Holiday",
+    "1973-02-04": "Second Day of Lunar New Year",
+    "1973-02-05": "Third Day of Lunar New Year",
     "1973-04-30": "Liberation Day/Reunification Day",
     "1973-05-01": "International Labor Day",
     "1973-09-02": "National Day",
-    "1973-09-03": "National Day (observed)",
     "1974-01-01": "New Year's Day",
     "1974-01-22": "Lunar New Year's Eve",
     "1974-01-23": "Lunar New Year",
-    "1974-01-24": "The second day of Tet Holiday",
-    "1974-01-25": "The third day of Tet Holiday",
-    "1974-01-26": "The fourth day of Tet Holiday",
-    "1974-01-27": "The fifth day of Tet Holiday",
+    "1974-01-24": "Second Day of Lunar New Year",
+    "1974-01-25": "Third Day of Lunar New Year",
     "1974-04-30": "Liberation Day/Reunification Day",
     "1974-05-01": "International Labor Day",
     "1974-09-02": "National Day",
     "1975-01-01": "New Year's Day",
     "1975-02-10": "Lunar New Year's Eve",
     "1975-02-11": "Lunar New Year",
-    "1975-02-12": "The second day of Tet Holiday",
-    "1975-02-13": "The third day of Tet Holiday",
-    "1975-02-14": "The fourth day of Tet Holiday",
-    "1975-02-15": "The fifth day of Tet Holiday",
+    "1975-02-12": "Second Day of Lunar New Year",
+    "1975-02-13": "Third Day of Lunar New Year",
     "1975-04-30": "Liberation Day/Reunification Day",
     "1975-05-01": "International Labor Day",
     "1975-09-02": "National Day",
     "1976-01-01": "New Year's Day",
     "1976-01-30": "Lunar New Year's Eve",
     "1976-01-31": "Lunar New Year",
-    "1976-02-01": "The second day of Tet Holiday",
-    "1976-02-02": "The third day of Tet Holiday",
-    "1976-02-03": "The fourth day of Tet Holiday",
-    "1976-02-04": "The fifth day of Tet Holiday",
+    "1976-02-01": "Second Day of Lunar New Year",
+    "1976-02-02": "Third Day of Lunar New Year",
     "1976-04-30": "Liberation Day/Reunification Day",
     "1976-05-01": "International Labor Day",
-    "1976-05-03": "International Labor Day (observed)",
     "1976-09-02": "National Day",
     "1977-01-01": "New Year's Day",
-    "1977-01-03": "New Year's Day (observed)",
     "1977-02-17": "Lunar New Year's Eve",
     "1977-02-18": "Lunar New Year",
-    "1977-02-19": "The second day of Tet Holiday",
-    "1977-02-20": "The third day of Tet Holiday",
-    "1977-02-21": "The fourth day of Tet Holiday",
-    "1977-02-22": "The fifth day of Tet Holiday",
+    "1977-02-19": "Second Day of Lunar New Year",
+    "1977-02-20": "Third Day of Lunar New Year",
     "1977-04-30": "Liberation Day/Reunification Day",
     "1977-05-01": "International Labor Day",
-    "1977-05-02": "Liberation Day/Reunification Day (observed)",
-    "1977-05-03": "International Labor Day (observed)",
     "1977-09-02": "National Day",
     "1978-01-01": "New Year's Day",
-    "1978-01-02": "New Year's Day (observed)",
     "1978-02-06": "Lunar New Year's Eve",
     "1978-02-07": "Lunar New Year",
-    "1978-02-08": "The second day of Tet Holiday",
-    "1978-02-09": "The third day of Tet Holiday",
-    "1978-02-10": "The fourth day of Tet Holiday",
-    "1978-02-11": "The fifth day of Tet Holiday",
+    "1978-02-08": "Second Day of Lunar New Year",
+    "1978-02-09": "Third Day of Lunar New Year",
     "1978-04-30": "Liberation Day/Reunification Day",
     "1978-05-01": "International Labor Day",
-    "1978-05-02": "Liberation Day/Reunification Day (observed)",
     "1978-09-02": "National Day",
-    "1978-09-04": "National Day (observed)",
     "1979-01-01": "New Year's Day",
     "1979-01-27": "Lunar New Year's Eve",
     "1979-01-28": "Lunar New Year",
-    "1979-01-29": "The second day of Tet Holiday",
-    "1979-01-30": "The third day of Tet Holiday",
-    "1979-01-31": "The fourth day of Tet Holiday",
-    "1979-02-01": "The fifth day of Tet Holiday",
+    "1979-01-29": "Second Day of Lunar New Year",
+    "1979-01-30": "Third Day of Lunar New Year",
     "1979-04-30": "Liberation Day/Reunification Day",
     "1979-05-01": "International Labor Day",
     "1979-09-02": "National Day",
-    "1979-09-03": "National Day (observed)",
     "1980-01-01": "New Year's Day",
     "1980-02-15": "Lunar New Year's Eve",
     "1980-02-16": "Lunar New Year",
-    "1980-02-17": "The second day of Tet Holiday",
-    "1980-02-18": "The third day of Tet Holiday",
-    "1980-02-19": "The fourth day of Tet Holiday",
-    "1980-02-20": "The fifth day of Tet Holiday",
+    "1980-02-17": "Second Day of Lunar New Year",
+    "1980-02-18": "Third Day of Lunar New Year",
     "1980-04-30": "Liberation Day/Reunification Day",
     "1980-05-01": "International Labor Day",
     "1980-09-02": "National Day",
     "1981-01-01": "New Year's Day",
     "1981-02-04": "Lunar New Year's Eve",
     "1981-02-05": "Lunar New Year",
-    "1981-02-06": "The second day of Tet Holiday",
-    "1981-02-07": "The third day of Tet Holiday",
-    "1981-02-08": "The fourth day of Tet Holiday",
-    "1981-02-09": "The fifth day of Tet Holiday",
+    "1981-02-06": "Second Day of Lunar New Year",
+    "1981-02-07": "Third Day of Lunar New Year",
     "1981-04-30": "Liberation Day/Reunification Day",
     "1981-05-01": "International Labor Day",
     "1981-09-02": "National Day",
     "1982-01-01": "New Year's Day",
     "1982-01-24": "Lunar New Year's Eve",
     "1982-01-25": "Lunar New Year",
-    "1982-01-26": "The second day of Tet Holiday",
-    "1982-01-27": "The third day of Tet Holiday",
-    "1982-01-28": "The fourth day of Tet Holiday",
-    "1982-01-29": "The fifth day of Tet Holiday",
+    "1982-01-26": "Second Day of Lunar New Year",
+    "1982-01-27": "Third Day of Lunar New Year",
     "1982-04-30": "Liberation Day/Reunification Day",
     "1982-05-01": "International Labor Day",
-    "1982-05-03": "International Labor Day (observed)",
     "1982-09-02": "National Day",
     "1983-01-01": "New Year's Day",
-    "1983-01-03": "New Year's Day (observed)",
     "1983-02-12": "Lunar New Year's Eve",
     "1983-02-13": "Lunar New Year",
-    "1983-02-14": "The second day of Tet Holiday",
-    "1983-02-15": "The third day of Tet Holiday",
-    "1983-02-16": "The fourth day of Tet Holiday",
-    "1983-02-17": "The fifth day of Tet Holiday",
+    "1983-02-14": "Second Day of Lunar New Year",
+    "1983-02-15": "Third Day of Lunar New Year",
     "1983-04-30": "Liberation Day/Reunification Day",
     "1983-05-01": "International Labor Day",
-    "1983-05-02": "Liberation Day/Reunification Day (observed)",
-    "1983-05-03": "International Labor Day (observed)",
     "1983-09-02": "National Day",
     "1984-01-01": "New Year's Day",
-    "1984-01-02": "New Year's Day (observed)",
     "1984-02-01": "Lunar New Year's Eve",
     "1984-02-02": "Lunar New Year",
-    "1984-02-03": "The second day of Tet Holiday",
-    "1984-02-04": "The third day of Tet Holiday",
-    "1984-02-05": "The fourth day of Tet Holiday",
-    "1984-02-06": "The fifth day of Tet Holiday",
+    "1984-02-03": "Second Day of Lunar New Year",
+    "1984-02-04": "Third Day of Lunar New Year",
     "1984-04-30": "Liberation Day/Reunification Day",
     "1984-05-01": "International Labor Day",
     "1984-09-02": "National Day",
-    "1984-09-03": "National Day (observed)",
     "1985-01-01": "New Year's Day",
     "1985-02-19": "Lunar New Year's Eve",
     "1985-02-20": "Lunar New Year",
-    "1985-02-21": "The second day of Tet Holiday",
-    "1985-02-22": "The third day of Tet Holiday",
-    "1985-02-23": "The fourth day of Tet Holiday",
-    "1985-02-24": "The fifth day of Tet Holiday",
+    "1985-02-21": "Second Day of Lunar New Year",
+    "1985-02-22": "Third Day of Lunar New Year",
     "1985-04-30": "Liberation Day/Reunification Day",
     "1985-05-01": "International Labor Day",
     "1985-09-02": "National Day",
     "1986-01-01": "New Year's Day",
     "1986-02-08": "Lunar New Year's Eve",
     "1986-02-09": "Lunar New Year",
-    "1986-02-10": "The second day of Tet Holiday",
-    "1986-02-11": "The third day of Tet Holiday",
-    "1986-02-12": "The fourth day of Tet Holiday",
-    "1986-02-13": "The fifth day of Tet Holiday",
+    "1986-02-10": "Second Day of Lunar New Year",
+    "1986-02-11": "Third Day of Lunar New Year",
     "1986-04-30": "Liberation Day/Reunification Day",
     "1986-05-01": "International Labor Day",
     "1986-09-02": "National Day",
     "1987-01-01": "New Year's Day",
     "1987-01-28": "Lunar New Year's Eve",
     "1987-01-29": "Lunar New Year",
-    "1987-01-30": "The second day of Tet Holiday",
-    "1987-01-31": "The third day of Tet Holiday",
-    "1987-02-01": "The fourth day of Tet Holiday",
-    "1987-02-02": "The fifth day of Tet Holiday",
+    "1987-01-30": "Second Day of Lunar New Year",
+    "1987-01-31": "Third Day of Lunar New Year",
     "1987-04-30": "Liberation Day/Reunification Day",
     "1987-05-01": "International Labor Day",
     "1987-09-02": "National Day",
     "1988-01-01": "New Year's Day",
     "1988-02-16": "Lunar New Year's Eve",
     "1988-02-17": "Lunar New Year",
-    "1988-02-18": "The second day of Tet Holiday",
-    "1988-02-19": "The third day of Tet Holiday",
-    "1988-02-20": "The fourth day of Tet Holiday",
-    "1988-02-21": "The fifth day of Tet Holiday",
+    "1988-02-18": "Second Day of Lunar New Year",
+    "1988-02-19": "Third Day of Lunar New Year",
     "1988-04-30": "Liberation Day/Reunification Day",
     "1988-05-01": "International Labor Day",
-    "1988-05-02": "Liberation Day/Reunification Day (observed)",
-    "1988-05-03": "International Labor Day (observed)",
     "1988-09-02": "National Day",
     "1989-01-01": "New Year's Day",
-    "1989-01-02": "New Year's Day (observed)",
     "1989-02-05": "Lunar New Year's Eve",
     "1989-02-06": "Lunar New Year",
-    "1989-02-07": "The second day of Tet Holiday",
-    "1989-02-08": "The third day of Tet Holiday",
-    "1989-02-09": "The fourth day of Tet Holiday",
-    "1989-02-10": "The fifth day of Tet Holiday",
+    "1989-02-07": "Second Day of Lunar New Year",
+    "1989-02-08": "Third Day of Lunar New Year",
     "1989-04-30": "Liberation Day/Reunification Day",
     "1989-05-01": "International Labor Day",
-    "1989-05-02": "Liberation Day/Reunification Day (observed)",
     "1989-09-02": "National Day",
-    "1989-09-04": "National Day (observed)",
     "1990-01-01": "New Year's Day",
     "1990-01-26": "Lunar New Year's Eve",
     "1990-01-27": "Lunar New Year",
-    "1990-01-28": "The second day of Tet Holiday",
-    "1990-01-29": "The third day of Tet Holiday",
-    "1990-01-30": "The fourth day of Tet Holiday",
-    "1990-01-31": "The fifth day of Tet Holiday",
+    "1990-01-28": "Second Day of Lunar New Year",
+    "1990-01-29": "Third Day of Lunar New Year",
     "1990-04-30": "Liberation Day/Reunification Day",
     "1990-05-01": "International Labor Day",
     "1990-09-02": "National Day",
-    "1990-09-03": "National Day (observed)",
     "1991-01-01": "New Year's Day",
     "1991-02-14": "Lunar New Year's Eve",
     "1991-02-15": "Lunar New Year",
-    "1991-02-16": "The second day of Tet Holiday",
-    "1991-02-17": "The third day of Tet Holiday",
-    "1991-02-18": "The fourth day of Tet Holiday",
-    "1991-02-19": "The fifth day of Tet Holiday",
+    "1991-02-16": "Second Day of Lunar New Year",
+    "1991-02-17": "Third Day of Lunar New Year",
     "1991-04-30": "Liberation Day/Reunification Day",
     "1991-05-01": "International Labor Day",
     "1991-09-02": "National Day",
     "1992-01-01": "New Year's Day",
     "1992-02-03": "Lunar New Year's Eve",
     "1992-02-04": "Lunar New Year",
-    "1992-02-05": "The second day of Tet Holiday",
-    "1992-02-06": "The third day of Tet Holiday",
-    "1992-02-07": "The fourth day of Tet Holiday",
-    "1992-02-08": "The fifth day of Tet Holiday",
+    "1992-02-05": "Second Day of Lunar New Year",
+    "1992-02-06": "Third Day of Lunar New Year",
     "1992-04-30": "Liberation Day/Reunification Day",
     "1992-05-01": "International Labor Day",
     "1992-09-02": "National Day",
     "1993-01-01": "New Year's Day",
     "1993-01-22": "Lunar New Year's Eve",
     "1993-01-23": "Lunar New Year",
-    "1993-01-24": "The second day of Tet Holiday",
-    "1993-01-25": "The third day of Tet Holiday",
-    "1993-01-26": "The fourth day of Tet Holiday",
-    "1993-01-27": "The fifth day of Tet Holiday",
+    "1993-01-24": "Second Day of Lunar New Year",
+    "1993-01-25": "Third Day of Lunar New Year",
     "1993-04-30": "Liberation Day/Reunification Day",
     "1993-05-01": "International Labor Day",
-    "1993-05-03": "International Labor Day (observed)",
     "1993-09-02": "National Day",
     "1994-01-01": "New Year's Day",
-    "1994-01-03": "New Year's Day (observed)",
     "1994-02-09": "Lunar New Year's Eve",
     "1994-02-10": "Lunar New Year",
-    "1994-02-11": "The second day of Tet Holiday",
-    "1994-02-12": "The third day of Tet Holiday",
-    "1994-02-13": "The fourth day of Tet Holiday",
-    "1994-02-14": "The fifth day of Tet Holiday",
+    "1994-02-11": "Second Day of Lunar New Year",
+    "1994-02-12": "Third Day of Lunar New Year",
     "1994-04-30": "Liberation Day/Reunification Day",
     "1994-05-01": "International Labor Day",
-    "1994-05-02": "Liberation Day/Reunification Day (observed)",
-    "1994-05-03": "International Labor Day (observed)",
     "1994-09-02": "National Day",
     "1995-01-01": "New Year's Day",
     "1995-01-02": "New Year's Day (observed)",
     "1995-01-30": "Lunar New Year's Eve",
     "1995-01-31": "Lunar New Year",
-    "1995-02-01": "The second day of Tet Holiday",
-    "1995-02-02": "The third day of Tet Holiday",
-    "1995-02-03": "The fourth day of Tet Holiday",
-    "1995-02-04": "The fifth day of Tet Holiday",
+    "1995-02-01": "Second Day of Lunar New Year",
+    "1995-02-02": "Third Day of Lunar New Year",
     "1995-04-30": "Liberation Day/Reunification Day",
     "1995-05-01": "International Labor Day",
     "1995-05-02": "Liberation Day/Reunification Day (observed)",
@@ -517,40 +373,35 @@
     "1996-01-01": "New Year's Day",
     "1996-02-18": "Lunar New Year's Eve",
     "1996-02-19": "Lunar New Year",
-    "1996-02-20": "The second day of Tet Holiday",
-    "1996-02-21": "The third day of Tet Holiday",
-    "1996-02-22": "The fourth day of Tet Holiday",
-    "1996-02-23": "The fifth day of Tet Holiday",
+    "1996-02-20": "Second Day of Lunar New Year",
+    "1996-02-21": "Third Day of Lunar New Year",
+    "1996-02-22": "Fourth Day of Lunar New Year",
     "1996-04-30": "Liberation Day/Reunification Day",
     "1996-05-01": "International Labor Day",
     "1996-09-02": "National Day",
     "1997-01-01": "New Year's Day",
     "1997-02-06": "Lunar New Year's Eve",
     "1997-02-07": "Lunar New Year",
-    "1997-02-08": "The second day of Tet Holiday",
-    "1997-02-09": "The third day of Tet Holiday",
-    "1997-02-10": "The fourth day of Tet Holiday",
-    "1997-02-11": "The fifth day of Tet Holiday",
+    "1997-02-08": "Second Day of Lunar New Year",
+    "1997-02-09": "Third Day of Lunar New Year",
+    "1997-02-10": "Fourth Day of Lunar New Year",
+    "1997-02-11": "Fifth Day of Lunar New Year",
     "1997-04-30": "Liberation Day/Reunification Day",
     "1997-05-01": "International Labor Day",
     "1997-09-02": "National Day",
     "1998-01-01": "New Year's Day",
     "1998-01-27": "Lunar New Year's Eve",
     "1998-01-28": "Lunar New Year",
-    "1998-01-29": "The second day of Tet Holiday",
-    "1998-01-30": "The third day of Tet Holiday",
-    "1998-01-31": "The fourth day of Tet Holiday",
-    "1998-02-01": "The fifth day of Tet Holiday",
+    "1998-01-29": "Second Day of Lunar New Year",
+    "1998-01-30": "Third Day of Lunar New Year",
     "1998-04-30": "Liberation Day/Reunification Day",
     "1998-05-01": "International Labor Day",
     "1998-09-02": "National Day",
     "1999-01-01": "New Year's Day",
     "1999-02-15": "Lunar New Year's Eve",
     "1999-02-16": "Lunar New Year",
-    "1999-02-17": "The second day of Tet Holiday",
-    "1999-02-18": "The third day of Tet Holiday",
-    "1999-02-19": "The fourth day of Tet Holiday",
-    "1999-02-20": "The fifth day of Tet Holiday",
+    "1999-02-17": "Second Day of Lunar New Year",
+    "1999-02-18": "Third Day of Lunar New Year",
     "1999-04-30": "Liberation Day/Reunification Day",
     "1999-05-01": "International Labor Day",
     "1999-05-03": "International Labor Day (observed)",
@@ -559,10 +410,10 @@
     "2000-01-03": "New Year's Day (observed)",
     "2000-02-04": "Lunar New Year's Eve",
     "2000-02-05": "Lunar New Year",
-    "2000-02-06": "The second day of Tet Holiday",
-    "2000-02-07": "The third day of Tet Holiday",
-    "2000-02-08": "The fourth day of Tet Holiday",
-    "2000-02-09": "The fifth day of Tet Holiday",
+    "2000-02-06": "Second Day of Lunar New Year",
+    "2000-02-07": "Third Day of Lunar New Year",
+    "2000-02-08": "Fourth Day of Lunar New Year",
+    "2000-02-09": "Fifth Day of Lunar New Year",
     "2000-04-30": "Liberation Day/Reunification Day",
     "2000-05-01": "International Labor Day",
     "2000-05-02": "Liberation Day/Reunification Day (observed)",
@@ -571,10 +422,8 @@
     "2001-01-01": "New Year's Day",
     "2001-01-23": "Lunar New Year's Eve",
     "2001-01-24": "Lunar New Year",
-    "2001-01-25": "The second day of Tet Holiday",
-    "2001-01-26": "The third day of Tet Holiday",
-    "2001-01-27": "The fourth day of Tet Holiday",
-    "2001-01-28": "The fifth day of Tet Holiday",
+    "2001-01-25": "Second Day of Lunar New Year",
+    "2001-01-26": "Third Day of Lunar New Year",
     "2001-04-30": "Liberation Day/Reunification Day",
     "2001-05-01": "International Labor Day",
     "2001-09-02": "National Day",
@@ -582,30 +431,27 @@
     "2002-01-01": "New Year's Day",
     "2002-02-11": "Lunar New Year's Eve",
     "2002-02-12": "Lunar New Year",
-    "2002-02-13": "The second day of Tet Holiday",
-    "2002-02-14": "The third day of Tet Holiday",
-    "2002-02-15": "The fourth day of Tet Holiday",
-    "2002-02-16": "The fifth day of Tet Holiday",
+    "2002-02-13": "Second Day of Lunar New Year",
+    "2002-02-14": "Third Day of Lunar New Year",
     "2002-04-30": "Liberation Day/Reunification Day",
     "2002-05-01": "International Labor Day",
     "2002-09-02": "National Day",
     "2003-01-01": "New Year's Day",
     "2003-01-31": "Lunar New Year's Eve",
     "2003-02-01": "Lunar New Year",
-    "2003-02-02": "The second day of Tet Holiday",
-    "2003-02-03": "The third day of Tet Holiday",
-    "2003-02-04": "The fourth day of Tet Holiday",
-    "2003-02-05": "The fifth day of Tet Holiday",
+    "2003-02-02": "Second Day of Lunar New Year",
+    "2003-02-03": "Third Day of Lunar New Year",
+    "2003-02-04": "Fourth Day of Lunar New Year",
+    "2003-02-05": "Fifth Day of Lunar New Year",
     "2003-04-30": "Liberation Day/Reunification Day",
     "2003-05-01": "International Labor Day",
     "2003-09-02": "National Day",
     "2004-01-01": "New Year's Day",
     "2004-01-21": "Lunar New Year's Eve",
     "2004-01-22": "Lunar New Year",
-    "2004-01-23": "The second day of Tet Holiday",
-    "2004-01-24": "The third day of Tet Holiday",
-    "2004-01-25": "The fourth day of Tet Holiday",
-    "2004-01-26": "The fifth day of Tet Holiday",
+    "2004-01-23": "Second Day of Lunar New Year",
+    "2004-01-24": "Third Day of Lunar New Year",
+    "2004-01-26": "Fifth Day of Lunar New Year",
     "2004-04-30": "Liberation Day/Reunification Day",
     "2004-05-01": "International Labor Day",
     "2004-05-03": "International Labor Day (observed)",
@@ -614,10 +460,8 @@
     "2005-01-03": "New Year's Day (observed)",
     "2005-02-08": "Lunar New Year's Eve",
     "2005-02-09": "Lunar New Year",
-    "2005-02-10": "The second day of Tet Holiday",
-    "2005-02-11": "The third day of Tet Holiday",
-    "2005-02-12": "The fourth day of Tet Holiday",
-    "2005-02-13": "The fifth day of Tet Holiday",
+    "2005-02-10": "Second Day of Lunar New Year",
+    "2005-02-11": "Third Day of Lunar New Year",
     "2005-04-30": "Liberation Day/Reunification Day",
     "2005-05-01": "International Labor Day",
     "2005-05-02": "Liberation Day/Reunification Day (observed)",
@@ -627,10 +471,10 @@
     "2006-01-02": "New Year's Day (observed)",
     "2006-01-28": "Lunar New Year's Eve",
     "2006-01-29": "Lunar New Year",
-    "2006-01-30": "The second day of Tet Holiday",
-    "2006-01-31": "The third day of Tet Holiday",
-    "2006-02-01": "The fourth day of Tet Holiday",
-    "2006-02-02": "The fifth day of Tet Holiday",
+    "2006-01-30": "Second Day of Lunar New Year",
+    "2006-01-31": "Third Day of Lunar New Year",
+    "2006-02-01": "Fourth Day of Lunar New Year",
+    "2006-02-02": "Fifth Day of Lunar New Year",
     "2006-04-30": "Liberation Day/Reunification Day",
     "2006-05-01": "International Labor Day",
     "2006-05-02": "Liberation Day/Reunification Day (observed)",
@@ -639,10 +483,10 @@
     "2007-01-01": "New Year's Day",
     "2007-02-17": "Lunar New Year's Eve",
     "2007-02-18": "Lunar New Year",
-    "2007-02-19": "The second day of Tet Holiday",
-    "2007-02-20": "The third day of Tet Holiday",
-    "2007-02-21": "The fourth day of Tet Holiday",
-    "2007-02-22": "The fifth day of Tet Holiday",
+    "2007-02-19": "Second Day of Lunar New Year",
+    "2007-02-20": "Third Day of Lunar New Year",
+    "2007-02-21": "Fourth Day of Lunar New Year",
+    "2007-02-22": "Fifth Day of Lunar New Year",
     "2007-04-26": "Hung Kings' Commemoration Day",
     "2007-04-30": "Liberation Day/Reunification Day",
     "2007-05-01": "International Labor Day",
@@ -651,10 +495,9 @@
     "2008-01-01": "New Year's Day",
     "2008-02-06": "Lunar New Year's Eve",
     "2008-02-07": "Lunar New Year",
-    "2008-02-08": "The second day of Tet Holiday",
-    "2008-02-09": "The third day of Tet Holiday",
-    "2008-02-10": "The fourth day of Tet Holiday",
-    "2008-02-11": "The fifth day of Tet Holiday",
+    "2008-02-08": "Second Day of Lunar New Year",
+    "2008-02-09": "Third Day of Lunar New Year",
+    "2008-02-11": "Fifth Day of Lunar New Year",
     "2008-04-15": "Hung Kings' Commemoration Day",
     "2008-04-30": "Liberation Day/Reunification Day",
     "2008-05-01": "International Labor Day",
@@ -662,10 +505,9 @@
     "2009-01-01": "New Year's Day",
     "2009-01-25": "Lunar New Year's Eve",
     "2009-01-26": "Lunar New Year",
-    "2009-01-27": "The second day of Tet Holiday",
-    "2009-01-28": "The third day of Tet Holiday",
-    "2009-01-29": "The fourth day of Tet Holiday",
-    "2009-01-30": "The fifth day of Tet Holiday",
+    "2009-01-27": "Second Day of Lunar New Year",
+    "2009-01-28": "Third Day of Lunar New Year",
+    "2009-01-29": "Fourth Day of Lunar New Year",
     "2009-04-05": "Hung Kings' Commemoration Day",
     "2009-04-06": "Hung Kings' Commemoration Day (observed)",
     "2009-04-30": "Liberation Day/Reunification Day",
@@ -674,10 +516,11 @@
     "2010-01-01": "New Year's Day",
     "2010-02-13": "Lunar New Year's Eve",
     "2010-02-14": "Lunar New Year",
-    "2010-02-15": "The second day of Tet Holiday",
-    "2010-02-16": "The third day of Tet Holiday",
-    "2010-02-17": "The fourth day of Tet Holiday",
-    "2010-02-18": "The fifth day of Tet Holiday",
+    "2010-02-15": "Second Day of Lunar New Year",
+    "2010-02-16": "Third Day of Lunar New Year",
+    "2010-02-17": "Fourth Day of Lunar New Year",
+    "2010-02-18": "Fifth Day of Lunar New Year",
+    "2010-02-19": "Day off (substituted from 02/27/2010)",
     "2010-04-23": "Hung Kings' Commemoration Day",
     "2010-04-30": "Liberation Day/Reunification Day",
     "2010-05-01": "International Labor Day",
@@ -687,10 +530,9 @@
     "2011-01-03": "New Year's Day (observed)",
     "2011-02-02": "Lunar New Year's Eve",
     "2011-02-03": "Lunar New Year",
-    "2011-02-04": "The second day of Tet Holiday",
-    "2011-02-05": "The third day of Tet Holiday",
-    "2011-02-06": "The fourth day of Tet Holiday",
-    "2011-02-07": "The fifth day of Tet Holiday",
+    "2011-02-04": "Second Day of Lunar New Year",
+    "2011-02-05": "Third Day of Lunar New Year",
+    "2011-02-07": "Fifth Day of Lunar New Year",
     "2011-04-12": "Hung Kings' Commemoration Day",
     "2011-04-30": "Liberation Day/Reunification Day",
     "2011-05-01": "International Labor Day",
@@ -701,10 +543,10 @@
     "2012-01-02": "New Year's Day (observed)",
     "2012-01-22": "Lunar New Year's Eve",
     "2012-01-23": "Lunar New Year",
-    "2012-01-24": "The second day of Tet Holiday",
-    "2012-01-25": "The third day of Tet Holiday",
-    "2012-01-26": "The fourth day of Tet Holiday",
-    "2012-01-27": "The fifth day of Tet Holiday",
+    "2012-01-24": "Second Day of Lunar New Year",
+    "2012-01-25": "Third Day of Lunar New Year",
+    "2012-01-26": "Fourth Day of Lunar New Year",
+    "2012-01-27": "Day off (substituted from 02/04/2012)",
     "2012-03-31": "Hung Kings' Commemoration Day",
     "2012-04-02": "Hung Kings' Commemoration Day (observed)",
     "2012-04-30": "Liberation Day/Reunification Day",
@@ -714,43 +556,52 @@
     "2013-01-01": "New Year's Day",
     "2013-02-09": "Lunar New Year's Eve",
     "2013-02-10": "Lunar New Year",
-    "2013-02-11": "The second day of Tet Holiday",
-    "2013-02-12": "The third day of Tet Holiday",
-    "2013-02-13": "The fourth day of Tet Holiday",
-    "2013-02-14": "The fifth day of Tet Holiday",
+    "2013-02-11": "Second Day of Lunar New Year",
+    "2013-02-12": "Third Day of Lunar New Year",
+    "2013-02-13": "Fourth Day of Lunar New Year",
+    "2013-02-14": "Fifth Day of Lunar New Year",
+    "2013-02-15": "Sixth Day of Lunar New Year",
     "2013-04-19": "Hung Kings' Commemoration Day",
+    "2013-04-29": "Day off (substituted from 05/04/2013)",
     "2013-04-30": "Liberation Day/Reunification Day",
     "2013-05-01": "International Labor Day",
     "2013-09-02": "National Day",
     "2014-01-01": "New Year's Day",
+    "2014-01-29": "29 of Lunar New Year",
     "2014-01-30": "Lunar New Year's Eve",
     "2014-01-31": "Lunar New Year",
-    "2014-02-01": "The second day of Tet Holiday",
-    "2014-02-02": "The third day of Tet Holiday",
-    "2014-02-03": "The fourth day of Tet Holiday",
-    "2014-02-04": "The fifth day of Tet Holiday",
+    "2014-02-01": "Second Day of Lunar New Year",
+    "2014-02-02": "Third Day of Lunar New Year",
+    "2014-02-03": "Fourth Day of Lunar New Year",
+    "2014-02-04": "Fifth Day of Lunar New Year",
     "2014-04-09": "Hung Kings' Commemoration Day",
     "2014-04-30": "Liberation Day/Reunification Day",
     "2014-05-01": "International Labor Day",
+    "2014-05-02": "Day off (substituted from 04/26/2014)",
+    "2014-09-01": "Day off (substituted from 09/06/2014)",
     "2014-09-02": "National Day",
     "2015-01-01": "New Year's Day",
+    "2015-01-02": "Day off (substituted from 12/27/2014)",
+    "2015-02-16": "Day off (substituted from 02/14/2015)",
+    "2015-02-17": "29 of Lunar New Year",
     "2015-02-18": "Lunar New Year's Eve",
     "2015-02-19": "Lunar New Year",
-    "2015-02-20": "The second day of Tet Holiday",
-    "2015-02-21": "The third day of Tet Holiday",
-    "2015-02-22": "The fourth day of Tet Holiday",
-    "2015-02-23": "The fifth day of Tet Holiday",
+    "2015-02-20": "Second Day of Lunar New Year",
+    "2015-02-21": "Third Day of Lunar New Year",
+    "2015-02-22": "Fourth Day of Lunar New Year",
+    "2015-02-23": "Fifth Day of Lunar New Year",
     "2015-04-28": "Hung Kings' Commemoration Day",
+    "2015-04-29": "Day off (substituted from 04/25/2015)",
     "2015-04-30": "Liberation Day/Reunification Day",
     "2015-05-01": "International Labor Day",
     "2015-09-02": "National Day",
     "2016-01-01": "New Year's Day",
     "2016-02-07": "Lunar New Year's Eve",
     "2016-02-08": "Lunar New Year",
-    "2016-02-09": "The second day of Tet Holiday",
-    "2016-02-10": "The third day of Tet Holiday",
-    "2016-02-11": "The fourth day of Tet Holiday",
-    "2016-02-12": "The fifth day of Tet Holiday",
+    "2016-02-09": "Second Day of Lunar New Year",
+    "2016-02-10": "Third Day of Lunar New Year",
+    "2016-02-11": "Fourth Day of Lunar New Year",
+    "2016-02-12": "Fifth Day of Lunar New Year",
     "2016-04-16": "Hung Kings' Commemoration Day",
     "2016-04-18": "Hung Kings' Commemoration Day (observed)",
     "2016-04-30": "Liberation Day/Reunification Day",
@@ -760,12 +611,13 @@
     "2016-09-02": "National Day",
     "2017-01-01": "New Year's Day",
     "2017-01-02": "New Year's Day (observed)",
+    "2017-01-26": "29 of Lunar New Year",
     "2017-01-27": "Lunar New Year's Eve",
     "2017-01-28": "Lunar New Year",
-    "2017-01-29": "The second day of Tet Holiday",
-    "2017-01-30": "The third day of Tet Holiday",
-    "2017-01-31": "The fourth day of Tet Holiday",
-    "2017-02-01": "The fifth day of Tet Holiday",
+    "2017-01-29": "Second Day of Lunar New Year",
+    "2017-01-30": "Third Day of Lunar New Year",
+    "2017-01-31": "Fourth Day of Lunar New Year",
+    "2017-02-01": "Fifth Day of Lunar New Year",
     "2017-04-06": "Hung Kings' Commemoration Day",
     "2017-04-30": "Liberation Day/Reunification Day",
     "2017-05-01": "International Labor Day",
@@ -773,414 +625,459 @@
     "2017-09-02": "National Day",
     "2017-09-04": "National Day (observed)",
     "2018-01-01": "New Year's Day",
+    "2018-02-14": "29 of Lunar New Year",
     "2018-02-15": "Lunar New Year's Eve",
     "2018-02-16": "Lunar New Year",
-    "2018-02-17": "The second day of Tet Holiday",
-    "2018-02-18": "The third day of Tet Holiday",
-    "2018-02-19": "The fourth day of Tet Holiday",
-    "2018-02-20": "The fifth day of Tet Holiday",
+    "2018-02-17": "Second Day of Lunar New Year",
+    "2018-02-18": "Third Day of Lunar New Year",
+    "2018-02-19": "Fourth Day of Lunar New Year",
+    "2018-02-20": "Fifth Day of Lunar New Year",
     "2018-04-25": "Hung Kings' Commemoration Day",
     "2018-04-30": "Liberation Day/Reunification Day",
     "2018-05-01": "International Labor Day",
     "2018-09-02": "National Day",
     "2018-09-03": "National Day (observed)",
+    "2018-12-31": "Day off (substituted from 01/05/2019)",
     "2019-01-01": "New Year's Day",
     "2019-02-04": "Lunar New Year's Eve",
     "2019-02-05": "Lunar New Year",
-    "2019-02-06": "The second day of Tet Holiday",
-    "2019-02-07": "The third day of Tet Holiday",
-    "2019-02-08": "The fourth day of Tet Holiday",
-    "2019-02-09": "The fifth day of Tet Holiday",
+    "2019-02-06": "Second Day of Lunar New Year",
+    "2019-02-07": "Third Day of Lunar New Year",
+    "2019-02-08": "Fourth Day of Lunar New Year",
     "2019-04-14": "Hung Kings' Commemoration Day",
     "2019-04-15": "Hung Kings' Commemoration Day (observed)",
+    "2019-04-29": "Day off (substituted from 05/04/2019)",
     "2019-04-30": "Liberation Day/Reunification Day",
     "2019-05-01": "International Labor Day",
     "2019-09-02": "National Day",
     "2020-01-01": "New Year's Day",
+    "2020-01-23": "29 of Lunar New Year",
     "2020-01-24": "Lunar New Year's Eve",
     "2020-01-25": "Lunar New Year",
-    "2020-01-26": "The second day of Tet Holiday",
-    "2020-01-27": "The third day of Tet Holiday",
-    "2020-01-28": "The fourth day of Tet Holiday",
-    "2020-01-29": "The fifth day of Tet Holiday",
+    "2020-01-26": "Second Day of Lunar New Year",
+    "2020-01-27": "Third Day of Lunar New Year",
+    "2020-01-28": "Fourth Day of Lunar New Year",
+    "2020-01-29": "Fifth Day of Lunar New Year",
     "2020-04-02": "Hung Kings' Commemoration Day",
     "2020-04-30": "Liberation Day/Reunification Day",
     "2020-05-01": "International Labor Day",
     "2020-09-02": "National Day",
     "2021-01-01": "New Year's Day",
+    "2021-02-10": "29 of Lunar New Year",
     "2021-02-11": "Lunar New Year's Eve",
     "2021-02-12": "Lunar New Year",
-    "2021-02-13": "The second day of Tet Holiday",
-    "2021-02-14": "The third day of Tet Holiday",
-    "2021-02-15": "The fourth day of Tet Holiday",
-    "2021-02-16": "The fifth day of Tet Holiday",
+    "2021-02-13": "Second Day of Lunar New Year",
+    "2021-02-14": "Third Day of Lunar New Year",
+    "2021-02-15": "Fourth Day of Lunar New Year",
+    "2021-02-16": "Fifth Day of Lunar New Year",
     "2021-04-21": "Hung Kings' Commemoration Day",
     "2021-04-30": "Liberation Day/Reunification Day",
     "2021-05-01": "International Labor Day",
     "2021-05-03": "International Labor Day (observed)",
     "2021-09-02": "National Day",
+    "2021-09-03": "National Day",
     "2022-01-01": "New Year's Day",
     "2022-01-03": "New Year's Day (observed)",
     "2022-01-31": "Lunar New Year's Eve",
     "2022-02-01": "Lunar New Year",
-    "2022-02-02": "The second day of Tet Holiday",
-    "2022-02-03": "The third day of Tet Holiday",
-    "2022-02-04": "The fourth day of Tet Holiday",
-    "2022-02-05": "The fifth day of Tet Holiday",
+    "2022-02-02": "Second Day of Lunar New Year",
+    "2022-02-03": "Third Day of Lunar New Year",
+    "2022-02-04": "Fourth Day of Lunar New Year",
     "2022-04-10": "Hung Kings' Commemoration Day",
     "2022-04-11": "Hung Kings' Commemoration Day (observed)",
     "2022-04-30": "Liberation Day/Reunification Day",
     "2022-05-01": "International Labor Day",
     "2022-05-02": "Liberation Day/Reunification Day (observed)",
     "2022-05-03": "International Labor Day (observed)",
+    "2022-09-01": "National Day",
     "2022-09-02": "National Day",
     "2023-01-01": "New Year's Day",
     "2023-01-02": "New Year's Day (observed)",
+    "2023-01-20": "29 of Lunar New Year",
     "2023-01-21": "Lunar New Year's Eve",
     "2023-01-22": "Lunar New Year",
-    "2023-01-23": "The second day of Tet Holiday",
-    "2023-01-24": "The third day of Tet Holiday",
-    "2023-01-25": "The fourth day of Tet Holiday",
-    "2023-01-26": "The fifth day of Tet Holiday",
+    "2023-01-23": "Second Day of Lunar New Year",
+    "2023-01-24": "Third Day of Lunar New Year",
+    "2023-01-25": "Fourth Day of Lunar New Year",
+    "2023-01-26": "Fifth Day of Lunar New Year",
     "2023-04-29": "Hung Kings' Commemoration Day",
     "2023-04-30": "Liberation Day/Reunification Day",
     "2023-05-01": "International Labor Day",
     "2023-05-02": "Hung Kings' Commemoration Day (observed)",
     "2023-05-03": "Liberation Day/Reunification Day (observed)",
+    "2023-09-01": "National Day",
     "2023-09-02": "National Day",
     "2023-09-04": "National Day (observed)",
     "2024-01-01": "New Year's Day",
+    "2024-02-08": "29 of Lunar New Year",
     "2024-02-09": "Lunar New Year's Eve",
     "2024-02-10": "Lunar New Year",
-    "2024-02-11": "The second day of Tet Holiday",
-    "2024-02-12": "The third day of Tet Holiday",
-    "2024-02-13": "The fourth day of Tet Holiday",
-    "2024-02-14": "The fifth day of Tet Holiday",
+    "2024-02-11": "Second Day of Lunar New Year",
+    "2024-02-12": "Third Day of Lunar New Year",
+    "2024-02-13": "Fourth Day of Lunar New Year",
+    "2024-02-14": "Fifth Day of Lunar New Year",
     "2024-04-18": "Hung Kings' Commemoration Day",
+    "2024-04-29": "Day off (substituted from 05/04/2024)",
     "2024-04-30": "Liberation Day/Reunification Day",
     "2024-05-01": "International Labor Day",
     "2024-09-02": "National Day",
+    "2024-09-03": "National Day",
     "2025-01-01": "New Year's Day",
+    "2025-01-27": "29 of Lunar New Year",
     "2025-01-28": "Lunar New Year's Eve",
     "2025-01-29": "Lunar New Year",
-    "2025-01-30": "The second day of Tet Holiday",
-    "2025-01-31": "The third day of Tet Holiday",
-    "2025-02-01": "The fourth day of Tet Holiday",
-    "2025-02-02": "The fifth day of Tet Holiday",
+    "2025-01-30": "Second Day of Lunar New Year",
+    "2025-01-31": "Third Day of Lunar New Year",
+    "2025-02-01": "Fourth Day of Lunar New Year",
     "2025-04-07": "Hung Kings' Commemoration Day",
     "2025-04-30": "Liberation Day/Reunification Day",
     "2025-05-01": "International Labor Day",
+    "2025-09-01": "National Day",
     "2025-09-02": "National Day",
     "2026-01-01": "New Year's Day",
     "2026-02-16": "Lunar New Year's Eve",
     "2026-02-17": "Lunar New Year",
-    "2026-02-18": "The second day of Tet Holiday",
-    "2026-02-19": "The third day of Tet Holiday",
-    "2026-02-20": "The fourth day of Tet Holiday",
-    "2026-02-21": "The fifth day of Tet Holiday",
+    "2026-02-18": "Second Day of Lunar New Year",
+    "2026-02-19": "Third Day of Lunar New Year",
+    "2026-02-20": "Fourth Day of Lunar New Year",
     "2026-04-26": "Hung Kings' Commemoration Day",
     "2026-04-27": "Hung Kings' Commemoration Day (observed)",
     "2026-04-30": "Liberation Day/Reunification Day",
     "2026-05-01": "International Labor Day",
+    "2026-09-01": "National Day",
     "2026-09-02": "National Day",
     "2027-01-01": "New Year's Day",
+    "2027-02-04": "29 of Lunar New Year",
     "2027-02-05": "Lunar New Year's Eve",
     "2027-02-06": "Lunar New Year",
-    "2027-02-07": "The second day of Tet Holiday",
-    "2027-02-08": "The third day of Tet Holiday",
-    "2027-02-09": "The fourth day of Tet Holiday",
-    "2027-02-10": "The fifth day of Tet Holiday",
+    "2027-02-07": "Second Day of Lunar New Year",
+    "2027-02-08": "Third Day of Lunar New Year",
+    "2027-02-09": "Fourth Day of Lunar New Year",
+    "2027-02-10": "Fifth Day of Lunar New Year",
     "2027-04-16": "Hung Kings' Commemoration Day",
     "2027-04-30": "Liberation Day/Reunification Day",
     "2027-05-01": "International Labor Day",
     "2027-05-03": "International Labor Day (observed)",
     "2027-09-02": "National Day",
+    "2027-09-03": "National Day",
     "2028-01-01": "New Year's Day",
     "2028-01-03": "New Year's Day (observed)",
+    "2028-01-24": "29 of Lunar New Year",
     "2028-01-25": "Lunar New Year's Eve",
     "2028-01-26": "Lunar New Year",
-    "2028-01-27": "The second day of Tet Holiday",
-    "2028-01-28": "The third day of Tet Holiday",
-    "2028-01-29": "The fourth day of Tet Holiday",
-    "2028-01-30": "The fifth day of Tet Holiday",
+    "2028-01-27": "Second Day of Lunar New Year",
+    "2028-01-28": "Third Day of Lunar New Year",
+    "2028-01-29": "Fourth Day of Lunar New Year",
     "2028-04-04": "Hung Kings' Commemoration Day",
     "2028-04-30": "Liberation Day/Reunification Day",
     "2028-05-01": "International Labor Day",
     "2028-05-02": "Liberation Day/Reunification Day (observed)",
+    "2028-09-01": "National Day",
     "2028-09-02": "National Day",
     "2028-09-04": "National Day (observed)",
     "2029-01-01": "New Year's Day",
     "2029-02-12": "Lunar New Year's Eve",
     "2029-02-13": "Lunar New Year",
-    "2029-02-14": "The second day of Tet Holiday",
-    "2029-02-15": "The third day of Tet Holiday",
-    "2029-02-16": "The fourth day of Tet Holiday",
-    "2029-02-17": "The fifth day of Tet Holiday",
+    "2029-02-14": "Second Day of Lunar New Year",
+    "2029-02-15": "Third Day of Lunar New Year",
+    "2029-02-16": "Fourth Day of Lunar New Year",
     "2029-04-23": "Hung Kings' Commemoration Day",
     "2029-04-30": "Liberation Day/Reunification Day",
     "2029-05-01": "International Labor Day",
     "2029-09-02": "National Day",
-    "2029-09-03": "National Day (observed)",
+    "2029-09-03": "National Day",
+    "2029-09-04": "National Day (observed)",
     "2030-01-01": "New Year's Day",
+    "2030-02-01": "29 of Lunar New Year",
     "2030-02-02": "Lunar New Year's Eve",
     "2030-02-03": "Lunar New Year",
-    "2030-02-04": "The second day of Tet Holiday",
-    "2030-02-05": "The third day of Tet Holiday",
-    "2030-02-06": "The fourth day of Tet Holiday",
-    "2030-02-07": "The fifth day of Tet Holiday",
+    "2030-02-04": "Second Day of Lunar New Year",
+    "2030-02-05": "Third Day of Lunar New Year",
+    "2030-02-06": "Fourth Day of Lunar New Year",
+    "2030-02-07": "Fifth Day of Lunar New Year",
     "2030-04-12": "Hung Kings' Commemoration Day",
     "2030-04-30": "Liberation Day/Reunification Day",
     "2030-05-01": "International Labor Day",
     "2030-09-02": "National Day",
+    "2030-09-03": "National Day",
     "2031-01-01": "New Year's Day",
+    "2031-01-21": "29 of Lunar New Year",
     "2031-01-22": "Lunar New Year's Eve",
     "2031-01-23": "Lunar New Year",
-    "2031-01-24": "The second day of Tet Holiday",
-    "2031-01-25": "The third day of Tet Holiday",
-    "2031-01-26": "The fourth day of Tet Holiday",
-    "2031-01-27": "The fifth day of Tet Holiday",
+    "2031-01-24": "Second Day of Lunar New Year",
+    "2031-01-25": "Third Day of Lunar New Year",
+    "2031-01-26": "Fourth Day of Lunar New Year",
+    "2031-01-27": "Fifth Day of Lunar New Year",
     "2031-04-01": "Hung Kings' Commemoration Day",
     "2031-04-30": "Liberation Day/Reunification Day",
     "2031-05-01": "International Labor Day",
+    "2031-09-01": "National Day",
     "2031-09-02": "National Day",
     "2032-01-01": "New Year's Day",
+    "2032-02-09": "29 of Lunar New Year",
     "2032-02-10": "Lunar New Year's Eve",
     "2032-02-11": "Lunar New Year",
-    "2032-02-12": "The second day of Tet Holiday",
-    "2032-02-13": "The third day of Tet Holiday",
-    "2032-02-14": "The fourth day of Tet Holiday",
-    "2032-02-15": "The fifth day of Tet Holiday",
+    "2032-02-12": "Second Day of Lunar New Year",
+    "2032-02-13": "Third Day of Lunar New Year",
+    "2032-02-14": "Fourth Day of Lunar New Year",
     "2032-04-19": "Hung Kings' Commemoration Day",
     "2032-04-30": "Liberation Day/Reunification Day",
     "2032-05-01": "International Labor Day",
     "2032-05-03": "International Labor Day (observed)",
     "2032-09-02": "National Day",
+    "2032-09-03": "National Day",
     "2033-01-01": "New Year's Day",
     "2033-01-03": "New Year's Day (observed)",
     "2033-01-30": "Lunar New Year's Eve",
     "2033-01-31": "Lunar New Year",
-    "2033-02-01": "The second day of Tet Holiday",
-    "2033-02-02": "The third day of Tet Holiday",
-    "2033-02-03": "The fourth day of Tet Holiday",
-    "2033-02-04": "The fifth day of Tet Holiday",
+    "2033-02-01": "Second Day of Lunar New Year",
+    "2033-02-02": "Third Day of Lunar New Year",
+    "2033-02-03": "Fourth Day of Lunar New Year",
+    "2033-02-04": "Fifth Day of Lunar New Year",
     "2033-04-09": "Hung Kings' Commemoration Day",
     "2033-04-11": "Hung Kings' Commemoration Day (observed)",
     "2033-04-30": "Liberation Day/Reunification Day",
     "2033-05-01": "International Labor Day",
     "2033-05-02": "Liberation Day/Reunification Day (observed)",
     "2033-05-03": "International Labor Day (observed)",
+    "2033-09-01": "National Day",
     "2033-09-02": "National Day",
     "2034-01-01": "New Year's Day",
     "2034-01-02": "New Year's Day (observed)",
+    "2034-02-17": "29 of Lunar New Year",
     "2034-02-18": "Lunar New Year's Eve",
     "2034-02-19": "Lunar New Year",
-    "2034-02-20": "The second day of Tet Holiday",
-    "2034-02-21": "The third day of Tet Holiday",
-    "2034-02-22": "The fourth day of Tet Holiday",
-    "2034-02-23": "The fifth day of Tet Holiday",
+    "2034-02-20": "Second Day of Lunar New Year",
+    "2034-02-21": "Third Day of Lunar New Year",
+    "2034-02-22": "Fourth Day of Lunar New Year",
+    "2034-02-23": "Fifth Day of Lunar New Year",
     "2034-04-28": "Hung Kings' Commemoration Day",
     "2034-04-30": "Liberation Day/Reunification Day",
     "2034-05-01": "International Labor Day",
     "2034-05-02": "Liberation Day/Reunification Day (observed)",
+    "2034-09-01": "National Day",
     "2034-09-02": "National Day",
     "2034-09-04": "National Day (observed)",
     "2035-01-01": "New Year's Day",
+    "2035-02-06": "29 of Lunar New Year",
     "2035-02-07": "Lunar New Year's Eve",
     "2035-02-08": "Lunar New Year",
-    "2035-02-09": "The second day of Tet Holiday",
-    "2035-02-10": "The third day of Tet Holiday",
-    "2035-02-11": "The fourth day of Tet Holiday",
-    "2035-02-12": "The fifth day of Tet Holiday",
+    "2035-02-09": "Second Day of Lunar New Year",
+    "2035-02-10": "Third Day of Lunar New Year",
+    "2035-02-11": "Fourth Day of Lunar New Year",
+    "2035-02-12": "Fifth Day of Lunar New Year",
     "2035-04-17": "Hung Kings' Commemoration Day",
     "2035-04-30": "Liberation Day/Reunification Day",
     "2035-05-01": "International Labor Day",
     "2035-09-02": "National Day",
-    "2035-09-03": "National Day (observed)",
+    "2035-09-03": "National Day",
+    "2035-09-04": "National Day (observed)",
     "2036-01-01": "New Year's Day",
     "2036-01-27": "Lunar New Year's Eve",
     "2036-01-28": "Lunar New Year",
-    "2036-01-29": "The second day of Tet Holiday",
-    "2036-01-30": "The third day of Tet Holiday",
-    "2036-01-31": "The fourth day of Tet Holiday",
-    "2036-02-01": "The fifth day of Tet Holiday",
+    "2036-01-29": "Second Day of Lunar New Year",
+    "2036-01-30": "Third Day of Lunar New Year",
+    "2036-01-31": "Fourth Day of Lunar New Year",
+    "2036-02-01": "Fifth Day of Lunar New Year",
     "2036-04-06": "Hung Kings' Commemoration Day",
     "2036-04-07": "Hung Kings' Commemoration Day (observed)",
     "2036-04-30": "Liberation Day/Reunification Day",
     "2036-05-01": "International Labor Day",
+    "2036-09-01": "National Day",
     "2036-09-02": "National Day",
     "2037-01-01": "New Year's Day",
+    "2037-02-13": "29 of Lunar New Year",
     "2037-02-14": "Lunar New Year's Eve",
     "2037-02-15": "Lunar New Year",
-    "2037-02-16": "The second day of Tet Holiday",
-    "2037-02-17": "The third day of Tet Holiday",
-    "2037-02-18": "The fourth day of Tet Holiday",
-    "2037-02-19": "The fifth day of Tet Holiday",
+    "2037-02-16": "Second Day of Lunar New Year",
+    "2037-02-17": "Third Day of Lunar New Year",
+    "2037-02-18": "Fourth Day of Lunar New Year",
+    "2037-02-19": "Fifth Day of Lunar New Year",
     "2037-04-25": "Hung Kings' Commemoration Day",
     "2037-04-27": "Hung Kings' Commemoration Day (observed)",
     "2037-04-30": "Liberation Day/Reunification Day",
     "2037-05-01": "International Labor Day",
+    "2037-09-01": "National Day",
     "2037-09-02": "National Day",
     "2038-01-01": "New Year's Day",
+    "2038-02-02": "29 of Lunar New Year",
     "2038-02-03": "Lunar New Year's Eve",
     "2038-02-04": "Lunar New Year",
-    "2038-02-05": "The second day of Tet Holiday",
-    "2038-02-06": "The third day of Tet Holiday",
-    "2038-02-07": "The fourth day of Tet Holiday",
-    "2038-02-08": "The fifth day of Tet Holiday",
+    "2038-02-05": "Second Day of Lunar New Year",
+    "2038-02-06": "Third Day of Lunar New Year",
+    "2038-02-07": "Fourth Day of Lunar New Year",
+    "2038-02-08": "Fifth Day of Lunar New Year",
     "2038-04-14": "Hung Kings' Commemoration Day",
     "2038-04-30": "Liberation Day/Reunification Day",
     "2038-05-01": "International Labor Day",
     "2038-05-03": "International Labor Day (observed)",
     "2038-09-02": "National Day",
+    "2038-09-03": "National Day",
     "2039-01-01": "New Year's Day",
     "2039-01-03": "New Year's Day (observed)",
     "2039-01-23": "Lunar New Year's Eve",
     "2039-01-24": "Lunar New Year",
-    "2039-01-25": "The second day of Tet Holiday",
-    "2039-01-26": "The third day of Tet Holiday",
-    "2039-01-27": "The fourth day of Tet Holiday",
-    "2039-01-28": "The fifth day of Tet Holiday",
+    "2039-01-25": "Second Day of Lunar New Year",
+    "2039-01-26": "Third Day of Lunar New Year",
+    "2039-01-27": "Fourth Day of Lunar New Year",
+    "2039-01-28": "Fifth Day of Lunar New Year",
     "2039-04-03": "Hung Kings' Commemoration Day",
     "2039-04-04": "Hung Kings' Commemoration Day (observed)",
     "2039-04-30": "Liberation Day/Reunification Day",
     "2039-05-01": "International Labor Day",
     "2039-05-02": "Liberation Day/Reunification Day (observed)",
     "2039-05-03": "International Labor Day (observed)",
+    "2039-09-01": "National Day",
     "2039-09-02": "National Day",
     "2040-01-01": "New Year's Day",
     "2040-01-02": "New Year's Day (observed)",
+    "2040-02-10": "29 of Lunar New Year",
     "2040-02-11": "Lunar New Year's Eve",
     "2040-02-12": "Lunar New Year",
-    "2040-02-13": "The second day of Tet Holiday",
-    "2040-02-14": "The third day of Tet Holiday",
-    "2040-02-15": "The fourth day of Tet Holiday",
-    "2040-02-16": "The fifth day of Tet Holiday",
+    "2040-02-13": "Second Day of Lunar New Year",
+    "2040-02-14": "Third Day of Lunar New Year",
+    "2040-02-15": "Fourth Day of Lunar New Year",
+    "2040-02-16": "Fifth Day of Lunar New Year",
     "2040-04-20": "Hung Kings' Commemoration Day",
     "2040-04-30": "Liberation Day/Reunification Day",
     "2040-05-01": "International Labor Day",
     "2040-09-02": "National Day",
-    "2040-09-03": "National Day (observed)",
+    "2040-09-03": "National Day",
+    "2040-09-04": "National Day (observed)",
     "2041-01-01": "New Year's Day",
+    "2041-01-30": "29 of Lunar New Year",
     "2041-01-31": "Lunar New Year's Eve",
     "2041-02-01": "Lunar New Year",
-    "2041-02-02": "The second day of Tet Holiday",
-    "2041-02-03": "The third day of Tet Holiday",
-    "2041-02-04": "The fourth day of Tet Holiday",
-    "2041-02-05": "The fifth day of Tet Holiday",
+    "2041-02-02": "Second Day of Lunar New Year",
+    "2041-02-03": "Third Day of Lunar New Year",
+    "2041-02-04": "Fourth Day of Lunar New Year",
+    "2041-02-05": "Fifth Day of Lunar New Year",
     "2041-04-10": "Hung Kings' Commemoration Day",
     "2041-04-30": "Liberation Day/Reunification Day",
     "2041-05-01": "International Labor Day",
     "2041-09-02": "National Day",
+    "2041-09-03": "National Day",
     "2042-01-01": "New Year's Day",
+    "2042-01-20": "29 of Lunar New Year",
     "2042-01-21": "Lunar New Year's Eve",
     "2042-01-22": "Lunar New Year",
-    "2042-01-23": "The second day of Tet Holiday",
-    "2042-01-24": "The third day of Tet Holiday",
-    "2042-01-25": "The fourth day of Tet Holiday",
-    "2042-01-26": "The fifth day of Tet Holiday",
+    "2042-01-23": "Second Day of Lunar New Year",
+    "2042-01-24": "Third Day of Lunar New Year",
+    "2042-01-25": "Fourth Day of Lunar New Year",
     "2042-04-29": "Hung Kings' Commemoration Day",
     "2042-04-30": "Liberation Day/Reunification Day",
     "2042-05-01": "International Labor Day",
+    "2042-09-01": "National Day",
     "2042-09-02": "National Day",
     "2043-01-01": "New Year's Day",
     "2043-02-09": "Lunar New Year's Eve",
     "2043-02-10": "Lunar New Year",
-    "2043-02-11": "The second day of Tet Holiday",
-    "2043-02-12": "The third day of Tet Holiday",
-    "2043-02-13": "The fourth day of Tet Holiday",
-    "2043-02-14": "The fifth day of Tet Holiday",
+    "2043-02-11": "Second Day of Lunar New Year",
+    "2043-02-12": "Third Day of Lunar New Year",
+    "2043-02-13": "Fourth Day of Lunar New Year",
     "2043-04-19": "Hung Kings' Commemoration Day",
     "2043-04-20": "Hung Kings' Commemoration Day (observed)",
     "2043-04-30": "Liberation Day/Reunification Day",
     "2043-05-01": "International Labor Day",
+    "2043-09-01": "National Day",
     "2043-09-02": "National Day",
     "2044-01-01": "New Year's Day",
+    "2044-01-28": "29 of Lunar New Year",
     "2044-01-29": "Lunar New Year's Eve",
     "2044-01-30": "Lunar New Year",
-    "2044-01-31": "The second day of Tet Holiday",
-    "2044-02-01": "The third day of Tet Holiday",
-    "2044-02-02": "The fourth day of Tet Holiday",
-    "2044-02-03": "The fifth day of Tet Holiday",
+    "2044-01-31": "Second Day of Lunar New Year",
+    "2044-02-01": "Third Day of Lunar New Year",
+    "2044-02-02": "Fourth Day of Lunar New Year",
+    "2044-02-03": "Fifth Day of Lunar New Year",
     "2044-04-07": "Hung Kings' Commemoration Day",
     "2044-04-30": "Liberation Day/Reunification Day",
     "2044-05-01": "International Labor Day",
     "2044-05-02": "Liberation Day/Reunification Day (observed)",
     "2044-05-03": "International Labor Day (observed)",
+    "2044-09-01": "National Day",
     "2044-09-02": "National Day",
     "2045-01-01": "New Year's Day",
     "2045-01-02": "New Year's Day (observed)",
+    "2045-02-15": "29 of Lunar New Year",
     "2045-02-16": "Lunar New Year's Eve",
     "2045-02-17": "Lunar New Year",
-    "2045-02-18": "The second day of Tet Holiday",
-    "2045-02-19": "The third day of Tet Holiday",
-    "2045-02-20": "The fourth day of Tet Holiday",
-    "2045-02-21": "The fifth day of Tet Holiday",
+    "2045-02-18": "Second Day of Lunar New Year",
+    "2045-02-19": "Third Day of Lunar New Year",
+    "2045-02-20": "Fourth Day of Lunar New Year",
+    "2045-02-21": "Fifth Day of Lunar New Year",
     "2045-04-26": "Hung Kings' Commemoration Day",
     "2045-04-30": "Liberation Day/Reunification Day",
     "2045-05-01": "International Labor Day",
     "2045-05-02": "Liberation Day/Reunification Day (observed)",
+    "2045-09-01": "National Day",
     "2045-09-02": "National Day",
     "2045-09-04": "National Day (observed)",
     "2046-01-01": "New Year's Day",
     "2046-02-05": "Lunar New Year's Eve",
     "2046-02-06": "Lunar New Year",
-    "2046-02-07": "The second day of Tet Holiday",
-    "2046-02-08": "The third day of Tet Holiday",
-    "2046-02-09": "The fourth day of Tet Holiday",
-    "2046-02-10": "The fifth day of Tet Holiday",
+    "2046-02-07": "Second Day of Lunar New Year",
+    "2046-02-08": "Third Day of Lunar New Year",
+    "2046-02-09": "Fourth Day of Lunar New Year",
     "2046-04-15": "Hung Kings' Commemoration Day",
     "2046-04-16": "Hung Kings' Commemoration Day (observed)",
     "2046-04-30": "Liberation Day/Reunification Day",
     "2046-05-01": "International Labor Day",
     "2046-09-02": "National Day",
-    "2046-09-03": "National Day (observed)",
+    "2046-09-03": "National Day",
+    "2046-09-04": "National Day (observed)",
     "2047-01-01": "New Year's Day",
+    "2047-01-24": "29 of Lunar New Year",
     "2047-01-25": "Lunar New Year's Eve",
     "2047-01-26": "Lunar New Year",
-    "2047-01-27": "The second day of Tet Holiday",
-    "2047-01-28": "The third day of Tet Holiday",
-    "2047-01-29": "The fourth day of Tet Holiday",
-    "2047-01-30": "The fifth day of Tet Holiday",
+    "2047-01-27": "Second Day of Lunar New Year",
+    "2047-01-28": "Third Day of Lunar New Year",
+    "2047-01-29": "Fourth Day of Lunar New Year",
+    "2047-01-30": "Fifth Day of Lunar New Year",
     "2047-04-04": "Hung Kings' Commemoration Day",
     "2047-04-30": "Liberation Day/Reunification Day",
     "2047-05-01": "International Labor Day",
     "2047-09-02": "National Day",
+    "2047-09-03": "National Day",
     "2048-01-01": "New Year's Day",
+    "2048-02-12": "29 of Lunar New Year",
     "2048-02-13": "Lunar New Year's Eve",
     "2048-02-14": "Lunar New Year",
-    "2048-02-15": "The second day of Tet Holiday",
-    "2048-02-16": "The third day of Tet Holiday",
-    "2048-02-17": "The fourth day of Tet Holiday",
-    "2048-02-18": "The fifth day of Tet Holiday",
+    "2048-02-15": "Second Day of Lunar New Year",
+    "2048-02-16": "Third Day of Lunar New Year",
+    "2048-02-17": "Fourth Day of Lunar New Year",
+    "2048-02-18": "Fifth Day of Lunar New Year",
     "2048-04-22": "Hung Kings' Commemoration Day",
     "2048-04-30": "Liberation Day/Reunification Day",
     "2048-05-01": "International Labor Day",
+    "2048-09-01": "National Day",
     "2048-09-02": "National Day",
     "2049-01-01": "New Year's Day",
     "2049-02-01": "Lunar New Year's Eve",
     "2049-02-02": "Lunar New Year",
-    "2049-02-03": "The second day of Tet Holiday",
-    "2049-02-04": "The third day of Tet Holiday",
-    "2049-02-05": "The fourth day of Tet Holiday",
-    "2049-02-06": "The fifth day of Tet Holiday",
+    "2049-02-03": "Second Day of Lunar New Year",
+    "2049-02-04": "Third Day of Lunar New Year",
+    "2049-02-05": "Fourth Day of Lunar New Year",
     "2049-04-11": "Hung Kings' Commemoration Day",
     "2049-04-12": "Hung Kings' Commemoration Day (observed)",
     "2049-04-30": "Liberation Day/Reunification Day",
     "2049-05-01": "International Labor Day",
     "2049-05-03": "International Labor Day (observed)",
     "2049-09-02": "National Day",
+    "2049-09-03": "National Day",
     "2050-01-01": "New Year's Day",
     "2050-01-03": "New Year's Day (observed)",
+    "2050-01-21": "29 of Lunar New Year",
     "2050-01-22": "Lunar New Year's Eve",
     "2050-01-23": "Lunar New Year",
-    "2050-01-24": "The second day of Tet Holiday",
-    "2050-01-25": "The third day of Tet Holiday",
-    "2050-01-26": "The fourth day of Tet Holiday",
-    "2050-01-27": "The fifth day of Tet Holiday",
+    "2050-01-24": "Second Day of Lunar New Year",
+    "2050-01-25": "Third Day of Lunar New Year",
+    "2050-01-26": "Fourth Day of Lunar New Year",
+    "2050-01-27": "Fifth Day of Lunar New Year",
     "2050-04-01": "Hung Kings' Commemoration Day",
     "2050-04-30": "Liberation Day/Reunification Day",
     "2050-05-01": "International Labor Day",
     "2050-05-02": "Liberation Day/Reunification Day (observed)",
     "2050-05-03": "International Labor Day (observed)",
+    "2050-09-01": "National Day",
     "2050-09-02": "National Day"
 }


Test patch:
diff --git a/tests/countries/test_vietnam.py b/tests/countries/test_vietnam.py
index cce21f49..62038528 100644
--- a/tests/countries/test_vietnam.py
+++ b/tests/countries/test_vietnam.py
@@ -32,7 +32,7 @@ class TestVietnam(CommonCountryTests, TestCase):
             "2020-01-01",
         )
 
-    def test_first_day_of_january(self):
+    def test_new_years_day(self):
         self.assertHolidayName("Tết Dương lịch", (f"{year}-01-01" for year in range(1979, 2050)))
 
     def test_lunar_new_year(self):
@@ -53,21 +53,38 @@ class TestVietnam(CommonCountryTests, TestCase):
             (2020, 1, 25),
             (2021, 2, 12),
             (2022, 2, 1),
+            (2023, 1, 22),
+            (2024, 2, 10),
         ):
             dt = date(*dts)
             self.assertHolidayName("Giao thừa Tết Nguyên Đán", _timedelta(dt, -1))
             self.assertHolidayName("Tết Nguyên Đán", dt)
             self.assertHolidayName("Mùng hai Tết Nguyên Đán", _timedelta(dt, +1))
             self.assertHolidayName("Mùng ba Tết Nguyên Đán", _timedelta(dt, +2))
-            self.assertHolidayName("Mùng bốn Tết Nguyên Đán", _timedelta(dt, +3))
-            self.assertHolidayName("Mùng năm Tết Nguyên Đán", _timedelta(dt, +4))
+            if dt.year >= 2013:
+                self.assertHolidayName("Mùng bốn Tết Nguyên Đán", _timedelta(dt, +3))
 
-    def test_king_hung_day(self):
+    def test_hung_kings_day(self):
         self.assertHolidayName(
             "Ngày Giỗ Tổ Hùng Vương",
+            "2007-04-26",
+            "2008-04-15",
+            "2009-04-05",
+            "2010-04-23",
+            "2011-04-12",
+            "2012-03-31",
+            "2013-04-19",
+            "2014-04-09",
+            "2015-04-28",
+            "2016-04-16",
+            "2017-04-06",
+            "2018-04-25",
+            "2019-04-14",
             "2020-04-02",
             "2021-04-21",
             "2022-04-10",
+            "2023-04-29",
+            "2024-04-18",
         )
 
     def test_liberation_day(self):
@@ -78,8 +95,15 @@ class TestVietnam(CommonCountryTests, TestCase):
             "Ngày Quốc tế Lao động", (f"{year}-05-01" for year in range(1979, 2050))
         )
 
-    def test_independence_day(self):
-        self.assertHolidayName("Quốc khánh", (f"{year}-09-02" for year in range(1979, 2050)))
+    def test_national_day(self):
+        self.assertHolidayName(
+            "Quốc khánh",
+            (f"{year}-09-02" for year in range(1979, 2050)),
+            "2021-09-03",
+            "2022-09-01",
+            "2023-09-01",
+            "2024-09-03",
+        )
 
     def test_observed(self):
         observed_holidays = (
@@ -87,7 +111,29 @@ class TestVietnam(CommonCountryTests, TestCase):
             "2012-01-02",
             "2017-01-02",
             "2022-01-03",
+            # Lunar New Year.
+            "2012-01-26",
+            "2013-02-14",
+            "2013-02-15",
+            "2014-01-29",
+            "2014-02-04",
+            "2015-02-17",
+            "2015-02-23",
+            "2016-02-12",
+            "2017-01-26",
+            "2017-02-01",
+            "2018-02-14",
+            "2018-02-20",
+            "2020-01-23",
+            "2020-01-29",
+            "2021-02-10",
+            "2021-02-16",
+            "2023-01-20",
+            "2023-01-26",
+            "2024-02-08",
+            "2024-02-14",
             # Hung Kings' Commemoration Day.
+            "2009-04-06",
             "2012-04-02",
             "2016-04-18",
             "2019-04-15",
@@ -113,6 +159,21 @@ class TestVietnam(CommonCountryTests, TestCase):
         self.assertHoliday(observed_holidays)
         self.assertNoNonObservedHoliday(observed_holidays)
 
+    def test_substituted_holidays(self):
+        self.assertHoliday(
+            "2010-02-19",
+            "2012-01-27",
+            "2013-04-29",
+            "2014-05-02",
+            "2014-09-01",
+            "2015-01-02",
+            "2015-02-16",
+            "2015-04-29",
+            "2018-12-31",
+            "2019-04-29",
+            "2024-04-29",
+        )
+
     def test_l10n_default(self):
         self.assertLocalizedHolidays(
             ("2022-01-01", "Tết Dương lịch"),
@@ -122,13 +183,13 @@ class TestVietnam(CommonCountryTests, TestCase):
             ("2022-02-02", "Mùng hai Tết Nguyên Đán"),
             ("2022-02-03", "Mùng ba Tết Nguyên Đán"),
             ("2022-02-04", "Mùng bốn Tết Nguyên Đán"),
-            ("2022-02-05", "Mùng năm Tết Nguyên Đán"),
             ("2022-04-10", "Ngày Giỗ Tổ Hùng Vương"),
             ("2022-04-11", "Ngày Giỗ Tổ Hùng Vương (nghỉ bù)"),
             ("2022-04-30", "Ngày Chiến thắng"),
             ("2022-05-01", "Ngày Quốc tế Lao động"),
             ("2022-05-02", "Ngày Chiến thắng (nghỉ bù)"),
             ("2022-05-03", "Ngày Quốc tế Lao động (nghỉ bù)"),
+            ("2022-09-01", "Quốc khánh"),
             ("2022-09-02", "Quốc khánh"),
         )
 
@@ -139,15 +200,15 @@ class TestVietnam(CommonCountryTests, TestCase):
             ("2022-01-03", "New Year's Day (observed)"),
             ("2022-01-31", "Lunar New Year's Eve"),
             ("2022-02-01", "Lunar New Year"),
-            ("2022-02-02", "The second day of Tet Holiday"),
-            ("2022-02-03", "The third day of Tet Holiday"),
-            ("2022-02-04", "The fourth day of Tet Holiday"),
-            ("2022-02-05", "The fifth day of Tet Holiday"),
+            ("2022-02-02", "Second Day of Lunar New Year"),
+            ("2022-02-03", "Third Day of Lunar New Year"),
+            ("2022-02-04", "Fourth Day of Lunar New Year"),
             ("2022-04-10", "Hung Kings' Commemoration Day"),
             ("2022-04-11", "Hung Kings' Commemoration Day (observed)"),
             ("2022-04-30", "Liberation Day/Reunification Day"),
             ("2022-05-01", "International Labor Day"),
             ("2022-05-02", "Liberation Day/Reunification Day (observed)"),
             ("2022-05-03", "International Labor Day (observed)"),
+            ("2022-09-01", "National Day"),
             ("2022-09-02", "National Day"),
         )