diff --git a/holidays/countries/cambodia.py b/holidays/countries/cambodia.py index f4152c52e..966faa469 100644 --- a/holidays/countries/cambodia.py +++ b/holidays/countries/cambodia.py @@ -27,6 +27,7 @@ class Cambodia(HolidayBase, InternationalHolidays, StaticHolidays, ThaiCalendarH - Based on: https://www.nbc.gov.kh/english/news_and_events/official_holiday.php https://www.nbc.gov.kh/news_and_events/official_holiday.php https://en.wikipedia.org/wiki/Public_holidays_in_Cambodia + https://admin.taftac-cambodia.org/public/pdf_file/regulation_1704245695_Z7IALJjE.pdf - Checked with: https://asean.org/wp-content/uploads/2021/12/ASEAN-National-Holidays-2022.pdf https://asean.org/wp-content/uploads/2022/12/ASEAN-Public-Holidays-2023.pdf @@ -278,6 +279,16 @@ def _populate_public_holidays(self): self._add_holiday(bon_om_touk, _timedelta(bon_om_touk_date, -1)) self._add_holiday(bon_om_touk, _timedelta(bon_om_touk_date, +1)) + # ទិវាសន្តិភាពនៅកម្ពុជា + # Status: In-Use. + # Dec 29, added from 2024 onwards. + # - https://www.khmertimeskh.com/501424903/24-public-holidays-for-2024-peace-day-now-included/ + # - https://www.khmertimeskh.com/501551204/govt-announces-22-public-holidays-for-next-year/ + + if self._year >= 2024: + # Peace Day in Cambodia. + self._add_holiday_dec_29(tr("ទិវាសន្តិភាពនៅកម្ពុជា")) + class KH(Cambodia): pass diff --git a/holidays/locale/en_US/LC_MESSAGES/KH.po b/holidays/locale/en_US/LC_MESSAGES/KH.po index 01604d409..78a47c369 100644 --- a/holidays/locale/en_US/LC_MESSAGES/KH.po +++ b/holidays/locale/en_US/LC_MESSAGES/KH.po @@ -14,9 +14,9 @@ # msgid "" msgstr "" -"Project-Id-Version: Holidays 0.27\n" +"Project-Id-Version: Holidays 0.61\n" "POT-Creation-Date: 2023-06-07 20:10+0700\n" -"PO-Revision-Date: \n" +"PO-Revision-Date: 2024-11-06 00:20+0700\n" "Last-Translator: PPsyrius \n" "Language-Team: Holidays Localization Team\n" "Language: en_US\n" @@ -24,7 +24,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.3.1\n" +"X-Generator: Poedit 3.5\n" #. Khmer New Year's Replacement Holiday msgid "ថ្ងៃឈប់សម្រាកសងជំនួសឲ្យពិធីបុណ្យចូលឆ្នាំថ្មីប្រពៃណីជាតិ" @@ -126,3 +126,7 @@ msgstr "Pchum Ben Day" #. Water Festival msgid "ព្រះរាជពិធីបុណ្យអុំទូក បណ្តែតប្រទីប និងសំពះព្រះខែអកអំបុក" msgstr "Water Festival" + +#. Peace Day in Cambodia. +msgid "ទិវាសន្តិភាពនៅកម្ពុជា" +msgstr "Peace Day in Cambodia" diff --git a/holidays/locale/km/LC_MESSAGES/KH.po b/holidays/locale/km/LC_MESSAGES/KH.po index 64635fa97..c8beb2936 100644 --- a/holidays/locale/km/LC_MESSAGES/KH.po +++ b/holidays/locale/km/LC_MESSAGES/KH.po @@ -14,9 +14,9 @@ # msgid "" msgstr "" -"Project-Id-Version: Holidays 0.27\n" +"Project-Id-Version: Holidays 0.61\n" "POT-Creation-Date: 2023-06-07 20:10+0700\n" -"PO-Revision-Date: \n" +"PO-Revision-Date: 2024-11-06 00:21+0700\n" "Last-Translator: PPsyrius \n" "Language-Team: Holidays Localization Team\n" "Language: km\n" @@ -24,7 +24,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 3.3.1\n" +"X-Generator: Poedit 3.5\n" #. Khmer New Year's Replacement Holiday msgid "ថ្ងៃឈប់សម្រាកសងជំនួសឲ្យពិធីបុណ្យចូលឆ្នាំថ្មីប្រពៃណីជាតិ" @@ -126,3 +126,7 @@ msgstr "" #. Water Festival msgid "ព្រះរាជពិធីបុណ្យអុំទូក បណ្តែតប្រទីប និងសំពះព្រះខែអកអំបុក" msgstr "" + +#. Peace Day in Cambodia. +msgid "ទិវាសន្តិភាពនៅកម្ពុជា" +msgstr "" diff --git a/holidays/locale/th/LC_MESSAGES/KH.po b/holidays/locale/th/LC_MESSAGES/KH.po index 96cbdee81..44fc3f036 100644 --- a/holidays/locale/th/LC_MESSAGES/KH.po +++ b/holidays/locale/th/LC_MESSAGES/KH.po @@ -14,9 +14,9 @@ # msgid "" msgstr "" -"Project-Id-Version: Holidays 0.27\n" +"Project-Id-Version: Holidays 0.61\n" "POT-Creation-Date: 2023-06-07 20:10+0700\n" -"PO-Revision-Date: \n" +"PO-Revision-Date: 2024-11-06 00:21+0700\n" "Last-Translator: PPsyrius \n" "Language-Team: Holidays Localization Team\n" "Language: th\n" @@ -24,7 +24,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 3.3.1\n" +"X-Generator: Poedit 3.5\n" #. Khmer New Year's Replacement Holiday msgid "ថ្ងៃឈប់សម្រាកសងជំនួសឲ្យពិធីបុណ្យចូលឆ្នាំថ្មីប្រពៃណីជាតិ" @@ -132,3 +132,7 @@ msgstr "เทศกาลงานวันสาร์ทภจุมบิณ #. Water Festival msgid "ព្រះរាជពិធីបុណ្យអុំទូក បណ្តែតប្រទីប និងសំពះព្រះខែអកអំបុក" msgstr "พระราชพิธีบุญแข่งเรือลอยกระทงไฟไหว้พระจันทร์และกินข้าวเม่า" + +#. Peace Day in Cambodia. +msgid "ទិវាសន្តិភាពនៅកម្ពុជា" +msgstr "วันสันติภาพกัมพูชา" diff --git a/snapshots/countries/KH_COMMON.json b/snapshots/countries/KH_COMMON.json index ddf1f0c49..0efb6ce2f 100644 --- a/snapshots/countries/KH_COMMON.json +++ b/snapshots/countries/KH_COMMON.json @@ -740,6 +740,7 @@ "2024-11-14": "Water Festival", "2024-11-15": "Water Festival", "2024-11-16": "Water Festival", + "2024-12-29": "Peace Day in Cambodia", "2025-01-01": "International New Year Day", "2025-01-07": "Day of Victory over the Genocidal Regime", "2025-03-08": "International Women's Rights Day", @@ -761,6 +762,7 @@ "2025-11-05": "Water Festival", "2025-11-06": "Water Festival", "2025-11-09": "National Independence Day", + "2025-12-29": "Peace Day in Cambodia", "2026-01-01": "International New Year Day", "2026-01-07": "Day of Victory over the Genocidal Regime", "2026-03-08": "International Women's Rights Day", @@ -781,6 +783,7 @@ "2026-11-23": "Water Festival", "2026-11-24": "Water Festival", "2026-11-25": "Water Festival", + "2026-12-29": "Peace Day in Cambodia", "2027-01-01": "International New Year Day", "2027-01-07": "Day of Victory over the Genocidal Regime", "2027-03-08": "International Women's Rights Day", @@ -802,6 +805,7 @@ "2027-11-12": "Water Festival", "2027-11-13": "Water Festival", "2027-11-14": "Water Festival", + "2027-12-29": "Peace Day in Cambodia", "2028-01-01": "International New Year Day", "2028-01-07": "Day of Victory over the Genocidal Regime", "2028-03-08": "International Women's Rights Day", @@ -823,6 +827,7 @@ "2028-11-01": "Water Festival", "2028-11-02": "Water Festival", "2028-11-09": "National Independence Day", + "2028-12-29": "Peace Day in Cambodia", "2029-01-01": "International New Year Day", "2029-01-07": "Day of Victory over the Genocidal Regime", "2029-03-08": "International Women's Rights Day", @@ -843,6 +848,7 @@ "2029-11-19": "Water Festival", "2029-11-20": "Water Festival", "2029-11-21": "Water Festival", + "2029-12-29": "Peace Day in Cambodia", "2030-01-01": "International New Year Day", "2030-01-07": "Day of Victory over the Genocidal Regime", "2030-03-08": "International Women's Rights Day", @@ -863,6 +869,7 @@ "2030-11-08": "Water Festival", "2030-11-09": "National Independence Day; Water Festival", "2030-11-10": "Water Festival", + "2030-12-29": "Peace Day in Cambodia", "2031-01-01": "International New Year Day", "2031-01-07": "Day of Victory over the Genocidal Regime", "2031-03-08": "International Women's Rights Day", @@ -883,6 +890,7 @@ "2031-11-27": "Water Festival", "2031-11-28": "Water Festival", "2031-11-29": "Water Festival", + "2031-12-29": "Peace Day in Cambodia", "2032-01-01": "International New Year Day", "2032-01-07": "Day of Victory over the Genocidal Regime", "2032-03-08": "International Women's Rights Day", @@ -904,6 +912,7 @@ "2032-11-16": "Water Festival", "2032-11-17": "Water Festival", "2032-11-18": "Water Festival", + "2032-12-29": "Peace Day in Cambodia", "2033-01-01": "International New Year Day", "2033-01-07": "Day of Victory over the Genocidal Regime", "2033-03-08": "International Women's Rights Day", @@ -924,6 +933,7 @@ "2033-11-06": "Water Festival", "2033-11-07": "Water Festival", "2033-11-09": "National Independence Day", + "2033-12-29": "Peace Day in Cambodia", "2034-01-01": "International New Year Day", "2034-01-07": "Day of Victory over the Genocidal Regime", "2034-03-08": "International Women's Rights Day", @@ -945,6 +955,7 @@ "2034-11-24": "Water Festival", "2034-11-25": "Water Festival", "2034-11-26": "Water Festival", + "2034-12-29": "Peace Day in Cambodia", "2035-01-01": "International New Year Day", "2035-01-07": "Day of Victory over the Genocidal Regime", "2035-03-08": "International Women's Rights Day", @@ -966,6 +977,7 @@ "2035-11-14": "Water Festival", "2035-11-15": "Water Festival", "2035-11-16": "Water Festival", + "2035-12-29": "Peace Day in Cambodia", "2036-01-01": "International New Year Day", "2036-01-07": "Day of Victory over the Genocidal Regime", "2036-03-08": "International Women's Rights Day", @@ -986,6 +998,7 @@ "2036-11-03": "Water Festival", "2036-11-04": "Water Festival", "2036-11-09": "National Independence Day", + "2036-12-29": "Peace Day in Cambodia", "2037-01-01": "International New Year Day", "2037-01-07": "Day of Victory over the Genocidal Regime", "2037-03-08": "International Women's Rights Day", @@ -1007,6 +1020,7 @@ "2037-11-21": "Water Festival", "2037-11-22": "Water Festival", "2037-11-23": "Water Festival", + "2037-12-29": "Peace Day in Cambodia", "2038-01-01": "International New Year Day", "2038-01-07": "Day of Victory over the Genocidal Regime", "2038-03-08": "International Women's Rights Day", @@ -1028,6 +1042,7 @@ "2038-11-10": "Water Festival", "2038-11-11": "Water Festival", "2038-11-12": "Water Festival", + "2038-12-29": "Peace Day in Cambodia", "2039-01-01": "International New Year Day", "2039-01-07": "Day of Victory over the Genocidal Regime", "2039-03-08": "International Women's Rights Day", @@ -1049,6 +1064,7 @@ "2039-10-31": "Water Festival", "2039-11-01": "Water Festival", "2039-11-09": "National Independence Day", + "2039-12-29": "Peace Day in Cambodia", "2040-01-01": "International New Year Day", "2040-01-07": "Day of Victory over the Genocidal Regime", "2040-03-08": "International Women's Rights Day", @@ -1070,6 +1086,7 @@ "2040-11-17": "Water Festival", "2040-11-18": "Water Festival", "2040-11-19": "Water Festival", + "2040-12-29": "Peace Day in Cambodia", "2041-01-01": "International New Year Day", "2041-01-07": "Day of Victory over the Genocidal Regime", "2041-03-08": "International Women's Rights Day", @@ -1089,6 +1106,7 @@ "2041-11-07": "Water Festival", "2041-11-08": "Water Festival", "2041-11-09": "National Independence Day", + "2041-12-29": "Peace Day in Cambodia", "2042-01-01": "International New Year Day", "2042-01-07": "Day of Victory over the Genocidal Regime", "2042-03-08": "International Women's Rights Day", @@ -1110,6 +1128,7 @@ "2042-11-25": "Water Festival", "2042-11-26": "Water Festival", "2042-11-27": "Water Festival", + "2042-12-29": "Peace Day in Cambodia", "2043-01-01": "International New Year Day", "2043-01-07": "Day of Victory over the Genocidal Regime", "2043-03-08": "International Women's Rights Day", @@ -1131,6 +1150,7 @@ "2043-11-15": "Water Festival", "2043-11-16": "Water Festival", "2043-11-17": "Water Festival", + "2043-12-29": "Peace Day in Cambodia", "2044-01-01": "International New Year Day", "2044-01-07": "Day of Victory over the Genocidal Regime", "2044-03-08": "International Women's Rights Day", @@ -1152,6 +1172,7 @@ "2044-11-04": "Water Festival", "2044-11-05": "Water Festival", "2044-11-09": "National Independence Day", + "2044-12-29": "Peace Day in Cambodia", "2045-01-01": "International New Year Day", "2045-01-07": "Day of Victory over the Genocidal Regime", "2045-03-08": "International Women's Rights Day", @@ -1173,6 +1194,7 @@ "2045-11-22": "Water Festival", "2045-11-23": "Water Festival", "2045-11-24": "Water Festival", + "2045-12-29": "Peace Day in Cambodia", "2046-01-01": "International New Year Day", "2046-01-07": "Day of Victory over the Genocidal Regime", "2046-03-08": "International Women's Rights Day", @@ -1194,6 +1216,7 @@ "2046-11-12": "Water Festival", "2046-11-13": "Water Festival", "2046-11-14": "Water Festival", + "2046-12-29": "Peace Day in Cambodia", "2047-01-01": "International New Year Day", "2047-01-07": "Day of Victory over the Genocidal Regime", "2047-03-08": "International Women's Rights Day", @@ -1215,6 +1238,7 @@ "2047-11-02": "Water Festival", "2047-11-03": "Water Festival", "2047-11-09": "National Independence Day", + "2047-12-29": "Peace Day in Cambodia", "2048-01-01": "International New Year Day", "2048-01-07": "Day of Victory over the Genocidal Regime", "2048-03-08": "International Women's Rights Day", @@ -1235,6 +1259,7 @@ "2048-11-19": "Water Festival", "2048-11-20": "Water Festival", "2048-11-21": "Water Festival", + "2048-12-29": "Peace Day in Cambodia", "2049-01-01": "International New Year Day", "2049-01-07": "Day of Victory over the Genocidal Regime", "2049-03-08": "International Women's Rights Day", @@ -1255,6 +1280,7 @@ "2049-11-08": "Water Festival", "2049-11-09": "National Independence Day; Water Festival", "2049-11-10": "Water Festival", + "2049-12-29": "Peace Day in Cambodia", "2050-01-01": "International New Year Day", "2050-01-07": "Day of Victory over the Genocidal Regime", "2050-03-08": "International Women's Rights Day", @@ -1274,5 +1300,6 @@ "2050-11-09": "National Independence Day", "2050-11-27": "Water Festival", "2050-11-28": "Water Festival", - "2050-11-29": "Water Festival" + "2050-11-29": "Water Festival", + "2050-12-29": "Peace Day in Cambodia" } diff --git a/tests/countries/test_cambodia.py b/tests/countries/test_cambodia.py index 9160fecc8..a2796661a 100644 --- a/tests/countries/test_cambodia.py +++ b/tests/countries/test_cambodia.py @@ -161,26 +161,25 @@ def test_sangkranta(self): def test_king_sihamoni_birthday(self): name = "ព្រះរាជពិធីបុណ្យចម្រើនព្រះជន្ម ព្រះករុណា ព្រះបាទសម្តេចព្រះបរមនាថ នរោត្តម សីហមុនី" - self.assertNoHolidayName(name, 2004) self.assertHolidayName(name, (f"{year}-05-13" for year in range(2005, 2020))) self.assertHolidayName(name, (f"{year}-05-14" for year in range(2005, 2050))) self.assertHolidayName(name, (f"{year}-05-15" for year in range(2005, 2020))) + self.assertNoHolidayName(name, range(1993, 2005)) def test_national_day_of_remembrance(self): name = "ទិវាជាតិនៃការចងចាំ" - self.assertNoHolidayName(name, 2017) self.assertHolidayName(name, (f"{year}-05-20" for year in range(2018, 2020))) - self.assertNoHolidayName(name, 2020) + self.assertNoHolidayName(name, range(1993, 2018), range(2020, 2050)) def test_international_children_day(self): name = "ទិវាកុមារអន្តរជាតិ" self.assertHolidayName(name, (f"{year}-06-01" for year in range(1993, 2020))) - self.assertNoHolidayName(name, 2020) + self.assertNoHolidayName(name, range(2020, 2050)) def test_queen_mother_monineath_birthday(self): name = "ព្រះរាជពិធីបុណ្យចម្រើនព្រះជន្ម សម្តេចព្រះមហាក្សត្រី ព្រះវររាជមាតា នរោត្តម មុនិនាថ សីហនុ" - self.assertNoHolidayName(name, 1993) self.assertHolidayName(name, (f"{year}-06-18" for year in range(1994, 2050))) + self.assertNoHolidayName(name, 1993) def test_constitution_day(self): self.assertHolidayName( @@ -193,13 +192,13 @@ def test_king_sihanouk_memorial_day(self): " នរោត្តម សីហនុ ព្រះមហាវីរក្សត្រ ព្រះវររាជបិតាឯករាជ្យ បូរណភាពទឹកដី" " និងឯកភាពជាតិខ្មែរ ព្រះបរមរតនកោដ្ឋ" ) - self.assertNoHolidayName(name, 2011) self.assertHolidayName(name, (f"{year}-10-15" for year in range(2012, 2050))) + self.assertNoHolidayName(name, range(1993, 2012)) def test_paris_peace_agreement_day(self): name = "ទិវារំលឹកសន្ធិសញ្ញាសន្តិភាពទីក្រុងប៉ារីស" self.assertHolidayName(name, (f"{year}-10-23" for year in range(1993, 2020))) - self.assertNoHolidayName(name, 2020) + self.assertNoHolidayName(name, range(2020, 2050)) def test_king_sihamoni_coronation_day(self): name = ( @@ -207,8 +206,8 @@ def test_king_sihamoni_coronation_day(self): "ព្រះបាទសម្តេចព្រះបរមនាថ នរោត្តម សីហមុនី " "ព្រះមហាក្សត្រនៃព្រះរាជាណាចក្រកម្ពុជា" ) - self.assertNoHolidayName(name, 2003) self.assertHolidayName(name, (f"{year}-10-29" for year in range(2004, 2050))) + self.assertNoHolidayName(name, range(1993, 2004)) def test_national_independence_day(self): self.assertHolidayName("ពិធីបុណ្យឯករាជ្យជាតិ", (f"{year}-11-09" for year in range(1993, 2050))) @@ -216,7 +215,12 @@ def test_national_independence_day(self): def test_international_human_rights_day(self): name = "ទិវាសិទ្ធិមនុស្សអន្តរជាតិ" self.assertHolidayName(name, (f"{year}-12-10" for year in range(1993, 2020))) - self.assertNoHolidayName(name, 2020) + self.assertNoHolidayName(name, range(2020, 2050)) + + def test_peace_day_in_cambodia(self): + name = "ទិវាសន្តិភាពនៅកម្ពុជា" + self.assertHolidayName(name, (f"{year}-12-29" for year in range(2024, 2050))) + self.assertNoHolidayName(name, range(1993, 2024)) def test_pchum_ben(self): name = "ពិធីបុណ្យភ្ផុំបិណ្ឌ" @@ -284,7 +288,6 @@ def test_bon_om_touk(self): "2023-11-27", "2023-11-28", ) - self.assertNoHolidayName(name, 2158) def test_l10n_default(self): self.assertLocalizedHolidays(