holidays 0.41__py3-none-any.whl → 0.43__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. holidays/__init__.py +1 -1
  2. holidays/countries/__init__.py +2 -0
  3. holidays/countries/algeria.py +9 -8
  4. holidays/countries/angola.py +2 -4
  5. holidays/countries/argentina.py +2 -2
  6. holidays/countries/armenia.py +1 -1
  7. holidays/countries/aruba.py +2 -4
  8. holidays/countries/austria.py +82 -9
  9. holidays/countries/bahrain.py +8 -11
  10. holidays/countries/belarus.py +1 -1
  11. holidays/countries/belgium.py +2 -2
  12. holidays/countries/bosnia_and_herzegovina.py +16 -16
  13. holidays/countries/cambodia.py +1 -4
  14. holidays/countries/canada.py +1 -1
  15. holidays/countries/chile.py +5 -5
  16. holidays/countries/china.py +15 -2
  17. holidays/countries/colombia.py +3 -3
  18. holidays/countries/costa_rica.py +20 -16
  19. holidays/countries/croatia.py +15 -7
  20. holidays/countries/cuba.py +2 -2
  21. holidays/countries/denmark.py +1 -2
  22. holidays/countries/djibouti.py +2 -2
  23. holidays/countries/dominican_republic.py +1 -1
  24. holidays/countries/ecuador.py +1 -1
  25. holidays/countries/egypt.py +27 -29
  26. holidays/countries/ethiopia.py +4 -3
  27. holidays/countries/georgia.py +1 -1
  28. holidays/countries/germany.py +0 -1
  29. holidays/countries/ghana.py +97 -0
  30. holidays/countries/greece.py +14 -6
  31. holidays/countries/guatemala.py +10 -10
  32. holidays/countries/honduras.py +1 -1
  33. holidays/countries/hungary.py +1 -2
  34. holidays/countries/indonesia.py +4 -3
  35. holidays/countries/iran.py +1 -1
  36. holidays/countries/ireland.py +27 -23
  37. holidays/countries/isle_of_man.py +4 -0
  38. holidays/countries/jersey.py +234 -0
  39. holidays/countries/laos.py +4 -4
  40. holidays/countries/latvia.py +1 -1
  41. holidays/countries/liechtenstein.py +2 -2
  42. holidays/countries/lithuania.py +3 -3
  43. holidays/countries/madagascar.py +1 -1
  44. holidays/countries/moldova.py +5 -5
  45. holidays/countries/monaco.py +4 -4
  46. holidays/countries/morocco.py +1 -1
  47. holidays/countries/nicaragua.py +1 -1
  48. holidays/countries/norway.py +1 -1
  49. holidays/countries/peru.py +4 -4
  50. holidays/countries/poland.py +5 -4
  51. holidays/countries/portugal.py +2 -2
  52. holidays/countries/romania.py +1 -1
  53. holidays/countries/saudi_arabia.py +1 -1
  54. holidays/countries/serbia.py +3 -3
  55. holidays/countries/slovakia.py +1 -2
  56. holidays/countries/spain.py +1 -1
  57. holidays/countries/switzerland.py +289 -43
  58. holidays/countries/taiwan.py +114 -24
  59. holidays/countries/tanzania.py +1 -0
  60. holidays/countries/thailand.py +10 -18
  61. holidays/countries/timor_leste.py +1 -0
  62. holidays/countries/tunisia.py +3 -3
  63. holidays/countries/turkey.py +2 -1
  64. holidays/countries/ukraine.py +3 -3
  65. holidays/countries/united_arab_emirates.py +36 -28
  66. holidays/countries/united_kingdom.py +28 -0
  67. holidays/holiday_base.py +32 -14
  68. holidays/locale/am/LC_MESSAGES/ET.po +4 -3
  69. holidays/locale/ar/LC_MESSAGES/AE.po +3 -3
  70. holidays/locale/ar/LC_MESSAGES/BH.po +4 -4
  71. holidays/locale/ar/LC_MESSAGES/CA.po +1 -1
  72. holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
  73. holidays/locale/ar/LC_MESSAGES/DJ.po +8 -8
  74. holidays/locale/ar/LC_MESSAGES/DZ.po +5 -5
  75. holidays/locale/ar/LC_MESSAGES/EG.po +19 -19
  76. holidays/locale/ar/LC_MESSAGES/ET.po +4 -3
  77. holidays/locale/ar/LC_MESSAGES/MA.po +1 -1
  78. holidays/locale/ar/LC_MESSAGES/SA.po +1 -1
  79. holidays/locale/ar/LC_MESSAGES/TN.po +3 -3
  80. holidays/locale/ar/LC_MESSAGES/UA.po +3 -3
  81. holidays/locale/be/LC_MESSAGES/BY.po +1 -1
  82. holidays/locale/bs/LC_MESSAGES/BA.po +5 -5
  83. holidays/locale/da/LC_MESSAGES/DK.po +1 -1
  84. holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
  85. holidays/locale/de/LC_MESSAGES/AT.po +25 -1
  86. holidays/locale/de/LC_MESSAGES/BE.po +2 -2
  87. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  88. holidays/locale/de/LC_MESSAGES/CH.po +6 -14
  89. holidays/locale/de/LC_MESSAGES/DE.po +0 -1
  90. holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
  91. holidays/locale/de/LC_MESSAGES/LI.po +5 -5
  92. holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
  93. holidays/locale/de/LC_MESSAGES/LU.po +3 -3
  94. holidays/locale/el/LC_MESSAGES/GR.po +3 -3
  95. holidays/locale/en_CA/LC_MESSAGES/CA.po +1 -1
  96. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  97. holidays/locale/en_US/LC_MESSAGES/AE.po +8 -8
  98. holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
  99. holidays/locale/en_US/LC_MESSAGES/AM.po +7 -7
  100. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  101. holidays/locale/en_US/LC_MESSAGES/AR.po +7 -7
  102. holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
  103. holidays/locale/en_US/LC_MESSAGES/AT.po +25 -1
  104. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  105. holidays/locale/en_US/LC_MESSAGES/BA.po +13 -13
  106. holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
  107. holidays/locale/en_US/LC_MESSAGES/BE.po +7 -7
  108. holidays/locale/en_US/LC_MESSAGES/BH.po +4 -4
  109. holidays/locale/en_US/LC_MESSAGES/BY.po +1 -1
  110. holidays/locale/en_US/LC_MESSAGES/CA.po +1 -1
  111. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  112. holidays/locale/en_US/LC_MESSAGES/CH.po +7 -15
  113. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  114. holidays/locale/en_US/LC_MESSAGES/CL.po +12 -12
  115. holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
  116. holidays/locale/en_US/LC_MESSAGES/CN.po +8 -4
  117. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  118. holidays/locale/en_US/LC_MESSAGES/CO.po +11 -11
  119. holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
  120. holidays/locale/en_US/LC_MESSAGES/CR.po +5 -5
  121. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  122. holidays/locale/en_US/LC_MESSAGES/CU.po +6 -6
  123. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  124. holidays/locale/en_US/LC_MESSAGES/CZ.po +1 -1
  125. holidays/locale/en_US/LC_MESSAGES/DE.po +0 -1
  126. holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
  127. holidays/locale/en_US/LC_MESSAGES/DJ.po +5 -5
  128. holidays/locale/en_US/LC_MESSAGES/DK.po +1 -1
  129. holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
  130. holidays/locale/en_US/LC_MESSAGES/DO.po +5 -5
  131. holidays/locale/en_US/LC_MESSAGES/DZ.po +5 -5
  132. holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
  133. holidays/locale/en_US/LC_MESSAGES/EC.po +5 -5
  134. holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
  135. holidays/locale/en_US/LC_MESSAGES/EG.po +25 -25
  136. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  137. holidays/locale/en_US/LC_MESSAGES/ES.po +3 -3
  138. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  139. holidays/locale/en_US/LC_MESSAGES/ET.po +10 -9
  140. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  141. holidays/locale/en_US/LC_MESSAGES/GE.po +5 -5
  142. holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
  143. holidays/locale/en_US/LC_MESSAGES/GR.po +5 -5
  144. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  145. holidays/locale/en_US/LC_MESSAGES/GT.po +16 -16
  146. holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
  147. holidays/locale/en_US/LC_MESSAGES/HN.po +4 -4
  148. holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
  149. holidays/locale/en_US/LC_MESSAGES/HR.po +17 -15
  150. holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
  151. holidays/locale/en_US/LC_MESSAGES/ID.po +10 -9
  152. holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
  153. holidays/locale/en_US/LC_MESSAGES/IL.po +1 -0
  154. holidays/locale/en_US/LC_MESSAGES/IR.po +1 -1
  155. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  156. holidays/locale/en_US/LC_MESSAGES/LA.po +3 -3
  157. holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
  158. holidays/locale/en_US/LC_MESSAGES/LI.po +5 -5
  159. holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
  160. holidays/locale/en_US/LC_MESSAGES/LT.po +7 -7
  161. holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
  162. holidays/locale/en_US/LC_MESSAGES/LV.po +5 -5
  163. holidays/locale/en_US/LC_MESSAGES/MA.po +1 -1
  164. holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
  165. holidays/locale/en_US/LC_MESSAGES/MC.po +10 -10
  166. holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
  167. holidays/locale/en_US/LC_MESSAGES/MD.po +10 -10
  168. holidays/locale/en_US/LC_MESSAGES/MG.po +1 -0
  169. holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
  170. holidays/locale/en_US/LC_MESSAGES/MX.po +4 -4
  171. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  172. holidays/locale/en_US/LC_MESSAGES/NI.po +4 -4
  173. holidays/locale/en_US/LC_MESSAGES/NO.po +1 -1
  174. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  175. holidays/locale/en_US/LC_MESSAGES/PE.po +8 -8
  176. holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
  177. holidays/locale/en_US/LC_MESSAGES/PL.po +13 -12
  178. holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
  179. holidays/locale/en_US/LC_MESSAGES/PT.po +2 -2
  180. holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
  181. holidays/locale/en_US/LC_MESSAGES/RO.po +5 -5
  182. holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
  183. holidays/locale/en_US/LC_MESSAGES/RS.po +10 -9
  184. holidays/locale/en_US/LC_MESSAGES/SA.po +1 -1
  185. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  186. holidays/locale/en_US/LC_MESSAGES/SI.po +1 -1
  187. holidays/locale/en_US/LC_MESSAGES/SK.po +1 -0
  188. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  189. holidays/locale/en_US/LC_MESSAGES/TH.po +4 -4
  190. holidays/locale/en_US/LC_MESSAGES/TL.po +1 -0
  191. holidays/locale/en_US/LC_MESSAGES/TN.po +3 -3
  192. holidays/locale/en_US/LC_MESSAGES/TR.po +2 -1
  193. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  194. holidays/locale/en_US/LC_MESSAGES/TW.po +14 -5
  195. holidays/locale/en_US/LC_MESSAGES/TZ.po +1 -0
  196. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  197. holidays/locale/en_US/LC_MESSAGES/UA.po +7 -7
  198. holidays/locale/es/LC_MESSAGES/AR.po +2 -2
  199. holidays/locale/es/LC_MESSAGES/CL.po +5 -5
  200. holidays/locale/es/LC_MESSAGES/CO.po +3 -3
  201. holidays/locale/es/LC_MESSAGES/CU.po +2 -2
  202. holidays/locale/es/LC_MESSAGES/DO.po +1 -1
  203. holidays/locale/es/LC_MESSAGES/EC.po +1 -1
  204. holidays/locale/es/LC_MESSAGES/ES.po +1 -1
  205. holidays/locale/es/LC_MESSAGES/GT.po +10 -10
  206. holidays/locale/es/LC_MESSAGES/HN.po +1 -1
  207. holidays/locale/es/LC_MESSAGES/NI.po +1 -1
  208. holidays/locale/es/LC_MESSAGES/PE.po +4 -4
  209. holidays/locale/fa/LC_MESSAGES/IR.po +1 -1
  210. holidays/locale/fr/LC_MESSAGES/BE.po +2 -2
  211. holidays/locale/fr/LC_MESSAGES/CA.po +1 -1
  212. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  213. holidays/locale/fr/LC_MESSAGES/CH.po +6 -14
  214. holidays/locale/fr/LC_MESSAGES/DJ.po +2 -2
  215. holidays/locale/fr/LC_MESSAGES/DZ.po +5 -5
  216. holidays/locale/fr/LC_MESSAGES/MA.po +1 -1
  217. holidays/locale/fr/LC_MESSAGES/MC.po +4 -4
  218. holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
  219. holidays/locale/hr/LC_MESSAGES/HR.po +12 -10
  220. holidays/locale/hy/LC_MESSAGES/AM.po +1 -1
  221. holidays/locale/id/LC_MESSAGES/ID.po +4 -3
  222. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  223. holidays/locale/it/LC_MESSAGES/CH.po +6 -14
  224. holidays/locale/ka/LC_MESSAGES/GE.po +1 -1
  225. holidays/locale/lo/LC_MESSAGES/LA.po +1 -1
  226. holidays/locale/lt/LC_MESSAGES/LT.po +3 -3
  227. holidays/locale/lv/LC_MESSAGES/LV.po +1 -1
  228. holidays/locale/mg/LC_MESSAGES/MG.po +1 -0
  229. holidays/locale/nl/LC_MESSAGES/BE.po +2 -2
  230. holidays/locale/no/LC_MESSAGES/NO.po +1 -1
  231. holidays/locale/pl/LC_MESSAGES/PL.po +5 -4
  232. holidays/locale/pt_PT/LC_MESSAGES/PT.po +1 -1
  233. holidays/locale/pt_TL/LC_MESSAGES/TL.po +1 -0
  234. holidays/locale/ro/LC_MESSAGES/MD.po +5 -5
  235. holidays/locale/ro/LC_MESSAGES/RO.po +1 -1
  236. holidays/locale/sk/LC_MESSAGES/SK.po +1 -0
  237. holidays/locale/sr/LC_MESSAGES/BA.po +5 -5
  238. holidays/locale/sr/LC_MESSAGES/RS.po +3 -3
  239. holidays/locale/sw/LC_MESSAGES/TZ.po +1 -0
  240. holidays/locale/tet/LC_MESSAGES/TL.po +1 -0
  241. holidays/locale/th/LC_MESSAGES/CA.po +1 -1
  242. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  243. holidays/locale/th/LC_MESSAGES/CN.po +8 -4
  244. holidays/locale/th/LC_MESSAGES/LA.po +1 -1
  245. holidays/locale/th/LC_MESSAGES/TH.po +1 -1
  246. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  247. holidays/locale/th/LC_MESSAGES/TW.po +14 -5
  248. holidays/locale/tr/LC_MESSAGES/TR.po +2 -1
  249. holidays/locale/uk/LC_MESSAGES/AR.po +2 -2
  250. holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
  251. holidays/locale/uk/LC_MESSAGES/AT.po +25 -1
  252. holidays/locale/uk/LC_MESSAGES/BA.po +5 -5
  253. holidays/locale/uk/LC_MESSAGES/BE.po +2 -2
  254. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  255. holidays/locale/uk/LC_MESSAGES/CH.po +6 -14
  256. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  257. holidays/locale/uk/LC_MESSAGES/CL.po +6 -6
  258. holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
  259. holidays/locale/uk/LC_MESSAGES/CO.po +4 -4
  260. holidays/locale/uk/LC_MESSAGES/CU.po +2 -2
  261. holidays/locale/uk/LC_MESSAGES/DE.po +0 -1
  262. holidays/locale/uk/LC_MESSAGES/DK.po +1 -1
  263. holidays/locale/uk/LC_MESSAGES/DO.po +1 -1
  264. holidays/locale/uk/LC_MESSAGES/EC.po +1 -1
  265. holidays/locale/uk/LC_MESSAGES/ES.po +1 -1
  266. holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
  267. holidays/locale/uk/LC_MESSAGES/FR.po +6 -6
  268. holidays/locale/uk/LC_MESSAGES/GE.po +1 -1
  269. holidays/locale/uk/LC_MESSAGES/GR.po +3 -3
  270. holidays/locale/uk/LC_MESSAGES/HN.po +1 -1
  271. holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
  272. holidays/locale/uk/LC_MESSAGES/HR.po +14 -12
  273. holidays/locale/uk/LC_MESSAGES/ID.po +4 -3
  274. holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
  275. holidays/locale/uk/LC_MESSAGES/LI.po +5 -5
  276. holidays/locale/uk/LC_MESSAGES/LT.po +3 -3
  277. holidays/locale/uk/LC_MESSAGES/LV.po +1 -1
  278. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  279. holidays/locale/uk/LC_MESSAGES/MC.po +7 -7
  280. holidays/locale/uk/LC_MESSAGES/MD.po +5 -5
  281. holidays/locale/uk/LC_MESSAGES/MG.po +1 -0
  282. holidays/locale/uk/LC_MESSAGES/NI.po +1 -1
  283. holidays/locale/uk/LC_MESSAGES/NO.po +1 -1
  284. holidays/locale/uk/LC_MESSAGES/PE.po +4 -4
  285. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  286. holidays/locale/uk/LC_MESSAGES/PL.po +11 -10
  287. holidays/locale/uk/LC_MESSAGES/PT.po +1 -1
  288. holidays/locale/uk/LC_MESSAGES/RO.po +1 -1
  289. holidays/locale/uk/LC_MESSAGES/SK.po +1 -0
  290. holidays/locale/uk/LC_MESSAGES/TR.po +2 -1
  291. holidays/locale/uk/LC_MESSAGES/UA.po +3 -3
  292. holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
  293. holidays/locale/zh_CN/LC_MESSAGES/CN.po +8 -4
  294. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  295. holidays/locale/zh_CN/LC_MESSAGES/TW.po +15 -6
  296. holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
  297. holidays/locale/zh_TW/LC_MESSAGES/CN.po +8 -4
  298. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  299. holidays/locale/zh_TW/LC_MESSAGES/TW.po +14 -5
  300. holidays/registry.py +2 -0
  301. holidays/utils.py +2 -2
  302. {holidays-0.41.dist-info → holidays-0.43.dist-info}/METADATA +23 -10
  303. {holidays-0.41.dist-info → holidays-0.43.dist-info}/RECORD +306 -304
  304. {holidays-0.41.dist-info → holidays-0.43.dist-info}/LICENSE +0 -0
  305. {holidays-0.41.dist-info → holidays-0.43.dist-info}/WHEEL +0 -0
  306. {holidays-0.41.dist-info → holidays-0.43.dist-info}/top_level.txt +0 -0
