holidays 0.57__py3-none-any.whl → 0.59__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 (780) hide show
  1. holidays/__init__.py +2 -2
  2. holidays/calendars/__init__.py +1 -1
  3. holidays/calendars/buddhist.py +5 -5
  4. holidays/calendars/chinese.py +9 -9
  5. holidays/calendars/custom.py +1 -1
  6. holidays/calendars/gregorian.py +2 -2
  7. holidays/calendars/hebrew.py +1 -1
  8. holidays/calendars/hindu.py +5 -5
  9. holidays/calendars/islamic.py +26 -26
  10. holidays/calendars/julian.py +1 -1
  11. holidays/calendars/julian_revised.py +1 -1
  12. holidays/calendars/persian.py +1 -1
  13. holidays/calendars/thai.py +2 -2
  14. holidays/constants.py +1 -1
  15. holidays/countries/__init__.py +3 -1
  16. holidays/countries/albania.py +1 -1
  17. holidays/countries/algeria.py +1 -1
  18. holidays/countries/american_samoa.py +1 -1
  19. holidays/countries/andorra.py +1 -1
  20. holidays/countries/angola.py +3 -3
  21. holidays/countries/argentina.py +1 -1
  22. holidays/countries/armenia.py +6 -3
  23. holidays/countries/aruba.py +1 -1
  24. holidays/countries/australia.py +1 -1
  25. holidays/countries/austria.py +1 -1
  26. holidays/countries/azerbaijan.py +21 -5
  27. holidays/countries/bahamas.py +1 -1
  28. holidays/countries/bahrain.py +1 -1
  29. holidays/countries/bangladesh.py +1 -1
  30. holidays/countries/barbados.py +1 -1
  31. holidays/countries/belarus.py +2 -2
  32. holidays/countries/belgium.py +1 -1
  33. holidays/countries/belize.py +1 -1
  34. holidays/countries/bolivia.py +1 -1
  35. holidays/countries/bosnia_and_herzegovina.py +3 -3
  36. holidays/countries/botswana.py +1 -1
  37. holidays/countries/brazil.py +1 -1
  38. holidays/countries/brunei.py +1 -1
  39. holidays/countries/bulgaria.py +2 -3
  40. holidays/countries/burkina_faso.py +1 -1
  41. holidays/countries/burundi.py +1 -1
  42. holidays/countries/cambodia.py +1 -1
  43. holidays/countries/cameroon.py +1 -1
  44. holidays/countries/canada.py +1 -1
  45. holidays/countries/chad.py +1 -1
  46. holidays/countries/chile.py +2 -3
  47. holidays/countries/china.py +2 -2
  48. holidays/countries/colombia.py +1 -1
  49. holidays/countries/congo.py +82 -0
  50. holidays/countries/costa_rica.py +1 -1
  51. holidays/countries/croatia.py +1 -1
  52. holidays/countries/cuba.py +1 -1
  53. holidays/countries/curacao.py +10 -4
  54. holidays/countries/cyprus.py +1 -1
  55. holidays/countries/czechia.py +7 -4
  56. holidays/countries/denmark.py +1 -1
  57. holidays/countries/djibouti.py +1 -1
  58. holidays/countries/dominica.py +1 -1
  59. holidays/countries/dominican_republic.py +1 -1
  60. holidays/countries/ecuador.py +1 -1
  61. holidays/countries/egypt.py +1 -2
  62. holidays/countries/el_salvador.py +1 -1
  63. holidays/countries/estonia.py +1 -1
  64. holidays/countries/eswatini.py +1 -1
  65. holidays/countries/ethiopia.py +1 -1
  66. holidays/countries/finland.py +1 -1
  67. holidays/countries/france.py +2 -2
  68. holidays/countries/gabon.py +1 -1
  69. holidays/countries/georgia.py +2 -2
  70. holidays/countries/germany.py +11 -1
  71. holidays/countries/ghana.py +1 -1
  72. holidays/countries/greece.py +1 -1
  73. holidays/countries/greenland.py +1 -1
  74. holidays/countries/guam.py +1 -1
  75. holidays/countries/guatemala.py +1 -1
  76. holidays/countries/haiti.py +1 -1
  77. holidays/countries/honduras.py +1 -1
  78. holidays/countries/hongkong.py +2 -3
  79. holidays/countries/hungary.py +1 -1
  80. holidays/countries/iceland.py +1 -1
  81. holidays/countries/india.py +1 -1
  82. holidays/countries/indonesia.py +1 -1
  83. holidays/countries/iran.py +1 -1
  84. holidays/countries/ireland.py +1 -1
  85. holidays/countries/isle_of_man.py +1 -1
  86. holidays/countries/israel.py +1 -1
  87. holidays/countries/italy.py +1 -1
  88. holidays/countries/jamaica.py +1 -1
  89. holidays/countries/japan.py +31 -30
  90. holidays/countries/jersey.py +3 -3
  91. holidays/countries/jordan.py +2 -2
  92. holidays/countries/kazakhstan.py +215 -34
  93. holidays/countries/kenya.py +1 -1
  94. holidays/countries/kuwait.py +2 -2
  95. holidays/countries/kyrgyzstan.py +2 -2
  96. holidays/countries/laos.py +1 -1
  97. holidays/countries/latvia.py +1 -1
  98. holidays/countries/lesotho.py +1 -1
  99. holidays/countries/liechtenstein.py +1 -1
  100. holidays/countries/lithuania.py +1 -1
  101. holidays/countries/luxembourg.py +1 -1
  102. holidays/countries/madagascar.py +1 -1
  103. holidays/countries/malawi.py +1 -1
  104. holidays/countries/malaysia.py +9 -3
  105. holidays/countries/maldives.py +1 -1
  106. holidays/countries/malta.py +1 -1
  107. holidays/countries/marshall_islands.py +1 -1
  108. holidays/countries/mauritania.py +1 -13
  109. holidays/countries/mexico.py +1 -1
  110. holidays/countries/moldova.py +5 -4
  111. holidays/countries/monaco.py +1 -1
  112. holidays/countries/montenegro.py +1 -1
  113. holidays/countries/morocco.py +1 -1
  114. holidays/countries/mozambique.py +1 -1
  115. holidays/countries/namibia.py +1 -1
  116. holidays/countries/netherlands.py +1 -1
  117. holidays/countries/new_zealand.py +1 -1
  118. holidays/countries/nicaragua.py +31 -4
  119. holidays/countries/nigeria.py +1 -1
  120. holidays/countries/north_macedonia.py +1 -1
  121. holidays/countries/northern_mariana_islands.py +1 -1
  122. holidays/countries/norway.py +1 -1
  123. holidays/countries/pakistan.py +1 -1
  124. holidays/countries/palau.py +1 -1
  125. holidays/countries/panama.py +1 -1
  126. holidays/countries/papua_new_guinea.py +1 -1
  127. holidays/countries/paraguay.py +1 -1
  128. holidays/countries/peru.py +1 -1
  129. holidays/countries/philippines.py +1 -1
  130. holidays/countries/poland.py +1 -1
  131. holidays/countries/portugal.py +1 -1
  132. holidays/countries/puerto_rico.py +1 -1
  133. holidays/countries/romania.py +1 -1
  134. holidays/countries/russia.py +2 -2
  135. holidays/countries/saint_kitts_and_nevis.py +183 -0
  136. holidays/countries/samoa.py +1 -1
  137. holidays/countries/san_marino.py +1 -1
  138. holidays/countries/saudi_arabia.py +2 -3
  139. holidays/countries/serbia.py +1 -1
  140. holidays/countries/seychelles.py +1 -1
  141. holidays/countries/singapore.py +54 -42
  142. holidays/countries/slovakia.py +2 -2
  143. holidays/countries/slovenia.py +1 -1
  144. holidays/countries/south_africa.py +1 -1
  145. holidays/countries/south_korea.py +6 -7
  146. holidays/countries/spain.py +1 -1
  147. holidays/countries/sweden.py +2 -2
  148. holidays/countries/switzerland.py +1 -1
  149. holidays/countries/taiwan.py +35 -14
  150. holidays/countries/tanzania.py +1 -1
  151. holidays/countries/thailand.py +2 -2
  152. holidays/countries/timor_leste.py +1 -1
  153. holidays/countries/tonga.py +1 -1
  154. holidays/countries/tunisia.py +1 -1
  155. holidays/countries/turkey.py +1 -1
  156. holidays/countries/ukraine.py +2 -4
  157. holidays/countries/united_arab_emirates.py +6 -3
  158. holidays/countries/united_kingdom.py +3 -3
  159. holidays/countries/united_states.py +39 -11
  160. holidays/countries/united_states_minor_outlying_islands.py +1 -1
  161. holidays/countries/united_states_virgin_islands.py +1 -1
  162. holidays/countries/uruguay.py +1 -1
  163. holidays/countries/uzbekistan.py +3 -2
  164. holidays/countries/vanuatu.py +1 -1
  165. holidays/countries/vatican_city.py +1 -1
  166. holidays/countries/venezuela.py +1 -1
  167. holidays/countries/vietnam.py +133 -28
  168. holidays/countries/zambia.py +1 -1
  169. holidays/countries/zimbabwe.py +1 -1
  170. holidays/deprecation.py +3 -3
  171. holidays/financial/__init__.py +1 -1
  172. holidays/financial/european_central_bank.py +1 -1
  173. holidays/financial/ice_futures_europe.py +1 -1
  174. holidays/financial/ny_stock_exchange.py +1 -1
  175. holidays/groups/__init__.py +2 -1
  176. holidays/groups/buddhist.py +7 -12
  177. holidays/groups/chinese.py +8 -26
  178. holidays/groups/christian.py +1 -1
  179. holidays/groups/custom.py +1 -1
  180. holidays/groups/eastern.py +51 -0
  181. holidays/groups/hindu.py +7 -12
  182. holidays/groups/international.py +9 -6
  183. holidays/groups/islamic.py +40 -47
  184. holidays/groups/persian.py +1 -1
  185. holidays/groups/thai.py +1 -1
  186. holidays/helpers.py +1 -1
  187. holidays/holiday_base.py +51 -42
  188. holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
  189. holidays/locale/am/LC_MESSAGES/ET.po +3 -3
  190. holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
  191. holidays/locale/ar/LC_MESSAGES/AE.po +3 -3
  192. holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
  193. holidays/locale/ar/LC_MESSAGES/BH.po +3 -3
  194. holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
  195. holidays/locale/ar/LC_MESSAGES/CA.po +3 -3
  196. holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
  197. holidays/locale/ar/LC_MESSAGES/DJ.po +3 -3
  198. holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
  199. holidays/locale/ar/LC_MESSAGES/DZ.po +3 -3
  200. holidays/locale/ar/LC_MESSAGES/EG.mo +0 -0
  201. holidays/locale/ar/LC_MESSAGES/EG.po +3 -3
  202. holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
  203. holidays/locale/ar/LC_MESSAGES/ET.po +3 -3
  204. holidays/locale/ar/LC_MESSAGES/JO.mo +0 -0
  205. holidays/locale/ar/LC_MESSAGES/JO.po +3 -3
  206. holidays/locale/ar/LC_MESSAGES/KW.mo +0 -0
  207. holidays/locale/ar/LC_MESSAGES/KW.po +3 -3
  208. holidays/locale/ar/LC_MESSAGES/MA.mo +0 -0
  209. holidays/locale/ar/LC_MESSAGES/MA.po +3 -3
  210. holidays/locale/ar/LC_MESSAGES/SA.mo +0 -0
  211. holidays/locale/ar/LC_MESSAGES/SA.po +3 -3
  212. holidays/locale/ar/LC_MESSAGES/TN.mo +0 -0
  213. holidays/locale/ar/LC_MESSAGES/TN.po +3 -3
  214. holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
  215. holidays/locale/ar/LC_MESSAGES/UA.po +3 -3
  216. holidays/locale/az/LC_MESSAGES/AZ.mo +0 -0
  217. holidays/locale/az/LC_MESSAGES/AZ.po +3 -3
  218. holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
  219. holidays/locale/be/LC_MESSAGES/BY.po +3 -3
  220. holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
  221. holidays/locale/bg/LC_MESSAGES/BG.po +3 -3
  222. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  223. holidays/locale/bs/LC_MESSAGES/BA.po +3 -3
  224. holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
  225. holidays/locale/cs/LC_MESSAGES/CZ.po +3 -3
  226. holidays/locale/da/LC_MESSAGES/DK.mo +0 -0
  227. holidays/locale/da/LC_MESSAGES/DK.po +3 -3
  228. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  229. holidays/locale/da/LC_MESSAGES/GL.po +3 -3
  230. holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
  231. holidays/locale/de/LC_MESSAGES/AT.po +3 -3
  232. holidays/locale/de/LC_MESSAGES/BE.mo +0 -0
  233. holidays/locale/de/LC_MESSAGES/BE.po +3 -3
  234. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  235. holidays/locale/de/LC_MESSAGES/CH.po +3 -3
  236. holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
  237. holidays/locale/de/LC_MESSAGES/DE.po +13 -6
  238. holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
  239. holidays/locale/de/LC_MESSAGES/LI.po +3 -3
  240. holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
  241. holidays/locale/de/LC_MESSAGES/LU.po +3 -3
  242. holidays/locale/el/LC_MESSAGES/CY.mo +0 -0
  243. holidays/locale/el/LC_MESSAGES/CY.po +3 -3
  244. holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
  245. holidays/locale/el/LC_MESSAGES/GR.po +3 -3
  246. holidays/locale/en_AU/LC_MESSAGES/AU.mo +0 -0
  247. holidays/locale/en_AU/LC_MESSAGES/AU.po +3 -3
  248. holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
  249. holidays/locale/en_CA/LC_MESSAGES/CA.po +3 -3
  250. holidays/locale/en_CY/LC_MESSAGES/CY.mo +0 -0
  251. holidays/locale/en_CY/LC_MESSAGES/CY.po +3 -3
  252. holidays/locale/en_SC/LC_MESSAGES/SC.mo +0 -0
  253. holidays/locale/en_SC/LC_MESSAGES/SC.po +3 -3
  254. holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
  255. holidays/locale/en_SG/LC_MESSAGES/SG.po +98 -0
  256. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  257. holidays/locale/en_US/LC_MESSAGES/AE.po +3 -3
  258. holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
  259. holidays/locale/en_US/LC_MESSAGES/AM.po +3 -3
  260. holidays/locale/en_US/LC_MESSAGES/AO.mo +0 -0
  261. holidays/locale/en_US/LC_MESSAGES/AO.po +3 -3
  262. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  263. holidays/locale/en_US/LC_MESSAGES/AR.po +3 -3
  264. holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
  265. holidays/locale/en_US/LC_MESSAGES/AT.po +3 -3
  266. holidays/locale/en_US/LC_MESSAGES/AU.mo +0 -0
  267. holidays/locale/en_US/LC_MESSAGES/AU.po +3 -3
  268. holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
  269. holidays/locale/en_US/LC_MESSAGES/AW.po +3 -3
  270. holidays/locale/en_US/LC_MESSAGES/AZ.mo +0 -0
  271. holidays/locale/en_US/LC_MESSAGES/AZ.po +3 -3
  272. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  273. holidays/locale/en_US/LC_MESSAGES/BA.po +3 -3
  274. holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
  275. holidays/locale/en_US/LC_MESSAGES/BE.po +3 -3
  276. holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
  277. holidays/locale/en_US/LC_MESSAGES/BG.po +3 -3
  278. holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
  279. holidays/locale/en_US/LC_MESSAGES/BH.po +3 -3
  280. holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
  281. holidays/locale/en_US/LC_MESSAGES/BN.po +3 -3
  282. holidays/locale/en_US/LC_MESSAGES/BO.mo +0 -0
  283. holidays/locale/en_US/LC_MESSAGES/BO.po +3 -3
  284. holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
  285. holidays/locale/en_US/LC_MESSAGES/BY.po +3 -3
  286. holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
  287. holidays/locale/en_US/LC_MESSAGES/CA.po +3 -3
  288. holidays/locale/en_US/LC_MESSAGES/CG.mo +0 -0
  289. holidays/locale/en_US/LC_MESSAGES/CG.po +67 -0
  290. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  291. holidays/locale/en_US/LC_MESSAGES/CH.po +3 -3
  292. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  293. holidays/locale/en_US/LC_MESSAGES/CL.po +3 -3
  294. holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
  295. holidays/locale/en_US/LC_MESSAGES/CN.po +5 -5
  296. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  297. holidays/locale/en_US/LC_MESSAGES/CO.po +3 -3
  298. holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
  299. holidays/locale/en_US/LC_MESSAGES/CR.po +3 -3
  300. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  301. holidays/locale/en_US/LC_MESSAGES/CU.po +3 -3
  302. holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
  303. holidays/locale/en_US/LC_MESSAGES/CW.po +10 -6
  304. holidays/locale/en_US/LC_MESSAGES/CY.mo +0 -0
  305. holidays/locale/en_US/LC_MESSAGES/CY.po +3 -3
  306. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  307. holidays/locale/en_US/LC_MESSAGES/CZ.po +3 -3
  308. holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
  309. holidays/locale/en_US/LC_MESSAGES/DE.po +15 -6
  310. holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
  311. holidays/locale/en_US/LC_MESSAGES/DJ.po +3 -3
  312. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  313. holidays/locale/en_US/LC_MESSAGES/DK.po +3 -3
  314. holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
  315. holidays/locale/en_US/LC_MESSAGES/DO.po +3 -3
  316. holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
  317. holidays/locale/en_US/LC_MESSAGES/DZ.po +3 -3
  318. holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
  319. holidays/locale/en_US/LC_MESSAGES/EC.po +3 -3
  320. holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
  321. holidays/locale/en_US/LC_MESSAGES/EE.po +3 -3
  322. holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
  323. holidays/locale/en_US/LC_MESSAGES/EG.po +3 -3
  324. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  325. holidays/locale/en_US/LC_MESSAGES/ES.po +3 -3
  326. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  327. holidays/locale/en_US/LC_MESSAGES/ET.po +3 -3
  328. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  329. holidays/locale/en_US/LC_MESSAGES/FI.po +3 -3
  330. holidays/locale/en_US/LC_MESSAGES/FR.mo +0 -0
  331. holidays/locale/en_US/LC_MESSAGES/FR.po +3 -3
  332. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  333. holidays/locale/en_US/LC_MESSAGES/GE.po +3 -3
  334. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  335. holidays/locale/en_US/LC_MESSAGES/GL.po +3 -3
  336. holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
  337. holidays/locale/en_US/LC_MESSAGES/GR.po +3 -3
  338. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  339. holidays/locale/en_US/LC_MESSAGES/GT.po +3 -3
  340. holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
  341. holidays/locale/en_US/LC_MESSAGES/HN.po +3 -3
  342. holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
  343. holidays/locale/en_US/LC_MESSAGES/HR.po +3 -3
  344. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  345. holidays/locale/en_US/LC_MESSAGES/HT.po +3 -3
  346. holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
  347. holidays/locale/en_US/LC_MESSAGES/HU.po +3 -3
  348. holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
  349. holidays/locale/en_US/LC_MESSAGES/ID.po +3 -3
  350. holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
  351. holidays/locale/en_US/LC_MESSAGES/IL.po +3 -3
  352. holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
  353. holidays/locale/en_US/LC_MESSAGES/IR.po +3 -3
  354. holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
  355. holidays/locale/en_US/LC_MESSAGES/IS.po +3 -3
  356. holidays/locale/en_US/LC_MESSAGES/JO.mo +0 -0
  357. holidays/locale/en_US/LC_MESSAGES/JO.po +3 -3
  358. holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
  359. holidays/locale/en_US/LC_MESSAGES/JP.po +3 -3
  360. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  361. holidays/locale/en_US/LC_MESSAGES/KH.po +3 -3
  362. holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
  363. holidays/locale/en_US/LC_MESSAGES/KR.po +3 -3
  364. holidays/locale/en_US/LC_MESSAGES/KW.mo +0 -0
  365. holidays/locale/en_US/LC_MESSAGES/KW.po +3 -3
  366. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  367. holidays/locale/en_US/LC_MESSAGES/KZ.po +103 -0
  368. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  369. holidays/locale/en_US/LC_MESSAGES/LA.po +3 -3
  370. holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
  371. holidays/locale/en_US/LC_MESSAGES/LI.po +3 -3
  372. holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
  373. holidays/locale/en_US/LC_MESSAGES/LT.po +3 -3
  374. holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
  375. holidays/locale/en_US/LC_MESSAGES/LU.po +3 -3
  376. holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
  377. holidays/locale/en_US/LC_MESSAGES/LV.po +3 -3
  378. holidays/locale/en_US/LC_MESSAGES/MA.mo +0 -0
  379. holidays/locale/en_US/LC_MESSAGES/MA.po +3 -3
  380. holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
  381. holidays/locale/en_US/LC_MESSAGES/MC.po +3 -3
  382. holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
  383. holidays/locale/en_US/LC_MESSAGES/MD.po +3 -3
  384. holidays/locale/en_US/LC_MESSAGES/MG.mo +0 -0
  385. holidays/locale/en_US/LC_MESSAGES/MG.po +3 -3
  386. holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
  387. holidays/locale/en_US/LC_MESSAGES/MT.po +3 -3
  388. holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
  389. holidays/locale/en_US/LC_MESSAGES/MX.po +3 -3
  390. holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
  391. holidays/locale/en_US/LC_MESSAGES/MY.po +3 -3
  392. holidays/locale/en_US/LC_MESSAGES/MZ.mo +0 -0
  393. holidays/locale/en_US/LC_MESSAGES/MZ.po +3 -3
  394. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  395. holidays/locale/en_US/LC_MESSAGES/NI.po +9 -5
  396. holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
  397. holidays/locale/en_US/LC_MESSAGES/NL.po +3 -3
  398. holidays/locale/en_US/LC_MESSAGES/NO.mo +0 -0
  399. holidays/locale/en_US/LC_MESSAGES/NO.po +3 -3
  400. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  401. holidays/locale/en_US/LC_MESSAGES/PE.po +3 -3
  402. holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
  403. holidays/locale/en_US/LC_MESSAGES/PL.po +3 -3
  404. holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
  405. holidays/locale/en_US/LC_MESSAGES/PT.po +3 -3
  406. holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
  407. holidays/locale/en_US/LC_MESSAGES/PY.po +3 -3
  408. holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
  409. holidays/locale/en_US/LC_MESSAGES/RO.po +3 -3
  410. holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
  411. holidays/locale/en_US/LC_MESSAGES/RS.po +3 -3
  412. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  413. holidays/locale/en_US/LC_MESSAGES/RU.po +3 -3
  414. holidays/locale/en_US/LC_MESSAGES/SA.mo +0 -0
  415. holidays/locale/en_US/LC_MESSAGES/SA.po +3 -3
  416. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  417. holidays/locale/en_US/LC_MESSAGES/SC.po +3 -3
  418. holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
  419. holidays/locale/en_US/LC_MESSAGES/SE.po +3 -3
  420. holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
  421. holidays/locale/en_US/LC_MESSAGES/SG.po +98 -0
  422. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  423. holidays/locale/en_US/LC_MESSAGES/SI.po +3 -3
  424. holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
  425. holidays/locale/en_US/LC_MESSAGES/SK.po +3 -3
  426. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  427. holidays/locale/en_US/LC_MESSAGES/TH.po +3 -3
  428. holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
  429. holidays/locale/en_US/LC_MESSAGES/TL.po +3 -3
  430. holidays/locale/en_US/LC_MESSAGES/TN.mo +0 -0
  431. holidays/locale/en_US/LC_MESSAGES/TN.po +3 -3
  432. holidays/locale/en_US/LC_MESSAGES/TO.mo +0 -0
  433. holidays/locale/en_US/LC_MESSAGES/TO.po +3 -3
  434. holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
  435. holidays/locale/en_US/LC_MESSAGES/TR.po +3 -3
  436. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  437. holidays/locale/en_US/LC_MESSAGES/TW.po +3 -3
  438. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  439. holidays/locale/en_US/LC_MESSAGES/TZ.po +3 -3
  440. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  441. holidays/locale/en_US/LC_MESSAGES/UA.po +3 -3
  442. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  443. holidays/locale/en_US/LC_MESSAGES/UY.po +3 -3
  444. holidays/locale/en_US/LC_MESSAGES/UZ.mo +0 -0
  445. holidays/locale/en_US/LC_MESSAGES/UZ.po +3 -3
  446. holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
  447. holidays/locale/en_US/LC_MESSAGES/VE.po +3 -3
  448. holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
  449. holidays/locale/en_US/LC_MESSAGES/VN.po +93 -0
  450. holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
  451. holidays/locale/es/LC_MESSAGES/AR.po +3 -3
  452. holidays/locale/es/LC_MESSAGES/BO.mo +0 -0
  453. holidays/locale/es/LC_MESSAGES/BO.po +3 -3
  454. holidays/locale/es/LC_MESSAGES/CL.mo +0 -0
  455. holidays/locale/es/LC_MESSAGES/CL.po +3 -3
  456. holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
  457. holidays/locale/es/LC_MESSAGES/CO.po +3 -3
  458. holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
  459. holidays/locale/es/LC_MESSAGES/CR.po +3 -3
  460. holidays/locale/es/LC_MESSAGES/CU.mo +0 -0
  461. holidays/locale/es/LC_MESSAGES/CU.po +3 -3
  462. holidays/locale/es/LC_MESSAGES/DO.mo +0 -0
  463. holidays/locale/es/LC_MESSAGES/DO.po +3 -3
  464. holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
  465. holidays/locale/es/LC_MESSAGES/EC.po +3 -3
  466. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  467. holidays/locale/es/LC_MESSAGES/ES.po +3 -3
  468. holidays/locale/es/LC_MESSAGES/GT.mo +0 -0
  469. holidays/locale/es/LC_MESSAGES/GT.po +3 -3
  470. holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
  471. holidays/locale/es/LC_MESSAGES/HN.po +3 -3
  472. holidays/locale/es/LC_MESSAGES/HT.mo +0 -0
  473. holidays/locale/es/LC_MESSAGES/HT.po +3 -3
  474. holidays/locale/es/LC_MESSAGES/MX.mo +0 -0
  475. holidays/locale/es/LC_MESSAGES/MX.po +3 -3
  476. holidays/locale/es/LC_MESSAGES/NI.mo +0 -0
  477. holidays/locale/es/LC_MESSAGES/NI.po +9 -5
  478. holidays/locale/es/LC_MESSAGES/PE.mo +0 -0
  479. holidays/locale/es/LC_MESSAGES/PE.po +3 -3
  480. holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
  481. holidays/locale/es/LC_MESSAGES/PY.po +3 -3
  482. holidays/locale/es/LC_MESSAGES/UY.mo +0 -0
  483. holidays/locale/es/LC_MESSAGES/UY.po +3 -3
  484. holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
  485. holidays/locale/es/LC_MESSAGES/VE.po +3 -3
  486. holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
  487. holidays/locale/et/LC_MESSAGES/EE.po +3 -3
  488. holidays/locale/fa/LC_MESSAGES/IR.mo +0 -0
  489. holidays/locale/fa/LC_MESSAGES/IR.po +3 -3
  490. holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
  491. holidays/locale/fi/LC_MESSAGES/FI.po +3 -3
  492. holidays/locale/fr/LC_MESSAGES/BE.mo +0 -0
  493. holidays/locale/fr/LC_MESSAGES/BE.po +3 -3
  494. holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
  495. holidays/locale/fr/LC_MESSAGES/CA.po +3 -3
  496. holidays/locale/fr/LC_MESSAGES/CG.mo +0 -0
  497. holidays/locale/fr/LC_MESSAGES/CG.po +67 -0
  498. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  499. holidays/locale/fr/LC_MESSAGES/CH.po +3 -3
  500. holidays/locale/fr/LC_MESSAGES/DJ.mo +0 -0
  501. holidays/locale/fr/LC_MESSAGES/DJ.po +3 -3
  502. holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
  503. holidays/locale/fr/LC_MESSAGES/DZ.po +3 -3
  504. holidays/locale/fr/LC_MESSAGES/FR.mo +0 -0
  505. holidays/locale/fr/LC_MESSAGES/FR.po +3 -3
  506. holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
  507. holidays/locale/fr/LC_MESSAGES/LU.po +3 -3
  508. holidays/locale/fr/LC_MESSAGES/MA.mo +0 -0
  509. holidays/locale/fr/LC_MESSAGES/MA.po +3 -3
  510. holidays/locale/fr/LC_MESSAGES/MC.mo +0 -0
  511. holidays/locale/fr/LC_MESSAGES/MC.po +3 -3
  512. holidays/locale/fr_HT/LC_MESSAGES/HT.mo +0 -0
  513. holidays/locale/fr_HT/LC_MESSAGES/HT.po +3 -3
  514. holidays/locale/he/LC_MESSAGES/IL.mo +0 -0
  515. holidays/locale/he/LC_MESSAGES/IL.po +3 -3
  516. holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
  517. holidays/locale/hr/LC_MESSAGES/HR.po +3 -3
  518. holidays/locale/ht/LC_MESSAGES/HT.mo +0 -0
  519. holidays/locale/ht/LC_MESSAGES/HT.po +3 -3
  520. holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
  521. holidays/locale/hu/LC_MESSAGES/HU.po +3 -3
  522. holidays/locale/hy/LC_MESSAGES/AM.mo +0 -0
  523. holidays/locale/hy/LC_MESSAGES/AM.po +3 -3
  524. holidays/locale/id/LC_MESSAGES/ID.mo +0 -0
  525. holidays/locale/id/LC_MESSAGES/ID.po +3 -3
  526. holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
  527. holidays/locale/is/LC_MESSAGES/IS.po +3 -3
  528. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  529. holidays/locale/it/LC_MESSAGES/CH.po +3 -3
  530. holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
  531. holidays/locale/ja/LC_MESSAGES/JP.po +3 -3
  532. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  533. holidays/locale/ka/LC_MESSAGES/GE.po +3 -3
  534. holidays/locale/kk/LC_MESSAGES/KZ.mo +0 -0
  535. holidays/locale/kk/LC_MESSAGES/KZ.po +103 -0
  536. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  537. holidays/locale/kl/LC_MESSAGES/GL.po +3 -3
  538. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  539. holidays/locale/km/LC_MESSAGES/KH.po +3 -3
  540. holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
  541. holidays/locale/ko/LC_MESSAGES/KR.po +3 -3
  542. holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
  543. holidays/locale/lb/LC_MESSAGES/LU.po +3 -3
  544. holidays/locale/lo/LC_MESSAGES/LA.mo +0 -0
  545. holidays/locale/lo/LC_MESSAGES/LA.po +3 -3
  546. holidays/locale/lt/LC_MESSAGES/LT.mo +0 -0
  547. holidays/locale/lt/LC_MESSAGES/LT.po +3 -3
  548. holidays/locale/lv/LC_MESSAGES/LV.mo +0 -0
  549. holidays/locale/lv/LC_MESSAGES/LV.po +3 -3
  550. holidays/locale/mg/LC_MESSAGES/MG.mo +0 -0
  551. holidays/locale/mg/LC_MESSAGES/MG.po +3 -3
  552. holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
  553. holidays/locale/ms/LC_MESSAGES/BN.po +3 -3
  554. holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
  555. holidays/locale/ms_MY/LC_MESSAGES/MY.po +3 -3
  556. holidays/locale/mt/LC_MESSAGES/MT.mo +0 -0
  557. holidays/locale/mt/LC_MESSAGES/MT.po +3 -3
  558. holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
  559. holidays/locale/nl/LC_MESSAGES/AW.po +3 -3
  560. holidays/locale/nl/LC_MESSAGES/BE.mo +0 -0
  561. holidays/locale/nl/LC_MESSAGES/BE.po +3 -3
  562. holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
  563. holidays/locale/nl/LC_MESSAGES/CW.po +10 -6
  564. holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
  565. holidays/locale/nl/LC_MESSAGES/NL.po +3 -3
  566. holidays/locale/no/LC_MESSAGES/NO.mo +0 -0
  567. holidays/locale/no/LC_MESSAGES/NO.po +3 -3
  568. holidays/locale/pap_AW/LC_MESSAGES/AW.mo +0 -0
  569. holidays/locale/pap_AW/LC_MESSAGES/AW.po +3 -3
  570. holidays/locale/pap_CW/LC_MESSAGES/CW.mo +0 -0
  571. holidays/locale/pap_CW/LC_MESSAGES/CW.po +10 -6
  572. holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
  573. holidays/locale/pl/LC_MESSAGES/PL.po +3 -3
  574. holidays/locale/pt_AO/LC_MESSAGES/AO.mo +0 -0
  575. holidays/locale/pt_AO/LC_MESSAGES/AO.po +3 -3
  576. holidays/locale/pt_MZ/LC_MESSAGES/MZ.mo +0 -0
  577. holidays/locale/pt_MZ/LC_MESSAGES/MZ.po +3 -3
  578. holidays/locale/pt_PT/LC_MESSAGES/PT.mo +0 -0
  579. holidays/locale/pt_PT/LC_MESSAGES/PT.po +3 -3
  580. holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
  581. holidays/locale/pt_TL/LC_MESSAGES/TL.po +3 -3
  582. holidays/locale/ro/LC_MESSAGES/MD.mo +0 -0
  583. holidays/locale/ro/LC_MESSAGES/MD.po +3 -3
  584. holidays/locale/ro/LC_MESSAGES/RO.mo +0 -0
  585. holidays/locale/ro/LC_MESSAGES/RO.po +3 -3
  586. holidays/locale/ru/LC_MESSAGES/RU.mo +0 -0
  587. holidays/locale/ru/LC_MESSAGES/RU.po +3 -3
  588. holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
  589. holidays/locale/sk/LC_MESSAGES/CZ.po +4 -4
  590. holidays/locale/sk/LC_MESSAGES/SK.mo +0 -0
  591. holidays/locale/sk/LC_MESSAGES/SK.po +3 -3
  592. holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
  593. holidays/locale/sl/LC_MESSAGES/SI.po +3 -3
  594. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  595. holidays/locale/sr/LC_MESSAGES/BA.po +3 -3
  596. holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
  597. holidays/locale/sr/LC_MESSAGES/RS.po +3 -3
  598. holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
  599. holidays/locale/sv/LC_MESSAGES/SE.po +3 -3
  600. holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
  601. holidays/locale/sv_FI/LC_MESSAGES/FI.po +3 -3
  602. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  603. holidays/locale/sw/LC_MESSAGES/TZ.po +3 -3
  604. holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
  605. holidays/locale/tet/LC_MESSAGES/TL.po +3 -3
  606. holidays/locale/th/LC_MESSAGES/AU.mo +0 -0
  607. holidays/locale/th/LC_MESSAGES/AU.po +3 -3
  608. holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
  609. holidays/locale/th/LC_MESSAGES/BN.po +3 -3
  610. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  611. holidays/locale/th/LC_MESSAGES/CA.po +3 -3
  612. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  613. holidays/locale/th/LC_MESSAGES/CN.po +4 -4
  614. holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
  615. holidays/locale/th/LC_MESSAGES/DE.po +13 -4
  616. holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
  617. holidays/locale/th/LC_MESSAGES/JP.po +3 -3
  618. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  619. holidays/locale/th/LC_MESSAGES/KH.po +3 -3
  620. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  621. holidays/locale/th/LC_MESSAGES/KR.po +3 -3
  622. holidays/locale/th/LC_MESSAGES/LA.mo +0 -0
  623. holidays/locale/th/LC_MESSAGES/LA.po +3 -3
  624. holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
  625. holidays/locale/th/LC_MESSAGES/MY.po +250 -0
  626. holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
  627. holidays/locale/th/LC_MESSAGES/SE.po +104 -0
  628. holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
  629. holidays/locale/th/LC_MESSAGES/SG.po +98 -0
  630. holidays/locale/th/LC_MESSAGES/TH.mo +0 -0
  631. holidays/locale/th/LC_MESSAGES/TH.po +3 -3
  632. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  633. holidays/locale/th/LC_MESSAGES/TW.po +3 -3
  634. holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
  635. holidays/locale/th/LC_MESSAGES/VN.po +93 -0
  636. holidays/locale/to/LC_MESSAGES/TO.mo +0 -0
  637. holidays/locale/to/LC_MESSAGES/TO.po +3 -3
  638. holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
  639. holidays/locale/tr/LC_MESSAGES/TR.po +3 -3
  640. holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
  641. holidays/locale/uk/LC_MESSAGES/AO.po +3 -3
  642. holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
  643. holidays/locale/uk/LC_MESSAGES/AR.po +3 -3
  644. holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
  645. holidays/locale/uk/LC_MESSAGES/AT.po +3 -3
  646. holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
  647. holidays/locale/uk/LC_MESSAGES/AW.po +3 -3
  648. holidays/locale/uk/LC_MESSAGES/AZ.mo +0 -0
  649. holidays/locale/uk/LC_MESSAGES/AZ.po +3 -3
  650. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  651. holidays/locale/uk/LC_MESSAGES/BA.po +3 -3
  652. holidays/locale/uk/LC_MESSAGES/BE.mo +0 -0
  653. holidays/locale/uk/LC_MESSAGES/BE.po +3 -3
  654. holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
  655. holidays/locale/uk/LC_MESSAGES/BG.po +3 -3
  656. holidays/locale/uk/LC_MESSAGES/BO.mo +0 -0
  657. holidays/locale/uk/LC_MESSAGES/BO.po +3 -3
  658. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  659. holidays/locale/uk/LC_MESSAGES/CH.po +3 -3
  660. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  661. holidays/locale/uk/LC_MESSAGES/CL.po +3 -3
  662. holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
  663. holidays/locale/uk/LC_MESSAGES/CO.po +3 -3
  664. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  665. holidays/locale/uk/LC_MESSAGES/CR.po +3 -3
  666. holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
  667. holidays/locale/uk/LC_MESSAGES/CU.po +3 -3
  668. holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
  669. holidays/locale/uk/LC_MESSAGES/CW.po +9 -5
  670. holidays/locale/uk/LC_MESSAGES/CY.mo +0 -0
  671. holidays/locale/uk/LC_MESSAGES/CY.po +3 -3
  672. holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
  673. holidays/locale/uk/LC_MESSAGES/CZ.po +3 -3
  674. holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
  675. holidays/locale/uk/LC_MESSAGES/DE.po +15 -6
  676. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  677. holidays/locale/uk/LC_MESSAGES/DK.po +3 -3
  678. holidays/locale/uk/LC_MESSAGES/DO.mo +0 -0
  679. holidays/locale/uk/LC_MESSAGES/DO.po +3 -3
  680. holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
  681. holidays/locale/uk/LC_MESSAGES/EC.po +3 -3
  682. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  683. holidays/locale/uk/LC_MESSAGES/EE.po +3 -3
  684. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  685. holidays/locale/uk/LC_MESSAGES/ES.po +3 -3
  686. holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
  687. holidays/locale/uk/LC_MESSAGES/FI.po +3 -3
  688. holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
  689. holidays/locale/uk/LC_MESSAGES/FR.po +3 -3
  690. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  691. holidays/locale/uk/LC_MESSAGES/GE.po +3 -3
  692. holidays/locale/uk/LC_MESSAGES/GR.mo +0 -0
  693. holidays/locale/uk/LC_MESSAGES/GR.po +3 -3
  694. holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
  695. holidays/locale/uk/LC_MESSAGES/HN.po +3 -3
  696. holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
  697. holidays/locale/uk/LC_MESSAGES/HR.po +3 -3
  698. holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
  699. holidays/locale/uk/LC_MESSAGES/HU.po +3 -3
  700. holidays/locale/uk/LC_MESSAGES/ID.mo +0 -0
  701. holidays/locale/uk/LC_MESSAGES/ID.po +3 -3
  702. holidays/locale/uk/LC_MESSAGES/IL.mo +0 -0
  703. holidays/locale/uk/LC_MESSAGES/IL.po +3 -3
  704. holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
  705. holidays/locale/uk/LC_MESSAGES/IS.po +3 -3
  706. holidays/locale/uk/LC_MESSAGES/KZ.mo +0 -0
  707. holidays/locale/uk/LC_MESSAGES/KZ.po +103 -0
  708. holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
  709. holidays/locale/uk/LC_MESSAGES/LI.po +3 -3
  710. holidays/locale/uk/LC_MESSAGES/LT.mo +0 -0
  711. holidays/locale/uk/LC_MESSAGES/LT.po +3 -3
  712. holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
  713. holidays/locale/uk/LC_MESSAGES/LU.po +3 -3
  714. holidays/locale/uk/LC_MESSAGES/LV.mo +0 -0
  715. holidays/locale/uk/LC_MESSAGES/LV.po +3 -3
  716. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  717. holidays/locale/uk/LC_MESSAGES/MC.po +3 -3
  718. holidays/locale/uk/LC_MESSAGES/MD.mo +0 -0
  719. holidays/locale/uk/LC_MESSAGES/MD.po +3 -3
  720. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  721. holidays/locale/uk/LC_MESSAGES/MG.po +3 -3
  722. holidays/locale/uk/LC_MESSAGES/MX.mo +0 -0
  723. holidays/locale/uk/LC_MESSAGES/MX.po +3 -3
  724. holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
  725. holidays/locale/uk/LC_MESSAGES/MZ.po +3 -3
  726. holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
  727. holidays/locale/uk/LC_MESSAGES/NI.po +9 -5
  728. holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
  729. holidays/locale/uk/LC_MESSAGES/NL.po +3 -3
  730. holidays/locale/uk/LC_MESSAGES/NO.mo +0 -0
  731. holidays/locale/uk/LC_MESSAGES/NO.po +3 -3
  732. holidays/locale/uk/LC_MESSAGES/PE.mo +0 -0
  733. holidays/locale/uk/LC_MESSAGES/PE.po +3 -3
  734. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  735. holidays/locale/uk/LC_MESSAGES/PL.po +3 -3
  736. holidays/locale/uk/LC_MESSAGES/PT.mo +0 -0
  737. holidays/locale/uk/LC_MESSAGES/PT.po +3 -3
  738. holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
  739. holidays/locale/uk/LC_MESSAGES/PY.po +3 -3
  740. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  741. holidays/locale/uk/LC_MESSAGES/RO.po +3 -3
  742. holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
  743. holidays/locale/uk/LC_MESSAGES/SE.po +3 -3
  744. holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
  745. holidays/locale/uk/LC_MESSAGES/SI.po +3 -3
  746. holidays/locale/uk/LC_MESSAGES/SK.mo +0 -0
  747. holidays/locale/uk/LC_MESSAGES/SK.po +3 -3
  748. holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
  749. holidays/locale/uk/LC_MESSAGES/TR.po +3 -3
  750. holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
  751. holidays/locale/uk/LC_MESSAGES/UA.po +3 -3
  752. holidays/locale/uk/LC_MESSAGES/UY.mo +0 -0
  753. holidays/locale/uk/LC_MESSAGES/UY.po +3 -3
  754. holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
  755. holidays/locale/uk/LC_MESSAGES/UZ.po +3 -3
  756. holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
  757. holidays/locale/uk/LC_MESSAGES/VE.po +3 -3
  758. holidays/locale/uz/LC_MESSAGES/UZ.mo +0 -0
  759. holidays/locale/uz/LC_MESSAGES/UZ.po +3 -3
  760. holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
  761. holidays/locale/vi/LC_MESSAGES/VN.po +93 -0
  762. holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
  763. holidays/locale/zh_CN/LC_MESSAGES/CN.po +4 -4
  764. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  765. holidays/locale/zh_CN/LC_MESSAGES/TW.po +3 -3
  766. holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
  767. holidays/locale/zh_TW/LC_MESSAGES/CN.po +4 -4
  768. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  769. holidays/locale/zh_TW/LC_MESSAGES/TW.po +3 -3
  770. holidays/mixins.py +2 -5
  771. holidays/observed_holiday_base.py +6 -6
  772. holidays/registry.py +8 -5
  773. holidays/utils.py +13 -12
  774. {holidays-0.57.dist-info → holidays-0.59.dist-info}/AUTHORS +3 -2
  775. {holidays-0.57.dist-info → holidays-0.59.dist-info}/METADATA +66 -72
  776. holidays-0.59.dist-info/RECORD +780 -0
  777. {holidays-0.57.dist-info → holidays-0.59.dist-info}/WHEEL +1 -1
  778. holidays-0.57.dist-info/RECORD +0 -751
  779. {holidays-0.57.dist-info → holidays-0.59.dist-info}/LICENSE +0 -0
  780. {holidays-0.57.dist-info → holidays-0.59.dist-info}/top_level.txt +0 -0
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from datetime import date
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from gettext import gettext as tr
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from gettext import gettext as tr
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from datetime import date
@@ -103,9 +103,7 @@ class Ukraine(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Sta
103
103
  else tr("День перемоги")
104
104
  )
