Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ any) in brackets, available languages and additional holiday categories. All cou
<td>DZ</td>
<td></td>
<td><strong>ar</strong>, en_US, fr</td>
<td></td>
<td>CHRISTIAN, HEBREW</td>
</tr>
<tr>
<td>American Samoa</td>
Expand Down
93 changes: 75 additions & 18 deletions holidays/countries/algeria.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,39 @@
from gettext import gettext as tr

from holidays.calendars.gregorian import THU, FRI, SAT, SUN
from holidays.groups import InternationalHolidays, IslamicHolidays
from holidays.constants import CHRISTIAN, HEBREW, PUBLIC
from holidays.groups import (
ChristianHolidays,
HebrewCalendarHolidays,
InternationalHolidays,
IslamicHolidays,
)
from holidays.holiday_base import HolidayBase


class Algeria(HolidayBase, InternationalHolidays, IslamicHolidays):
class Algeria(
HolidayBase, ChristianHolidays, HebrewCalendarHolidays, InternationalHolidays, IslamicHolidays
):
"""Algeria holidays.

References:
* <https://en.wikipedia.org/wiki/Public_holidays_in_Algeria>
* <https://web.archive.org/web/20250427180223/https://www.horizons.dz/english/archives/amp/12021>
* [Loi n° 63-278 du 26 juillet 1963](https://web.archive.org/web/20250903142053/https://drive.google.com/file/d/1rWkxBEjs9aNkbiTTRXBET3Qo_3HQOJR9/view)
* [Ordonnance n° 68-419 du 26 juin 1968](https://web.archive.org/web/20250903142828/https://drive.google.com/file/d/1fMGyGVnunGkACWhm0tICANEZqao2pOV3/view)
* [Loi n° 05-06 du 17 Rabie El Aoeul 1426](https://web.archive.org/web/20250903143453/https://drive.google.com/file/d/1AXISrPGJzgDO8G3uB1TyICdtnOYW6ewm/view)
* [Loi n° 18-12 du 18 Chaoual 1439](https://web.archive.org/web/20250903141752/https://drive.google.com/file/d/1qxcrF3J-SUXmLdGZLVF0gdrN0aQWwykb/view)
* [Loi n° 23-10 du 8 Dhou El Hidja 1444](https://web.archive.org/web/20250903141052/https://drive.google.com/file/d/1hZJtxofzjFAphOX09dGGtvHxl6IN5aNz/view)
* <https://web.archive.org/web/20241231091630/https://www.thenationalnews.com/mena/2021/12/07/when-is-the-weekend-in-the-arab-world/>
* <https://web.archive.org/web/20250903160618/https://www.lemonde.fr/afrique/article/2018/01/12/en-algerie-le-nouvel-an-berbere-ferie-pour-la-premiere-fois_5241028_3212.html>
"""

country = "DZ"
default_language = "ar"
# %s (estimated).
estimated_label = tr("%s (المقدرة)")
# Loi n° 63-278 du 26 juillet 1963.
start_year = 1964
supported_categories = (CHRISTIAN, HEBREW, PUBLIC)
supported_languages = ("ar", "en_US", "fr")

def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
Expand All @@ -39,6 +55,8 @@ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
Whether to add "estimated" label to Islamic holidays name
if holiday date is estimated.
"""
ChristianHolidays.__init__(self)
HebrewCalendarHolidays.__init__(self)
InternationalHolidays.__init__(self)
IslamicHolidays.__init__(self, show_estimated=islamic_show_estimated)
super().__init__(*args, **kwargs)
Expand All @@ -56,21 +74,26 @@ def _populate_public_holidays(self):
# New Year's Day.
self._add_new_years_day(tr("رأس السنة الميلادية"))

# In January 2018, Algeria declared Yennayer a national holiday.
# First Celebrated in 2018.
# Reaffirmed via Loi n° 18-12 du 18 Chaoual 1439.
if self._year >= 2018:
# Amazigh New Year.
self._add_holiday_jan_12(tr("رأس السنة الأمازيغية"))

# Labor Day.
self._add_labor_day(tr("عيد العمال"))

if self._year >= 1962:
# Name changed in Loi n° 05-06 du 17 Rabie El Aoeul 1426.
self._add_holiday_jul_5(
# Independence Day.
self._add_holiday_jul_5(tr("عيد الإستقلال"))
tr("عيد الاستقلال")
if self._year >= 2005
# Independence and National Liberation Front Day.
else tr("عيد الاستقلال وجبهة التحرير الوطني")
)

if self._year >= 1963:
# Revolution Day.
self._add_holiday_nov_1(tr("عيد الثورة"))
# Revolution Day.
self._add_holiday_nov_1(tr("عيد الثورة"))

# Islamic New Year.
self._add_islamic_new_year_day(tr("رأس السنة الهجرية"))
Expand All @@ -82,18 +105,52 @@ def _populate_public_holidays(self):
self._add_mawlid_day(tr("عيد المولد النبوي"))

# Eid al-Fitr.
self._add_eid_al_fitr_day(tr("عيد الفطر"))
# Eid al-Fitr Holiday.
self._add_eid_al_fitr_day_two(tr("عطلة عيد الفطر"))
name = tr("عيد الفطر")
self._add_eid_al_fitr_day(name)
self._add_eid_al_fitr_day_two(name)
# Added via Loi n° 23-10 du 8 Dhou El Hidja 1444.
if self._year >= 2024:
self._add_eid_al_fitr_day_three(tr("عطلة عيد الفطر"))
self._add_eid_al_fitr_day_three(name)

# Eid al-Adha.
self._add_eid_al_adha_day(tr("عيد الأضحى"))
# Eid al-Adha Holiday.
self._add_eid_al_adha_day_two(tr("عطلة عيد الأضحى"))
if self._year >= 2023:
self._add_eid_al_adha_day_three(tr("عطلة عيد الأضحى"))
name = tr("عيد الأضحى")
self._add_eid_al_adha_day(name)
# Added via Ordonnance n° 68-419 du 26 juin 1968.
if self._year >= 1969:
self._add_eid_al_adha_day_two(name)
# Added via Loi n° 23-10 du 8 Dhou El Hidja 1444.
if self._year >= 2023:
self._add_eid_al_adha_day_three(name)

def _populate_christian_holidays(self):
# As outlined in Loi n° 63-278 du 26 juillet 1963.

# Easter Monday.
self._add_easter_monday(tr("إثنين الفصح"))

# Ascension Day.
self._add_ascension_thursday(tr("عيد الصعود"))

# Whit Monday.
self._add_whit_monday(tr("إثنين العنصرة"))

# Assumption Day.
self._add_assumption_of_mary_day(tr("عيد انتقال السيدة العذراء"))

# Christmas Day.
self._add_christmas_day(tr("عيد الميلاد"))

def _populate_hebrew_holidays(self):
# As outlined in Loi n° 63-278 du 26 juillet 1963.

# Rosh Hashanah.
self._add_rosh_hashanah(tr("رأس السنة العبرية"))

# Yom Kippur.
self._add_yom_kippur(tr("يوم الغفران"))

# Pesach.
self._add_passover(tr("عيد الفصح اليهودي"))


class DZ(Algeria):
Expand Down
50 changes: 39 additions & 11 deletions holidays/locale/ar/LC_MESSAGES/DZ.po
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Holidays 0.76\n"
"Project-Id-Version: Holidays 0.82\n"
"POT-Creation-Date: 2023-06-28 00:13+0100\n"
"PO-Revision-Date: 2025-06-26 17:55+0300\n"
"Last-Translator: ~Jhellico <[email protected]>\n"
"PO-Revision-Date: 2025-09-16 10:42+0700\n"
"Last-Translator: PPsyrius <[email protected]>\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"
"Generated-By: Lingua 4.15.0\n"
"X-Generator: Poedit 3.5\n"
"X-Generator: Poedit 3.7\n"
"X-Source-Language: ar\n"

#. %s (estimated).
Expand All @@ -45,7 +45,11 @@ msgid "عيد العمال"
msgstr ""

#. Independence Day.
msgid "عيد الإستقلال"
msgid "عيد الاستقلال"
msgstr ""

#. Independence and National Liberation Front Day.
msgid "عيد الاستقلال وجبهة التحرير الوطني"
msgstr ""

#. Revolution Day.
Expand All @@ -68,14 +72,38 @@ msgstr ""
msgid "عيد الفطر"
msgstr ""

#. Eid al-Fitr Holiday.
msgid "عطلة عيد الفطر"
msgstr ""

#. Eid al-Adha.
msgid "عيد الأضحى"
msgstr ""

#. Eid al-Adha Holiday.
msgid "عطلة عيد الأضحى"
#. Easter Monday.
msgid "إثنين الفصح"
msgstr ""

#. Ascension Day.
msgid "عيد الصعود"
msgstr ""

#. Whit Monday.
msgid "إثنين العنصرة"
msgstr ""

#. Assumption Day.
msgid "عيد انتقال السيدة العذراء"
msgstr ""

#. Christmas Day.
msgid "عيد الميلاد"
msgstr ""

#. Rosh Hashanah.
msgid "رأس السنة العبرية"
msgstr ""

#. Yom Kippur.
msgid "يوم الغفران"
msgstr ""

#. Pesach.
msgid "عيد الفصح اليهودي"
msgstr ""
52 changes: 40 additions & 12 deletions holidays/locale/en_US/LC_MESSAGES/DZ.po
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Holidays 0.76\n"
"Project-Id-Version: Holidays 0.82\n"
"POT-Creation-Date: 2023-06-28 00:13+0100\n"
"PO-Revision-Date: 2025-06-26 17:55+0300\n"
"Last-Translator: ~Jhellico <[email protected]>\n"
"PO-Revision-Date: 2025-09-16 10:42+0700\n"
"Last-Translator: PPsyrius <[email protected]>\n"
"Language-Team: Holidays Localization Team\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Lingua 4.15.0\n"
"X-Generator: Poedit 3.5\n"
"X-Generator: Poedit 3.7\n"
"X-Source-Language: ar\n"

#. %s (estimated).
Expand All @@ -45,9 +45,13 @@ msgid "عيد العمال"
msgstr "Labor Day"

#. Independence Day.
msgid "عيد الإستقلال"
msgid "عيد الاستقلال"
msgstr "Independence Day"

#. Independence and National Liberation Front Day.
msgid "عيد الاستقلال وجبهة التحرير الوطني"
msgstr "Independence and National Liberation Front Day"

#. Revolution Day.
msgid "عيد الثورة"
msgstr "Revolution Day"
Expand All @@ -68,14 +72,38 @@ msgstr "Prophet's Birthday"
msgid "عيد الفطر"
msgstr "Eid al-Fitr"

#. Eid al-Fitr Holiday.
msgid "عطلة عيد الفطر"
msgstr "Eid al-Fitr Holiday"

#. Eid al-Adha.
msgid "عيد الأضحى"
msgstr "Eid al-Adha"

#. Eid al-Adha Holiday.
msgid "عطلة عيد الأضحى"
msgstr "Eid al-Adha Holiday"
#. Easter Monday.
msgid "إثنين الفصح"
msgstr "Easter Monday"

#. Ascension Day.
msgid "عيد الصعود"
msgstr "Ascension Day"

#. Whit Monday.
msgid "إثنين العنصرة"
msgstr "Whit Monday"

#. Assumption Day.
msgid "عيد انتقال السيدة العذراء"
msgstr "Assumption Day"

#. Christmas Day.
msgid "عيد الميلاد"
msgstr "Christmas Day"

#. Rosh Hashanah.
msgid "رأس السنة العبرية"
msgstr "Rosh Hashanah"

#. Yom Kippur.
msgid "يوم الغفران"
msgstr "Yom Kippur"

#. Pesach.
msgid "عيد الفصح اليهودي"
msgstr "Pesach"
Loading
Loading