holidays/__init__.py CHANGED
@@ -16,7 +16,7 @@ from holidays.holiday_base import *
16
16
  from holidays.registry import EntityLoader
17
17
  from holidays.utils import *
18
18
 
19
- __version__ = "0.41"
19
+ __version__ = "0.43"
20
20
 
21
21
 
22
22
  EntityLoader.load("countries", globals())
@@ -64,6 +64,7 @@ from .france import France, FR, FRA
64
64
  from .gabon import Gabon, GA, GAB
65
65
  from .georgia import Georgia, GE, GEO
66
66
  from .germany import Germany, DE, DEU
67
+ from .ghana import Ghana, GH, GHA
67
68
  from .greece import Greece, GR, GRC
68
69
  from .guam import Guam, GU, GUM, HolidaysGU
69
70
  from .guatemala import Guatemala, GT, GUA
@@ -80,6 +81,7 @@ from .israel import Israel, IL, ISR
80
81
  from .italy import Italy, IT, ITA
81
82
  from .jamaica import Jamaica, JM, JAM
82
83
  from .japan import Japan, JP, JPN
84
+ from .jersey import Jersey, JE, JEY
83
85
  from .kazakhstan import Kazakhstan, KZ, KAZ
84
86
  from .kenya import Kenya, KE, KEN