105
105
  dts_observed.add(
106
- self._add_holiday_may_8(name)
107
- if self._year >= 2024
108
- else self._add_world_war_two_victory_day(name)
106
+ self._add_world_war_two_victory_day(name, is_western=(self._year >= 2024))
109
107
  )
110
108
 
111
109
  if self._year >= 1997:
@@ -7,13 +7,13 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from gettext import gettext as tr
14
14
 
15
15
  from holidays.calendars import _CustomIslamicHolidays
16
- from holidays.calendars.gregorian import APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, FRI, SAT
16
+ from holidays.calendars.gregorian import APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, FRI, SAT, SUN
17
17
  from holidays.groups import InternationalHolidays, IslamicHolidays
18
18
  from holidays.holiday_base import HolidayBase
19
19
 
@@ -35,7 +35,6 @@ class UnitedArabEmirates(HolidayBase, InternationalHolidays, IslamicHolidays):
35
35
  # %s (estimated).
36
36
  estimated_label = tr("(تقدير) %s")
37
37
  supported_languages = ("ar", "en_US")
38
- weekend = {FRI, SAT}
39
38
 
40
39
  def __init__(self, *args, **kwargs):
41
40
  InternationalHolidays.__init__(self)
@@ -43,6 +42,10 @@ class UnitedArabEmirates(HolidayBase, InternationalHolidays, IslamicHolidays):
43
42
  super().__init__(*args, **kwargs)
