Repository: vacanza/holidays
Pull request #2488 (2025-04-22 19:56:45)

Extend Chinese Lunisolar calendar support
<!--
  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.
-->

Extend Chinese Lunisolar calendar support:
- add regional calendar variations (due to time zones differences):
  - CHINESE_CALENDAR - UTC+8 timezone (default variant, applicable for China, Hong Kong, Taiwan, Macau, Malaysia, Singapore, Philippines, Indonesia, Brunei)
  - KOREAN_CALENDAR - UTC+9 timezone (applicable for South Korea)
  - VIETNAMESE_CALENDAR - UTC+7 timezone (applicable for Vietnam)
- extend dates support up to year 2100

## 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 successfully run `make check`, all checks and tests are green

<!--
  Thanks again for your contribution!
-->

[contributing-guidelines]: https://github.com/vacanza/holidays/blob/dev/CONTRIBUTING.md
[docs]: https://github.com/vacanza/holidays/tree/dev/docs/source


coderabbitai[bot]: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
<!-- This is an auto-generated comment: review in progress by coderabbit.ai -->

> [!NOTE]
> Currently processing new changes in this PR. This may take a few minutes, please wait...
> 
> <details>
> <summary>📥 Commits</summary>
> 
> Reviewing files that changed from the base of the PR and between ad51a0432db564ccae9a8918e1c57745aedc061c and ecb9d84b2f59bf1c33ff7e00eca943c23825cbe9.
> 
> </details>
> 
> <details>
> <summary>📒 Files selected for processing (12)</summary>
> 
> * `holidays/calendars/buddhist.py` (4 hunks)
> * `holidays/calendars/chinese.py` (9 hunks)
> * `holidays/calendars/hindu.py` (3 hunks)
> * `holidays/countries/indonesia.py` (2 hunks)
> * `holidays/countries/south_korea.py` (2 hunks)
> * `holidays/countries/vietnam.py` (2 hunks)
> * `holidays/groups/chinese.py` (2 hunks)
> * `scripts/calendar/asian_generator.py` (8 hunks)
> * `snapshots/countries/ID_COMMON.json` (1 hunks)
> * `snapshots/countries/VN_COMMON.json` (8 hunks)
> * `tests/calendars/test_chinese.py` (1 hunks)
> * `tests/countries/test_vietnam.py` (1 hunks)
> 
> </details>
> 
> ```ascii
>  ___________________________________________
> < Easter Bunny by day, CodeRabbit by night. >
>  -------------------------------------------
>   \
>    \   (\__/)
>        (•ㅅ•)
>        / 　 づ
> ```

<!-- end of auto-generated comment: review in progress by coderabbit.ai -->
<!-- usage_tips_start -->

> [!TIP]
> <details>
> <summary>CodeRabbit can use Shopify Theme Check to improve the quality of Shopify theme reviews.</summary>
> 
> Add a [configuration file](https://shopify.dev/docs/themes/tools/theme-check) to your project to customize how CodeRabbit runs Shopify Theme Check.
> 
> </details>

<!-- usage_tips_end -->
<!-- tips_start -->

---

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

<details>
<summary>❤️ Share</summary>

- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

</details>

<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=vacanza/holidays&utm_content=2488):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Generate unit testing code for this file.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai generate unit testing code for this file.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and generate unit testing code.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate docstrings` to [generate docstrings](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->
sonarqubecloud[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=2488) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2488&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=2488&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=2488&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=2488&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2488&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2488)


codecov[bot]: ## [Codecov](https://app.codecov.io/gh/vacanza/holidays/pull/2488?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 [(`ad51a04`)](https://app.codecov.io/gh/vacanza/holidays/commit/ad51a0432db564ccae9a8918e1c57745aedc061c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza) to head [(`ecb9d84`)](https://app.codecov.io/gh/vacanza/holidays/commit/ecb9d84b2f59bf1c33ff7e00eca943c23825cbe9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza).

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


```diff
@@            Coverage Diff            @@
##               dev     #2488   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          214       214           
  Lines        13527     13543   +16     
  Branches      1928      1929    +1     
=========================================
+ Hits         13527     13543   +16     
```

</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/vacanza/holidays/pull/2488?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).

<details><summary> :rocket: New features to boost your workflow: </summary>

- :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
</details>
sonarqubecloud[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=2488) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2488&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=2488&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=2488&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=2488&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1.1% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2488&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2488)


sonarqubecloud[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=2488) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2488&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=2488&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=2488&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=2488&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1.1% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2488&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2488)


sonarqubecloud[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=2488) **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=2488&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=2488&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=2488&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=2488&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2488&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2488)


sonarqubecloud[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=2488) **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=2488&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=2488&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=2488&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=2488&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2488&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2488)



Patch:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 08fd4cdb..d0795e8c 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -6,6 +6,10 @@ repos:
       - id: check-builtin-literals
       - id: check-yaml
       - id: end-of-file-fixer
+      - id: file-contents-sorter
+        args:
+          - --unique
+        files: AUTHORS.md
       - id: mixed-line-ending
         args:
           - --fix=lf
diff --git a/AUTHORS.md b/AUTHORS.md
index 6cdc56c0..6bb5234a 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -1,5 +1,4 @@
 # Holidays Authors
-
 Aaron Picht
 Aart Goossens
 Abdelkhalek Boukli Hacene
diff --git a/README.md b/README.md
index 52e1fe87..77a3ae92 100644
--- a/README.md
+++ b/README.md
@@ -501,8 +501,8 @@ any) in brackets, available languages and additional holiday categories. All cou
 <td>Ethiopia</td>
 <td>ET</td>
 <td></td>
-<td><strong>am</strong>, ar, en_US</td>
-<td></td>
+<td><strong>am</strong>, ar, en_ET, en_US</td>
+<td>WORKDAY</td>
 </tr>
 <tr>
 <td>Fiji</td>
diff --git a/holidays/calendars/buddhist.py b/holidays/calendars/buddhist.py
index 8d496e8d..58441b01 100644
--- a/holidays/calendars/buddhist.py
+++ b/holidays/calendars/buddhist.py
@@ -146,7 +146,7 @@ class _BuddhistLunisolar:
         2022: (MAY, 15),
         2023: (JUN, 2),
         2024: (MAY, 22),
-        2025: (MAY, 11),
+        2025: (MAY, 12),
         2026: (MAY, 31),
         2027: (MAY, 20),
         2028: (MAY, 9),
@@ -221,6 +221,7 @@ class _BuddhistLunisolar:
         2097: (MAY, 26),
         2098: (MAY, 15),
         2099: (JUN, 3),
+        2100: (MAY, 23),
     }
 
     VESAK_MAY_DATES = {
@@ -348,7 +349,7 @@ class _BuddhistLunisolar:
         2022: (MAY, 15),
         2023: (MAY, 4),
         2024: (MAY, 22),
-        2025: (MAY, 11),
+        2025: (MAY, 12),
         2026: (MAY, 1),
         2027: (MAY, 20),
         2028: (MAY, 9),
@@ -423,6 +424,7 @@ class _BuddhistLunisolar:
         2097: (MAY, 26),
         2098: (MAY, 15),
         2099: (MAY, 4),
+        2100: (MAY, 23),
     }
 
     def _get_holiday(self, holiday: str, year: int) -> tuple[Optional[date], bool]:
diff --git a/holidays/calendars/chinese.py b/holidays/calendars/chinese.py
index 1b3cd2a3..7c8604f7 100644
--- a/holidays/calendars/chinese.py
+++ b/holidays/calendars/chinese.py
@@ -16,6 +16,10 @@ from typing import Optional
 from holidays.calendars.custom import _CustomCalendar
 from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, SEP, OCT, NOV
 
+CHINESE_CALENDAR = "CHINESE_CALENDAR"
+KOREAN_CALENDAR = "KOREAN_CALENDAR"
+VIETNAMESE_CALENDAR = "VIETNAMESE_CALENDAR"
+
 BUDDHA_BIRTHDAY = "BUDDHA_BIRTHDAY"
 DOUBLE_NINTH = "DOUBLE_NINTH"
 DRAGON_BOAT = "DRAGON_BOAT"
@@ -225,6 +229,7 @@ class _ChineseLunisolar:
         2097: (MAY, 19),
         2098: (MAY, 8),
         2099: (MAY, 27),
+        2100: (MAY, 16),
     }
 
     DOUBLE_NINTH_DATES = {
@@ -427,6 +432,7 @@ class _ChineseLunisolar:
         2097: (OCT, 13),
         2098: (OCT, 3),
         2099: (OCT, 22),
+        2100: (OCT, 12),
     }
 
     DRAGON_BOAT_DATES = {
@@ -629,6 +635,7 @@ class _ChineseLunisolar:
         2097: (JUN, 14),
         2098: (JUN, 4),
         2099: (JUN, 23),
+        2100: (JUN, 12),
     }
 
     HUNG_KINGS_DATES = {
@@ -831,6 +838,7 @@ class _ChineseLunisolar:
         2097: (APR, 21),
         2098: (APR, 11),
         2099: (APR, 29),
+        2100: (APR, 19),
     }
 
     LUNAR_NEW_YEAR_DATES = {
@@ -849,7 +857,7 @@ class _ChineseLunisolar:
         1913: (FEB, 6),
         1914: (JAN, 26),
         1915: (FEB, 14),
-        1916: (FEB, 3),
+        1916: (FEB, 4),
         1917: (JAN, 23),
         1918: (FEB, 11),
         1919: (FEB, 1),
@@ -1033,6 +1041,7 @@ class _ChineseLunisolar:
         2097: (FEB, 12),
         2098: (FEB, 1),
         2099: (JAN, 21),
+        2100: (FEB, 9),
     }
 
     MID_AUTUMN_DATES = {
@@ -1224,7 +1233,7 @@ class _ChineseLunisolar:
         2086: (SEP, 22),
         2087: (SEP, 11),
         2088: (SEP, 29),
-        2089: (SEP, 19),
+        2089: (SEP, 18),
         2090: (SEP, 8),
         2091: (SEP, 27),
         2092: (SEP, 16),
@@ -1235,16 +1244,95 @@ class _ChineseLunisolar:
         2097: (SEP, 20),
         2098: (SEP, 9),
         2099: (SEP, 29),
+        2100: (SEP, 18),
+    }
+
+    KOREAN_CALENDAR_BUDDHA_BIRTHDAY_DATES = {
+        1905: (MAY, 12),
+        1908: (MAY, 8),
+        1931: (MAY, 25),
+        1968: (MAY, 5),
+        2001: (MAY, 1),
+        2012: (MAY, 28),
+        2023: (MAY, 27),
+    }
+
+    KOREAN_CALENDAR_LUNAR_NEW_YEAR_DATES = {
+        1944: (JAN, 26),
+        1954: (FEB, 4),
+        1958: (FEB, 19),
+        1966: (JAN, 22),
+        1988: (FEB, 18),
+        1997: (FEB, 8),
+        2027: (FEB, 7),
+        2028: (JAN, 27),
+        2061: (JAN, 22),
+        2089: (FEB, 11),
+        2092: (FEB, 8),
+    }
+
+    KOREAN_CALENDAR_MID_AUTUMN_DATES = {
+        1909: (SEP, 29),
+        1942: (SEP, 25),
+        2040: (SEP, 21),
+        2089: (SEP, 19),
+        2096: (OCT, 1),
+        2098: (SEP, 10),
+    }
+
+    VIETNAMESE_CALENDAR_HUNG_KINGS_DATES = {
+        1916: (APR, 11),
+        1917: (APR, 1),
+        1939: (APR, 28),
+        1975: (APR, 20),
+        2009: (APR, 4),
+        2037: (APR, 24),
+        2038: (APR, 13),
+        2085: (APR, 3),
+        2086: (APR, 22),
+        2095: (APR, 13),
+        2100: (APR, 18),
     }
 
-    def _get_holiday(self, holiday: str, year: int) -> tuple[Optional[date], bool]:
+    VIETNAMESE_CALENDAR_LUNAR_NEW_YEAR_DATES = {
+        1903: (JAN, 28),
+        1916: (FEB, 3),
+        1935: (FEB, 3),
+        1965: (FEB, 1),
+        1968: (JAN, 29),
+        1969: (FEB, 16),
+        1985: (JAN, 21),
+        2007: (FEB, 17),
+        2030: (FEB, 2),
+        2053: (FEB, 18),
+    }
+
+    def __init__(self, calendar: str = CHINESE_CALENDAR) -> None:
+        self.__verify_calendar(calendar)
+        self.__calendar = calendar
+
+    @staticmethod
+    def __verify_calendar(calendar):
+        """Verify calendar type."""
+
+        supported_calendars = {CHINESE_CALENDAR, KOREAN_CALENDAR, VIETNAMESE_CALENDAR}
+        if calendar not in supported_calendars:
+            raise ValueError(
+                f"Unknown calendar name: {calendar}. "
+                f"Supported calendars: {', '.join(sorted(supported_calendars))}"
+            )
+
+    def _get_holiday(self, holiday: str, year: int, calendar=None) -> tuple[Optional[date], bool]:
+        calendar = calendar or self.__calendar
+        self.__verify_calendar(calendar)
+        custom_calendar_dates = getattr(self, f"{calendar}_{holiday}_DATES", {})
         estimated_dates = getattr(self, f"{holiday}_DATES", {})
         exact_dates = getattr(self, f"{holiday}_DATES_{_CustomCalendar.CUSTOM_ATTR_POSTFIX}", {})
-        dt = exact_dates.get(year, estimated_dates.get(year, ()))
+        dt = exact_dates.get(year, custom_calendar_dates.get(year, estimated_dates.get(year, ())))
         return date(year, *dt) if dt else None, year not in exact_dates
 
-    def buddha_birthday_date(self, year: int) -> tuple[Optional[date], bool]:
-        return self._get_holiday(BUDDHA_BIRTHDAY, year)
+    def buddha_birthday_date(self, year: int, calendar=None) -> tuple[Optional[date], bool]:
+        return self._get_holiday(BUDDHA_BIRTHDAY, year, calendar)
 
     def double_ninth_date(self, year: int) -> tuple[Optional[date], bool]:
         return self._get_holiday(DOUBLE_NINTH, year)
@@ -1252,14 +1340,14 @@ class _ChineseLunisolar:
     def dragon_boat_date(self, year: int) -> tuple[Optional[date], bool]:
         return self._get_holiday(DRAGON_BOAT, year)
 
-    def hung_kings_date(self, year: int) -> tuple[Optional[date], bool]:
-        return self._get_holiday(HUNG_KINGS, year)
+    def hung_kings_date(self, year: int, calendar=None) -> tuple[Optional[date], bool]:
+        return self._get_holiday(HUNG_KINGS, year, calendar)
 
-    def lunar_new_year_date(self, year: int) -> tuple[Optional[date], bool]:
-        return self._get_holiday(LUNAR_NEW_YEAR, year)
+    def lunar_new_year_date(self, year: int, calendar=None) -> tuple[Optional[date], bool]:
+        return self._get_holiday(LUNAR_NEW_YEAR, year, calendar)
 
-    def mid_autumn_date(self, year: int) -> tuple[Optional[date], bool]:
-        return self._get_holiday(MID_AUTUMN, year)
+    def mid_autumn_date(self, year: int, calendar=None) -> tuple[Optional[date], bool]:
+        return self._get_holiday(MID_AUTUMN, year, calendar)
 
 
 class _CustomChineseHolidays(_CustomCalendar, _ChineseLunisolar):
diff --git a/holidays/calendars/hindu.py b/holidays/calendars/hindu.py
index 97541c18..dac77013 100644
--- a/holidays/calendars/hindu.py
+++ b/holidays/calendars/hindu.py
@@ -135,13 +135,13 @@ class _HinduLunisolar:
         1911: (NOV, 19),
         1912: (NOV, 7),
         1913: (OCT, 27),
-        1914: (NOV, 15),
+        1914: (NOV, 16),
         1915: (NOV, 5),
         1916: (OCT, 25),
         1917: (NOV, 13),
         1918: (NOV, 2),
         1919: (NOV, 20),
-        1920: (NOV, 8),
+        1920: (NOV, 9),
         1921: (OCT, 29),
         1922: (NOV, 17),
         1923: (NOV, 6),
@@ -321,6 +321,7 @@ class _HinduLunisolar:
         2097: (NOV, 2),
         2098: (OCT, 22),
         2099: (NOV, 10),
+        2100: (OCT, 31),
     }
 
     # https://www.timeanddate.com/holidays/india/diwali
@@ -1181,6 +1182,7 @@ class _HinduLunisolar:
         2097: (FEB, 27),
         2098: (FEB, 16),
         2099: (JAN, 6),
+        2100: (FEB, 24),
     }
 
     # https://www.timeanddate.com/holidays/india/vaisakhi
diff --git a/holidays/countries/ethiopia.py b/holidays/countries/ethiopia.py
index 17ab5f6e..892832cc 100644
--- a/holidays/countries/ethiopia.py
+++ b/holidays/countries/ethiopia.py
@@ -14,8 +14,9 @@ from calendar import isleap
 from gettext import gettext as tr
 
 from holidays.calendars import _CustomIslamicHolidays
-from holidays.calendars.gregorian import JAN, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV
+from holidays.calendars.gregorian import JAN, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV
 from holidays.calendars.julian import JULIAN_CALENDAR
+from holidays.constants import PUBLIC, WORKDAY
 from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
 from holidays.holiday_base import HolidayBase
 
@@ -24,17 +25,24 @@ class Ethiopia(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHol
     """Ethiopia holidays.
 
     References:
+        * [Proclamation No. 29/1996](https://www.lawethiopia.com/images/federal_proclamation/proclamations_by_number/29.pdf)
+        * [Proclamation No. 1334/2024](https://lawethiopiacomment.wordpress.com/wp-content/uploads/2024/08/public-holiday-stamped.pdf)
+        * <https://www.edarabia.com/ethiopia/public-holidays/>
         * <https://en.wikipedia.org/wiki/Public_holidays_in_Ethiopia>
+        * <https://en.wikipedia.org/wiki/Nations,_Nationalities_and_Peoples%27_Day>
+        * <https://www.timeanddate.com/holidays/ethiopia/>
     """
 
     country = "ET"
     default_language = "am"
     # %s (estimated).
     estimated_label = tr("%s (ግምት)")
-    supported_languages = ("am", "ar", "en_US")
-    start_year = 1898
+    # Negarit Gazeta Proclamation No. 16/1975.
+    start_year = 1976
+    supported_categories = (PUBLIC, WORKDAY)
+    supported_languages = ("am", "ar", "en_ET", "en_US")
 
-    def _is_leap_year(self):
+    def _is_leap_year(self) -> bool:
         """Determine if the Ethiopian calendar year is a leap year.
 
         Ethiopian leap years generally align with Gregorian leap years until
@@ -66,52 +74,60 @@ class Ethiopia(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHol
 
     def _populate_public_holidays(self):
         # Christmas Day.
-        self._add_christmas_day(tr("ገና"))
+        self._add_christmas_day(tr("የገና ወይም የልደት በዓል"))
 
         # Epiphany.
-        self._add_holiday(tr("ጥምቀት"), JAN, 20 if super()._is_leap_year() else 19)
+        self._add_holiday(tr("የጥምቀት በዓል"), JAN, 20 if super()._is_leap_year() else 19)
 
-        # Adwa Victory Day.
-        self._add_holiday_mar_2(tr("አድዋ"))
+        if self._year >= 1996:
+            # Adwa Victory Day.
+            self._add_holiday_mar_2(tr("የአድዋ ድል በዓል"))
 
         # Good Friday.
-        self._add_good_friday(tr("ስቅለት"))
+        self._add_good_friday(tr("የስቅለት በዓል"))
 
         # Easter Sunday.
-        self._add_easter_sunday(tr("ፋሲካ"))
+        self._add_easter_sunday(tr("የትንሳኤ(ፋሲካ) በዓል"))
 
-        # Workers' Day.
-        self._add_labor_day(tr("የሰራተኞች ቀን"))
+        # International Workers' Day.
+        self._add_labor_day(tr("የዓለም የሠራተኞች (የላብአደሮች) ቀን"))
 
-        if self._year >= 1942:
-            # Patriots' Day.
-            self._add_holiday_may_5(tr("የአርበኞች ቀን"))
+        # Ethiopian Patriots' Victory Day.
+        self._add_holiday_may_5(tr("የአርበኞች (የድል) ቀን በዓል"))
 
         if self._year >= 1992:
-            # Downfall of Dergue Regime Day.
+            # Downfall of the Dergue Regime Day.
             self._add_holiday_may_28(tr("ደርግ የወደቀበት ቀን"))
 
         # Ethiopian New Year.
-        self._add_holiday(tr("እንቁጣጣሽ"), SEP, 12 if self._is_leap_year() else 11)
+        self._add_holiday(tr("የዘመን መለወጫ (እንቁጣጣሽ) በዓል"), SEP, 12 if self._is_leap_year() else 11)
 
         # Finding of True Cross.
-        self._add_holiday(tr("መስቀል"), SEP, 28 if self._is_leap_year() else 27)
+        self._add_holiday(tr("የመስቀል በዓል"), SEP, 28 if self._is_leap_year() else 27)
 
-        if 1975 <= self._year <= 1990:
-            # Revolution Day.
+        if self._year <= 1990:
+            # Popular Revolution Commemoration Day.
             self._add_holiday(tr("የአብዮት ቀን"), SEP, 13 if self._is_leap_year() else 12)
 
             # October Revolution Day.
             self._add_holiday_nov_7(tr("የጥቅምት አብዮት ቀን"))
 
         # Eid al-Fitr.
-        self._add_eid_al_fitr_day(tr("ኢድ አልፈጥር"))
+        self._add_eid_al_fitr_day(tr("የኢድ አልፈጥር"))
 
         # Eid al-Adha.
-        self._add_eid_al_adha_day(tr("አረፋ"))
+        self._add_eid_al_adha_day(tr("የኢድ አልአድሃ (አረፋ)"))
 
         # Prophet's Birthday.
-        self._add_mawlid_day(tr("መውሊድ"))
+        self._add_mawlid_day(tr("የመውሊድ በዓል"))
+
+    def _populate_workday_holidays(self):
+        # Ethiopian Martyrs' Day.
+        self._add_holiday_feb_20(tr("የሰማዕታት ቀን"))
+
+        if self._year >= 2006:
+            # Nations, Nationalities and Peoples Day.
+            self._add_holiday_dec_9(tr("የብሔር ብሔረሰቦች ቀን"))
 
 
 class ET(Ethiopia):
@@ -130,6 +146,7 @@ class EthiopiaIslamicHolidays(_CustomIslamicHolidays):
         2021: (JUL, 20),
         2022: (JUL, 9),
         2023: (JUN, 28),
+        2024: (JUN, 16),
     }
 
     EID_AL_FITR_DATES = {
@@ -140,6 +157,7 @@ class EthiopiaIslamicHolidays(_CustomIslamicHolidays):
         2022: (MAY, 2),
         2023: (APR, 21),
         2024: (APR, 10),
+        2025: (MAR, 30),
     }
 
     MAWLID_DATES = {
@@ -149,4 +167,5 @@ class EthiopiaIslamicHolidays(_CustomIslamicHolidays):
         2021: (OCT, 18),
         2022: (OCT, 8),
         2023: (SEP, 27),
+        2024: (SEP, 15),
     }
diff --git a/holidays/countries/south_korea.py b/holidays/countries/south_korea.py
index 9f1502a0..3d20d500 100644
--- a/holidays/countries/south_korea.py
+++ b/holidays/countries/south_korea.py
@@ -14,7 +14,7 @@ import warnings
 from datetime import date
 from gettext import gettext as tr
 
-from holidays.calendars import _CustomChineseHolidays
+from holidays.calendars.chinese import KOREAN_CALENDAR
 from holidays.calendars.gregorian import (
     JAN,
     FEB,
@@ -87,7 +87,7 @@ class SouthKorea(
     start_year = 1948
 
     def __init__(self, *args, **kwargs):
-        ChineseCalendarHolidays.__init__(self, cls=SouthKoreaLunisolarHolidays)
+        ChineseCalendarHolidays.__init__(self, calendar=KOREAN_CALENDAR)
         ChristianHolidays.__init__(self)
         InternationalHolidays.__init__(self)
         StaticHolidays.__init__(self, cls=SouthKoreaStaticHolidays)
@@ -289,34 +289,6 @@ class KOR(SouthKorea):
     pass
 
 
-class SouthKoreaLunisolarHolidays(_CustomChineseHolidays):
-    BUDDHA_BIRTHDAY_DATES = {
-        1931: (MAY, 25),
-        1968: (MAY, 5),
-        2001: (MAY, 1),
-        2012: (MAY, 28),
-        2023: (MAY, 27),
-        2025: (MAY, 5),
-    }
-
-    LUNAR_NEW_YEAR_DATES = {
-        1916: (FEB, 4),
-        1944: (JAN, 26),
-        1954: (FEB, 4),
-        1958: (FEB, 19),
-        1966: (JAN, 22),
-        1988: (FEB, 18),
-        1997: (FEB, 8),
-        2027: (FEB, 7),
-        2028: (JAN, 27),
-    }
-
-    MID_AUTUMN_DATES = {
-        1942: (SEP, 25),
-        2040: (SEP, 21),
-    }
-
-
 class SouthKoreaStaticHolidays:
     """South Korea special holidays.
 
diff --git a/holidays/countries/vietnam.py b/holidays/countries/vietnam.py
index 7c03ffe4..6019ed51 100644
--- a/holidays/countries/vietnam.py
+++ b/holidays/countries/vietnam.py
@@ -13,6 +13,7 @@
 from datetime import date
 from gettext import gettext as tr
 
+from holidays.calendars.chinese import VIETNAMESE_CALENDAR
 from holidays.calendars.gregorian import (
     JAN,
     FEB,
@@ -59,7 +60,7 @@ class Vietnam(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHoliday
     supported_languages = ("en_US", "th", "vi")
 
     def __init__(self, *args, **kwargs):
-        ChineseCalendarHolidays.__init__(self)
+        ChineseCalendarHolidays.__init__(self, calendar=VIETNAMESE_CALENDAR)
         InternationalHolidays.__init__(self)
         StaticHolidays.__init__(self, VietnamStaticHolidays)
         kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY)
diff --git a/holidays/groups/chinese.py b/holidays/groups/chinese.py
index 2400c87b..1aa02c10 100644
--- a/holidays/groups/chinese.py
+++ b/holidays/groups/chinese.py
@@ -13,7 +13,7 @@
 from datetime import date
 from typing import Optional
 
-from holidays.calendars import _ChineseLunisolar
+from holidays.calendars.chinese import _ChineseLunisolar, CHINESE_CALENDAR
 from holidays.calendars.gregorian import APR, DEC
 from holidays.groups.eastern import EasternCalendarHolidays
 
@@ -23,8 +23,10 @@ class ChineseCalendarHolidays(EasternCalendarHolidays):
     Chinese lunisolar calendar holidays.
     """
 
-    def __init__(self, cls=None, show_estimated=False) -> None:
-        self._chinese_calendar = cls() if cls else _ChineseLunisolar()
+    def __init__(self, cls=None, show_estimated=False, calendar=CHINESE_CALENDAR) -> None:
+        self._chinese_calendar = (
+            cls(calendar=calendar) if cls else _ChineseLunisolar(calendar=calendar)
+        )
         self._chinese_calendar_show_estimated = show_estimated
 
     @property
diff --git a/holidays/locale/am/LC_MESSAGES/ET.po b/holidays/locale/am/LC_MESSAGES/ET.po
index 1bef772f..94750bcc 100644
--- a/holidays/locale/am/LC_MESSAGES/ET.po
+++ b/holidays/locale/am/LC_MESSAGES/ET.po
@@ -14,17 +14,17 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Holidays 0.44\n"
+"Project-Id-Version: Holidays 0.72\n"
 "POT-Creation-Date: 2023-02-15 14:15-0800\n"
-"PO-Revision-Date: 2024-02-27 14:46+0200\n"
-"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
+"PO-Revision-Date: 2025-04-23 11:02+0700\n"
+"Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
 "Language-Team: Holidays Localization Team\n"
 "Language: am\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Lingua 4.15.0\n"
-"X-Generator: Poedit 3.4.2\n"
+"X-Generator: Poedit 3.6\n"
 
 #. %s (estimated).
 #, c-format
@@ -32,46 +32,46 @@ msgid "%s (ግምት)"
 msgstr ""
 
 #. Christmas Day.
-msgid "ገና"
+msgid "የገና ወይም የልደት በዓል"
 msgstr ""
 
 #. Epiphany.
-msgid "ጥምቀት"
+msgid "የጥምቀት በዓል"
 msgstr ""
 
 #. Adwa Victory Day.
-msgid "አድዋ"
+msgid "የአድዋ ድል በዓል"
 msgstr ""
 
 #. Good Friday.
-msgid "ስቅለት"
+msgid "የስቅለት በዓል"
 msgstr ""
 
 #. Easter Sunday.
-msgid "ፋሲካ"
+msgid "የትንሳኤ(ፋሲካ) በዓል"
 msgstr ""
 
-#. Workers' Day.
-msgid "የሰራተኞች ቀን"
+#. International Workers' Day.
+msgid "የዓለም የሠራተኞች (የላብአደሮች) ቀን"
 msgstr ""
 
-#. Patriots' Day.
-msgid "የአርበኞች ቀን"
+#. Ethiopian Patriots' Victory Day.
+msgid "የአርበኞች (የድል) ቀን በዓል"
 msgstr ""
 
-#. Downfall of Dergue Regime Day.
+#. Downfall of the Dergue Regime Day.
 msgid "ደርግ የወደቀበት ቀን"
 msgstr ""
 
 #. Ethiopian New Year.
-msgid "እንቁጣጣሽ"
+msgid "የዘመን መለወጫ (እንቁጣጣሽ) በዓል"
 msgstr ""
 
 #. Finding of True Cross.
-msgid "መስቀል"
+msgid "የመስቀል በዓል"
 msgstr ""
 
-#. Revolution Day.
+#. Popular Revolution Commemoration Day.
 msgid "የአብዮት ቀን"
 msgstr ""
 
@@ -80,13 +80,21 @@ msgid "የጥቅምት አብዮት ቀን"
 msgstr ""
 
 #. Eid al-Fitr.
-msgid "ኢድ አልፈጥር"
+msgid "የኢድ አልፈጥር"
 msgstr ""
 
 #. Eid al-Adha.
-msgid "አረፋ"
+msgid "የኢድ አልአድሃ (አረፋ)"
 msgstr ""
 
 #. Prophet's Birthday.
-msgid "መውሊድ"
+msgid "የመውሊድ በዓል"
+msgstr ""
+
+#. Ethiopian Martyrs' Day.
+msgid "የሰማዕታት ቀን"
+msgstr ""
+
+#. Nations, Nationalities and Peoples Day.
+msgid "የብሔር ብሔረሰቦች ቀን"
 msgstr ""
diff --git a/holidays/locale/ar/LC_MESSAGES/ET.po b/holidays/locale/ar/LC_MESSAGES/ET.po
index 2354f582..c391d353 100644
--- a/holidays/locale/ar/LC_MESSAGES/ET.po
+++ b/holidays/locale/ar/LC_MESSAGES/ET.po
@@ -14,18 +14,17 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Holidays 0.44\n"
+"Project-Id-Version: Holidays 0.72\n"
 "POT-Creation-Date: 2024-02-27 14:42+0200\n"
-"PO-Revision-Date: 2024-02-27 14:51+0200\n"
-"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
+"PO-Revision-Date: 2025-04-23 11:03+0700\n"
+"Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
 "Language-Team: Holidays Localization Team\n"
 "Language: ar\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
 "Generated-By: Lingua 4.15.0\n"
-"X-Generator: Poedit 3.4.2\n"
+"X-Generator: Poedit 3.6\n"
 
 #. %s (estimated).
 #, c-format
@@ -33,61 +32,69 @@ msgid "%s (ግምት)"
 msgstr "(تقدير) %s"
 
 #. Christmas Day.
-msgid "ገና"
-msgstr "عيد الميلاد"
+msgid "የገና ወይም የልደት በዓል"
+msgstr "عيد الميلاد الإثيوبي (جنا)"
 
 #. Epiphany.
-msgid "ጥምቀት"
-msgstr "عيد الغطاس"
+msgid "የጥምቀት በዓል"
+msgstr "عيد الغطاس الإثيوبي (طمقت)"
 
 #. Adwa Victory Day.
-msgid "አድዋ"
-msgstr "العدوة"
+msgid "የአድዋ ድል በዓል"
+msgstr "عيد النصر في معركة عدوا"
 
 #. Good Friday.
-msgid "ስቅለት"
-msgstr "جمعة جيدة"
+msgid "የስቅለት በዓል"
+msgstr "جمعة الآلام (سقلَت)"
 
 #. Easter Sunday.
-msgid "ፋሲካ"
-msgstr "عيد الفصح"
+msgid "የትንሳኤ(ፋሲካ) በዓል"
+msgstr "عيد القيامة (فاسيكا)"
 
-#. Workers' Day.
-msgid "የሰራተኞች ቀን"
-msgstr "يوم العمال"
+#. International Workers' Day.
+msgid "የዓለም የሠራተኞች (የላብአደሮች) ቀን"
+msgstr "اليوم العالمي للعمال"
 
-#. Patriots' Day.
-msgid "የአርበኞች ቀን"
-msgstr "يوم الوطنيين"
+#. Ethiopian Patriots' Victory Day.
+msgid "የአርበኞች (የድል) ቀን በዓል"
+msgstr "يوم انتصار الوطنيين الإثيوبيين"
 
-#. Downfall of Dergue Regime Day.
+#. Downfall of the Dergue Regime Day.
 msgid "ደርግ የወደቀበት ቀን"
-msgstr "يوم سقوط ديرج"
+msgstr "يوم سقوط نظام الدرج"
 
 #. Ethiopian New Year.
-msgid "እንቁጣጣሽ"
-msgstr "السنة الإثيوبية الجديدة"
+msgid "የዘመን መለወጫ (እንቁጣጣሽ) በዓል"
+msgstr "رأس السنة الإثيوبية (إنكوتاتاش)"
 
 #. Finding of True Cross.
-msgid "መስቀል"
-msgstr "مسكل"
+msgid "የመስቀል በዓል"
+msgstr "عيد الصليب (مسقل)"
 
-#. Revolution Day.
+#. Popular Revolution Commemoration Day.
 msgid "የአብዮት ቀን"
-msgstr "يوم الثورة"
+msgstr "يوم الثورة الشعبية"
 
 #. October Revolution Day.
 msgid "የጥቅምት አብዮት ቀን"
 msgstr "يوم ثورة أكتوبر"
 
 #. Eid al-Fitr.
-msgid "ኢድ አልፈጥር"
+msgid "የኢድ አልፈጥር"
 msgstr "عيد الفطر"
 
 #. Eid al-Adha.
-msgid "አረፋ"
+msgid "የኢድ አልአድሃ (አረፋ)"
 msgstr "عيد الأضحى"
 
 #. Prophet's Birthday.
-msgid "መውሊድ"
+msgid "የመውሊድ በዓል"
 msgstr "عيد المولد النبوي"
+
+#. Ethiopian Martyrs' Day.
+msgid "የሰማዕታት ቀን"
+msgstr "يوم الشهداء"
+
+#. Nations, Nationalities and Peoples Day.
+msgid "የብሔር ብሔረሰቦች ቀን"
+msgstr "يوم الأمم والقوميات والشعوب"
diff --git a/holidays/locale/en_ET/LC_MESSAGES/ET.po b/holidays/locale/en_ET/LC_MESSAGES/ET.po
new file mode 100644
index 00000000..65aae421
--- /dev/null
+++ b/holidays/locale/en_ET/LC_MESSAGES/ET.po
@@ -0,0 +1,101 @@
+#  holidays
+#  --------
+#  A fast, efficient Python library for generating country, province and state
+#  specific sets of holidays on the fly. It aims to make determining whether a
+#  specific date is a holiday as fast and flexible as possible.
+#
+#  Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+#
+# Ethiopia holidays en_ET localization.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Holidays 0.72\n"
+"POT-Creation-Date: 2025-04-22 16:15+0700\n"
+"PO-Revision-Date: 2025-04-23 11:12+0700\n"
+"Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
+"Language-Team: Holidays Localization Team\n"
+"Language: en_ET\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Lingva 5.0.5\n"
+"X-Generator: Poedit 3.6\n"
+"X-Source-Language: am\n"
+
+#. %s (estimated).
+#, c-format
+msgid "%s (ግምት)"
+msgstr "%s (estimated)"
+
+#. Christmas Day.
+msgid "የገና ወይም የልደት በዓል"
+msgstr "Christmas Holiday"
+
+#. Epiphany.
+msgid "የጥምቀት በዓል"
+msgstr "Epiphany"
+
+#. Adwa Victory Day.
+msgid "የአድዋ ድል በዓል"
+msgstr "Adwa Victory Day"
+
+#. Good Friday.
+msgid "የስቅለት በዓል"
+msgstr "Good Friday"
+
+#. Easter Sunday.
+msgid "የትንሳኤ(ፋሲካ) በዓል"
+msgstr "Easter"
+
+#. International Workers' Day.
+msgid "የዓለም የሠራተኞች (የላብአደሮች) ቀን"
+msgstr "International Workers' Day"
+
+#. Ethiopian Patriots' Victory Day.
+msgid "የአርበኞች (የድል) ቀን በዓል"
+msgstr "Ethiopian Patriots' Victory Day"
+
+#. Downfall of the Dergue Regime Day.
+msgid "ደርግ የወደቀበት ቀን"
+msgstr "Downfall of the Dergue Regime Day"
+
+#. Ethiopian New Year.
+msgid "የዘመን መለወጫ (እንቁጣጣሽ) በዓል"
+msgstr "New Year (Enkutatash)"
+
+#. Finding of True Cross.
+msgid "የመስቀል በዓል"
+msgstr "Meskel Holiday"
+
+#. Popular Revolution Commemoration Day.
+msgid "የአብዮት ቀን"
+msgstr "Popular Revolution Commemoration Day"
+
+#. October Revolution Day.
+msgid "የጥቅምት አብዮት ቀን"
+msgstr "October Revolution Day"
+
+#. Eid al-Fitr.
+msgid "የኢድ አልፈጥር"
+msgstr "Eid al-Fitr"
+
+#. Eid al-Adha.
+msgid "የኢድ አልአድሃ (አረፋ)"
+msgstr "Eid al-Adha"
+
+#. Prophet's Birthday.
+msgid "የመውሊድ በዓል"
+msgstr "Mawlid"
+
+#. Ethiopian Martyrs' Day.
+msgid "የሰማዕታት ቀን"
+msgstr "Ethiopian Martyrs' Day"
+
+#. Nations, Nationalities and Peoples Day.
+msgid "የብሔር ብሔረሰቦች ቀን"
+msgstr "Ethiopian National Unity Day (Ethiopian Nations and Nationalities) Day"
diff --git a/holidays/locale/en_US/LC_MESSAGES/ET.po b/holidays/locale/en_US/LC_MESSAGES/ET.po
index d99979f9..7d53dfca 100644
--- a/holidays/locale/en_US/LC_MESSAGES/ET.po
+++ b/holidays/locale/en_US/LC_MESSAGES/ET.po
@@ -14,18 +14,17 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Holidays 0.44\n"
+"Project-Id-Version: Holidays 0.72\n"
 "POT-Creation-Date: 2023-02-15 14:15-0800\n"
-"PO-Revision-Date: 2024-02-27 14:49+0200\n"
-"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
+"PO-Revision-Date: 2025-04-23 11:03+0700\n"
+"Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
 "Language-Team: Holidays Localization Team\n"
 "Language: en_US\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "Generated-By: Lingua 4.15.0\n"
-"X-Generator: Poedit 3.4.2\n"
+"X-Generator: Poedit 3.6\n"
 
 #. %s (estimated).
 #, c-format
@@ -33,61 +32,69 @@ msgid "%s (ግምት)"
 msgstr "%s (estimated)"
 
 #. Christmas Day.
-msgid "ገና"
+msgid "የገና ወይም የልደት በዓል"
 msgstr "Christmas Day"
 
 #. Epiphany.
-msgid "ጥምቀት"
-msgstr "Epiphany Day"
+msgid "የጥምቀት በዓል"
+msgstr "Epiphany"
 
 #. Adwa Victory Day.
-msgid "አድዋ"
+msgid "የአድዋ ድል በዓል"
 msgstr "Adwa Victory Day"
 
 #. Good Friday.
-msgid "ስቅለት"
+msgid "የስቅለት በዓል"
 msgstr "Good Friday"
 
 #. Easter Sunday.
-msgid "ፋሲካ"
+msgid "የትንሳኤ(ፋሲካ) በዓል"
 msgstr "Easter Sunday"
 
-#. Workers' Day.
-msgid "የሰራተኞች ቀን"
-msgstr "Workers' Day"
+#. International Workers' Day.
+msgid "የዓለም የሠራተኞች (የላብአደሮች) ቀን"
+msgstr "International Workers' Day"
 
-#. Patriots' Day.
-msgid "የአርበኞች ቀን"
-msgstr "Patriots' Day"
+#. Ethiopian Patriots' Victory Day.
+msgid "የአርበኞች (የድል) ቀን በዓል"
+msgstr "Ethiopian Patriots' Victory Day"
 
-#. Downfall of Dergue Regime Day.
+#. Downfall of the Dergue Regime Day.
 msgid "ደርግ የወደቀበት ቀን"
-msgstr "Downfall of Dergue Regime Day"
+msgstr "Downfall of the Dergue Regime Day"
 
 #. Ethiopian New Year.
-msgid "እንቁጣጣሽ"
+msgid "የዘመን መለወጫ (እንቁጣጣሽ) በዓል"
 msgstr "Ethiopian New Year"
 
 #. Finding of True Cross.
-msgid "መስቀል"
+msgid "የመስቀል በዓል"
 msgstr "Finding of True Cross"
 
-#. Revolution Day.
+#. Popular Revolution Commemoration Day.
 msgid "የአብዮት ቀን"
-msgstr "Revolution Day"
+msgstr "Popular Revolution Commemoration Day"
 
 #. October Revolution Day.
 msgid "የጥቅምት አብዮት ቀን"
 msgstr "October Revolution Day"
 
 #. Eid al-Fitr.
-msgid "ኢድ አልፈጥር"
+msgid "የኢድ አልፈጥር"
 msgstr "Eid al-Fitr"
 
 #. Eid al-Adha.
-msgid "አረፋ"
+msgid "የኢድ አልአድሃ (አረፋ)"
 msgstr "Eid al-Adha"
 
 #. Prophet's Birthday.
-msgid "መውሊድ"
+msgid "የመውሊድ በዓል"
 msgstr "Prophet's Birthday"
+
+#. Ethiopian Martyrs' Day.
+msgid "የሰማዕታት ቀን"
+msgstr "Ethiopian Martyrs' Day"
+
+#. Nations, Nationalities and Peoples Day.
+msgid "የብሔር ብሔረሰቦች ቀን"
+msgstr "Nations, Nationalities and Peoples Day"
diff --git a/scripts/calendar/asian_generator.py b/scripts/calendar/asian_generator.py
index eb91477e..77703c76 100644
--- a/scripts/calendar/asian_generator.py
+++ b/scripts/calendar/asian_generator.py
@@ -41,7 +41,7 @@ class _Lunisolar:
         # The 12th to 15th digits indicate the month of the next month.
         # If it is 0x0F, it means that there is no leap month.
         self.G_LUNAR_MONTH_DAYS = (
-            0xF0EA4,  # 1901
+            0xF0EA4,
             0xF1D4A,
             0x52C94,
             0xF0C96,
@@ -54,13 +54,13 @@ class _Lunisolar:
             0x6364A,
             0xF164A,
             0xF1496,
-            0x52956,
-            0xF055A,
-            0xF0AD6,
+            0x52556,
+            0xF155A,
+            0xF0AD4,
             0x216D2,
             0xF1B52,
             0x73B24,
-            0xF1D24,  # 1920
+            0xF1B24,  # 1920
             0xF1A4A,
             0x5349A,
             0xF14AC,
@@ -129,7 +129,7 @@ class _Lunisolar:
             0xF056C,
             0x60B6A,
             0xF0DAA,
-            0xF1D92,
+            0xF1D52,
             0x53D24,  # 1990
             0xF1D24,
             0xF1A4C,
@@ -165,7 +165,7 @@ class _Lunisolar:
             0xF156A,
             0x22B64,
             0xF0DA4,
-            0x61D52,
+            0x61D4A,
             0xF0E4A,
             0xF0C96,
             0x5192E,
@@ -229,7 +229,7 @@ class _Lunisolar:
             0xF0DA4,
             0xF1D4A,
             0x41C94,
-            0xF0C96,
+            0xF0D16,
             0x8192E,  # 2090
             0xF0956,
             0xF0AB6,
@@ -239,17 +239,18 @@ class _Lunisolar:
             0x42E4A,
             0xF164A,
             0xF1516,
-            0x22936,  # 2100
+            0x22936,
+            0xF0956,  # 2100
         )
         # Define range of years covered
         self.START_YEAR = 1901
-        self.END_YEAR = 2099
-        # The 1st day of the 1st month of the Gregorian calendar is 1901/2/19
+        self.END_YEAR = 2100
+        # The Gregorian date for the 1st day of the 1st month of 1900 year is 1901/2/19
         self.LUNAR_START_DATE = ((1901, 1, 1),)
         self.SOLAR_START_DATE = date(1901, 2, 19)
-        # The Gregorian date for December 30, 2099 is 2100/2/8
-        self.LUNAR_END_DATE = (2099, 12, 30)
-        self.SOLAR_END_DATE = date(2100, 2, 18)
+        # The Gregorian date for the 29th day of 12th month of 2100 year is 2101/1/28
+        self.LUNAR_END_DATE = (2100, 12, 29)
+        self.SOLAR_END_DATE = date(2101, 1, 28)
 
     @lru_cache
     def _get_leap_month(self, lunar_year: int) -> int:
@@ -355,6 +356,11 @@ CALENDARS = {
     HINDU: "Hindu",
 }
 
+# Timezones:
+# UTC+7: VN
+# UTC+8: BN, CN, HK, ID, MO, MY, PH, SG, TW
+# UTC+9: KR
+
 ASIAN_HOLIDAYS = (
     # CN, HK, ID, KR, MY, PH, SG, TW, VN
     (1, 1, "LUNAR_NEW_YEAR", CHINESE),  # Lunar New Year
@@ -382,7 +388,7 @@ ASIAN_HOLIDAYS = (
 def generate_data():
     cnls = _Lunisolar()
 
-    g_year_min, g_year_max = (1901, 2099)
+    g_year_min, g_year_max = (1901, 2100)
     dates = {}
     for g_year in range(g_year_min, g_year_max + 1):
         for h_month, h_day, hol_name, _ in ASIAN_HOLIDAYS:
diff --git a/snapshots/countries/ET_COMMON.json b/snapshots/countries/ET_COMMON.json
index bf2c18d6..f8b16b38 100644
--- a/snapshots/countries/ET_COMMON.json
+++ b/snapshots/countries/ET_COMMON.json
@@ -1,1296 +1,1085 @@
 {
-    "1950-01-01": "Prophet's Birthday (estimated)",
-    "1950-01-07": "Christmas Day",
-    "1950-01-19": "Epiphany Day",
-    "1950-03-02": "Adwa Victory Day",
-    "1950-04-07": "Good Friday",
-    "1950-04-09": "Easter Sunday",
-    "1950-05-01": "Workers' Day",
-    "1950-05-05": "Patriots' Day",
-    "1950-07-16": "Eid al-Fitr (estimated)",
-    "1950-09-11": "Ethiopian New Year",
-    "1950-09-23": "Eid al-Adha (estimated)",
-    "1950-09-27": "Finding of True Cross",
-    "1950-12-22": "Prophet's Birthday (estimated)",
-    "1951-01-07": "Christmas Day",
-    "1951-01-19": "Epiphany Day",
-    "1951-03-02": "Adwa Victory Day",
-    "1951-04-27": "Good Friday",
-    "1951-04-29": "Easter Sunday",
-    "1951-05-01": "Workers' Day",
-    "1951-05-05": "Patriots' Day",
-    "1951-07-06": "Eid al-Fitr (estimated)",
-    "1951-09-12": "Eid al-Adha (estimated); Ethiopian New Year",
-    "1951-09-28": "Finding of True Cross",
-    "1951-12-11": "Prophet's Birthday (estimated)",
-    "1952-01-07": "Christmas Day",
-    "1952-01-20": "Epiphany Day",
-    "1952-03-02": "Adwa Victory Day",
-    "1952-04-18": "Good Friday",
-    "1952-04-20": "Easter Sunday",
-    "1952-05-01": "Workers' Day",
-    "1952-05-05": "Patriots' Day",
-    "1952-06-23": "Eid al-Fitr (estimated)",
-    "1952-08-31": "Eid al-Adha (estimated)",
-    "1952-09-11": "Ethiopian New Year",
-    "1952-09-27": "Finding of True Cross",
-    "1952-11-30": "Prophet's Birthday (estimated)",
-    "1953-01-07": "Christmas Day",
-    "1953-01-19": "Epiphany Day",
-    "1953-03-02": "Adwa Victory Day",
-    "1953-04-03": "Good Friday",
-    "1953-04-05": "Easter Sunday",
-    "1953-05-01": "Workers' Day",
-    "1953-05-05": "Patriots' Day",
-    "1953-06-13": "Eid al-Fitr (estimated)",
-    "1953-08-20": "Eid al-Adha (estimated)",
-    "1953-09-11": "Ethiopian New Year",
-    "1953-09-27": "Finding of True Cross",
-    "1953-11-19": "Prophet's Birthday (estimated)",
-    "1954-01-07": "Christmas Day",
-    "1954-01-19": "Epiphany Day",
-    "1954-03-02": "Adwa Victory Day",
-    "1954-04-23": "Good Friday",
-    "1954-04-25": "Easter Sunday",
-    "1954-05-01": "Workers' Day",
-    "1954-05-05": "Patriots' Day",
-    "1954-06-02": "Eid al-Fitr (estimated)",
-    "1954-08-09": "Eid al-Adha (estimated)",
-    "1954-09-11": "Ethiopian New Year",
-    "1954-09-27": "Finding of True Cross",
-    "1954-11-08": "Prophet's Birthday (estimated)",
-    "1955-01-07": "Christmas Day",
-    "1955-01-19": "Epiphany Day",
-    "1955-03-02": "Adwa Victory Day",
-    "1955-04-15": "Good Friday",
-    "1955-04-17": "Easter Sunday",
-    "1955-05-01": "Workers' Day",
-    "1955-05-05": "Patriots' Day",
-    "1955-05-23": "Eid al-Fitr (estimated)",
-    "1955-07-30": "Eid al-Adha (estimated)",
-    "1955-09-12": "Ethiopian New Year",
-    "1955-09-28": "Finding of True Cross",
-    "1955-10-29": "Prophet's Birthday (estimated)",
-    "1956-01-07": "Christmas Day",
-    "1956-01-20": "Epiphany Day",
-    "1956-03-02": "Adwa Victory Day",
-    "1956-05-01": "Workers' Day",
-    "1956-05-04": "Good Friday",
-    "1956-05-05": "Patriots' Day",
-    "1956-05-06": "Easter Sunday",
-    "1956-05-11": "Eid al-Fitr (estimated)",
-    "1956-07-19": "Eid al-Adha (estimated)",
-    "1956-09-11": "Ethiopian New Year",
-    "1956-09-27": "Finding of True Cross",
-    "1956-10-17": "Prophet's Birthday (estimated)",
-    "1957-01-07": "Christmas Day",
-    "1957-01-19": "Epiphany Day",
-    "1957-03-02": "Adwa Victory Day",
-    "1957-04-19": "Good Friday",
-    "1957-04-21": "Easter Sunday",
-    "1957-05-01": "Eid al-Fitr (estimated); Workers' Day",
-    "1957-05-05": "Patriots' Day",
-    "1957-07-08": "Eid al-Adha (estimated)",
-    "1957-09-11": "Ethiopian New Year",
-    "1957-09-27": "Finding of True Cross",
-    "1957-10-06": "Prophet's Birthday (estimated)",
-    "1958-01-07": "Christmas Day",
-    "1958-01-19": "Epiphany Day",
-    "1958-03-02": "Adwa Victory Day",
-    "1958-04-11": "Good Friday",
-    "1958-04-13": "Easter Sunday",
-    "1958-04-20": "Eid al-Fitr (estimated)",
-    "1958-05-01": "Workers' Day",
-    "1958-05-05": "Patriots' Day",
-    "1958-06-27": "Eid al-Adha (estimated)",
-    "1958-09-11": "Ethiopian New Year",
-    "1958-09-26": "Prophet's Birthday (estimated)",
-    "1958-09-27": "Finding of True Cross",
-    "1959-01-07": "Christmas Day",
-    "1959-01-19": "Epiphany Day",
-    "1959-03-02": "Adwa Victory Day",
-    "1959-04-10": "Eid al-Fitr (estimated)",
-    "1959-05-01": "Good Friday; Workers' Day",
-    "1959-05-03": "Easter Sunday",
-    "1959-05-05": "Patriots' Day",
-    "1959-06-17": "Eid al-Adha (estimated)",
-    "1959-09-12": "Ethiopian New Year",
-    "1959-09-15": "Prophet's Birthday (estimated)",
-    "1959-09-28": "Finding of True Cross",
-    "1960-01-07": "Christmas Day",
-    "1960-01-20": "Epiphany Day",
-    "1960-03-02": "Adwa Victory Day",
-    "1960-03-28": "Eid al-Fitr (estimated)",
-    "1960-04-15": "Good Friday",
-    "1960-04-17": "Easter Sunday",
-    "1960-05-01": "Workers' Day",
-    "1960-05-05": "Patriots' Day",
-    "1960-06-04": "Eid al-Adha (estimated)",
-    "1960-09-03": "Prophet's Birthday (estimated)",
-    "1960-09-11": "Ethiopian New Year",
-    "1960-09-27": "Finding of True Cross",
-    "1961-01-07": "Christmas Day",
-    "1961-01-19": "Epiphany Day",
-    "1961-03-02": "Adwa Victory Day",
-    "1961-03-18": "Eid al-Fitr (estimated)",
-    "1961-04-07": "Good Friday",
-    "1961-04-09": "Easter Sunday",
-    "1961-05-01": "Workers' Day",
-    "1961-05-05": "Patriots' Day",
-    "1961-05-25": "Eid al-Adha (estimated)",
-    "1961-08-23": "Prophet's Birthday (estimated)",
-    "1961-09-11": "Ethiopian New Year",
-    "1961-09-27": "Finding of True Cross",
-    "1962-01-07": "Christmas Day",
-    "1962-01-19": "Epiphany Day",
-    "1962-03-02": "Adwa Victory Day",
-    "1962-03-07": "Eid al-Fitr (estimated)",
-    "1962-04-27": "Good Friday",
-    "1962-04-29": "Easter Sunday",
-    "1962-05-01": "Workers' Day",
-    "1962-05-05": "Patriots' Day",
-    "1962-05-14": "Eid al-Adha (estimated)",
-    "1962-08-12": "Prophet's Birthday (estimated)",
-    "1962-09-11": "Ethiopian New Year",
-    "1962-09-27": "Finding of True Cross",
-    "1963-01-07": "Christmas Day",
-    "1963-01-19": "Epiphany Day",
-    "1963-02-24": "Eid al-Fitr (estimated)",
-    "1963-03-02": "Adwa Victory Day",
-    "1963-04-12": "Good Friday",
-    "1963-04-14": "Easter Sunday",
-    "1963-05-01": "Workers' Day",
-    "1963-05-03": "Eid al-Adha (estimated)",
-    "1963-05-05": "Patriots' Day",
-    "1963-08-02": "Prophet's Birthday (estimated)",
-    "1963-09-12": "Ethiopian New Year",
-    "1963-09-28": "Finding of True Cross",
-    "1964-01-07": "Christmas Day",
-    "1964-01-20": "Epiphany Day",
-    "1964-02-14": "Eid al-Fitr (estimated)",
-    "1964-03-02": "Adwa Victory Day",
-    "1964-04-22": "Eid al-Adha (estimated)",
-    "1964-05-01": "Good Friday; Workers' Day",
-    "1964-05-03": "Easter Sunday",
-    "1964-05-05": "Patriots' Day",
-    "1964-07-21": "Prophet's Birthday (estimated)",
-    "1964-09-11": "Ethiopian New Year",
-    "1964-09-27": "Finding of True Cross",
-    "1965-01-07": "Christmas Day",
-    "1965-01-19": "Epiphany Day",
-    "1965-02-02": "Eid al-Fitr (estimated)",
-    "1965-03-02": "Adwa Victory Day",
-    "1965-04-11": "Eid al-Adha (estimated)",
-    "1965-04-23": "Good Friday",
-    "1965-04-25": "Easter Sunday",
-    "1965-05-01": "Workers' Day",
-    "1965-05-05": "Patriots' Day",
-    "1965-07-10": "Prophet's Birthday (estimated)",
-    "1965-09-11": "Ethiopian New Year",
-    "1965-09-27": "Finding of True Cross",
-    "1966-01-07": "Christmas Day",
-    "1966-01-19": "Epiphany Day",
-    "1966-01-22": "Eid al-Fitr (estimated)",
-    "1966-03-02": "Adwa Victory Day",
-    "1966-04-01": "Eid al-Adha (estimated)",
-    "1966-04-08": "Good Friday",
-    "1966-04-10": "Easter Sunday",
-    "1966-05-01": "Workers' Day",
-    "1966-05-05": "Patriots' Day",
-    "1966-07-01": "Prophet's Birthday (estimated)",
-    "1966-09-11": "Ethiopian New Year",
-    "1966-09-27": "Finding of True Cross",
-    "1967-01-07": "Christmas Day",
-    "1967-01-12": "Eid al-Fitr (estimated)",
-    "1967-01-19": "Epiphany Day",
-    "1967-03-02": "Adwa Victory Day",
-    "1967-03-21": "Eid al-Adha (estimated)",
-    "1967-04-28": "Good Friday",
-    "1967-04-30": "Easter Sunday",
-    "1967-05-01": "Workers' Day",
-    "1967-05-05": "Patriots' Day",
-    "1967-06-19": "Prophet's Birthday (estimated)",
-    "1967-09-12": "Ethiopian New Year",
-    "1967-09-28": "Finding of True Cross",
-    "1968-01-01": "Eid al-Fitr (estimated)",
-    "1968-01-07": "Christmas Day",
-    "1968-01-20": "Epiphany Day",
-    "1968-03-02": "Adwa Victory Day",
-    "1968-03-09": "Eid al-Adha (estimated)",
-    "1968-04-19": "Good Friday",
-    "1968-04-21": "Easter Sunday",
-    "1968-05-01": "Workers' Day",
-    "1968-05-05": "Patriots' Day",
-    "1968-06-08": "Prophet's Birthday (estimated)",
-    "1968-09-11": "Ethiopian New Year",
-    "1968-09-27": "Finding of True Cross",
-    "1968-12-21": "Eid al-Fitr (estimated)",
-    "1969-01-07": "Christmas Day",
-    "1969-01-19": "Epiphany Day",
-    "1969-02-27": "Eid al-Adha (estimated)",
-    "1969-03-02": "Adwa Victory Day",
-    "1969-04-11": "Good Friday",
-    "1969-04-13": "Easter Sunday",
-    "1969-05-01": "Workers' Day",
-    "1969-05-05": "Patriots' Day",
-    "1969-05-28": "Prophet's Birthday (estimated)",
-    "1969-09-11": "Ethiopian New Year",
-    "1969-09-27": "Finding of True Cross",
-    "1969-12-10": "Eid al-Fitr (estimated)",
-    "1970-01-07": "Christmas Day",
-    "1970-01-19": "Epiphany Day",
-    "1970-02-16": "Eid al-Adha (estimated)",
-    "1970-03-02": "Adwa Victory Day",
-    "1970-04-24": "Good Friday",
-    "1970-04-26": "Easter Sunday",
-    "1970-05-01": "Workers' Day",
-    "1970-05-05": "Patriots' Day",
-    "1970-05-18": "Prophet's Birthday (estimated)",
-    "1970-09-11": "Ethiopian New Year",
-    "1970-09-27": "Finding of True Cross",
-    "1970-11-30": "Eid al-Fitr (estimated)",
-    "1971-01-07": "Christmas Day",
-    "1971-01-19": "Epiphany Day",
-    "1971-02-06": "Eid al-Adha (estimated)",
-    "1971-03-02": "Adwa Victory Day",
-    "1971-04-16": "Good Friday",
-    "1971-04-18": "Easter Sunday",
-    "1971-05-01": "Workers' Day",
-    "1971-05-05": "Patriots' Day",
-    "1971-05-07": "Prophet's Birthday (estimated)",
-    "1971-09-12": "Ethiopian New Year",
-    "1971-09-28": "Finding of True Cross",
-    "1971-11-19": "Eid al-Fitr (estimated)",
-    "1972-01-07": "Christmas Day",
-    "1972-01-20": "Epiphany Day",
-    "1972-01-26": "Eid al-Adha (estimated)",
-    "1972-03-02": "Adwa Victory Day",
-    "1972-04-07": "Good Friday",
-    "1972-04-09": "Easter Sunday",
-    "1972-04-25": "Prophet's Birthday (estimated)",
-    "1972-05-01": "Workers' Day",
-    "1972-05-05": "Patriots' Day",
-    "1972-09-11": "Ethiopian New Year",
-    "1972-09-27": "Finding of True Cross",
-    "1972-11-07": "Eid al-Fitr (estimated)",
-    "1973-01-07": "Christmas Day",
-    "1973-01-14": "Eid al-Adha (estimated)",
-    "1973-01-19": "Epiphany Day",
-    "1973-03-02": "Adwa Victory Day",
-    "1973-04-15": "Prophet's Birthday (estimated)",
-    "1973-04-27": "Good Friday",
-    "1973-04-29": "Easter Sunday",
-    "1973-05-01": "Workers' Day",
-    "1973-05-05": "Patriots' Day",
-    "1973-09-11": "Ethiopian New Year",
-    "1973-09-27": "Finding of True Cross",
-    "1973-10-27": "Eid al-Fitr (estimated)",
-    "1974-01-03": "Eid al-Adha (estimated)",
-    "1974-01-07": "Christmas Day",
-    "1974-01-19": "Epiphany Day",
-    "1974-03-02": "Adwa Victory Day",
-    "1974-04-04": "Prophet's Birthday (estimated)",
-    "1974-04-12": "Good Friday",
-    "1974-04-14": "Easter Sunday",
-    "1974-05-01": "Workers' Day",
-    "1974-05-05": "Patriots' Day",
-    "1974-09-11": "Ethiopian New Year",
-    "1974-09-27": "Finding of True Cross",
-    "1974-10-16": "Eid al-Fitr (estimated)",
-    "1974-12-24": "Eid al-Adha (estimated)",
-    "1975-01-07": "Christmas Day",
-    "1975-01-19": "Epiphany Day",
-    "1975-03-02": "Adwa Victory Day",
-    "1975-03-24": "Prophet's Birthday (estimated)",
-    "1975-05-01": "Workers' Day",
-    "1975-05-02": "Good Friday",
-    "1975-05-04": "Easter Sunday",
-    "1975-05-05": "Patriots' Day",
-    "1975-09-12": "Ethiopian New Year",
-    "1975-09-13": "Revolution Day",
-    "1975-09-28": "Finding of True Cross",
-    "1975-10-06": "Eid al-Fitr (estimated)",
-    "1975-11-07": "October Revolution Day",
-    "1975-12-13": "Eid al-Adha (estimated)",
     "1976-01-07": "Christmas Day",
-    "1976-01-20": "Epiphany Day",
-    "1976-03-02": "Adwa Victory Day",
+    "1976-01-20": "Epiphany",
+    "1976-02-20": "Ethiopian Martyrs' Day",
     "1976-03-12": "Prophet's Birthday (estimated)",
     "1976-04-23": "Good Friday",
     "1976-04-25": "Easter Sunday",
-    "1976-05-01": "Workers' Day",
-    "1976-05-05": "Patriots' Day",
+    "1976-05-01": "International Workers' Day",
+    "1976-05-05": "Ethiopian Patriots' Victory Day",
     "1976-09-11": "Ethiopian New Year",
-    "1976-09-12": "Revolution Day",
+    "1976-09-12": "Popular Revolution Commemoration Day",
     "1976-09-24": "Eid al-Fitr (estimated)",
     "1976-09-27": "Finding of True Cross",
     "1976-11-07": "October Revolution Day",
     "1976-12-01": "Eid al-Adha (estimated)",
     "1977-01-07": "Christmas Day",
-    "1977-01-19": "Epiphany Day",
-    "1977-03-02": "Adwa Victory Day; Prophet's Birthday (estimated)",
+    "1977-01-19": "Epiphany",
+    "1977-02-20": "Ethiopian Martyrs' Day",
+    "1977-03-02": "Prophet's Birthday (estimated)",
     "1977-04-08": "Good Friday",
     "1977-04-10": "Easter Sunday",
-    "1977-05-01": "Workers' Day",
-    "1977-05-05": "Patriots' Day",
+    "1977-05-01": "International Workers' Day",
+    "1977-05-05": "Ethiopian Patriots' Victory Day",
     "1977-09-11": "Ethiopian New Year",
-    "1977-09-12": "Revolution Day",
+    "1977-09-12": "Popular Revolution Commemoration Day",
     "1977-09-14": "Eid al-Fitr (estimated)",
     "1977-09-27": "Finding of True Cross",
     "1977-11-07": "October Revolution Day",
     "1977-11-21": "Eid al-Adha (estimated)",
     "1978-01-07": "Christmas Day",
-    "1978-01-19": "Epiphany Day",
+    "1978-01-19": "Epiphany",
     "1978-02-19": "Prophet's Birthday (estimated)",
-    "1978-03-02": "Adwa Victory Day",
+    "1978-02-20": "Ethiopian Martyrs' Day",
     "1978-04-28": "Good Friday",
     "1978-04-30": "Easter Sunday",
-    "1978-05-01": "Workers' Day",
-    "1978-05-05": "Patriots' Day",
+    "1978-05-01": "International Workers' Day",
+    "1978-05-05": "Ethiopian Patriots' Victory Day",
     "1978-09-03": "Eid al-Fitr (estimated)",
     "1978-09-11": "Ethiopian New Year",
-    "1978-09-12": "Revolution Day",
+    "1978-09-12": "Popular Revolution Commemoration Day",
     "1978-09-27": "Finding of True Cross",
     "1978-11-07": "October Revolution Day",
     "1978-11-10": "Eid al-Adha (estimated)",
     "1979-01-07": "Christmas Day",
-    "1979-01-19": "Epiphany Day",
+    "1979-01-19": "Epiphany",
     "1979-02-09": "Prophet's Birthday (estimated)",
-    "1979-03-02": "Adwa Victory Day",
+    "1979-02-20": "Ethiopian Martyrs' Day",
     "1979-04-20": "Good Friday",
     "1979-04-22": "Easter Sunday",
-    "1979-05-01": "Workers' Day",
-    "1979-05-05": "Patriots' Day",
+    "1979-05-01": "International Workers' Day",
+    "1979-05-05": "Ethiopian Patriots' Victory Day",
     "1979-08-23": "Eid al-Fitr (estimated)",
     "1979-09-12": "Ethiopian New Year",
-    "1979-09-13": "Revolution Day",
+    "1979-09-13": "Popular Revolution Commemoration Day",
     "1979-09-28": "Finding of True Cross",
     "1979-10-31": "Eid al-Adha (estimated)",
     "1979-11-07": "October Revolution Day",
     "1980-01-07": "Christmas Day",
-    "1980-01-20": "Epiphany Day",
+    "1980-01-20": "Epiphany",
     "1980-01-30": "Prophet's Birthday (estimated)",
-    "1980-03-02": "Adwa Victory Day",
+    "1980-02-20": "Ethiopian Martyrs' Day",
     "1980-04-04": "Good Friday",
     "1980-04-06": "Easter Sunday",
-    "1980-05-01": "Workers' Day",
-    "1980-05-05": "Patriots' Day",
+    "1980-05-01": "International Workers' Day",
+    "1980-05-05": "Ethiopian Patriots' Victory Day",
     "1980-08-12": "Eid al-Fitr (estimated)",
     "1980-09-11": "Ethiopian New Year",
-    "1980-09-12": "Revolution Day",
+    "1980-09-12": "Popular Revolution Commemoration Day",
     "1980-09-27": "Finding of True Cross",
     "1980-10-19": "Eid al-Adha (estimated)",
     "1980-11-07": "October Revolution Day",
     "1981-01-07": "Christmas Day",
     "1981-01-18": "Prophet's Birthday (estimated)",
-    "1981-01-19": "Epiphany Day",
-    "1981-03-02": "Adwa Victory Day",
+    "1981-01-19": "Epiphany",
+    "1981-02-20": "Ethiopian Martyrs' Day",
     "1981-04-24": "Good Friday",
     "1981-04-26": "Easter Sunday",
-    "1981-05-01": "Workers' Day",
-    "1981-05-05": "Patriots' Day",
+    "1981-05-01": "International Workers' Day",
+    "1981-05-05": "Ethiopian Patriots' Victory Day",
     "1981-08-01": "Eid al-Fitr (estimated)",
     "1981-09-11": "Ethiopian New Year",
-    "1981-09-12": "Revolution Day",
+    "1981-09-12": "Popular Revolution Commemoration Day",
     "1981-09-27": "Finding of True Cross",
     "1981-10-08": "Eid al-Adha (estimated)",
     "1981-11-07": "October Revolution Day",
     "1982-01-07": "Christmas Day; Prophet's Birthday (estimated)",
-    "1982-01-19": "Epiphany Day",
-    "1982-03-02": "Adwa Victory Day",
+    "1982-01-19": "Epiphany",
+    "1982-02-20": "Ethiopian Martyrs' Day",
     "1982-04-16": "Good Friday",
     "1982-04-18": "Easter Sunday",
-    "1982-05-01": "Workers' Day",
-    "1982-05-05": "Patriots' Day",
+    "1982-05-01": "International Workers' Day",
+    "1982-05-05": "Ethiopian Patriots' Victory Day",
     "1982-07-21": "Eid al-Fitr (estimated)",
     "1982-09-11": "Ethiopian New Year",
-    "1982-09-12": "Revolution Day",
+    "1982-09-12": "Popular Revolution Commemoration Day",
     "1982-09-27": "Eid al-Adha (estimated); Finding of True Cross",
     "1982-11-07": "October Revolution Day",
     "1982-12-27": "Prophet's Birthday (estimated)",
     "1983-01-07": "Christmas Day",
-    "1983-01-19": "Epiphany Day",
-    "1983-03-02": "Adwa Victory Day",
-    "1983-05-01": "Workers' Day",
-    "1983-05-05": "Patriots' Day",
+    "1983-01-19": "Epiphany",
+    "1983-02-20": "Ethiopian Martyrs' Day",
+    "1983-05-01": "International Workers' Day",
+    "1983-05-05": "Ethiopian Patriots' Victory Day",
     "1983-05-06": "Good Friday",
     "1983-05-08": "Easter Sunday",
     "1983-07-11": "Eid al-Fitr (estimated)",
     "1983-09-12": "Ethiopian New Year",
-    "1983-09-13": "Revolution Day",
+    "1983-09-13": "Popular Revolution Commemoration Day",
     "1983-09-17": "Eid al-Adha (estimated)",
     "1983-09-28": "Finding of True Cross",
     "1983-11-07": "October Revolution Day",
     "1983-12-16": "Prophet's Birthday (estimated)",
     "1984-01-07": "Christmas Day",
-    "1984-01-20": "Epiphany Day",
-    "1984-03-02": "Adwa Victory Day",
+    "1984-01-20": "Epiphany",
+    "1984-02-20": "Ethiopian Martyrs' Day",
     "1984-04-20": "Good Friday",
     "1984-04-22": "Easter Sunday",
-    "1984-05-01": "Workers' Day",
-    "1984-05-05": "Patriots' Day",
+    "1984-05-01": "International Workers' Day",
+    "1984-05-05": "Ethiopian Patriots' Victory Day",
     "1984-06-30": "Eid al-Fitr (estimated)",
     "1984-09-05": "Eid al-Adha (estimated)",
     "1984-09-11": "Ethiopian New Year",
-    "1984-09-12": "Revolution Day",
+    "1984-09-12": "Popular Revolution Commemoration Day",
     "1984-09-27": "Finding of True Cross",
     "1984-11-07": "October Revolution Day",
     "1984-12-04": "Prophet's Birthday (estimated)",
     "1985-01-07": "Christmas Day",
-    "1985-01-19": "Epiphany Day",
-    "1985-03-02": "Adwa Victory Day",
+    "1985-01-19": "Epiphany",
+    "1985-02-20": "Ethiopian Martyrs' Day",
     "1985-04-12": "Good Friday",
     "1985-04-14": "Easter Sunday",
-    "1985-05-01": "Workers' Day",
-    "1985-05-05": "Patriots' Day",
+    "1985-05-01": "International Workers' Day",
+    "1985-05-05": "Ethiopian Patriots' Victory Day",
     "1985-06-19": "Eid al-Fitr (estimated)",
     "1985-08-26": "Eid al-Adha (estimated)",
     "1985-09-11": "Ethiopian New Year",
-    "1985-09-12": "Revolution Day",
+    "1985-09-12": "Popular Revolution Commemoration Day",
     "1985-09-27": "Finding of True Cross",
     "1985-11-07": "October Revolution Day",
     "1985-11-24": "Prophet's Birthday (estimated)",
     "1986-01-07": "Christmas Day",
-    "1986-01-19": "Epiphany Day",
-    "1986-03-02": "Adwa Victory Day",
-    "1986-05-01": "Workers' Day",
+    "1986-01-19": "Epiphany",
+    "1986-02-20": "Ethiopian Martyrs' Day",
+    "1986-05-01": "International Workers' Day",
     "1986-05-02": "Good Friday",
     "1986-05-04": "Easter Sunday",
-    "1986-05-05": "Patriots' Day",
+    "1986-05-05": "Ethiopian Patriots' Victory Day",
     "1986-06-08": "Eid al-Fitr (estimated)",
     "1986-08-15": "Eid al-Adha (estimated)",
     "1986-09-11": "Ethiopian New Year",
-    "1986-09-12": "Revolution Day",
+    "1986-09-12": "Popular Revolution Commemoration Day",
     "1986-09-27": "Finding of True Cross",
     "1986-11-07": "October Revolution Day",
     "1986-11-14": "Prophet's Birthday (estimated)",
     "1987-01-07": "Christmas Day",
-    "1987-01-19": "Epiphany Day",
-    "1987-03-02": "Adwa Victory Day",
+    "1987-01-19": "Epiphany",
+    "1987-02-20": "Ethiopian Martyrs' Day",
     "1987-04-17": "Good Friday",
     "1987-04-19": "Easter Sunday",
-    "1987-05-01": "Workers' Day",
-    "1987-05-05": "Patriots' Day",
+    "1987-05-01": "International Workers' Day",
+    "1987-05-05": "Ethiopian Patriots' Victory Day",
     "1987-05-28": "Eid al-Fitr (estimated)",
     "1987-08-04": "Eid al-Adha (estimated)",
     "1987-09-12": "Ethiopian New Year",
-    "1987-09-13": "Revolution Day",
+    "1987-09-13": "Popular Revolution Commemoration Day",
     "1987-09-28": "Finding of True Cross",
     "1987-11-03": "Prophet's Birthday (estimated)",
     "1987-11-07": "October Revolution Day",
     "1988-01-07": "Christmas Day",
-    "1988-01-20": "Epiphany Day",
-    "1988-03-02": "Adwa Victory Day",
+    "1988-01-20": "Epiphany",
+    "1988-02-20": "Ethiopian Martyrs' Day",
     "1988-04-08": "Good Friday",
     "1988-04-10": "Easter Sunday",
-    "1988-05-01": "Workers' Day",
-    "1988-05-05": "Patriots' Day",
+    "1988-05-01": "International Workers' Day",
+    "1988-05-05": "Ethiopian Patriots' Victory Day",
     "1988-05-16": "Eid al-Fitr (estimated)",
     "1988-07-23": "Eid al-Adha (estimated)",
     "1988-09-11": "Ethiopian New Year",
-    "1988-09-12": "Revolution Day",
+    "1988-09-12": "Popular Revolution Commemoration Day",
     "1988-09-27": "Finding of True Cross",
     "1988-10-22": "Prophet's Birthday (estimated)",
     "1988-11-07": "October Revolution Day",
     "1989-01-07": "Christmas Day",
-    "1989-01-19": "Epiphany Day",
-    "1989-03-02": "Adwa Victory Day",
+    "1989-01-19": "Epiphany",
+    "1989-02-20": "Ethiopian Martyrs' Day",
     "1989-04-28": "Good Friday",
     "1989-04-30": "Easter Sunday",
-    "1989-05-01": "Workers' Day",
-    "1989-05-05": "Patriots' Day",
+    "1989-05-01": "International Workers' Day",
+    "1989-05-05": "Ethiopian Patriots' Victory Day",
     "1989-05-06": "Eid al-Fitr (estimated)",
     "1989-07-13": "Eid al-Adha (estimated)",
     "1989-09-11": "Ethiopian New Year",
-    "1989-09-12": "Revolution Day",
+    "1989-09-12": "Popular Revolution Commemoration Day",
     "1989-09-27": "Finding of True Cross",
     "1989-10-11": "Prophet's Birthday (estimated)",
     "1989-11-07": "October Revolution Day",
     "1990-01-07": "Christmas Day",
-    "1990-01-19": "Epiphany Day",
-    "1990-03-02": "Adwa Victory Day",
+    "1990-01-19": "Epiphany",
+    "1990-02-20": "Ethiopian Martyrs' Day",
     "1990-04-13": "Good Friday",
     "1990-04-15": "Easter Sunday",
     "1990-04-26": "Eid al-Fitr (estimated)",
-    "1990-05-01": "Workers' Day",
-    "1990-05-05": "Patriots' Day",
+    "1990-05-01": "International Workers' Day",
+    "1990-05-05": "Ethiopian Patriots' Victory Day",
     "1990-07-02": "Eid al-Adha (estimated)",
     "1990-09-11": "Ethiopian New Year",
-    "1990-09-12": "Revolution Day",
+    "1990-09-12": "Popular Revolution Commemoration Day",
     "1990-09-27": "Finding of True Cross",
     "1990-10-01": "Prophet's Birthday (estimated)",
     "1990-11-07": "October Revolution Day",
     "1991-01-07": "Christmas Day",
-    "1991-01-19": "Epiphany Day",
-    "1991-03-02": "Adwa Victory Day",
+    "1991-01-19": "Epiphany",
+    "1991-02-20": "Ethiopian Martyrs' Day",
     "1991-04-05": "Good Friday",
     "1991-04-07": "Easter Sunday",
     "1991-04-15": "Eid al-Fitr (estimated)",
-    "1991-05-01": "Workers' Day",
-    "1991-05-05": "Patriots' Day",
+    "1991-05-01": "International Workers' Day",
+    "1991-05-05": "Ethiopian Patriots' Victory Day",
     "1991-06-22": "Eid al-Adha (estimated)",
     "1991-09-12": "Ethiopian New Year",
     "1991-09-20": "Prophet's Birthday (estimated)",
     "1991-09-28": "Finding of True Cross",
     "1992-01-07": "Christmas Day",
-    "1992-01-20": "Epiphany Day",
-    "1992-03-02": "Adwa Victory Day",
+    "1992-01-20": "Epiphany",
+    "1992-02-20": "Ethiopian Martyrs' Day",
     "1992-04-04": "Eid al-Fitr (estimated)",
     "1992-04-24": "Good Friday",
     "1992-04-26": "Easter Sunday",
-    "1992-05-01": "Workers' Day",
-    "1992-05-05": "Patriots' Day",
-    "1992-05-28": "Downfall of Dergue Regime Day",
+    "1992-05-01": "International Workers' Day",
+    "1992-05-05": "Ethiopian Patriots' Victory Day",
+    "1992-05-28": "Downfall of the Dergue Regime Day",
     "1992-06-11": "Eid al-Adha (estimated)",
     "1992-09-09": "Prophet's Birthday (estimated)",
     "1992-09-11": "Ethiopian New Year",
     "1992-09-27": "Finding of True Cross",
     "1993-01-07": "Christmas Day",
-    "1993-01-19": "Epiphany Day",
-    "1993-03-02": "Adwa Victory Day",
+    "1993-01-19": "Epiphany",
+    "1993-02-20": "Ethiopian Martyrs' Day",
     "1993-03-24": "Eid al-Fitr (estimated)",
     "1993-04-16": "Good Friday",
     "1993-04-18": "Easter Sunday",
-    "1993-05-01": "Workers' Day",
-    "1993-05-05": "Patriots' Day",
-    "1993-05-28": "Downfall of Dergue Regime Day",
+    "1993-05-01": "International Workers' Day",
+    "1993-05-05": "Ethiopian Patriots' Victory Day",
+    "1993-05-28": "Downfall of the Dergue Regime Day",
     "1993-05-31": "Eid al-Adha (estimated)",
     "1993-08-29": "Prophet's Birthday (estimated)",
     "1993-09-11": "Ethiopian New Year",
     "1993-09-27": "Finding of True Cross",
     "1994-01-07": "Christmas Day",
-    "1994-01-19": "Epiphany Day",
-    "1994-03-02": "Adwa Victory Day",
+    "1994-01-19": "Epiphany",
+    "1994-02-20": "Ethiopian Martyrs' Day",
     "1994-03-13": "Eid al-Fitr (estimated)",
     "1994-04-29": "Good Friday",
-    "1994-05-01": "Easter Sunday; Workers' Day",
-    "1994-05-05": "Patriots' Day",
+    "1994-05-01": "Easter Sunday; International Workers' Day",
+    "1994-05-05": "Ethiopian Patriots' Victory Day",
     "1994-05-20": "Eid al-Adha (estimated)",
-    "1994-05-28": "Downfall of Dergue Regime Day",
+    "1994-05-28": "Downfall of the Dergue Regime Day",
     "1994-08-19": "Prophet's Birthday (estimated)",
     "1994-09-11": "Ethiopian New Year",
     "1994-09-27": "Finding of True Cross",
     "1995-01-07": "Christmas Day",
-    "1995-01-19": "Epiphany Day",
-    "1995-03-02": "Adwa Victory Day; Eid al-Fitr (estimated)",
+    "1995-01-19": "Epiphany",
+    "1995-02-20": "Ethiopian Martyrs' Day",
+    "1995-03-02": "Eid al-Fitr (estimated)",
     "1995-04-21": "Good Friday",
     "1995-04-23": "Easter Sunday",
-    "1995-05-01": "Workers' Day",
-    "1995-05-05": "Patriots' Day",
+    "1995-05-01": "International Workers' Day",
+    "1995-05-05": "Ethiopian Patriots' Victory Day",
     "1995-05-09": "Eid al-Adha (estimated)",
-    "1995-05-28": "Downfall of Dergue Regime Day",
+    "1995-05-28": "Downfall of the Dergue Regime Day",
     "1995-08-08": "Prophet's Birthday (estimated)",
     "1995-09-12": "Ethiopian New Year",
     "1995-09-28": "Finding of True Cross",
     "1996-01-07": "Christmas Day",
-    "1996-01-20": "Epiphany Day",
+    "1996-01-20": "Epiphany",
     "1996-02-19": "Eid al-Fitr (estimated)",
+    "1996-02-20": "Ethiopian Martyrs' Day",
     "1996-03-02": "Adwa Victory Day",
     "1996-04-12": "Good Friday",
     "1996-04-14": "Easter Sunday",
     "1996-04-27": "Eid al-Adha (estimated)",
-    "1996-05-01": "Workers' Day",
-    "1996-05-05": "Patriots' Day",
-    "1996-05-28": "Downfall of Dergue Regime Day",
+    "1996-05-01": "International Workers' Day",
+    "1996-05-05": "Ethiopian Patriots' Victory Day",
+    "1996-05-28": "Downfall of the Dergue Regime Day",
     "1996-07-27": "Prophet's Birthday (estimated)",
     "1996-09-11": "Ethiopian New Year",
     "1996-09-27": "Finding of True Cross",
     "1997-01-07": "Christmas Day",
-    "1997-01-19": "Epiphany Day",
+    "1997-01-19": "Epiphany",
     "1997-02-08": "Eid al-Fitr (estimated)",
+    "1997-02-20": "Ethiopian Martyrs' Day",
     "1997-03-02": "Adwa Victory Day",
     "1997-04-17": "Eid al-Adha (estimated)",
     "1997-04-25": "Good Friday",
     "1997-04-27": "Easter Sunday",
-    "1997-05-01": "Workers' Day",
-    "1997-05-05": "Patriots' Day",
-    "1997-05-28": "Downfall of Dergue Regime Day",
+    "1997-05-01": "International Workers' Day",
+    "1997-05-05": "Ethiopian Patriots' Victory Day",
+    "1997-05-28": "Downfall of the Dergue Regime Day",
     "1997-07-16": "Prophet's Birthday (estimated)",
     "1997-09-11": "Ethiopian New Year",
     "1997-09-27": "Finding of True Cross",
     "1998-01-07": "Christmas Day",
-    "1998-01-19": "Epiphany Day",
+    "1998-01-19": "Epiphany",
     "1998-01-29": "Eid al-Fitr (estimated)",
+    "1998-02-20": "Ethiopian Martyrs' Day",
     "1998-03-02": "Adwa Victory Day",
     "1998-04-07": "Eid al-Adha (estimated)",
     "1998-04-17": "Good Friday",
     "1998-04-19": "Easter Sunday",
-    "1998-05-01": "Workers' Day",
-    "1998-05-05": "Patriots' Day",
-    "1998-05-28": "Downfall of Dergue Regime Day",
+    "1998-05-01": "International Workers' Day",
+    "1998-05-05": "Ethiopian Patriots' Victory Day",
+    "1998-05-28": "Downfall of the Dergue Regime Day",
     "1998-07-06": "Prophet's Birthday (estimated)",
     "1998-09-11": "Ethiopian New Year",
     "1998-09-27": "Finding of True Cross",
     "1999-01-07": "Christmas Day",
     "1999-01-18": "Eid al-Fitr (estimated)",
-    "1999-01-19": "Epiphany Day",
+    "1999-01-19": "Epiphany",
+    "1999-02-20": "Ethiopian Martyrs' Day",
     "1999-03-02": "Adwa Victory Day",
     "1999-03-27": "Eid al-Adha (estimated)",
     "1999-04-09": "Good Friday",
     "1999-04-11": "Easter Sunday",
-    "1999-05-01": "Workers' Day",
-    "1999-05-05": "Patriots' Day",
-    "1999-05-28": "Downfall of Dergue Regime Day",
+    "1999-05-01": "International Workers' Day",
+    "1999-05-05": "Ethiopian Patriots' Victory Day",
+    "1999-05-28": "Downfall of the Dergue Regime Day",
     "1999-06-26": "Prophet's Birthday (estimated)",
     "1999-09-12": "Ethiopian New Year",
     "1999-09-28": "Finding of True Cross",
     "2000-01-07": "Christmas Day",
     "2000-01-08": "Eid al-Fitr (estimated)",
-    "2000-01-20": "Epiphany Day",
+    "2000-01-20": "Epiphany",
+    "2000-02-20": "Ethiopian Martyrs' Day",
     "2000-03-02": "Adwa Victory Day",
     "2000-03-16": "Eid al-Adha (estimated)",
     "2000-04-28": "Good Friday",
     "2000-04-30": "Easter Sunday",
-    "2000-05-01": "Workers' Day",
-    "2000-05-05": "Patriots' Day",
-    "2000-05-28": "Downfall of Dergue Regime Day",
+    "2000-05-01": "International Workers' Day",
+    "2000-05-05": "Ethiopian Patriots' Victory Day",
+    "2000-05-28": "Downfall of the Dergue Regime Day",
     "2000-06-14": "Prophet's Birthday (estimated)",
     "2000-09-11": "Ethiopian New Year",
     "2000-09-27": "Finding of True Cross",
     "2000-12-27": "Eid al-Fitr (estimated)",
     "2001-01-07": "Christmas Day",
-    "2001-01-19": "Epiphany Day",
+    "2001-01-19": "Epiphany",
+    "2001-02-20": "Ethiopian Martyrs' Day",
     "2001-03-02": "Adwa Victory Day",
     "2001-03-05": "Eid al-Adha (estimated)",
     "2001-04-13": "Good Friday",
     "2001-04-15": "Easter Sunday",
-    "2001-05-01": "Workers' Day",
-    "2001-05-05": "Patriots' Day",
-    "2001-05-28": "Downfall of Dergue Regime Day",
+    "2001-05-01": "International Workers' Day",
+    "2001-05-05": "Ethiopian Patriots' Victory Day",
+    "2001-05-28": "Downfall of the Dergue Regime Day",
     "2001-06-04": "Prophet's Birthday (estimated)",
     "2001-09-11": "Ethiopian New Year",
     "2001-09-27": "Finding of True Cross",
     "2001-12-16": "Eid al-Fitr (estimated)",
     "2002-01-07": "Christmas Day",
-    "2002-01-19": "Epiphany Day",
+    "2002-01-19": "Epiphany",
+    "2002-02-20": "Ethiopian Martyrs' Day",
     "2002-02-22": "Eid al-Adha (estimated)",
     "2002-03-02": "Adwa Victory Day",
-    "2002-05-01": "Workers' Day",
+    "2002-05-01": "International Workers' Day",
     "2002-05-03": "Good Friday",
-    "2002-05-05": "Easter Sunday; Patriots' Day",
+    "2002-05-05": "Easter Sunday; Ethiopian Patriots' Victory Day",
     "2002-05-24": "Prophet's Birthday (estimated)",
-    "2002-05-28": "Downfall of Dergue Regime Day",
+    "2002-05-28": "Downfall of the Dergue Regime Day",
     "2002-09-11": "Ethiopian New Year",
     "2002-09-27": "Finding of True Cross",
     "2002-12-05": "Eid al-Fitr (estimated)",
     "2003-01-07": "Christmas Day",
-    "2003-01-19": "Epiphany Day",
+    "2003-01-19": "Epiphany",
     "2003-02-11": "Eid al-Adha (estimated)",
+    "2003-02-20": "Ethiopian Martyrs' Day",
     "2003-03-02": "Adwa Victory Day",
     "2003-04-25": "Good Friday",
     "2003-04-27": "Easter Sunday",
-    "2003-05-01": "Workers' Day",
-    "2003-05-05": "Patriots' Day",
+    "2003-05-01": "International Workers' Day",
+    "2003-05-05": "Ethiopian Patriots' Victory Day",
     "2003-05-13": "Prophet's Birthday (estimated)",
-    "2003-05-28": "Downfall of Dergue Regime Day",
+    "2003-05-28": "Downfall of the Dergue Regime Day",
     "2003-09-12": "Ethiopian New Year",
     "2003-09-28": "Finding of True Cross",
     "2003-11-25": "Eid al-Fitr (estimated)",
     "2004-01-07": "Christmas Day",
-    "2004-01-20": "Epiphany Day",
+    "2004-01-20": "Epiphany",
     "2004-02-01": "Eid al-Adha (estimated)",
+    "2004-02-20": "Ethiopian Martyrs' Day",
     "2004-03-02": "Adwa Victory Day",
     "2004-04-09": "Good Friday",
     "2004-04-11": "Easter Sunday",
-    "2004-05-01": "Prophet's Birthday (estimated); Workers' Day",
-    "2004-05-05": "Patriots' Day",
-    "2004-05-28": "Downfall of Dergue Regime Day",
+    "2004-05-01": "International Workers' Day; Prophet's Birthday (estimated)",
+    "2004-05-05": "Ethiopian Patriots' Victory Day",
+    "2004-05-28": "Downfall of the Dergue Regime Day",
     "2004-09-11": "Ethiopian New Year",
     "2004-09-27": "Finding of True Cross",
     "2004-11-14": "Eid al-Fitr (estimated)",
     "2005-01-07": "Christmas Day",
-    "2005-01-19": "Epiphany Day",
+    "2005-01-19": "Epiphany",
     "2005-01-21": "Eid al-Adha (estimated)",
+    "2005-02-20": "Ethiopian Martyrs' Day",
     "2005-03-02": "Adwa Victory Day",
     "2005-04-21": "Prophet's Birthday (estimated)",
     "2005-04-29": "Good Friday",
-    "2005-05-01": "Easter Sunday; Workers' Day",
-    "2005-05-05": "Patriots' Day",
-    "2005-05-28": "Downfall of Dergue Regime Day",
+    "2005-05-01": "Easter Sunday; International Workers' Day",
+    "2005-05-05": "Ethiopian Patriots' Victory Day",
+    "2005-05-28": "Downfall of the Dergue Regime Day",
     "2005-09-11": "Ethiopian New Year",
     "2005-09-27": "Finding of True Cross",
     "2005-11-03": "Eid al-Fitr (estimated)",
     "2006-01-07": "Christmas Day",
     "2006-01-10": "Eid al-Adha (estimated)",
-    "2006-01-19": "Epiphany Day",
+    "2006-01-19": "Epiphany",
+    "2006-02-20": "Ethiopian Martyrs' Day",
     "2006-03-02": "Adwa Victory Day",
     "2006-04-10": "Prophet's Birthday (estimated)",
     "2006-04-21": "Good Friday",
     "2006-04-23": "Easter Sunday",
-    "2006-05-01": "Workers' Day",
-    "2006-05-05": "Patriots' Day",
-    "2006-05-28": "Downfall of Dergue Regime Day",
+    "2006-05-01": "International Workers' Day",
+    "2006-05-05": "Ethiopian Patriots' Victory Day",
+    "2006-05-28": "Downfall of the Dergue Regime Day",
     "2006-09-11": "Ethiopian New Year",
     "2006-09-27": "Finding of True Cross",
     "2006-10-23": "Eid al-Fitr (estimated)",
+    "2006-12-09": "Nations, Nationalities and Peoples Day",
     "2006-12-31": "Eid al-Adha (estimated)",
     "2007-01-07": "Christmas Day",
-    "2007-01-19": "Epiphany Day",
+    "2007-01-19": "Epiphany",
+    "2007-02-20": "Ethiopian Martyrs' Day",
     "2007-03-02": "Adwa Victory Day",
     "2007-03-31": "Prophet's Birthday (estimated)",
     "2007-04-06": "Good Friday",
     "2007-04-08": "Easter Sunday",
-    "2007-05-01": "Workers' Day",
-    "2007-05-05": "Patriots' Day",
-    "2007-05-28": "Downfall of Dergue Regime Day",
+    "2007-05-01": "International Workers' Day",
+    "2007-05-05": "Ethiopian Patriots' Victory Day",
+    "2007-05-28": "Downfall of the Dergue Regime Day",
     "2007-09-12": "Ethiopian New Year",
     "2007-09-28": "Finding of True Cross",
     "2007-10-13": "Eid al-Fitr (estimated)",
+    "2007-12-09": "Nations, Nationalities and Peoples Day",
     "2007-12-20": "Eid al-Adha (estimated)",
     "2008-01-07": "Christmas Day",
-    "2008-01-20": "Epiphany Day",
+    "2008-01-20": "Epiphany",
+    "2008-02-20": "Ethiopian Martyrs' Day",
     "2008-03-02": "Adwa Victory Day",
     "2008-03-20": "Prophet's Birthday (estimated)",
     "2008-04-25": "Good Friday",
     "2008-04-27": "Easter Sunday",
-    "2008-05-01": "Workers' Day",
-    "2008-05-05": "Patriots' Day",
-    "2008-05-28": "Downfall of Dergue Regime Day",
+    "2008-05-01": "International Workers' Day",
+    "2008-05-05": "Ethiopian Patriots' Victory Day",
+    "2008-05-28": "Downfall of the Dergue Regime Day",
     "2008-09-11": "Ethiopian New Year",
     "2008-09-27": "Finding of True Cross",
     "2008-10-01": "Eid al-Fitr (estimated)",
     "2008-12-08": "Eid al-Adha (estimated)",
+    "2008-12-09": "Nations, Nationalities and Peoples Day",
     "2009-01-07": "Christmas Day",
-    "2009-01-19": "Epiphany Day",
+    "2009-01-19": "Epiphany",
+    "2009-02-20": "Ethiopian Martyrs' Day",
     "2009-03-02": "Adwa Victory Day",
     "2009-03-09": "Prophet's Birthday (estimated)",
     "2009-04-17": "Good Friday",
     "2009-04-19": "Easter Sunday",
-    "2009-05-01": "Workers' Day",
-    "2009-05-05": "Patriots' Day",
-    "2009-05-28": "Downfall of Dergue Regime Day",
+    "2009-05-01": "International Workers' Day",
+    "2009-05-05": "Ethiopian Patriots' Victory Day",
+    "2009-05-28": "Downfall of the Dergue Regime Day",
     "2009-09-11": "Ethiopian New Year",
     "2009-09-20": "Eid al-Fitr (estimated)",
     "2009-09-27": "Finding of True Cross",
     "2009-11-27": "Eid al-Adha (estimated)",
+    "2009-12-09": "Nations, Nationalities and Peoples Day",
     "2010-01-07": "Christmas Day",
-    "2010-01-19": "Epiphany Day",
+    "2010-01-19": "Epiphany",
+    "2010-02-20": "Ethiopian Martyrs' Day",
     "2010-02-26": "Prophet's Birthday (estimated)",
     "2010-03-02": "Adwa Victory Day",
     "2010-04-02": "Good Friday",
     "2010-04-04": "Easter Sunday",
-    "2010-05-01": "Workers' Day",
-    "2010-05-05": "Patriots' Day",
-    "2010-05-28": "Downfall of Dergue Regime Day",
+    "2010-05-01": "International Workers' Day",
+    "2010-05-05": "Ethiopian Patriots' Victory Day",
+    "2010-05-28": "Downfall of the Dergue Regime Day",
     "2010-09-10": "Eid al-Fitr (estimated)",
     "2010-09-11": "Ethiopian New Year",
     "2010-09-27": "Finding of True Cross",
     "2010-11-16": "Eid al-Adha (estimated)",
+    "2010-12-09": "Nations, Nationalities and Peoples Day",
     "2011-01-07": "Christmas Day",
-    "2011-01-19": "Epiphany Day",
+    "2011-01-19": "Epiphany",
     "2011-02-15": "Prophet's Birthday (estimated)",
+    "2011-02-20": "Ethiopian Martyrs' Day",
     "2011-03-02": "Adwa Victory Day",
     "2011-04-22": "Good Friday",
     "2011-04-24": "Easter Sunday",
-    "2011-05-01": "Workers' Day",
-    "2011-05-05": "Patriots' Day",
-    "2011-05-28": "Downfall of Dergue Regime Day",
+    "2011-05-01": "International Workers' Day",
+    "2011-05-05": "Ethiopian Patriots' Victory Day",
+    "2011-05-28": "Downfall of the Dergue Regime Day",
     "2011-08-30": "Eid al-Fitr (estimated)",
     "2011-09-12": "Ethiopian New Year",
     "2011-09-28": "Finding of True Cross",
     "2011-11-06": "Eid al-Adha (estimated)",
+    "2011-12-09": "Nations, Nationalities and Peoples Day",
     "2012-01-07": "Christmas Day",
-    "2012-01-20": "Epiphany Day",
+    "2012-01-20": "Epiphany",
     "2012-02-04": "Prophet's Birthday (estimated)",
+    "2012-02-20": "Ethiopian Martyrs' Day",
     "2012-03-02": "Adwa Victory Day",
     "2012-04-13": "Good Friday",
     "2012-04-15": "Easter Sunday",
-    "2012-05-01": "Workers' Day",
-    "2012-05-05": "Patriots' Day",
-    "2012-05-28": "Downfall of Dergue Regime Day",
+    "2012-05-01": "International Workers' Day",
+    "2012-05-05": "Ethiopian Patriots' Victory Day",
+    "2012-05-28": "Downfall of the Dergue Regime Day",
     "2012-08-19": "Eid al-Fitr (estimated)",
     "2012-09-11": "Ethiopian New Year",
     "2012-09-27": "Finding of True Cross",
     "2012-10-26": "Eid al-Adha (estimated)",
+    "2012-12-09": "Nations, Nationalities and Peoples Day",
     "2013-01-07": "Christmas Day",
-    "2013-01-19": "Epiphany Day",
+    "2013-01-19": "Epiphany",
     "2013-01-24": "Prophet's Birthday (estimated)",
+    "2013-02-20": "Ethiopian Martyrs' Day",
     "2013-03-02": "Adwa Victory Day",
-    "2013-05-01": "Workers' Day",
+    "2013-05-01": "International Workers' Day",
     "2013-05-03": "Good Friday",
-    "2013-05-05": "Easter Sunday; Patriots' Day",
-    "2013-05-28": "Downfall of Dergue Regime Day",
+    "2013-05-05": "Easter Sunday; Ethiopian Patriots' Victory Day",
+    "2013-05-28": "Downfall of the Dergue Regime Day",
     "2013-08-08": "Eid al-Fitr (estimated)",
     "2013-09-11": "Ethiopian New Year",
     "2013-09-27": "Finding of True Cross",
     "2013-10-15": "Eid al-Adha (estimated)",
+    "2013-12-09": "Nations, Nationalities and Peoples Day",
     "2014-01-07": "Christmas Day",
     "2014-01-13": "Prophet's Birthday (estimated)",
-    "2014-01-19": "Epiphany Day",
+    "2014-01-19": "Epiphany",
+    "2014-02-20": "Ethiopian Martyrs' Day",
     "2014-03-02": "Adwa Victory Day",
     "2014-04-18": "Good Friday",
     "2014-04-20": "Easter Sunday",
-    "2014-05-01": "Workers' Day",
-    "2014-05-05": "Patriots' Day",
-    "2014-05-28": "Downfall of Dergue Regime Day",
+    "2014-05-01": "International Workers' Day",
+    "2014-05-05": "Ethiopian Patriots' Victory Day",
+    "2014-05-28": "Downfall of the Dergue Regime Day",
     "2014-07-28": "Eid al-Fitr (estimated)",
     "2014-09-11": "Ethiopian New Year",
     "2014-09-27": "Finding of True Cross",
     "2014-10-04": "Eid al-Adha (estimated)",
+    "2014-12-09": "Nations, Nationalities and Peoples Day",
     "2015-01-03": "Prophet's Birthday (estimated)",
     "2015-01-07": "Christmas Day",
-    "2015-01-19": "Epiphany Day",
+    "2015-01-19": "Epiphany",
+    "2015-02-20": "Ethiopian Martyrs' Day",
     "2015-03-02": "Adwa Victory Day",
     "2015-04-10": "Good Friday",
     "2015-04-12": "Easter Sunday",
-    "2015-05-01": "Workers' Day",
-    "2015-05-05": "Patriots' Day",
-    "2015-05-28": "Downfall of Dergue Regime Day",
+    "2015-05-01": "International Workers' Day",
+    "2015-05-05": "Ethiopian Patriots' Victory Day",
+    "2015-05-28": "Downfall of the Dergue Regime Day",
     "2015-07-17": "Eid al-Fitr (estimated)",
     "2015-09-12": "Ethiopian New Year",
     "2015-09-23": "Eid al-Adha (estimated)",
     "2015-09-28": "Finding of True Cross",
+    "2015-12-09": "Nations, Nationalities and Peoples Day",
     "2015-12-23": "Prophet's Birthday (estimated)",
     "2016-01-07": "Christmas Day",
-    "2016-01-20": "Epiphany Day",
+    "2016-01-20": "Epiphany",
+    "2016-02-20": "Ethiopian Martyrs' Day",
     "2016-03-02": "Adwa Victory Day",
     "2016-04-29": "Good Friday",
-    "2016-05-01": "Easter Sunday; Workers' Day",
-    "2016-05-05": "Patriots' Day",
-    "2016-05-28": "Downfall of Dergue Regime Day",
+    "2016-05-01": "Easter Sunday; International Workers' Day",
+    "2016-05-05": "Ethiopian Patriots' Victory Day",
+    "2016-05-28": "Downfall of the Dergue Regime Day",
     "2016-07-06": "Eid al-Fitr (estimated)",
     "2016-09-11": "Eid al-Adha (estimated); Ethiopian New Year",
     "2016-09-27": "Finding of True Cross",
+    "2016-12-09": "Nations, Nationalities and Peoples Day",
     "2016-12-11": "Prophet's Birthday (estimated)",
     "2017-01-07": "Christmas Day",
-    "2017-01-19": "Epiphany Day",
+    "2017-01-19": "Epiphany",
+    "2017-02-20": "Ethiopian Martyrs' Day",
     "2017-03-02": "Adwa Victory Day",
     "2017-04-14": "Good Friday",
     "2017-04-16": "Easter Sunday",
-    "2017-05-01": "Workers' Day",
-    "2017-05-05": "Patriots' Day",
-    "2017-05-28": "Downfall of Dergue Regime Day",
+    "2017-05-01": "International Workers' Day",
+    "2017-05-05": "Ethiopian Patriots' Victory Day",
+    "2017-05-28": "Downfall of the Dergue Regime Day",
     "2017-06-25": "Eid al-Fitr (estimated)",
     "2017-09-01": "Eid al-Adha (estimated)",
     "2017-09-11": "Ethiopian New Year",
     "2017-09-27": "Finding of True Cross",
     "2017-11-30": "Prophet's Birthday (estimated)",
+    "2017-12-09": "Nations, Nationalities and Peoples Day",
     "2018-01-07": "Christmas Day",
-    "2018-01-19": "Epiphany Day",
+    "2018-01-19": "Epiphany",
+    "2018-02-20": "Ethiopian Martyrs' Day",
     "2018-03-02": "Adwa Victory Day",
     "2018-04-06": "Good Friday",
     "2018-04-08": "Easter Sunday",
-    "2018-05-01": "Workers' Day",
-    "2018-05-05": "Patriots' Day",
-    "2018-05-28": "Downfall of Dergue Regime Day",
+    "2018-05-01": "International Workers' Day",
+    "2018-05-05": "Ethiopian Patriots' Victory Day",
+    "2018-05-28": "Downfall of the Dergue Regime Day",
     "2018-06-15": "Eid al-Fitr",
     "2018-08-22": "Eid al-Adha",
     "2018-09-11": "Ethiopian New Year",
     "2018-09-27": "Finding of True Cross",
     "2018-11-21": "Prophet's Birthday",
+    "2018-12-09": "Nations, Nationalities and Peoples Day",
     "2019-01-07": "Christmas Day",
-    "2019-01-19": "Epiphany Day",
+    "2019-01-19": "Epiphany",
+    "2019-02-20": "Ethiopian Martyrs' Day",
     "2019-03-02": "Adwa Victory Day",
     "2019-04-26": "Good Friday",
     "2019-04-28": "Easter Sunday",
-    "2019-05-01": "Workers' Day",
-    "2019-05-05": "Patriots' Day",
-    "2019-05-28": "Downfall of Dergue Regime Day",
+    "2019-05-01": "International Workers' Day",
+    "2019-05-05": "Ethiopian Patriots' Victory Day",
+    "2019-05-28": "Downfall of the Dergue Regime Day",
     "2019-06-04": "Eid al-Fitr",
     "2019-08-11": "Eid al-Adha",
     "2019-09-12": "Ethiopian New Year",
     "2019-09-28": "Finding of True Cross",
     "2019-11-10": "Prophet's Birthday",
+    "2019-12-09": "Nations, Nationalities and Peoples Day",
     "2020-01-07": "Christmas Day",
-    "2020-01-20": "Epiphany Day",
+    "2020-01-20": "Epiphany",
+    "2020-02-20": "Ethiopian Martyrs' Day",
     "2020-03-02": "Adwa Victory Day",
     "2020-04-17": "Good Friday",
     "2020-04-19": "Easter Sunday",
-    "2020-05-01": "Workers' Day",
-    "2020-05-05": "Patriots' Day",
+    "2020-05-01": "International Workers' Day",
+    "2020-05-05": "Ethiopian Patriots' Victory Day",
     "2020-05-24": "Eid al-Fitr",
-    "2020-05-28": "Downfall of Dergue Regime Day",
+    "2020-05-28": "Downfall of the Dergue Regime Day",
     "2020-07-31": "Eid al-Adha",
     "2020-09-11": "Ethiopian New Year",
     "2020-09-27": "Finding of True Cross",
     "2020-10-29": "Prophet's Birthday",
+    "2020-12-09": "Nations, Nationalities and Peoples Day",
     "2021-01-07": "Christmas Day",
-    "2021-01-19": "Epiphany Day",
+    "2021-01-19": "Epiphany",
+    "2021-02-20": "Ethiopian Martyrs' Day",
     "2021-03-02": "Adwa Victory Day",
     "2021-04-30": "Good Friday",
-    "2021-05-01": "Workers' Day",
+    "2021-05-01": "International Workers' Day",
     "2021-05-02": "Easter Sunday",
-    "2021-05-05": "Patriots' Day",
+    "2021-05-05": "Ethiopian Patriots' Victory Day",
     "2021-05-13": "Eid al-Fitr",
-    "2021-05-28": "Downfall of Dergue Regime Day",
+    "2021-05-28": "Downfall of the Dergue Regime Day",
     "2021-07-20": "Eid al-Adha",
     "2021-09-11": "Ethiopian New Year",
     "2021-09-27": "Finding of True Cross",
     "2021-10-18": "Prophet's Birthday",
+    "2021-12-09": "Nations, Nationalities and Peoples Day",
     "2022-01-07": "Christmas Day",
-    "2022-01-19": "Epiphany Day",
+    "2022-01-19": "Epiphany",
+    "2022-02-20": "Ethiopian Martyrs' Day",
     "2022-03-02": "Adwa Victory Day",
     "2022-04-22": "Good Friday",
     "2022-04-24": "Easter Sunday",
-    "2022-05-01": "Workers' Day",
+    "2022-05-01": "International Workers' Day",
     "2022-05-02": "Eid al-Fitr",
-    "2022-05-05": "Patriots' Day",
-    "2022-05-28": "Downfall of Dergue Regime Day",
+    "2022-05-05": "Ethiopian Patriots' Victory Day",
+    "2022-05-28": "Downfall of the Dergue Regime Day",
     "2022-07-09": "Eid al-Adha",
     "2022-09-11": "Ethiopian New Year",
     "2022-09-27": "Finding of True Cross",
     "2022-10-08": "Prophet's Birthday",
+    "2022-12-09": "Nations, Nationalities and Peoples Day",
     "2023-01-07": "Christmas Day",
-    "2023-01-19": "Epiphany Day",
+    "2023-01-19": "Epiphany",
+    "2023-02-20": "Ethiopian Martyrs' Day",
     "2023-03-02": "Adwa Victory Day",
     "2023-04-14": "Good Friday",
     "2023-04-16": "Easter Sunday",
     "2023-04-21": "Eid al-Fitr",
-    "2023-05-01": "Workers' Day",
-    "2023-05-05": "Patriots' Day",
-    "2023-05-28": "Downfall of Dergue Regime Day",
+    "2023-05-01": "International Workers' Day",
+    "2023-05-05": "Ethiopian Patriots' Victory Day",
+    "2023-05-28": "Downfall of the Dergue Regime Day",
     "2023-06-28": "Eid al-Adha",
     "2023-09-12": "Ethiopian New Year",
     "2023-09-27": "Prophet's Birthday",
     "2023-09-28": "Finding of True Cross",
+    "2023-12-09": "Nations, Nationalities and Peoples Day",
     "2024-01-07": "Christmas Day",
-    "2024-01-20": "Epiphany Day",
+    "2024-01-20": "Epiphany",
+    "2024-02-20": "Ethiopian Martyrs' Day",
     "2024-03-02": "Adwa Victory Day",
     "2024-04-10": "Eid al-Fitr",
-    "2024-05-01": "Workers' Day",
+    "2024-05-01": "International Workers' Day",
     "2024-05-03": "Good Friday",
-    "2024-05-05": "Easter Sunday; Patriots' Day",
-    "2024-05-28": "Downfall of Dergue Regime Day",
-    "2024-06-16": "Eid al-Adha (estimated)",
+    "2024-05-05": "Easter Sunday; Ethiopian Patriots' Victory Day",
+    "2024-05-28": "Downfall of the Dergue Regime Day",
+    "2024-06-16": "Eid al-Adha",
     "2024-09-11": "Ethiopian New Year",
-    "2024-09-15": "Prophet's Birthday (estimated)",
+    "2024-09-15": "Prophet's Birthday",
     "2024-09-27": "Finding of True Cross",
+    "2024-12-09": "Nations, Nationalities and Peoples Day",
     "2025-01-07": "Christmas Day",
-    "2025-01-19": "Epiphany Day",
+    "2025-01-19": "Epiphany",
+    "2025-02-20": "Ethiopian Martyrs' Day",
     "2025-03-02": "Adwa Victory Day",
-    "2025-03-30": "Eid al-Fitr (estimated)",
+    "2025-03-30": "Eid al-Fitr",
     "2025-04-18": "Good Friday",
     "2025-04-20": "Easter Sunday",
-    "2025-05-01": "Workers' Day",
-    "2025-05-05": "Patriots' Day",
-    "2025-05-28": "Downfall of Dergue Regime Day",
+    "2025-05-01": "International Workers' Day",
+    "2025-05-05": "Ethiopian Patriots' Victory Day",
+    "2025-05-28": "Downfall of the Dergue Regime Day",
     "2025-06-06": "Eid al-Adha (estimated)",
     "2025-09-04": "Prophet's Birthday (estimated)",
     "2025-09-11": "Ethiopian New Year",
     "2025-09-27": "Finding of True Cross",
+    "2025-12-09": "Nations, Nationalities and Peoples Day",
     "2026-01-07": "Christmas Day",
-    "2026-01-19": "Epiphany Day",
+    "2026-01-19": "Epiphany",
+    "2026-02-20": "Ethiopian Martyrs' Day",
     "2026-03-02": "Adwa Victory Day",
     "2026-03-20": "Eid al-Fitr (estimated)",
     "2026-04-10": "Good Friday",
     "2026-04-12": "Easter Sunday",
-    "2026-05-01": "Workers' Day",
-    "2026-05-05": "Patriots' Day",
+    "2026-05-01": "International Workers' Day",
+    "2026-05-05": "Ethiopian Patriots' Victory Day",
     "2026-05-27": "Eid al-Adha (estimated)",
-    "2026-05-28": "Downfall of Dergue Regime Day",
+    "2026-05-28": "Downfall of the Dergue Regime Day",
     "2026-08-25": "Prophet's Birthday (estimated)",
     "2026-09-11": "Ethiopian New Year",
     "2026-09-27": "Finding of True Cross",
+    "2026-12-09": "Nations, Nationalities and Peoples Day",
     "2027-01-07": "Christmas Day",
-    "2027-01-19": "Epiphany Day",
+    "2027-01-19": "Epiphany",
+    "2027-02-20": "Ethiopian Martyrs' Day",
     "2027-03-02": "Adwa Victory Day",
     "2027-03-09": "Eid al-Fitr (estimated)",
     "2027-04-30": "Good Friday",
-    "2027-05-01": "Workers' Day",
+    "2027-05-01": "International Workers' Day",
     "2027-05-02": "Easter Sunday",
-    "2027-05-05": "Patriots' Day",
+    "2027-05-05": "Ethiopian Patriots' Victory Day",
     "2027-05-16": "Eid al-Adha (estimated)",
-    "2027-05-28": "Downfall of Dergue Regime Day",
+    "2027-05-28": "Downfall of the Dergue Regime Day",
     "2027-08-14": "Prophet's Birthday (estimated)",
     "2027-09-12": "Ethiopian New Year",
     "2027-09-28": "Finding of True Cross",
+    "2027-12-09": "Nations, Nationalities and Peoples Day",
     "2028-01-07": "Christmas Day",
-    "2028-01-20": "Epiphany Day",
+    "2028-01-20": "Epiphany",
+    "2028-02-20": "Ethiopian Martyrs' Day",
     "2028-02-26": "Eid al-Fitr (estimated)",
     "2028-03-02": "Adwa Victory Day",
     "2028-04-14": "Good Friday",
     "2028-04-16": "Easter Sunday",
-    "2028-05-01": "Workers' Day",
-    "2028-05-05": "Eid al-Adha (estimated); Patriots' Day",
-    "2028-05-28": "Downfall of Dergue Regime Day",
+    "2028-05-01": "International Workers' Day",
+    "2028-05-05": "Eid al-Adha (estimated); Ethiopian Patriots' Victory Day",
+    "2028-05-28": "Downfall of the Dergue Regime Day",
     "2028-08-03": "Prophet's Birthday (estimated)",
     "2028-09-11": "Ethiopian New Year",
     "2028-09-27": "Finding of True Cross",
+    "2028-12-09": "Nations, Nationalities and Peoples Day",
     "2029-01-07": "Christmas Day",
-    "2029-01-19": "Epiphany Day",
+    "2029-01-19": "Epiphany",
     "2029-02-14": "Eid al-Fitr (estimated)",
+    "2029-02-20": "Ethiopian Martyrs' Day",
     "2029-03-02": "Adwa Victory Day",
     "2029-04-06": "Good Friday",
     "2029-04-08": "Easter Sunday",
     "2029-04-24": "Eid al-Adha (estimated)",
-    "2029-05-01": "Workers' Day",
-    "2029-05-05": "Patriots' Day",
-    "2029-05-28": "Downfall of Dergue Regime Day",
+    "2029-05-01": "International Workers' Day",
+    "2029-05-05": "Ethiopian Patriots' Victory Day",
+    "2029-05-28": "Downfall of the Dergue Regime Day",
     "2029-07-24": "Prophet's Birthday (estimated)",
     "2029-09-11": "Ethiopian New Year",
     "2029-09-27": "Finding of True Cross",
+    "2029-12-09": "Nations, Nationalities and Peoples Day",
     "2030-01-07": "Christmas Day",
-    "2030-01-19": "Epiphany Day",
+    "2030-01-19": "Epiphany",
     "2030-02-04": "Eid al-Fitr (estimated)",
+    "2030-02-20": "Ethiopian Martyrs' Day",
     "2030-03-02": "Adwa Victory Day",
     "2030-04-13": "Eid al-Adha (estimated)",
     "2030-04-26": "Good Friday",
     "2030-04-28": "Easter Sunday",
-    "2030-05-01": "Workers' Day",
-    "2030-05-05": "Patriots' Day",
-    "2030-05-28": "Downfall of Dergue Regime Day",
+    "2030-05-01": "International Workers' Day",
+    "2030-05-05": "Ethiopian Patriots' Victory Day",
+    "2030-05-28": "Downfall of the Dergue Regime Day",
     "2030-07-13": "Prophet's Birthday (estimated)",
     "2030-09-11": "Ethiopian New Year",
     "2030-09-27": "Finding of True Cross",
+    "2030-12-09": "Nations, Nationalities and Peoples Day",
     "2031-01-07": "Christmas Day",
-    "2031-01-19": "Epiphany Day",
+    "2031-01-19": "Epiphany",
     "2031-01-24": "Eid al-Fitr (estimated)",
+    "2031-02-20": "Ethiopian Martyrs' Day",
     "2031-03-02": "Adwa Victory Day",
     "2031-04-02": "Eid al-Adha (estimated)",
     "2031-04-11": "Good Friday",
     "2031-04-13": "Easter Sunday",
-    "2031-05-01": "Workers' Day",
-    "2031-05-05": "Patriots' Day",
-    "2031-05-28": "Downfall of Dergue Regime Day",
+    "2031-05-01": "International Workers' Day",
+    "2031-05-05": "Ethiopian Patriots' Victory Day",
+    "2031-05-28": "Downfall of the Dergue Regime Day",
     "2031-07-02": "Prophet's Birthday (estimated)",
     "2031-09-12": "Ethiopian New Year",
     "2031-09-28": "Finding of True Cross",
+    "2031-12-09": "Nations, Nationalities and Peoples Day",
     "2032-01-07": "Christmas Day",
     "2032-01-14": "Eid al-Fitr (estimated)",
-    "2032-01-20": "Epiphany Day",
+    "2032-01-20": "Epiphany",
+    "2032-02-20": "Ethiopian Martyrs' Day",
     "2032-03-02": "Adwa Victory Day",
     "2032-03-22": "Eid al-Adha (estimated)",
     "2032-04-30": "Good Friday",
-    "2032-05-01": "Workers' Day",
+    "2032-05-01": "International Workers' Day",
     "2032-05-02": "Easter Sunday",
-    "2032-05-05": "Patriots' Day",
-    "2032-05-28": "Downfall of Dergue Regime Day",
+    "2032-05-05": "Ethiopian Patriots' Victory Day",
+    "2032-05-28": "Downfall of the Dergue Regime Day",
     "2032-06-20": "Prophet's Birthday (estimated)",
     "2032-09-11": "Ethiopian New Year",
     "2032-09-27": "Finding of True Cross",
+    "2032-12-09": "Nations, Nationalities and Peoples Day",
     "2033-01-02": "Eid al-Fitr (estimated)",
     "2033-01-07": "Christmas Day",
-    "2033-01-19": "Epiphany Day",
+    "2033-01-19": "Epiphany",
+    "2033-02-20": "Ethiopian Martyrs' Day",
     "2033-03-02": "Adwa Victory Day",
     "2033-03-11": "Eid al-Adha (estimated)",
     "2033-04-22": "Good Friday",
     "2033-04-24": "Easter Sunday",
-    "2033-05-01": "Workers' Day",
-    "2033-05-05": "Patriots' Day",
-    "2033-05-28": "Downfall of Dergue Regime Day",
+    "2033-05-01": "International Workers' Day",
+    "2033-05-05": "Ethiopian Patriots' Victory Day",
+    "2033-05-28": "Downfall of the Dergue Regime Day",
     "2033-06-09": "Prophet's Birthday (estimated)",
     "2033-09-11": "Ethiopian New Year",
     "2033-09-27": "Finding of True Cross",
+    "2033-12-09": "Nations, Nationalities and Peoples Day",
     "2033-12-23": "Eid al-Fitr (estimated)",
     "2034-01-07": "Christmas Day",
-    "2034-01-19": "Epiphany Day",
+    "2034-01-19": "Epiphany",
+    "2034-02-20": "Ethiopian Martyrs' Day",
     "2034-03-01": "Eid al-Adha (estimated)",
     "2034-03-02": "Adwa Victory Day",
     "2034-04-07": "Good Friday",
     "2034-04-09": "Easter Sunday",
-    "2034-05-01": "Workers' Day",
-    "2034-05-05": "Patriots' Day",
-    "2034-05-28": "Downfall of Dergue Regime Day",
+    "2034-05-01": "International Workers' Day",
+    "2034-05-05": "Ethiopian Patriots' Victory Day",
+    "2034-05-28": "Downfall of the Dergue Regime Day",
     "2034-05-30": "Prophet's Birthday (estimated)",
     "2034-09-11": "Ethiopian New Year",
     "2034-09-27": "Finding of True Cross",
+    "2034-12-09": "Nations, Nationalities and Peoples Day",
     "2034-12-12": "Eid al-Fitr (estimated)",
     "2035-01-07": "Christmas Day",
-    "2035-01-19": "Epiphany Day",
+    "2035-01-19": "Epiphany",
     "2035-02-18": "Eid al-Adha (estimated)",
+    "2035-02-20": "Ethiopian Martyrs' Day",
     "2035-03-02": "Adwa Victory Day",
     "2035-04-27": "Good Friday",
     "2035-04-29": "Easter Sunday",
-    "2035-05-01": "Workers' Day",
-    "2035-05-05": "Patriots' Day",
+    "2035-05-01": "International Workers' Day",
+    "2035-05-05": "Ethiopian Patriots' Victory Day",
     "2035-05-20": "Prophet's Birthday (estimated)",
-    "2035-05-28": "Downfall of Dergue Regime Day",
+    "2035-05-28": "Downfall of the Dergue Regime Day",
     "2035-09-12": "Ethiopian New Year",
     "2035-09-28": "Finding of True Cross",
     "2035-12-01": "Eid al-Fitr (estimated)",
+    "2035-12-09": "Nations, Nationalities and Peoples Day",
     "2036-01-07": "Christmas Day",
-    "2036-01-20": "Epiphany Day",
+    "2036-01-20": "Epiphany",
     "2036-02-07": "Eid al-Adha (estimated)",
+    "2036-02-20": "Ethiopian Martyrs' Day",
     "2036-03-02": "Adwa Victory Day",
     "2036-04-18": "Good Friday",
     "2036-04-20": "Easter Sunday",
-    "2036-05-01": "Workers' Day",
-    "2036-05-05": "Patriots' Day",
+    "2036-05-01": "International Workers' Day",
+    "2036-05-05": "Ethiopian Patriots' Victory Day",
     "2036-05-08": "Prophet's Birthday (estimated)",
-    "2036-05-28": "Downfall of Dergue Regime Day",
+    "2036-05-28": "Downfall of the Dergue Regime Day",
     "2036-09-11": "Ethiopian New Year",
     "2036-09-27": "Finding of True Cross",
     "2036-11-19": "Eid al-Fitr (estimated)",
+    "2036-12-09": "Nations, Nationalities and Peoples Day",
     "2037-01-07": "Christmas Day",
-    "2037-01-19": "Epiphany Day",
+    "2037-01-19": "Epiphany",
     "2037-01-26": "Eid al-Adha (estimated)",
+    "2037-02-20": "Ethiopian Martyrs' Day",
     "2037-03-02": "Adwa Victory Day",
     "2037-04-03": "Good Friday",
     "2037-04-05": "Easter Sunday",
     "2037-04-28": "Prophet's Birthday (estimated)",
-    "2037-05-01": "Workers' Day",
-    "2037-05-05": "Patriots' Day",
-    "2037-05-28": "Downfall of Dergue Regime Day",
+    "2037-05-01": "International Workers' Day",
+    "2037-05-05": "Ethiopian Patriots' Victory Day",
+    "2037-05-28": "Downfall of the Dergue Regime Day",
     "2037-09-11": "Ethiopian New Year",
     "2037-09-27": "Finding of True Cross",
     "2037-11-08": "Eid al-Fitr (estimated)",
+    "2037-12-09": "Nations, Nationalities and Peoples Day",
     "2038-01-07": "Christmas Day",
     "2038-01-16": "Eid al-Adha (estimated)",
-    "2038-01-19": "Epiphany Day",
+    "2038-01-19": "Epiphany",
+    "2038-02-20": "Ethiopian Martyrs' Day",
     "2038-03-02": "Adwa Victory Day",
     "2038-04-17": "Prophet's Birthday (estimated)",
     "2038-04-23": "Good Friday",
     "2038-04-25": "Easter Sunday",
-    "2038-05-01": "Workers' Day",
-    "2038-05-05": "Patriots' Day",
-    "2038-05-28": "Downfall of Dergue Regime Day",
+    "2038-05-01": "International Workers' Day",
+    "2038-05-05": "Ethiopian Patriots' Victory Day",
+    "2038-05-28": "Downfall of the Dergue Regime Day",
     "2038-09-11": "Ethiopian New Year",
     "2038-09-27": "Finding of True Cross",
     "2038-10-29": "Eid al-Fitr (estimated)",
+    "2038-12-09": "Nations, Nationalities and Peoples Day",
     "2039-01-05": "Eid al-Adha (estimated)",
     "2039-01-07": "Christmas Day",
-    "2039-01-19": "Epiphany Day",
+    "2039-01-19": "Epiphany",
+    "2039-02-20": "Ethiopian Martyrs' Day",
     "2039-03-02": "Adwa Victory Day",
     "2039-04-06": "Prophet's Birthday (estimated)",
     "2039-04-15": "Good Friday",
     "2039-04-17": "Easter Sunday",
-    "2039-05-01": "Workers' Day",
-    "2039-05-05": "Patriots' Day",
-    "2039-05-28": "Downfall of Dergue Regime Day",
+    "2039-05-01": "International Workers' Day",
+    "2039-05-05": "Ethiopian Patriots' Victory Day",
+    "2039-05-28": "Downfall of the Dergue Regime Day",
     "2039-09-12": "Ethiopian New Year",
     "2039-09-28": "Finding of True Cross",
     "2039-10-19": "Eid al-Fitr (estimated)",
+    "2039-12-09": "Nations, Nationalities and Peoples Day",
     "2039-12-26": "Eid al-Adha (estimated)",
     "2040-01-07": "Christmas Day",
-    "2040-01-20": "Epiphany Day",
+    "2040-01-20": "Epiphany",
+    "2040-02-20": "Ethiopian Martyrs' Day",
     "2040-03-02": "Adwa Victory Day",
     "2040-03-25": "Prophet's Birthday (estimated)",
-    "2040-05-01": "Workers' Day",
+    "2040-05-01": "International Workers' Day",
     "2040-05-04": "Good Friday",
-    "2040-05-05": "Patriots' Day",
+    "2040-05-05": "Ethiopian Patriots' Victory Day",
     "2040-05-06": "Easter Sunday",
-    "2040-05-28": "Downfall of Dergue Regime Day",
+    "2040-05-28": "Downfall of the Dergue Regime Day",
     "2040-09-11": "Ethiopian New Year",
     "2040-09-27": "Finding of True Cross",
     "2040-10-07": "Eid al-Fitr (estimated)",
+    "2040-12-09": "Nations, Nationalities and Peoples Day",
     "2040-12-14": "Eid al-Adha (estimated)",
     "2041-01-07": "Christmas Day",
-    "2041-01-19": "Epiphany Day",
+    "2041-01-19": "Epiphany",
+    "2041-02-20": "Ethiopian Martyrs' Day",
     "2041-03-02": "Adwa Victory Day",
     "2041-03-15": "Prophet's Birthday (estimated)",
     "2041-04-19": "Good Friday",
     "2041-04-21": "Easter Sunday",
-    "2041-05-01": "Workers' Day",
-    "2041-05-05": "Patriots' Day",
-    "2041-05-28": "Downfall of Dergue Regime Day",
+    "2041-05-01": "International Workers' Day",
+    "2041-05-05": "Ethiopian Patriots' Victory Day",
+    "2041-05-28": "Downfall of the Dergue Regime Day",
     "2041-09-11": "Ethiopian New Year",
     "2041-09-26": "Eid al-Fitr (estimated)",
     "2041-09-27": "Finding of True Cross",
     "2041-12-04": "Eid al-Adha (estimated)",
+    "2041-12-09": "Nations, Nationalities and Peoples Day",
     "2042-01-07": "Christmas Day",
-    "2042-01-19": "Epiphany Day",
+    "2042-01-19": "Epiphany",
+    "2042-02-20": "Ethiopian Martyrs' Day",
     "2042-03-02": "Adwa Victory Day",
     "2042-03-04": "Prophet's Birthday (estimated)",
     "2042-04-11": "Good Friday",
     "2042-04-13": "Easter Sunday",
-    "2042-05-01": "Workers' Day",
-    "2042-05-05": "Patriots' Day",
-    "2042-05-28": "Downfall of Dergue Regime Day",
+    "2042-05-01": "International Workers' Day",
+    "2042-05-05": "Ethiopian Patriots' Victory Day",
+    "2042-05-28": "Downfall of the Dergue Regime Day",
     "2042-09-11": "Ethiopian New Year",
     "2042-09-15": "Eid al-Fitr (estimated)",
     "2042-09-27": "Finding of True Cross",
     "2042-11-23": "Eid al-Adha (estimated)",
+    "2042-12-09": "Nations, Nationalities and Peoples Day",
     "2043-01-07": "Christmas Day",
-    "2043-01-19": "Epiphany Day",
+    "2043-01-19": "Epiphany",
+    "2043-02-20": "Ethiopian Martyrs' Day",
     "2043-02-22": "Prophet's Birthday (estimated)",
     "2043-03-02": "Adwa Victory Day",
-    "2043-05-01": "Good Friday; Workers' Day",
+    "2043-05-01": "Good Friday; International Workers' Day",
     "2043-05-03": "Easter Sunday",
-    "2043-05-05": "Patriots' Day",
-    "2043-05-28": "Downfall of Dergue Regime Day",
+    "2043-05-05": "Ethiopian Patriots' Victory Day",
+    "2043-05-28": "Downfall of the Dergue Regime Day",
     "2043-09-04": "Eid al-Fitr (estimated)",
     "2043-09-12": "Ethiopian New Year",
     "2043-09-28": "Finding of True Cross",
     "2043-11-12": "Eid al-Adha (estimated)",
+    "2043-12-09": "Nations, Nationalities and Peoples Day",
     "2044-01-07": "Christmas Day",
-    "2044-01-20": "Epiphany Day",
+    "2044-01-20": "Epiphany",
     "2044-02-11": "Prophet's Birthday (estimated)",
+    "2044-02-20": "Ethiopian Martyrs' Day",
     "2044-03-02": "Adwa Victory Day",
     "2044-04-22": "Good Friday",
     "2044-04-24": "Easter Sunday",
-    "2044-05-01": "Workers' Day",
-    "2044-05-05": "Patriots' Day",
-    "2044-05-28": "Downfall of Dergue Regime Day",
+    "2044-05-01": "International Workers' Day",
+    "2044-05-05": "Ethiopian Patriots' Victory Day",
+    "2044-05-28": "Downfall of the Dergue Regime Day",
     "2044-08-24": "Eid al-Fitr (estimated)",
     "2044-09-11": "Ethiopian New Year",
     "2044-09-27": "Finding of True Cross",
     "2044-10-31": "Eid al-Adha (estimated)",
+    "2044-12-09": "Nations, Nationalities and Peoples Day",
     "2045-01-07": "Christmas Day",
-    "2045-01-19": "Epiphany Day",
+    "2045-01-19": "Epiphany",
     "2045-01-30": "Prophet's Birthday (estimated)",
+    "2045-02-20": "Ethiopian Martyrs' Day",
     "2045-03-02": "Adwa Victory Day",
     "2045-04-07": "Good Friday",
     "2045-04-09": "Easter Sunday",
-    "2045-05-01": "Workers' Day",
-    "2045-05-05": "Patriots' Day",
-    "2045-05-28": "Downfall of Dergue Regime Day",
+    "2045-05-01": "International Workers' Day",
+    "2045-05-05": "Ethiopian Patriots' Victory Day",
+    "2045-05-28": "Downfall of the Dergue Regime Day",
     "2045-08-14": "Eid al-Fitr (estimated)",
     "2045-09-11": "Ethiopian New Year",
     "2045-09-27": "Finding of True Cross",
     "2045-10-21": "Eid al-Adha (estimated)",
+    "2045-12-09": "Nations, Nationalities and Peoples Day",
     "2046-01-07": "Christmas Day",
-    "2046-01-19": "Epiphany Day; Prophet's Birthday (estimated)",
+    "2046-01-19": "Epiphany; Prophet's Birthday (estimated)",
+    "2046-02-20": "Ethiopian Martyrs' Day",
     "2046-03-02": "Adwa Victory Day",
     "2046-04-27": "Good Friday",
     "2046-04-29": "Easter Sunday",
-    "2046-05-01": "Workers' Day",
-    "2046-05-05": "Patriots' Day",
-    "2046-05-28": "Downfall of Dergue Regime Day",
+    "2046-05-01": "International Workers' Day",
+    "2046-05-05": "Ethiopian Patriots' Victory Day",
+    "2046-05-28": "Downfall of the Dergue Regime Day",
     "2046-08-03": "Eid al-Fitr (estimated)",
     "2046-09-11": "Ethiopian New Year",
     "2046-09-27": "Finding of True Cross",
     "2046-10-10": "Eid al-Adha (estimated)",
+    "2046-12-09": "Nations, Nationalities and Peoples Day",
     "2047-01-07": "Christmas Day",
     "2047-01-08": "Prophet's Birthday (estimated)",
-    "2047-01-19": "Epiphany Day",
+    "2047-01-19": "Epiphany",
+    "2047-02-20": "Ethiopian Martyrs' Day",
     "2047-03-02": "Adwa Victory Day",
     "2047-04-19": "Good Friday",
     "2047-04-21": "Easter Sunday",
-    "2047-05-01": "Workers' Day",
-    "2047-05-05": "Patriots' Day",
-    "2047-05-28": "Downfall of Dergue Regime Day",
+    "2047-05-01": "International Workers' Day",
+    "2047-05-05": "Ethiopian Patriots' Victory Day",
+    "2047-05-28": "Downfall of the Dergue Regime Day",
     "2047-07-24": "Eid al-Fitr (estimated)",
     "2047-09-12": "Ethiopian New Year",
     "2047-09-28": "Finding of True Cross",
     "2047-09-30": "Eid al-Adha (estimated)",
+    "2047-12-09": "Nations, Nationalities and Peoples Day",
     "2047-12-29": "Prophet's Birthday (estimated)",
     "2048-01-07": "Christmas Day",
-    "2048-01-20": "Epiphany Day",
+    "2048-01-20": "Epiphany",
+    "2048-02-20": "Ethiopian Martyrs' Day",
     "2048-03-02": "Adwa Victory Day",
     "2048-04-03": "Good Friday",
     "2048-04-05": "Easter Sunday",
-    "2048-05-01": "Workers' Day",
-    "2048-05-05": "Patriots' Day",
-    "2048-05-28": "Downfall of Dergue Regime Day",
+    "2048-05-01": "International Workers' Day",
+    "2048-05-05": "Ethiopian Patriots' Victory Day",
+    "2048-05-28": "Downfall of the Dergue Regime Day",
     "2048-07-12": "Eid al-Fitr (estimated)",
     "2048-09-11": "Ethiopian New Year",
     "2048-09-19": "Eid al-Adha (estimated)",
     "2048-09-27": "Finding of True Cross",
+    "2048-12-09": "Nations, Nationalities and Peoples Day",
     "2048-12-18": "Prophet's Birthday (estimated)",
     "2049-01-07": "Christmas Day",
-    "2049-01-19": "Epiphany Day",
+    "2049-01-19": "Epiphany",
+    "2049-02-20": "Ethiopian Martyrs' Day",
     "2049-03-02": "Adwa Victory Day",
     "2049-04-23": "Good Friday",
     "2049-04-25": "Easter Sunday",
-    "2049-05-01": "Workers' Day",
-    "2049-05-05": "Patriots' Day",
-    "2049-05-28": "Downfall of Dergue Regime Day",
+    "2049-05-01": "International Workers' Day",
+    "2049-05-05": "Ethiopian Patriots' Victory Day",
+    "2049-05-28": "Downfall of the Dergue Regime Day",
     "2049-07-01": "Eid al-Fitr (estimated)",
     "2049-09-08": "Eid al-Adha (estimated)",
     "2049-09-11": "Ethiopian New Year",
     "2049-09-27": "Finding of True Cross",
     "2049-12-07": "Prophet's Birthday (estimated)",
+    "2049-12-09": "Nations, Nationalities and Peoples Day",
     "2050-01-07": "Christmas Day",
-    "2050-01-19": "Epiphany Day",
+    "2050-01-19": "Epiphany",
+    "2050-02-20": "Ethiopian Martyrs' Day",
     "2050-03-02": "Adwa Victory Day",
     "2050-04-15": "Good Friday",
     "2050-04-17": "Easter Sunday",
-    "2050-05-01": "Workers' Day",
-    "2050-05-05": "Patriots' Day",
-    "2050-05-28": "Downfall of Dergue Regime Day",
+    "2050-05-01": "International Workers' Day",
+    "2050-05-05": "Ethiopian Patriots' Victory Day",
+    "2050-05-28": "Downfall of the Dergue Regime Day",
     "2050-06-20": "Eid al-Fitr (estimated)",
     "2050-08-28": "Eid al-Adha (estimated)",
     "2050-09-11": "Ethiopian New Year",
     "2050-09-27": "Finding of True Cross",
-    "2050-11-26": "Prophet's Birthday (estimated)"
+    "2050-11-26": "Prophet's Birthday (estimated)",
+    "2050-12-09": "Nations, Nationalities and Peoples Day"
 }
diff --git a/snapshots/countries/VN_COMMON.json b/snapshots/countries/VN_COMMON.json
index 873ad5af..1dd1d41e 100644
--- a/snapshots/countries/VN_COMMON.json
+++ b/snapshots/countries/VN_COMMON.json
@@ -120,10 +120,10 @@
     "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": "Second Day of Lunar New Year",
-    "1965-02-04": "Third Day of Lunar New Year",
+    "1965-01-31": "Lunar New Year's Eve",
+    "1965-02-01": "Lunar New Year",
+    "1965-02-02": "Second Day of Lunar New Year",
+    "1965-02-03": "Third Day of Lunar New Year",
     "1965-04-30": "Liberation Day/Reunification Day",
     "1965-05-01": "International Labor Day",
     "1965-09-02": "National Day",
@@ -144,18 +144,18 @@
     "1967-05-01": "International Labor Day",
     "1967-09-02": "National Day",
     "1968-01-01": "New Year's Day",
-    "1968-01-29": "Lunar New Year's Eve",
-    "1968-01-30": "Lunar New Year",
-    "1968-01-31": "Second Day of Lunar New Year",
-    "1968-02-01": "Third Day of Lunar New Year",
+    "1968-01-28": "Lunar New Year's Eve",
+    "1968-01-29": "Lunar New Year",
+    "1968-01-30": "Second Day of Lunar New Year",
+    "1968-01-31": "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": "Second Day of Lunar New Year",
-    "1969-02-19": "Third Day of Lunar New Year",
+    "1969-02-15": "Lunar New Year's Eve",
+    "1969-02-16": "Lunar New Year",
+    "1969-02-17": "Second Day of Lunar New Year",
+    "1969-02-18": "Third Day of Lunar New Year",
     "1969-04-30": "Liberation Day/Reunification Day",
     "1969-05-01": "International Labor Day",
     "1969-09-02": "National Day",
@@ -280,10 +280,10 @@
     "1984-05-01": "International Labor Day",
     "1984-09-02": "National Day",
     "1985-01-01": "New Year's Day",
-    "1985-02-19": "Lunar New Year's Eve",
-    "1985-02-20": "Lunar New Year",
-    "1985-02-21": "Second Day of Lunar New Year",
-    "1985-02-22": "Third Day of Lunar New Year",
+    "1985-01-20": "Lunar New Year's Eve",
+    "1985-01-21": "Lunar New Year",
+    "1985-01-22": "Second Day of Lunar New Year",
+    "1985-01-23": "Third Day of Lunar New Year",
     "1985-04-30": "Liberation Day/Reunification Day",
     "1985-05-01": "International Labor Day",
     "1985-09-02": "National Day",
@@ -481,12 +481,12 @@
     "2006-09-02": "National Day",
     "2006-09-04": "National Day (observed)",
     "2007-01-01": "New Year's Day",
-    "2007-02-17": "Lunar New Year's Eve",
-    "2007-02-18": "Lunar New Year",
-    "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-02-16": "Lunar New Year's Eve",
+    "2007-02-17": "Lunar New Year",
+    "2007-02-18": "Second Day of Lunar New Year",
+    "2007-02-19": "Third Day of Lunar New Year",
+    "2007-02-20": "Fourth Day of Lunar New Year",
+    "2007-02-21": "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",
@@ -508,7 +508,7 @@
     "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-04": "Hung Kings' Commemoration Day",
     "2009-04-06": "Hung Kings' Commemoration Day (observed)",
     "2009-04-30": "Liberation Day/Reunification Day",
     "2009-05-01": "International Labor Day",
@@ -788,13 +788,13 @@
     "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": "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-01-31": "29 of Lunar New Year",
+    "2030-02-01": "Lunar New Year's Eve",
+    "2030-02-02": "Lunar New Year",
+    "2030-02-03": "Second Day of Lunar New Year",
+    "2030-02-04": "Third Day of Lunar New Year",
+    "2030-02-05": "Fourth Day of Lunar New Year",
+    "2030-02-06": "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",
@@ -893,8 +893,7 @@
     "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-24": "Hung Kings' Commemoration Day",
     "2037-04-30": "Liberation Day/Reunification Day",
     "2037-05-01": "International Labor Day",
     "2037-09-01": "National Day",
@@ -907,7 +906,7 @@
     "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-13": "Hung Kings' Commemoration Day",
     "2038-04-30": "Liberation Day/Reunification Day",
     "2038-05-01": "International Labor Day",
     "2038-05-03": "International Labor Day (observed)",


Test patch:
diff --git a/tests/calendars/test_chinese.py b/tests/calendars/test_chinese.py
new file mode 100644
index 00000000..b466ce20
--- /dev/null
+++ b/tests/calendars/test_chinese.py
@@ -0,0 +1,20 @@
+#  holidays
+#  --------
+#  A fast, efficient Python library for generating country, province and state
+#  specific sets of holidays on the fly. It aims to make determining whether a
+#  specific date is a holiday as fast and flexible as possible.
+#
+#  Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+
+import unittest
+
+from holidays.calendars.chinese import _ChineseLunisolar
+
+
+class TestChineseLunisolarCalendar(unittest.TestCase):
+    def test_check_calendar(self):
+        self.assertRaises(ValueError, lambda: _ChineseLunisolar("INVALID_CALENDAR"))
diff --git a/tests/countries/test_ethiopia.py b/tests/countries/test_ethiopia.py
index 72e47367..367ba5b6 100644
--- a/tests/countries/test_ethiopia.py
+++ b/tests/countries/test_ethiopia.py
@@ -12,6 +12,7 @@
 
 from unittest import TestCase
 
+from holidays.constants import PUBLIC, WORKDAY
 from holidays.countries.ethiopia import Ethiopia, ET, ETH
 from tests.common import CommonCountryTests
 
@@ -19,31 +20,34 @@ from tests.common import CommonCountryTests
 class TestEthiopia(CommonCountryTests, TestCase):
     @classmethod
     def setUpClass(cls):
-        super().setUpClass(Ethiopia, years=range(1940, 2050))
+        years = range(1976, 2050)
+        super().setUpClass(Ethiopia, years=years)
+        cls.no_estimated_holidays = Ethiopia(years=years, islamic_show_estimated=False)
+        cls.workday_holidays = Ethiopia(categories=WORKDAY, years=years)
 
     def test_country_aliases(self):
         self.assertAliases(Ethiopia, ET, ETH)
 
     def test_no_holidays(self):
-        self.assertNoHolidays(Ethiopia(years=1896))
+        self.assertNoHolidays(Ethiopia(years=1975, categories=(PUBLIC, WORKDAY)))
 
-    def test_christmas(self):
-        self.assertHolidayName("ገና", (f"{year}-01-07" for year in range(1940, 2050)))
+    def test_christmas_day(self):
+        self.assertHolidayName("የገና ወይም የልደት በዓል", (f"{year}-01-07" for year in range(1976, 2050)))
 
     def test_ephiphany(self):
-        name = "ጥምቀት"
         self.assertHolidayName(
-            name, (f"{year}-01-19" for year in range(1940, 2050) if year % 4 != 0)
-        )
-        self.assertHolidayName(
-            name, (f"{year}-01-20" for year in range(1940, 2050) if year % 4 == 0)
+            "የጥምቀት በዓል",
+            (f"{year}-01-19" for year in range(1976, 2050) if year % 4 != 0),
+            (f"{year}-01-20" for year in range(1976, 2050) if year % 4 == 0),
         )
 
-    def test_adwa_victory(self):
-        self.assertHolidayName("አድዋ", (f"{year}-03-02" for year in range(1940, 2050)))
+    def test_adwa_victory_day(self):
+        name = "የአድዋ ድል በዓል"
+        self.assertHolidayName(name, (f"{year}-03-02" for year in range(1996, 2050)))
+        self.assertNoHolidayName(name, range(1976, 1996))
 
     def test_good_friday(self):
-        name = "ስቅለት"
+        name = "የስቅለት በዓል"
         self.assertHolidayName(
             name,
             "2018-04-06",
@@ -53,11 +57,12 @@ class TestEthiopia(CommonCountryTests, TestCase):
             "2022-04-22",
             "2023-04-14",
             "2024-05-03",
+            "2025-04-18",
         )
-        self.assertHolidayName(name, range(1940, 2050))
+        self.assertHolidayName(name, range(1976, 2050))
 
-    def test_easter(self):
-        name = "ፋሲካ"
+    def test_easter_sunday(self):
+        name = "የትንሳኤ(ፋሲካ) በዓል"
         self.assertHolidayName(
             name,
             "2018-04-08",
@@ -67,137 +72,189 @@ class TestEthiopia(CommonCountryTests, TestCase):
             "2022-04-24",
             "2023-04-16",
             "2024-05-05",
+            "2025-04-20",
         )
-        self.assertHolidayName(name, range(1940, 2050))
+        self.assertHolidayName(name, range(1976, 2050))
 
-    def test_workers_day(self):
-        self.assertHolidayName("የሰራተኞች ቀን", (f"{year}-05-01" for year in range(1940, 2050)))
+    def test_international_workers_day(self):
+        self.assertHolidayName(
+            "የዓለም የሠራተኞች (የላብአደሮች) ቀን", (f"{year}-05-01" for year in range(1976, 2050))
+        )
 
-    def test_patriots_day(self):
-        name = "የአርበኞች ቀን"
-        self.assertHolidayName(name, (f"{year}-05-05" for year in range(1942, 2050)))
-        self.assertNoHolidayName(name, range(1940, 1942))
+    def test_ethiopian_patriots_victory_day(self):
+        self.assertHolidayName(
+            "የአርበኞች (የድል) ቀን በዓል", (f"{year}-05-05" for year in range(1976, 2050))
+        )
 
-    def test_downfall_of_dergue(self):
+    def test_downfall_of_the_dergue_regime_day(self):
         name = "ደርግ የወደቀበት ቀን"
         self.assertHolidayName(name, (f"{year}-05-28" for year in range(1992, 2050)))
-        self.assertNoHolidayName(name, range(1940, 1992))
+        self.assertNoHolidayName(name, range(1976, 1992))
 
-    def test_new_year(self):
-        name = "እንቁጣጣሽ"
-        self.assertHolidayName(
-            name, (f"{year}-09-11" for year in range(1940, 2050) if year % 4 != 3)
-        )
+    def test_ethiopian_new_year(self):
         self.assertHolidayName(
-            name, (f"{year}-09-12" for year in range(1940, 2050) if year % 4 == 3)
+            "የዘመን መለወጫ (እንቁጣጣሽ) በዓል",
+            (f"{year}-09-11" for year in range(1976, 2050) if year % 4 != 3),
+            (f"{year}-09-12" for year in range(1976, 2050) if year % 4 == 3),
         )
 
     def test_finding_of_true_cross(self):
-        name = "መስቀል"
         self.assertHolidayName(
-            name, (f"{year}-09-27" for year in range(1940, 2050) if year % 4 != 3)
-        )
-        self.assertHolidayName(
-            name, (f"{year}-09-28" for year in range(1940, 2050) if year % 4 == 3)
+            "የመስቀል በዓል",
+            (f"{year}-09-27" for year in range(1976, 2050) if year % 4 != 3),
+            (f"{year}-09-28" for year in range(1976, 2050) if year % 4 == 3),
         )
 
-    def test_revolution_day(self):
+    def test_popular_revolution_commemoration_day(self):
         name = "የአብዮት ቀን"
         self.assertHolidayName(
-            name, (f"{year}-09-12" for year in range(1975, 1991) if year % 4 != 3)
-        )
-        self.assertHolidayName(
-            name, (f"{year}-09-13" for year in range(1975, 1991) if year % 4 == 3)
+            name,
+            (f"{year}-09-12" for year in range(1976, 1991) if year % 4 != 3),
+            (f"{year}-09-13" for year in range(1976, 1991) if year % 4 == 3),
         )
-        self.assertNoHolidayName(name, range(1940, 1975), range(1991, 2050))
+        self.assertNoHolidayName(name, range(1991, 2050))
 
     def test_october_revolution_day(self):
         name = "የጥቅምት አብዮት ቀን"
-        self.assertHolidayName(name, (f"{year}-11-07" for year in range(1975, 1991)))
-        self.assertNoHolidayName(name, range(1940, 1975), range(1991, 2050))
+        self.assertHolidayName(name, (f"{year}-11-07" for year in range(1976, 1991)))
+        self.assertNoHolidayName(name, range(1991, 2050))
 
     def test_eid_al_fitr(self):
+        name = "የኢድ አልፈጥር"
         self.assertHolidayName(
-            "ኢድ አልፈጥር",
+            name,
             "2018-06-15",
             "2019-06-04",
             "2020-05-24",
             "2021-05-13",
             "2022-05-02",
             "2023-04-21",
+            "2024-04-10",
+            "2025-03-30",
         )
+        self.assertHolidayName(name, self.no_estimated_holidays, range(1976, 2050))
 
     def test_eid_al_adha(self):
+        name = "የኢድ አልአድሃ (አረፋ)"
         self.assertHolidayName(
-            "አረፋ",
+            name,
             "2018-08-22",
             "2019-08-11",
             "2020-07-31",
             "2021-07-20",
             "2022-07-09",
             "2023-06-28",
+            "2024-06-16",
         )
+        self.assertHolidayName(name, self.no_estimated_holidays, range(1976, 2050))
 
     def test_prophets_birthday(self):
+        name = "የመውሊድ በዓል"
         self.assertHolidayName(
-            "መውሊድ",
+            name,
             "2018-11-21",
             "2019-11-10",
             "2020-10-29",
             "2021-10-18",
             "2022-10-08",
             "2023-09-27",
+            "2024-09-15",
+        )
+        self.assertHolidayName(name, self.no_estimated_holidays, range(1976, 2050))
+
+    def test_ethiopian_martyrs_day(self):
+        name = "የሰማዕታት ቀን"
+        self.assertHolidayName(
+            name, self.workday_holidays, (f"{year}-02-20" for year in range(1976, 2050))
+        )
+        self.assertNoHolidayName(name)
+
+    def test_nations_nationality_and_peoples_day(self):
+        name = "የብሔር ብሔረሰቦች ቀን"
+        self.assertHolidayName(
+            name, self.workday_holidays, (f"{year}-12-09" for year in range(2006, 2050))
         )
+        self.assertNoHolidayName(name, self.workday_holidays, range(1976, 2006))
+        self.assertNoHolidayName(name)
 
     def test_l10n_default(self):
         self.assertLocalizedHolidays(
-            ("2022-01-07", "ገና"),
-            ("2022-01-19", "ጥምቀት"),
-            ("2022-03-02", "አድዋ"),
-            ("2022-04-22", "ስቅለት"),
-            ("2022-04-24", "ፋሲካ"),
-            ("2022-05-01", "የሰራተኞች ቀን"),
-            ("2022-05-02", "ኢድ አልፈጥር"),
-            ("2022-05-05", "የአርበኞች ቀን"),
+            ("2022-01-07", "የገና ወይም የልደት በዓል"),
+            ("2022-01-19", "የጥምቀት በዓል"),
+            ("2022-02-20", "የሰማዕታት ቀን"),
+            ("2022-03-02", "የአድዋ ድል በዓል"),
+            ("2022-04-22", "የስቅለት በዓል"),
+            ("2022-04-24", "የትንሳኤ(ፋሲካ) በዓል"),
+            ("2022-05-01", "የዓለም የሠራተኞች (የላብአደሮች) ቀን"),
+            ("2022-05-02", "የኢድ አልፈጥር"),
+            ("2022-05-05", "የአርበኞች (የድል) ቀን በዓል"),
             ("2022-05-28", "ደርግ የወደቀበት ቀን"),
-            ("2022-07-09", "አረፋ"),
-            ("2022-09-11", "እንቁጣጣሽ"),
-            ("2022-09-27", "መስቀል"),
-            ("2022-10-08", "መውሊድ"),
+            ("2022-07-09", "የኢድ አልአድሃ (አረፋ)"),
+            ("2022-09-11", "የዘመን መለወጫ (እንቁጣጣሽ) በዓል"),
+            ("2022-09-27", "የመስቀል በዓል"),
+            ("2022-10-08", "የመውሊድ በዓል"),
+            ("2022-12-09", "የብሔር ብሔረሰቦች ቀን"),
         )
 
-    def test_l10n_en_ar(self):
+    def test_l10n_ar(self):
         self.assertLocalizedHolidays(
             "ar",
-            ("2022-01-07", "عيد الميلاد"),
-            ("2022-01-19", "عيد الغطاس"),
-            ("2022-03-02", "العدوة"),
-            ("2022-04-22", "جمعة جيدة"),
-            ("2022-04-24", "عيد الفصح"),
-            ("2022-05-01", "يوم العمال"),
+            ("2022-01-07", "عيد الميلاد الإثيوبي (جنا)"),
+            ("2022-01-19", "عيد الغطاس الإثيوبي (طمقت)"),
+            ("2022-02-20", "يوم الشهداء"),
+            ("2022-03-02", "عيد النصر في معركة عدوا"),
+            ("2022-04-22", "جمعة الآلام (سقلَت)"),
+            ("2022-04-24", "عيد القيامة (فاسيكا)"),
+            ("2022-05-01", "اليوم العالمي للعمال"),
             ("2022-05-02", "عيد الفطر"),
-            ("2022-05-05", "يوم الوطنيين"),
-            ("2022-05-28", "يوم سقوط ديرج"),
+            ("2022-05-05", "يوم انتصار الوطنيين الإثيوبيين"),
+            ("2022-05-28", "يوم سقوط نظام الدرج"),
             ("2022-07-09", "عيد الأضحى"),
-            ("2022-09-11", "السنة الإثيوبية الجديدة"),
-            ("2022-09-27", "مسكل"),
+            ("2022-09-11", "رأس السنة الإثيوبية (إنكوتاتاش)"),
+            ("2022-09-27", "عيد الصليب (مسقل)"),
             ("2022-10-08", "عيد المولد النبوي"),
+            ("2022-12-09", "يوم الأمم والقوميات والشعوب"),
+        )
+
+    def test_l10n_en_et(self):
+        self.assertLocalizedHolidays(
+            "en_ET",
+            ("2022-01-07", "Christmas Holiday"),
+            ("2022-01-19", "Epiphany"),
+            ("2022-02-20", "Ethiopian Martyrs' Day"),
+            ("2022-03-02", "Adwa Victory Day"),
+            ("2022-04-22", "Good Friday"),
+            ("2022-04-24", "Easter"),
+            ("2022-05-01", "International Workers' Day"),
+            ("2022-05-02", "Eid al-Fitr"),
+            ("2022-05-05", "Ethiopian Patriots' Victory Day"),
+            ("2022-05-28", "Downfall of the Dergue Regime Day"),
+            ("2022-07-09", "Eid al-Adha"),
+            ("2022-09-11", "New Year (Enkutatash)"),
+            ("2022-09-27", "Meskel Holiday"),
+            ("2022-10-08", "Mawlid"),
+            (
+                "2022-12-09",
+                "Ethiopian National Unity Day (Ethiopian Nations and Nationalities) Day",
+            ),
         )
 
     def test_l10n_en_us(self):
         self.assertLocalizedHolidays(
             "en_US",
             ("2022-01-07", "Christmas Day"),
-            ("2022-01-19", "Epiphany Day"),
+            ("2022-01-19", "Epiphany"),
+            ("2022-02-20", "Ethiopian Martyrs' Day"),
             ("2022-03-02", "Adwa Victory Day"),
             ("2022-04-22", "Good Friday"),
             ("2022-04-24", "Easter Sunday"),
-            ("2022-05-01", "Workers' Day"),
+            ("2022-05-01", "International Workers' Day"),
             ("2022-05-02", "Eid al-Fitr"),
-            ("2022-05-05", "Patriots' Day"),
-            ("2022-05-28", "Downfall of Dergue Regime Day"),
+            ("2022-05-05", "Ethiopian Patriots' Victory Day"),
+            ("2022-05-28", "Downfall of the Dergue Regime Day"),
             ("2022-07-09", "Eid al-Adha"),
             ("2022-09-11", "Ethiopian New Year"),
             ("2022-09-27", "Finding of True Cross"),
             ("2022-10-08", "Prophet's Birthday"),
+            ("2022-12-09", "Nations, Nationalities and Peoples Day"),
         )
diff --git a/tests/countries/test_vietnam.py b/tests/countries/test_vietnam.py
index 6fd32532..1d4f1cd7 100644
--- a/tests/countries/test_vietnam.py
+++ b/tests/countries/test_vietnam.py
@@ -69,7 +69,7 @@ class TestVietnam(CommonCountryTests, WorkingDayTests, TestCase):
             "Ngày Giỗ Tổ Hùng Vương",
             "2007-04-26",
             "2008-04-15",
-            "2009-04-05",
+            "2009-04-04",
             "2010-04-23",
             "2011-04-12",
             "2012-03-31",
diff --git a/tests/test_docs.py b/tests/test_docs.py
index 52732d30..51240d2d 100644
--- a/tests/test_docs.py
+++ b/tests/test_docs.py
@@ -25,6 +25,25 @@ from holidays import (
 from holidays.constants import PUBLIC
 
 
+class TestAuthors(TestCase):
+    @classmethod
+    def setUpClass(cls):
+        cls.content = Path("AUTHORS.md").read_text(encoding="UTF-8").strip().split("\n")
+        super().setUpClass()
+
+    def test_header(self):
+        self.assertEqual(self.content[0], "# Holidays Authors")
+
+    def test_authors_list(self):
+        authors = self.content[1:]
+        self.assertEqual(
+            authors,
+            sorted(authors),
+            "Contributors list should be sorted alphabetically.\n"
+            + "\n".join((f"{c} != {s}" for c, s in zip(authors, sorted(authors)) if c != s)),
+        )
+
+
 class TestReadme(TestCase):
     @classmethod
     def setUpClass(cls):