85
87
  from .kyrgyzstan import Kyrgyzstan, KG, KGZ
@@ -19,11 +19,15 @@ class Algeria(HolidayBase, InternationalHolidays, IslamicHolidays):
19
19
  """
20
20
  References:
21
21
  - https://en.wikipedia.org/wiki/Public_holidays_in_Algeria
22
+
23
+ As of April 30, 2023. Algeria has 3 days of Eid holidays
24
+ (https://www.horizons.dz/english/archives/amp/12021)
25
+
22
26
  """
23
27
 
24
28
  country = "DZ"
25
29
  default_language = "ar"
26
- # Estimated label.
30
+ # %s (estimated).
27
31
  estimated_label = tr("(تقدير) %s")
28
32
  supported_languages = ("ar", "en_US", "fr")
29
33
 
@@ -38,7 +42,7 @@ class Algeria(HolidayBase, InternationalHolidays, IslamicHolidays):
38
42
 
39
43
  # In January 2018, Algeria declared Yennayer a national holiday.
40
44
  if self._year >= 2018:
41
- # Amazigh New Year / Yennayer.
45
+ # Amazigh New Year.
42
46
  self._add_holiday_jan_12(tr("رأس السنة الأمازيغية"))
43
47
 
44
48
  # Labor Day.
@@ -58,20 +62,17 @@ class Algeria(HolidayBase, InternationalHolidays, IslamicHolidays):
58
62
  # Ashura.
59
63
  self._add_ashura_day(tr("عاشورة"))
60
64
 
61
- # Mawlid / Prophet's Birthday.
65
+ # Prophet's Birthday.
62
66
  self._add_mawlid_day(tr("عيد المولد النبوي"))
63
67
 
64
- # As of April 30, 2023. Algeria has 3 days of Eid holidays
65
- # (https://www.horizons.dz/english/archives/amp/12021)
66
-
67
- # Eid al-Fitr - Feast Festive.
68
+ # Eid al-Fitr.
68
69
  self._add_eid_al_fitr_day(tr("عيد الفطر"))
69
70
  # Eid al-Fitr Holiday.
70
71
  self._add_eid_al_fitr_day_two(tr("عطلة عيد الفطر"))
71
72
  if self._year >= 2024:
72
73
  self._add_eid_al_fitr_day_three(tr("عطلة عيد الفطر"))
73
74
 
74
- # Eid al-Adha - Scarfice Festive.
75
+ # Eid al-Adha.
75
76
  self._add_eid_al_adha_day(tr("عيد الأضحى"))
76
77
  # Eid al-Adha Holiday.
77
78
  self._add_eid_al_adha_day_two(tr("عطلة عيد الأضحى"))
@@ -165,11 +165,9 @@ class Angola(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
165
165
  tr("Dia de Natal e da Família")
166
166
  if self._year >= 2011
167
167
  else (
168
- # Christmas Day.
169
- tr("Dia do Natal")
168
+ tr("Dia do Natal") # Christmas Day.
170
169
  if self._year >= 1996
171
- # Family Day.
172
- else tr("Dia da Família")
170
+ else tr("Dia da Família") # Family Day.
173
171
  )
174
172
  )
175
173
  dt = self._add_christmas_day(name)
@@ -93,7 +93,7 @@ class Argentina(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, S
93
93
  # Restarted in 2011 via Decreto 1584/2010.
94
94
 
95
95
  if 1956 <= self._year <= 1975 or self._year >= 2011:
96
- # Carnival.
96
+ # Carnival Day.
97
97
  name = tr("Día de Carnaval")
98
98
  self._add_carnival_monday(name)
99
99
  self._add_carnival_tuesday(name)
@@ -176,7 +176,7 @@ class Argentina(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, S
176
176
  # Immaculate Conception.
177
177
  self._add_immaculate_conception_day(tr("Inmaculada Concepción de María"))
178
178
 
179
- # Christmas.
179
+ # Christmas Day.
180
180
  self._add_christmas_day(tr("Navidad"))
181
181
 
182
182
  # Movable Holidays
@@ -68,7 +68,7 @@ class Armenia(HolidayBase, ChristianHolidays, InternationalHolidays):
68
68
  # Motherhood and Beauty Day.
69
69
  self._add_holiday_apr_7(tr("Մայրության և գեղեցկության տոն"))
70
70
 
71
- # Armenian Genocide Remembrance Day,
71
+ # Armenian Genocide Remembrance Day.
72
72
  self._add_holiday_apr_24(tr("Եղեռնի զոհերի հիշատակի օր"))
73
73
 
74
74
  if self._year >= 2001:
@@ -105,11 +105,9 @@ class Aruba(HolidayBase, ChristianHolidays, InternationalHolidays):
105
105
  tr("Dia di Rey")
106
106
  if self._year >= 2021
107
107
  else (
108
- # King's Day.
109
- tr("Aña di Rey")
108
+ tr("Aña di Rey") # King's Day.
110
109
  if self._year >= 2014
111
- # Queen's Day.
112
- else tr("Aña di La Reina")
110
+ else tr("Aña di La Reina") # Queen's Day.
113
111
  )
114
112
  )
115
113
  if self._year >= 2014:
@@ -21,16 +21,48 @@ class Austria(HolidayBase, ChristianHolidays, InternationalHolidays):
21
21
  default_language = "de"
22
22
  supported_categories = (BANK, PUBLIC)
23
23
  supported_languages = ("de", "en_US", "uk")
24
- subdivisions = ("1", "2", "3", "4", "5", "6", "7", "8", "9")
24
+ subdivisions = (
25
+ "1", # Burgenland.
26
+ "2", # Kärnten.
27
+ "3", # Niederösterreich.
28
+ "4", # Oberösterreich.
29
+ "5", # Salzburg.
30
+ "6", # Steiermark.
31
+ "7", # Tirol.
32
+ "8", # Vorarlberg.
33
+ "9", # Wien.
34
+ )
35
+ subdivisions_aliases = {
36
+ "Burgenland": "1",
37
+ "Bgld": "1",
38
+ "B": "1",
39
+ "Kärnten": "2",
40
+ "Ktn": "2",
41
+ "K": "2",
42
+ "Niederösterreich": "3",
43
+ "NÖ": "3",
44
+ "N": "3",
45
+ "Oberösterreich": "4",
46
+ "OÖ": "4",
47
+ "O": "4",
48
+ "Salzburg": "5",
49
+ "Sbg": "5",
50
+ "S": "5",
51
+ "Steiermark": "6",
52
+ "Stmk": "6",
53
+ "St": "6",
54
+ "Tirol": "7",
55
+ "T": "7",
56
+ "Vorarlberg": "8",
57
+ "Vbg": "8",
58
+ "V": "8",
59
+ "Wien": "9",
60
+ "W": "9",
61
+ }
25
62
 
26
63
  def __init__(self, *args, **kwargs) -> None:
27
64
  ChristianHolidays.__init__(self)
28
65
  InternationalHolidays.__init__(self)
29
-
30
- # Set the default subdivision.
31
- if not kwargs.get("subdiv", kwargs.get("state")):
32
- kwargs["subdiv"] = "9"
33
-
34
66
  super().__init__(*args, **kwargs)
35
67
 
36
68
  def _populate_public_holidays(self):
@@ -58,11 +90,12 @@ class Austria(HolidayBase, ChristianHolidays, InternationalHolidays):
58
90
  # Assumption Day.
59
91
  self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
60
92
 
93
+ # National Day.
94
+ national_day = tr("Nationalfeiertag")
61
95
  if 1919 <= self._year <= 1934:
62
- # National Day.
63
- self._add_holiday_nov_12(tr("Nationalfeiertag"))
96
+ self._add_holiday_nov_12(national_day)
64
97
  if self._year >= 1967:
65
- self._add_holiday_oct_26(tr("Nationalfeiertag"))
98
+ self._add_holiday_oct_26(national_day)
66
99
 
67
100
  # All Saints' Day.
68
101
  self._add_all_saints_day(tr("Allerheiligen"))
@@ -86,6 +119,46 @@ class Austria(HolidayBase, ChristianHolidays, InternationalHolidays):
86
119
  # New Year's Eve.
87
120
  self._add_new_years_eve(tr("Silvester"))
88
121
 
122
+ def _populate_subdiv_1_bank_holidays(self):
123
+ # St. Martin's Day.
124
+ self._add_holiday_nov_11(tr("Hl. Martin"))
125
+
126
+ def _populate_subdiv_2_bank_holidays(self):
127
+ # St. Joseph's Day.
128
+ self._add_saint_josephs_day(tr("Hl. Josef"))
129
+
130
+ # 1920 Carinthian plebiscite.
131
+ self._add_holiday_oct_10(tr("Tag der Volksabstimmung"))
132
+
133
+ def _populate_subdiv_3_bank_holidays(self):
134
+ # St. Leopold's Day.
135
+ self._add_holiday_nov_15(tr("Hl. Leopold"))
136
+
137
+ def _populate_subdiv_4_bank_holidays(self):
138
+ if self._year >= 2004:
139
+ # St. Florian's Day.
140
+ self._add_holiday_may_4(tr("Hl. Florian"))
141
+
142
+ def _populate_subdiv_5_bank_holidays(self):
143
+ # St. Rupert's Day.
144
+ self._add_holiday_sep_24(tr("Hl. Rupert"))
145
+
146
+ def _populate_subdiv_6_bank_holidays(self):
147
+ # St. Joseph's Day.
148
+ self._add_saint_josephs_day(tr("Hl. Josef"))
149
+
150
+ def _populate_subdiv_7_bank_holidays(self):
151
+ # St. Joseph's Day.
152
+ self._add_saint_josephs_day(tr("Hl. Josef"))
153
+
154
+ def _populate_subdiv_8_bank_holidays(self):
155
+ # St. Joseph's Day.
156
+ self._add_saint_josephs_day(tr("Hl. Josef"))
157
+
158
+ def _populate_subdiv_9_bank_holidays(self):
159
+ # St. Leopold's Day.
160
+ self._add_holiday_nov_15(tr("Hl. Leopold"))
161
+
89
162
 
90
163
  class AT(Austria):
91
164
  pass
@@ -28,7 +28,7 @@ class Bahrain(HolidayBase, InternationalHolidays, IslamicHolidays):
28
28
 
29
29
  country = "BH"
30
30
  default_language = "ar"
31
- # Estimated label.
31
+ # %s (estimated).
32
32
  estimated_label = tr("(تقدير) %s")
33
33
  supported_languages = ("ar", "en_US")
34
34
  weekend = {FRI, SAT}
@@ -42,7 +42,7 @@ class Bahrain(HolidayBase, InternationalHolidays, IslamicHolidays):
42
42
  # New Year's Day.
43
43
  self._add_new_years_day(tr("رأس السنة الميلادية"))
44
44
 
45
- # Labour day.
45
+ # Labor Day.
46
46
  self._add_labor_day(tr("عيد العمال"))
47
47
 
48
48
  # Eid Al Fitr.
@@ -53,23 +53,20 @@ class Bahrain(HolidayBase, InternationalHolidays, IslamicHolidays):
53
53
  self._add_eid_al_fitr_day_three(tr("عطلة عيد الفطر"))
54
54
 
55
55
  # Eid Al Adha.
56
- eid_al_adha = tr("عيد الأضحى")
57
- self._add_eid_al_adha_day(eid_al_adha)
56
+ self._add_eid_al_adha_day(tr("عيد الأضحى"))
58
57
  # Eid Al Adha Holiday.
59
58
  self._add_eid_al_adha_day_two(tr("عطلة عيد الأضحى"))
60
59
  self._add_eid_al_adha_day_three(tr("عطلة عيد الأضحى"))
61
60
 
62
- # Al Hijra New Year.
63
- hijri_new_year = tr("رأس السنة الهجرية")
64
- self._add_islamic_new_year_day(hijri_new_year)
61
+ # Islamic New Year.
62
+ self._add_islamic_new_year_day(tr("رأس السنة الهجرية"))
65
63
 
66
- # Ashura.
67
- ashura = tr("عاشورة")
68
64
  # Ashura Eve.
69
65
  self._add_ashura_eve(tr("ليلة عاشورة"))
70
- self._add_ashura_day(ashura)
66
+ # Ashura.
67
+ self._add_ashura_day(tr("عاشورة"))
71
68
 
72
- # Prophets Birthday.
69
+ # Prophet's Birthday.
73
70
  self._add_mawlid_day(tr("عيد المولد النبوي"))
74
71
 
75
72
  # National Day.
@@ -59,7 +59,7 @@ class Belarus(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
59
59
  # Radunitsa (Day of Rejoicing).
60
60
  self._add_rejoicing_day(tr("Радаўніца"))
61
61
 
62
- # Labour Day.
62
+ # Labor Day.
63
63
  self._add_labor_day(tr("Свята працы"))
64
64
 
65
65
  # Victory Day.
@@ -39,7 +39,7 @@ class Belgium(HolidayBase, ChristianHolidays, InternationalHolidays):
39
39
  # New Year's Day.
40
40
  self._add_new_years_day(tr("Nieuwjaar"))
41
41
 
42
- # Easter.
42
+ # Easter Sunday.
43
43
  self._add_easter_sunday(tr("Pasen"))
44
44
 
45
45
  # Easter Monday.
@@ -60,7 +60,7 @@ class Belgium(HolidayBase, ChristianHolidays, InternationalHolidays):
60
60
  # National Day.
61
61
  self._add_holiday_jul_21(tr("Nationale feestdag"))
62
62
 
63
- # Assumption of Mary.
63
+ # Assumption Day.
64
64
  self._add_assumption_of_mary_day(tr("O. L. V. Hemelvaart"))
65
65
 
66
66
  # All Saints' Day.
@@ -104,15 +104,15 @@ class BosniaAndHerzegovina(
104
104
  self._add_new_years_day(name)
105
105
  self._add_new_years_day_two(name)
106
106
 
107
- # Orthodox Christmas.
107
+ # Orthodox Christmas Day.
108
108
  self._add_christmas_day(tr("Božić (Pravoslavni)"))
109
109
 
110
- # Labor Day.
110
+ # International Labor Day.
111
111
  name = tr("Međunarodni praznik rada")
112
112
  self._add_labor_day(name)
113
113
  self._add_labor_day_two(name)
114
114
 
115
- # Catholic Christmas.
115
+ # Catholic Christmas Day.
116
116
  self._add_christmas_day(tr("Božić (Katolički)"), GREGORIAN_CALENDAR)
117
117
 
118
118
  super()._populate_subdiv_holidays()
@@ -126,7 +126,7 @@ class BosniaAndHerzegovina(
126
126
  # Orthodox Christmas Eve.
127
127
  self._add_christmas_eve(tr("Badnji dan (Pravoslavni)"))
128
128
 
129
- # Orthodox Christmas.
129
+ # Orthodox Christmas Day.
130
130
  self._add_christmas_day(tr("Božić (Pravoslavni)"))
131
131
 
132
132
  # Independence Day.
@@ -135,16 +135,16 @@ class BosniaAndHerzegovina(
135
135
  # Catholic Good Friday.
136
136
  self._add_good_friday(tr("Veliki petak (Katolički)"), GREGORIAN_CALENDAR)
137
137
 
138
- # Catholic Easter.
138
+ # Catholic Easter Sunday.
139
139
  self._add_easter_sunday(tr("Uskrs (Katolički)"), GREGORIAN_CALENDAR)
140
140
 
141
- # Orthodox Easter.
141
+ # Orthodox Easter Sunday.
142
142
  self._add_easter_sunday(tr("Vaskrs (Pravoslavni)"))
143
143
 
144
144
  # Orthodox Easter Monday.
145
145
  self._add_easter_monday(tr("Uskrsni ponedjeljak (Pravoslavni)"))
146
146
 
147
- # Labor Day.
147
+ # International Labor Day.
148
148
  name = tr("Međunarodni praznik rada")
149
149
  self._add_observed(self._add_labor_day(name), rule=SUN_TO_NEXT_TUE)
150
150
  self._add_labor_day_two(name)
@@ -158,7 +158,7 @@ class BosniaAndHerzegovina(
158
158
  # Catholic Christmas Eve.
159
159
  self._add_christmas_eve(tr("Badnji dan (Katolički)"), GREGORIAN_CALENDAR)
160
160
 
161
- # Catholic Christmas.
161
+ # Catholic Christmas Day.
162
162
  self._add_christmas_day(tr("Božić (Katolički)"), GREGORIAN_CALENDAR)
163
163
 
164
164
  # Eid al-Fitr.
@@ -173,7 +173,7 @@ class BosniaAndHerzegovina(
173
173
  self._add_observed(self._add_new_years_day(name), rule=SAT_SUN_TO_NEXT_MON_TUE)
174
174
  self._add_new_years_day_two(name)
175
175
 
176
- # Orthodox Christmas.
176
+ # Orthodox Christmas Day.
177
177
  self._add_observed(self._add_christmas_day(tr("Božić (Pravoslavni)")))
178
178
 
179
179
  self._add_observed(
@@ -181,13 +181,13 @@ class BosniaAndHerzegovina(
181
181
  self._add_holiday_mar_8(tr("Dan uspostavljanja Brčko distrikta"))
182
182
  )
183
183
 
184
- # Labor Day.
184
+ # International Labor Day.
185
185
  name = tr("Međunarodni praznik rada")
186
186
  self._add_observed(self._add_labor_day(name), rule=SAT_SUN_TO_NEXT_MON_TUE)
187
187
  self._add_labor_day_two(name)
188
188
 
189
189
  self._add_observed(
190
- # Catholic Christmas.
190
+ # Catholic Christmas Day.
191
191
  self._add_christmas_day(tr("Božić (Katolički)"), GREGORIAN_CALENDAR)
192
192
  )
193
193
 
@@ -200,7 +200,7 @@ class BosniaAndHerzegovina(
200
200
  # Orthodox Christmas Eve.
201
201
  self._add_christmas_eve(tr("Badnji dan (Pravoslavni)"))
202
202
 
203
- # Orthodox Christmas.
203
+ # Orthodox Christmas Day.
204
204
  self._add_christmas_day(tr("Božić (Pravoslavni)"))
205
205
 
206
206
  # Orthodox New Year.
@@ -209,16 +209,16 @@ class BosniaAndHerzegovina(
209
209
  # Catholic Good Friday.
210
210
  self._add_good_friday(tr("Veliki petak (Katolički)"), GREGORIAN_CALENDAR)
211
211
 
212
- # Catholic Easter.
212
+ # Catholic Easter Sunday.
213
213
  self._add_easter_sunday(tr("Uskrs (Katolički)"), GREGORIAN_CALENDAR)
214
214
 
215
- # Orthodox Easter.
215
+ # Orthodox Easter Sunday.
216
216
  self._add_easter_sunday(tr("Vaskrs (Pravoslavni)"))
217
217
 
218
218
  # Orthodox Easter Monday.
219
219
  self._add_easter_monday(tr("Uskrsni ponedjeljak (Pravoslavni)"))
220
220
 
221
- # Labor Day.
221
+ # International Labor Day.
222
222
  name = tr("Međunarodni praznik rada")
223
223
  self._add_observed(self._add_labor_day(name), rule=SAT_TO_NEXT_MON)
224
224
  self._add_labor_day_two(name)
@@ -234,7 +234,7 @@ class BosniaAndHerzegovina(
234
234
  # Catholic Christmas Eve.
235
235
  self._add_christmas_eve(tr("Badnji dan (Katolički)"), GREGORIAN_CALENDAR)
236
236
 
237
- # Catholic Christmas.
237
+ # Catholic Christmas Day.
238
238
  self._add_christmas_day(tr("Božić (Katolički)"), GREGORIAN_CALENDAR)
239
239
 
240
240
  # Eid al-Fitr.
@@ -147,10 +147,7 @@ class Cambodia(HolidayBase, InternationalHolidays, StaticHolidays, ThaiCalendarH
147
147
  if self._year >= 1994:
148
148
  self._add_holiday_jun_18(
149
149
  # Birthday of Her Majesty the Queen-Mother NORODOM MONINEATH SIHANOUK of Cambodia
150
- tr(
151
- "ព្រះរាជពិធីបុណ្យចម្រើនព្រះជន្ម សម្តេចព្រះមហាក្សត្រី ព្រះវររាជមាតា នរោត្តម "
152
- "មុនិនាថ សីហនុ"
153
- ),
150
+ tr("ព្រះរាជពិធីបុណ្យចម្រើនព្រះជន្ម សម្តេចព្រះមហាក្សត្រី ព្រះវររាជមាតា នរោត្តម មុនិនាថ សីហនុ"),
154
151
  )
155
152
 
156
153
  # ទិវាប្រកាសរដ្ឋធម្មនុញ្ញ
@@ -90,7 +90,7 @@ class Canada(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
90
90
  )
91
91
 
92
92
  if self._year >= 1894:
93
- # Labour Day.
93
+ # Labor Day.
94
94
  self._add_holiday_1st_mon_of_sep(tr("Labour Day"))
95
95
 
96
96
  # Christmas Day.
@@ -95,7 +95,7 @@ class Chile(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stati
95
95
  self._add_holy_saturday(tr("Sábado Santo"))
96
96
 
97
97
  if self._year <= 1967:
98
- # Ascension of Jesus.
98
+ # Ascension Day.
99
99
  self._add_ascension_thursday(tr("Ascensión del Señor"))
100
100
 
101
101
  if self._year <= 1967 or 1987 <= self._year <= 2006:
@@ -106,7 +106,7 @@ class Chile(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stati
106
106
  )
107
107
 
108
108
  if self._year >= 1932:
109
- # Labour Day.
109
+ # Labor Day.
110
110
  self._add_labor_day(tr("Día Nacional del Trabajo"))
111
111
 
112
112
  # Naval Glories Day.
@@ -128,7 +128,7 @@ class Chile(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stati
128
128
  # Day of Virgin of Carmen.
129
129
  self._add_holiday_jul_16(tr("Virgen del Carmen"))
130
130
 
131
- # Assumption of Mary.
131
+ # Assumption Day.
132
132
  self._add_assumption_of_mary_day(tr("Asunción de la Virgen"))
133
133
 
134
134
  if 1981 <= self._year <= 1998:
@@ -180,7 +180,7 @@ class Chile(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stati
180
180
  rule=TUE_TO_PREV_FRI + WED_TO_NEXT_FRI,
181
181
  )
182
182
 
183
- # All Saints Day.
183
+ # All Saints' Day.
184
184
  self._add_all_saints_day(tr("Día de Todos los Santos"))
185
185
 
186
186
  # Immaculate Conception.
@@ -190,7 +190,7 @@ class Chile(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stati
190
190
  # Christmas Eve.
191
191
  self._add_christmas_eve(tr("Víspera de Navidad"))
192
192
 
193
- # Christmas.
193
+ # Christmas Day.
194
194
  self._add_christmas_day(tr("Navidad"))
195
195
 
196
196
  def _populate_subdiv_ap_public_holidays(self):
@@ -26,6 +26,7 @@ class China(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays,
26
26
  - `2023 <https://www.gov.cn/gongbao/content/2023/content_5736714.htm>`_
27
27
  - `2022 <https://www.gov.cn/gongbao/content/2021/content_5651728.htm>`_
28
28
  - `2021 <https://www.gov.cn/gongbao/content/2020/content_5567750.htm>`_
29
+ - `2020 Extensions <https://www.gov.cn/zhengce/zhengceku/2020-01/27/content_5472352.htm>`_
29
30
  - `2020 <https://www.gov.cn/gongbao/content/2019/content_5459138.htm>`_
30
31
  - `2019 <https://www.gov.cn/gongbao/content/2018/content_5350046.htm>`_
31
32
  - `2018 <https://www.gov.cn/gongbao/content/2017/content_5248221.htm>`_
@@ -206,6 +207,12 @@ class ChinaStaticHolidays:
206
207
  # Day off (substituted from %s).
207
208
  substituted_label = tr("休息日(%s日起取代)")
208
209
 
210
+ # Chinese New Year (Spring Festival).
211
+ chinese_new_year = tr("春节")
212
+
213
+ # Chinese New Year (Spring Festival) Extended Holiday.
214
+ chinese_new_year_extended = tr("春节延长假期")
215
+
209
216
  # Dragon Boat Festival.
210
217
  dragon_boat_festival = tr("端午节")
211
218
 
@@ -381,7 +388,10 @@ class ChinaStaticHolidays:
381
388
  ),
382
389
  2020: (
383
390
  (JAN, 24, JAN, 19), # Spring Festival
384
- (JAN, 30, FEB, 1), # Spring Festival
391
+ # JAN, 30 in special_public_holidays_observed
392
+ (JAN, 31, chinese_new_year_extended), # Spring Festival Extended Holiday
393
+ (FEB, 1, chinese_new_year_extended), # Spring Festival Extended Holiday
394
+ (FEB, 2, chinese_new_year_extended), # Spring Festival Extended Holiday
385
395
  (MAY, 4, APR, 26), # Labor Day
386
396
  (MAY, 5, MAY, 9), # Labor Day
387
397
  (JUN, 26, JUN, 28), # Dragon Boat Festival
@@ -430,5 +440,8 @@ class ChinaStaticHolidays:
430
440
  special_public_holidays_observed = {
431
441
  2012: (JUN, 22, dragon_boat_festival), # observed from Jun 23
432
442
  2015: (OCT, 6, mid_autumn_festival), # observed from Sep 27
433
- 2020: (OCT, 6, mid_autumn_festival), # observed from Oct 1, overlap with National Day
443
+ 2020: (
444
+ (JAN, 30, chinese_new_year), # Spring Festival (extended due to Covid-19 decree)
445
+ (OCT, 6, mid_autumn_festival), # observed from Oct 1, overlap with National Day
446
+ ),
434
447
  }
@@ -68,7 +68,7 @@ class Colombia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
68
68
  # Good Friday.
69
69
  self._add_good_friday(tr("Viernes Santo"))
70
70
 
71
- # Ascension of Jesus.
71
+ # Ascension Day.
72
72
  self._move_holiday(self._add_ascension_thursday(tr("Ascensión del señor")))
73
73
 
74
74
  # Corpus Christi.
@@ -94,7 +94,7 @@ class Colombia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
94
94
  self._add_holiday_aug_7(tr("Batalla de Boyacá"))
95
95
 
96
96
  if self._year >= 1951:
97
- # Assumption of Mary.
97
+ # Assumption Day.
98
98
  self._move_holiday(self._add_assumption_of_mary_day(tr("La Asunción")))
99
99
 
100
100
  # Columbus Day.
@@ -113,7 +113,7 @@ class Colombia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
113
113
  # Immaculate Conception.
114
114
  self._add_immaculate_conception_day(tr("La Inmaculada Concepción"))
115
115
 
116
- # Christmas.
116
+ # Christmas Day.
117
117
  self._add_christmas_day(tr("Navidad"))
118
118
 
119
119
 
@@ -11,6 +11,7 @@
11
11
 
12
12
  from gettext import gettext as tr
13
13
 
14
+ from holidays.constants import OPTIONAL, PUBLIC
14
15
  from holidays.groups import ChristianHolidays, InternationalHolidays
15
16
  from holidays.observed_holiday_base import (
16
17
  ObservedHolidayBase,
@@ -24,6 +25,7 @@ class CostaRica(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
24
25
  """
25
26
  References:
26
27
  - https://en.wikipedia.org/wiki/Public_holidays_in_Costa_Rica
28
+ - http://www.pgrweb.go.cr/scij/avanzada_pgr.aspx
27
29
  - Law #8442 from 19.04.2005
28
30
  - Law #8604 from 17.09.2007
29
31
  - Law #8753 from 25.07.2009
@@ -36,6 +38,7 @@ class CostaRica(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
36
38
  default_language = "es"
37
39
  # %s (observed).
38
40
  observed_label = tr("%s (observado)")
41
+ supported_categories = (OPTIONAL, PUBLIC)
39
42
  supported_languages = ("en_US", "es", "uk")
40
43
 
41
44
  def __init__(self, *args, **kwargs):
@@ -73,9 +76,6 @@ class CostaRica(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
73
76
  elif 2020 <= self._year <= 2024:
74
77
  self._move_holiday(jul_25)
75
78
 
76
- # Feast of Our Lady of the Angels.
77
- self._add_holiday_aug_2(tr("Fiesta de Nuestra Señora de los Ángeles"))
78
-
79
79
  # Mother's Day.
80
80
  dt = self._add_assumption_of_mary_day(tr("Día de la Madre"))
81
81
  if 2005 <= self._year <= 2007:
@@ -83,18 +83,9 @@ class CostaRica(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
83
83
  elif self._year in {2020, 2023, 2024}:
84
84
  self._move_holiday(dt)
85
85
 
86
- if self._year >= 2022:
87
- aug_31 = self._add_holiday_aug_31(
88
- # Day of the Black Person and Afro-Costa Rican Culture.
89
- self.tr("Día de la Persona Negra y la Cultura Afrocostarricense")
90
- )
91
- if self._year in {2022, 2023}:
92
- # Move to next Sunday.
93
- self._move_holiday(aug_31, rule=ALL_TO_NEXT_SUN)
94
-
95
86
  # Independence Day.
96
87
  sep_15 = self._add_holiday_sep_15(tr("Día de la Independencia"))
97
- if self._year in {2020, 2021, 2022, 2024}:
88
+ if self._year in {2020, 2021, 2022}:
98
89
  self._move_holiday(sep_15)
99
90
 
100
91
  if self._year <= 2019:
@@ -104,15 +95,28 @@ class CostaRica(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
104
95
  rule=WORKDAY_TO_NEXT_MON,
105
96
  )
106
97
 
98
+ # Christmas Day.
99
+ self._add_christmas_day(tr("Navidad"))
100
+
101
+ def _populate_optional_holidays(self):
102
+ # Feast of Our Lady of the Angels.
103
+ self._add_holiday_aug_2(tr("Fiesta de Nuestra Señora de los Ángeles"))
104
+
105
+ if self._year >= 2021:
106
+ aug_31 = self._add_holiday_aug_31(
107
+ # Day of the Black Person and Afro-Costa Rican Culture.
108
+ self.tr("Día de la Persona Negra y la Cultura Afrocostarricense")
109
+ )
110
+ if self._year in {2021, 2022, 2023}:
111
+ # Move to next Sunday.
112
+ self._move_holiday(aug_31, rule=ALL_TO_NEXT_SUN)
113
+
107
114
  if self._year >= 2020:
108
115
  # Army Abolition Day.
109
116
  dec_1 = self._add_holiday_dec_1(tr("Día de la Abolición del Ejército"))
110
117
  if self._year in {2020, 2021, 2022}:
111
118
  self._move_holiday(dec_1)
112
119
 
113
- # Christmas Day.
114
- self._add_christmas_day(tr("Navidad"))
115
-
116
120
 
117
121
  class CR(CostaRica):
118
122
  pass