44
43
 
45
44
  def _populate_public_holidays(self):
45
+ # The resting days are Saturday and Sunday since Jan 1, 2022.
46
+ # https://time.com/6126260/uae-working-days-weekend/
47
+ self.weekend = {FRI, SAT} if self._year <= 2021 else {SAT, SUN}
48
+
46
49
  # New Year's Day.
47
50
  self._add_new_years_day(tr("رأس السنة الميلادية"))
48
51
 
@@ -7,10 +7,10 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
- from typing import Tuple, Union
13
+ from typing import Union
14
14
 
15
15
  from holidays.calendars.gregorian import APR, MAY, JUN, JUL, SEP, DEC
16
16
  from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
@@ -38,7 +38,7 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
38
38
 
39
39
  country = "GB"
40
40
  observed_label = "%s (observed)"
41
- subdivisions: Union[Tuple[()], Tuple[str, ...]] = (
41
+ subdivisions: Union[tuple[()], tuple[str, ...]] = (
42
42
  "ENG", # England
43
43
  "NIR", # Northern Ireland
44
44
  "SCT", # Scotland
@@ -7,16 +7,17 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
- from typing import Tuple, Union
13
+ from typing import Union
14
14
 
15
- from holidays.calendars.gregorian import DEC
15
+ from holidays.calendars.gregorian import MON, TUE, WED, THU, FRI, SAT, SUN
16
16
  from holidays.constants import PUBLIC, UNOFFICIAL
17
17
  from holidays.groups import ChristianHolidays, InternationalHolidays
18
18
  from holidays.observed_holiday_base import (
19
19
  ObservedHolidayBase,
20
+ ObservedRule,
20
21
  MON_TO_NEXT_TUE,
21
22
  FRI_TO_PREV_THU,
22
23
  SAT_TO_PREV_FRI,
@@ -25,6 +26,10 @@ from holidays.observed_holiday_base import (
25
26
  SAT_SUN_TO_NEXT_MON,
26
27
  )
27
28
 
29
+ GA_IN_WASHINGTON_BIRTHDAY = ObservedRule(
30
+ {MON: +1, TUE: -1, WED: -1, THU: +1, FRI: -1, SAT: -2, SUN: -2}
31
+ )
32
+
28
33
 
29
34
  class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
30
35
  """
@@ -43,12 +48,21 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
43
48
 
44
49
  Frances Xavier Cabrini Day:
45
50
  - https://leg.colorado.gov/sites/default/files/2020a_1031_signed.pdf
51
+
52
+ Washington's Birthday (GA):
53
+ - https://www.gasupreme.us/court-information/holidays-2/
54
+
55
+ Washington's Birthday (IN):
56
+ - https://www.in.gov/spd/benefits/state-holidays/
57
+
58
+ American Samoa holidays:
59
+ - https://asbar.org/code-annotated/1-0501-public-holidays/
46
60
  """
47
61
 
48
62
  country = "US"
49
63
  supported_categories = (PUBLIC, UNOFFICIAL)
50
64
  observed_label = "%s (observed)"
51
- subdivisions: Union[Tuple[()], Tuple[str, ...]] = (
65
+ subdivisions: Union[tuple[()], tuple[str, ...]] = (
52
66
  "AK", # Alaska.
53
67
  "AL", # Alabama.
54
68
  "AR", # Arkansas.
@@ -187,6 +201,7 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
187
201
  "DE",
188
202
  "FL",
189
203
  "GA",
204
+ "IN",
190
205
  "NM",
191
206
  "PR",
192
207
  "VI",
@@ -294,8 +309,16 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
294
309
  self._add_holiday_feb_22(name)
295
310
 
296
311
  def _populate_subdiv_as_public_holidays(self):
297
- # Christmas Eve
298
- self._add_christmas_eve_holiday()
312
+ # American Samoa Flag Day
313
+ if self._year >= 1901:
314
+ self._add_observed(self._add_holiday_apr_17("American Samoa Flag Day"))
315
+
316
+ # Manu'a Islands Cession Day
317
+ if self._year >= 1983:
318
+ self._add_observed(self._add_holiday_jul_16("Manu'a Islands Cession Day"))
319
+
320
+ # White Sunday
321
+ self._add_holiday_2nd_sun_of_oct("White Sunday")
299
322
 
300
323
  def _populate_subdiv_az_public_holidays(self):
301
324
  # Martin Luther King Jr. Day
@@ -404,11 +427,10 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
404
427
  )
405
428
 
406
429
  # Washington's Birthday
407
- name = "Washington's Birthday"
408
- if self._is_wednesday(DEC, 24):
409
- self._add_holiday_dec_26(name)
410
- else:
411
- self._add_holiday_dec_24(name)
430
+ self._add_holiday(
431
+ "Washington's Birthday",
432
+ self._get_observed_date(self._christmas_day, rule=GA_IN_WASHINGTON_BIRTHDAY),
433
+ )
412
434
 
413
435
  def _populate_subdiv_gu_public_holidays(self):
414
436
  # Guam Discovery Day
@@ -490,6 +512,12 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
490
512
  if self._year >= 2010:
491
513
  self._add_holiday_1_day_past_4th_thu_of_nov("Lincoln's Birthday")
492
514
 
515
+ # Washington's Birthday
516
+ self._add_holiday(
517
+ "Washington's Birthday",
518
+ self._get_observed_date(self._christmas_day, rule=GA_IN_WASHINGTON_BIRTHDAY),
519
+ )
520
+
493
521
  def _populate_subdiv_ks_public_holidays(self):
494
522
  # Christmas Eve
495
523
  if self._year >= 2013:
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from holidays.constants import PUBLIC, UNOFFICIAL
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from holidays.constants import PUBLIC, UNOFFICIAL
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from datetime import date
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from datetime import date
@@ -68,7 +68,8 @@ class Uzbekistan(ObservedHolidayBase, InternationalHolidays, IslamicHolidays, St
68
68
  tr("Xotira va qadrlash kuni")
69
69
  if self._year >= 1999
70
70
  # Victory Day.
71
- else tr("G‘alaba kuni")
71
+ else tr("G‘alaba kuni"),
72
+ is_western=False,
72
73
  )
73
74
  )
74
75
 
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from holidays.calendars.gregorian import JUL, OCT
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from holidays.groups import ChristianHolidays
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from gettext import gettext as tr
@@ -7,58 +7,138 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
- from holidays.groups import ChineseCalendarHolidays, InternationalHolidays
14
- from holidays.observed_holiday_base import ObservedHolidayBase, SAT_SUN_TO_NEXT_WORKDAY
15
-
16
-
17
- class Vietnam(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays):
13
+ from datetime import date
14
+ from gettext import gettext as tr
15
+
16
+ from holidays.calendars.gregorian import (
17
+ JAN,
18
+ FEB,
19
+ APR,
20
+ MAY,
21
+ SEP,
22
+ DEC,
23
+ MON,
24
+ TUE,
25
+ WED,
26
+ THU,
27
+ FRI,
28
+ SAT,
29
+ SUN,
30
+ _timedelta,
31
+ )
32
+ from holidays.groups import ChineseCalendarHolidays, InternationalHolidays, StaticHolidays
33
+ from holidays.observed_holiday_base import (
34
+ ObservedHolidayBase,
35
+ ObservedRule,
36
+ SAT_TO_PREV_WORKDAY,
37
+ SUN_TO_NEXT_WORKDAY,
38
+ SAT_SUN_TO_NEXT_WORKDAY,
39
+ )
40
+
41
+ NATIONAL_DAY_RULE = ObservedRule({MON: +1, TUE: -1, WED: -1, THU: +1, FRI: -1, SAT: -1, SUN: +1})
42
+
43
+
44
+ class Vietnam(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays, StaticHolidays):
18
45
  """
19
- https://publicholidays.vn/
20
- http://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11013 Article.115
21
- https://www.timeanddate.com/holidays/vietnam/
46
+ References:
47
+ - `Labor Code 1994 (Art. 73) (en) <https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=2835>`_
48
+ - `Labor Code 2012 (Art. 115) (en) <https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11013>`_
49
+ - `Labor Code 2012 (Art. 115) (vi) <https://vbpl.vn/TW/Pages/vbpq-toanvan.aspx?ItemID=27615>`_
50
+ - `Labor Code 2019 (Art. 112) (en) <https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11135>`_
51
+ - `Labor Code 2019 (Art. 112) (vi) <https://vbpl.vn/TW/Pages/vbpq-van-ban-goc.aspx?ItemID=139264>`_
52
+
53
+ Substituted holidays:
54
+ - `2018-2019 <https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-6519-VPCP-KGVX-2018-national-holidays-for-public-sector-employees/387625/tieng-anh.aspx>`_
55
+ - `2024 <https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-2450-VPCP-KGVX-2024-swap-of-working-days-during-the-Reunification-Day/606458/tieng-anh.aspx>`_
22
56
  """
23
57
 
24
58
  country = "VN"
25
- observed_label = "%s (observed)"
59
+ # %s (observed).
60
+ observed_label = tr("%s (nghỉ bù)")
61
+ default_language = "vi"
62
+ supported_languages = ("en_US", "th", "vi")
26
63
 
27
64
  def __init__(self, *args, **kwargs):
28
65
  ChineseCalendarHolidays.__init__(self)
29
66
  InternationalHolidays.__init__(self)
67
+ StaticHolidays.__init__(self, VietnamStaticHolidays)
30
68
  kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY)
69
+ kwargs.setdefault("observed_since", 1995)
31
70
  super().__init__(*args, **kwargs)
32
71
 
72
+ def _add_lunar_new_year_observed(self, dt_lny: date) -> None:
73
+ if self._year <= 1994:
74
+ return None
75
+
76
+ day_names = {
77
+ # 29 of Lunar New Year.
78
+ -2: tr("29 Tết"),
79
+ # Fourth Day of Lunar New Year.
80
+ 3: tr("Mùng bốn Tết Nguyên Đán"),
81
+ # Fifth Day of Lunar New Year.
82
+ 4: tr("Mùng năm Tết Nguyên Đán"),
83
+ # Sixth Day of Lunar New Year.
84
+ 5: tr("Mùng sáu Tết Nguyên Đán"),
85
+ }
86
+ for delta in range(-1, 4 if self._year >= 2013 else 3):
87
+ dt = _timedelta(dt_lny, delta)
88
+ dt_observed = self._get_observed_date(
89
+ dt,
90
+ rule=(
91
+ SAT_TO_PREV_WORKDAY + SUN_TO_NEXT_WORKDAY
92
+ if self._year >= 2014
93
+ else SAT_SUN_TO_NEXT_WORKDAY
94
+ ),
95
+ )
96
+ if dt_observed != dt:
97
+ self._add_holiday(
98
+ day_names[(dt_observed - dt_lny).days], # type: ignore[operator]
99
+ dt_observed,
100
+ )
101
+
33
102
  def _populate_public_holidays(self):
34
103
  dts_observed = set()
35
104
 
36
- # New Year's Day
37
- dts_observed.add(self._add_new_years_day("International New Year's Day"))
105
+ # New Year's Day.
106
+ dts_observed.add(self._add_new_years_day(tr("Tết Dương lịch")))
107
+
108
+ # Lunar New Year's Eve.
109
+ self._add_chinese_new_years_eve(tr("Giao thừa Tết Nguyên Đán"))
110
+
111
+ # Lunar New Year.
112
+ lny = self._add_chinese_new_years_day(tr("Tết Nguyên Đán"))
38
113
 
39
- # Lunar New Year
40
- self._add_chinese_new_years_eve("Vietnamese New Year's Eve")
41
- self._add_chinese_new_years_day("Vietnamese New Year")
42
- self._add_chinese_new_years_day_two("The second day of Tet Holiday")
43
- self._add_chinese_new_years_day_three("The third day of Tet Holiday")
44
- self._add_chinese_new_years_day_four("The forth day of Tet Holiday")
45
- self._add_chinese_new_years_day_five("The fifth day of Tet Holiday")
114
+ # Second Day of Lunar New Year.
115
+ self._add_chinese_new_years_day_two(tr("Mùng hai Tết Nguyên Đán"))
116
+
117
+ # Third Day of Lunar New Year.
118
+ self._add_chinese_new_years_day_three(tr("Mùng ba Tết Nguyên Đán"))
119
+
120
+ if self._year >= 2013:
121
+ # Fourth Day of Lunar New Year.
122
+ self._add_chinese_new_years_day_four(tr("Mùng bốn Tết Nguyên Đán"))
46
123
 
47
- # Vietnamese Kings' Commemoration Day
48
- # https://en.wikipedia.org/wiki/H%C3%B9ng_Kings%27_Festival
49
124
  if self._year >= 2007:
50
- dts_observed.add(self._add_hung_kings_day("Hung Kings Commemoration Day"))
125
+ # Hung Kings' Commemoration Day.
126
+ dts_observed.add(self._add_hung_kings_day(tr("Ngày Giỗ Tổ Hùng Vương")))
51
127
 
52
- # Liberation Day/Reunification Day
53
- dts_observed.add(self._add_holiday_apr_30("Liberation Day/Reunification Day"))
128
+ # Liberation Day/Reunification Day.
129
+ dts_observed.add(self._add_holiday_apr_30(tr("Ngày Chiến thắng")))
54
130
 
55
- # International Labor Day
56
- dts_observed.add(self._add_labor_day("International Labor Day"))
131
+ # International Labor Day.
132
+ dts_observed.add(self._add_labor_day(tr("Ngày Quốc tế Lao động")))
57
133
 
58
- # Independence Day
59
- dts_observed.add(self._add_holiday_sep_2("Independence Day"))
134
+ # National Day.
135
+ name = tr("Quốc khánh")
136
+ dts_observed.add(sep_2 := self._add_holiday_sep_2(name))
137
+ if self._year >= 2021:
138
+ self._add_holiday(name, self._get_observed_date(sep_2, NATIONAL_DAY_RULE))
60
139
 
61
140
  if self.observed:
141
+ self._add_lunar_new_year_observed(lny)
62
142
  self._populate_observed(dts_observed)
63
143
 
64
144
 
@@ -68,3 +148,28 @@ class VN(Vietnam):
68
148
 
69
149
  class VNM(Vietnam):
70
150
  pass
151
+
152
+
153
+ class VietnamStaticHolidays:
154
+ # Date format (see strftime() Format Codes).
155
+ substituted_date_format = tr("%d/%m/%Y")
156
+ # Day off (substituted from %s).
157
+ substituted_label = tr("Ngày nghỉ (thay cho ngày %s)")
158
+
159
+ special_public_holidays = {
160
+ 2010: (FEB, 19, FEB, 27),
161
+ 2012: (JAN, 27, FEB, 4),
162
+ 2013: (APR, 29, MAY, 4),
163
+ 2014: (
164
+ (MAY, 2, APR, 26),
165
+ (SEP, 1, SEP, 6),
166
+ ),
167
+ 2015: (
168
+ (JAN, 2, DEC, 27, 2014),
169
+ (FEB, 16, FEB, 14),
170
+ (APR, 29, APR, 25),
171
+ ),
172
+ 2018: (DEC, 31, JAN, 5, 2019),
173
+ 2019: (APR, 29, MAY, 4),
174
+ 2024: (APR, 29, MAY, 4),
175
+ }
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from holidays.calendars.gregorian import MAR, JUL, AUG, SEP
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from holidays.groups import ChristianHolidays, InternationalHolidays
holidays/deprecation.py CHANGED
@@ -7,12 +7,12 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  FUTURE_INCOMPATIBILITY_WARNING_TEMPLATE = """
14
14
 
15
- This is a future version incompatibility warning from Python Holidays library v{version}
15
+ This is a future version incompatibility warning from Holidays library v{version}
16
16
  to inform you about an upcoming change in our API versioning strategy that may affect your
17
17
  project's dependencies. Starting from version 1.0 onwards, we will be following a loose form of
18
18
  Semantic Versioning (SemVer, https://semver.org) to provide clearer communication regarding any
@@ -25,7 +25,7 @@ holidays v0.x dependency (e.g., holidays=={version}) or limit it (e.g., holidays
25
25
  avoid potentially unwanted upgrade to the version 1.0 when it's released (ETA 2024Q4 - 2025Q1).
26
26
 
27
27
  If you have any questions or concerns regarding this change, please don't hesitate to reach out
28
- to us via https://github.com/vacanza/python-holidays/discussions/1800.
28
+ to us via https://github.com/vacanza/holidays/discussions/1800.
29
29
  """
30
30
 
31
31
 
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  # flake8: noqa: F401
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from holidays.calendars.gregorian import DEC
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from holidays.groups import ChristianHolidays, InternationalHolidays
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from datetime import date
@@ -7,7 +7,7 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  # flake8: noqa: F401
@@ -16,6 +16,7 @@ from holidays.groups.buddhist import BuddhistCalendarHolidays
16
16
  from holidays.groups.chinese import ChineseCalendarHolidays
17
17
  from holidays.groups.christian import ChristianHolidays
18
18
  from holidays.groups.custom import StaticHolidays
19
+ from holidays.groups.eastern import EasternCalendarHolidays
19
20
  from holidays.groups.hindu import HinduCalendarHolidays
20
21
  from holidays.groups.international import InternationalHolidays
21
22
  from holidays.groups.islamic import IslamicHolidays
@@ -7,16 +7,17 @@
7
7
  # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
- # Website: https://github.com/vacanza/python-holidays
10
+ # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from datetime import date
14
- from typing import Optional, Tuple
14
+ from typing import Optional
15
15
 
16
16
  from holidays.calendars import _BuddhistLunisolar
17
+ from holidays.groups.eastern import EasternCalendarHolidays
17
18
 
18
19
 
19
- class BuddhistCalendarHolidays:
20
+ class BuddhistCalendarHolidays(EasternCalendarHolidays):
20
21
  """
21
22
  Buddhist lunisolar calendar holidays.
22
23
  """
@@ -26,7 +27,7 @@ class BuddhistCalendarHolidays:
26
27
  self._buddhist_calendar_show_estimated = show_estimated
27
28
 
28
29
  def _add_buddhist_calendar_holiday(
29
- self, name: str, dt_estimated: Tuple[date, bool]
30
+ self, name: str, dt_estimated: tuple[Optional[date], bool]
30
31
  ) -> Optional[date]:
31
32
  """
32
33
  Add Buddhist calendar holiday.
@@ -34,14 +35,8 @@ class BuddhistCalendarHolidays:
34
35
  Adds customizable estimation label to holiday name if holiday date
35
36
  is an estimation.
36
37
  """
37
- estimated_label = getattr(self, "estimated_label", "%s (estimated)")
38
- dt, is_estimated = dt_estimated
39
-
40
- return self._add_holiday(
41
- self.tr(estimated_label) % self.tr(name)
42
- if is_estimated and self._buddhist_calendar_show_estimated
43
- else name,
44
- dt,
38
+ return self._add_eastern_calendar_holiday(
39
+ name, dt_estimated, self._buddhist_calendar_show_estimated
45
40
  )
46
41
 
47
42
  def _add_vesak(self, name) -> Optional[date]: