holidays 0.65__py3-none-any.whl → 0.67__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 (463) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/persian.py +6 -0
  3. holidays/calendars/sinhala.py +414 -0
  4. holidays/countries/__init__.py +3 -0
  5. holidays/countries/australia.py +6 -6
  6. holidays/countries/cambodia.py +1 -1
  7. holidays/countries/chile.py +1 -1
  8. holidays/countries/cuba.py +1 -1
  9. holidays/countries/czechia.py +39 -30
  10. holidays/countries/denmark.py +1 -1
  11. holidays/countries/finland.py +19 -19
  12. holidays/countries/germany.py +11 -22
  13. holidays/countries/greenland.py +22 -19
  14. holidays/countries/guatemala.py +1 -1
  15. holidays/countries/haiti.py +3 -3
  16. holidays/countries/hongkong.py +124 -174
  17. holidays/countries/iceland.py +16 -8
  18. holidays/countries/iran.py +522 -43
  19. holidays/countries/isle_of_man.py +15 -11
  20. holidays/countries/israel.py +1 -1
  21. holidays/countries/kazakhstan.py +1 -1
  22. holidays/countries/laos.py +2 -2
  23. holidays/countries/netherlands.py +1 -1
  24. holidays/countries/nicaragua.py +1 -1
  25. holidays/countries/panama.py +69 -31
  26. holidays/countries/peru.py +1 -1
  27. holidays/countries/saint_lucia.py +88 -0
  28. holidays/countries/seychelles.py +4 -4
  29. holidays/countries/singapore.py +1 -1
  30. holidays/countries/slovakia.py +14 -7
  31. holidays/countries/slovenia.py +63 -19
  32. holidays/countries/spain.py +9 -9
  33. holidays/countries/sri_lanka.py +515 -0
  34. holidays/countries/sweden.py +6 -9
  35. holidays/countries/switzerland.py +1 -1
  36. holidays/countries/thailand.py +1 -1
  37. holidays/countries/tuvalu.py +174 -0
  38. holidays/countries/ukraine.py +1 -1
  39. holidays/countries/united_arab_emirates.py +95 -11
  40. holidays/countries/united_kingdom.py +72 -56
  41. holidays/countries/united_states.py +141 -10
  42. holidays/countries/uruguay.py +1 -1
  43. holidays/countries/vatican_city.py +134 -53
  44. holidays/financial/brasil_bolsa_balcao.py +1 -1
  45. holidays/groups/__init__.py +1 -0
  46. holidays/groups/christian.py +10 -0
  47. holidays/groups/persian.py +12 -0
  48. holidays/groups/sinhala.py +192 -0
  49. holidays/holiday_base.py +62 -13
  50. holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
  51. holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
  52. holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
  53. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  54. holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
  55. holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
  56. holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
  57. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  58. holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
  59. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  60. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  61. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  62. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  63. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  64. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  65. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  66. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  67. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  68. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  69. holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
  70. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  71. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  72. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  73. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  74. holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
  75. holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
  76. holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
  77. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  78. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  79. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  80. holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
  81. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  82. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  83. holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
  84. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  85. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  86. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  87. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  88. holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
  89. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  90. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  91. holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
  92. holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
  93. holidays/locale/{fa → fa_IR}/LC_MESSAGES/IR.mo +0 -0
  94. holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
  95. holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
  96. holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
  97. holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
  98. holidays/locale/it/LC_MESSAGES/VA.mo +0 -0
  99. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  100. holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
  101. holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
  102. holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
  103. holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
  104. holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
  105. holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
  106. holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
  107. holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
  108. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  109. holidays/locale/th/LC_MESSAGES/IL.mo +0 -0
  110. holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
  111. holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
  112. holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
  113. holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
  114. holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
  115. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  116. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  117. holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
  118. holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
  119. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  120. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  121. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  122. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  123. holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
  124. holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
  125. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  126. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  127. holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
  128. holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
  129. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  130. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  131. holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
  132. holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
  133. holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
  134. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  135. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  136. holidays/registry.py +3 -0
  137. holidays/version.py +1 -1
  138. {holidays-0.65.dist-info → holidays-0.67.dist-info}/AUTHORS +1 -0
  139. {holidays-0.65.dist-info → holidays-0.67.dist-info}/METADATA +46 -25
  140. holidays-0.67.dist-info/RECORD +560 -0
  141. holidays/locale/am/LC_MESSAGES/ET.po +0 -92
  142. holidays/locale/ar/LC_MESSAGES/AE.po +0 -76
  143. holidays/locale/ar/LC_MESSAGES/BH.po +0 -76
  144. holidays/locale/ar/LC_MESSAGES/CA.po +0 -161
  145. holidays/locale/ar/LC_MESSAGES/DJ.po +0 -85
  146. holidays/locale/ar/LC_MESSAGES/DZ.po +0 -80
  147. holidays/locale/ar/LC_MESSAGES/EG.po +0 -104
  148. holidays/locale/ar/LC_MESSAGES/ET.po +0 -93
  149. holidays/locale/ar/LC_MESSAGES/JO.po +0 -79
  150. holidays/locale/ar/LC_MESSAGES/KW.po +0 -75
  151. holidays/locale/ar/LC_MESSAGES/MA.po +0 -88
  152. holidays/locale/ar/LC_MESSAGES/SA.po +0 -67
  153. holidays/locale/ar/LC_MESSAGES/TN.po +0 -92
  154. holidays/locale/ar/LC_MESSAGES/UA.po +0 -113
  155. holidays/locale/az/LC_MESSAGES/AZ.po +0 -136
  156. holidays/locale/be/LC_MESSAGES/BY.po +0 -109
  157. holidays/locale/bg/LC_MESSAGES/BG.po +0 -87
  158. holidays/locale/bs/LC_MESSAGES/BA.po +0 -113
  159. holidays/locale/cnr/LC_MESSAGES/ME.po +0 -102
  160. holidays/locale/cs/LC_MESSAGES/CZ.po +0 -88
  161. holidays/locale/da/LC_MESSAGES/DK.po +0 -87
  162. holidays/locale/da/LC_MESSAGES/GL.po +0 -91
  163. holidays/locale/de/LC_MESSAGES/AT.po +0 -115
  164. holidays/locale/de/LC_MESSAGES/BE.po +0 -88
  165. holidays/locale/de/LC_MESSAGES/CH.po +0 -123
  166. holidays/locale/de/LC_MESSAGES/DE.po +0 -121
  167. holidays/locale/de/LC_MESSAGES/LI.po +0 -115
  168. holidays/locale/de/LC_MESSAGES/LU.po +0 -72
  169. holidays/locale/el/LC_MESSAGES/CY.po +0 -99
  170. holidays/locale/el/LC_MESSAGES/GR.po +0 -89
  171. holidays/locale/en_AU/LC_MESSAGES/AU.po +0 -177
  172. holidays/locale/en_CA/LC_MESSAGES/CA.po +0 -161
  173. holidays/locale/en_CY/LC_MESSAGES/CY.po +0 -100
  174. holidays/locale/en_PH/LC_MESSAGES/PH.po +0 -128
  175. holidays/locale/en_SC/LC_MESSAGES/SC.po +0 -117
  176. holidays/locale/en_SG/LC_MESSAGES/SG.po +0 -98
  177. holidays/locale/en_US/LC_MESSAGES/AE.po +0 -77
  178. holidays/locale/en_US/LC_MESSAGES/AF.po +0 -92
  179. holidays/locale/en_US/LC_MESSAGES/AL.po +0 -106
  180. holidays/locale/en_US/LC_MESSAGES/AM.po +0 -88
  181. holidays/locale/en_US/LC_MESSAGES/AO.po +0 -117
  182. holidays/locale/en_US/LC_MESSAGES/AR.po +0 -139
  183. holidays/locale/en_US/LC_MESSAGES/AT.po +0 -116
  184. holidays/locale/en_US/LC_MESSAGES/AU.po +0 -177
  185. holidays/locale/en_US/LC_MESSAGES/AW.po +0 -84
  186. holidays/locale/en_US/LC_MESSAGES/AZ.po +0 -136
  187. holidays/locale/en_US/LC_MESSAGES/BA.po +0 -113
  188. holidays/locale/en_US/LC_MESSAGES/BE.po +0 -88
  189. holidays/locale/en_US/LC_MESSAGES/BG.po +0 -87
  190. holidays/locale/en_US/LC_MESSAGES/BH.po +0 -77
  191. holidays/locale/en_US/LC_MESSAGES/BN.po +0 -109
  192. holidays/locale/en_US/LC_MESSAGES/BO.po +0 -117
  193. holidays/locale/en_US/LC_MESSAGES/BR.po +0 -263
  194. holidays/locale/en_US/LC_MESSAGES/BVMF.po +0 -79
  195. holidays/locale/en_US/LC_MESSAGES/BY.po +0 -114
  196. holidays/locale/en_US/LC_MESSAGES/CA.po +0 -161
  197. holidays/locale/en_US/LC_MESSAGES/CG.po +0 -67
  198. holidays/locale/en_US/LC_MESSAGES/CH.po +0 -124
  199. holidays/locale/en_US/LC_MESSAGES/CL.po +0 -136
  200. holidays/locale/en_US/LC_MESSAGES/CN.po +0 -102
  201. holidays/locale/en_US/LC_MESSAGES/CO.po +0 -105
  202. holidays/locale/en_US/LC_MESSAGES/CR.po +0 -85
  203. holidays/locale/en_US/LC_MESSAGES/CU.po +0 -69
  204. holidays/locale/en_US/LC_MESSAGES/CW.po +0 -84
  205. holidays/locale/en_US/LC_MESSAGES/CY.po +0 -100
  206. holidays/locale/en_US/LC_MESSAGES/CZ.po +0 -88
  207. holidays/locale/en_US/LC_MESSAGES/DE.po +0 -126
  208. holidays/locale/en_US/LC_MESSAGES/DJ.po +0 -84
  209. holidays/locale/en_US/LC_MESSAGES/DK.po +0 -88
  210. holidays/locale/en_US/LC_MESSAGES/DO.po +0 -76
  211. holidays/locale/en_US/LC_MESSAGES/DZ.po +0 -81
  212. holidays/locale/en_US/LC_MESSAGES/EC.po +0 -73
  213. holidays/locale/en_US/LC_MESSAGES/EE.po +0 -76
  214. holidays/locale/en_US/LC_MESSAGES/EG.po +0 -105
  215. holidays/locale/en_US/LC_MESSAGES/ES.po +0 -225
  216. holidays/locale/en_US/LC_MESSAGES/ET.po +0 -93
  217. holidays/locale/en_US/LC_MESSAGES/FI.po +0 -164
  218. holidays/locale/en_US/LC_MESSAGES/FR.po +0 -116
  219. holidays/locale/en_US/LC_MESSAGES/GE.po +0 -96
  220. holidays/locale/en_US/LC_MESSAGES/GL.po +0 -92
  221. holidays/locale/en_US/LC_MESSAGES/GR.po +0 -89
  222. holidays/locale/en_US/LC_MESSAGES/GT.po +0 -72
  223. holidays/locale/en_US/LC_MESSAGES/HN.po +0 -76
  224. holidays/locale/en_US/LC_MESSAGES/HR.po +0 -94
  225. holidays/locale/en_US/LC_MESSAGES/HT.po +0 -127
  226. holidays/locale/en_US/LC_MESSAGES/HU.po +0 -101
  227. holidays/locale/en_US/LC_MESSAGES/ID.po +0 -195
  228. holidays/locale/en_US/LC_MESSAGES/IL.po +0 -105
  229. holidays/locale/en_US/LC_MESSAGES/IR.po +0 -125
  230. holidays/locale/en_US/LC_MESSAGES/IS.po +0 -92
  231. holidays/locale/en_US/LC_MESSAGES/JO.po +0 -80
  232. holidays/locale/en_US/LC_MESSAGES/JP.po +0 -128
  233. holidays/locale/en_US/LC_MESSAGES/KH.po +0 -132
  234. holidays/locale/en_US/LC_MESSAGES/KR.po +0 -219
  235. holidays/locale/en_US/LC_MESSAGES/KW.po +0 -76
  236. holidays/locale/en_US/LC_MESSAGES/KZ.po +0 -103
  237. holidays/locale/en_US/LC_MESSAGES/LA.po +0 -160
  238. holidays/locale/en_US/LC_MESSAGES/LI.po +0 -116
  239. holidays/locale/en_US/LC_MESSAGES/LT.po +0 -94
  240. holidays/locale/en_US/LC_MESSAGES/LU.po +0 -72
  241. holidays/locale/en_US/LC_MESSAGES/LV.po +0 -106
  242. holidays/locale/en_US/LC_MESSAGES/MA.po +0 -89
  243. holidays/locale/en_US/LC_MESSAGES/MC.po +0 -85
  244. holidays/locale/en_US/LC_MESSAGES/MD.po +0 -84
  245. holidays/locale/en_US/LC_MESSAGES/ME.po +0 -102
  246. holidays/locale/en_US/LC_MESSAGES/MG.po +0 -92
  247. holidays/locale/en_US/LC_MESSAGES/MT.po +0 -83
  248. holidays/locale/en_US/LC_MESSAGES/MX.po +0 -60
  249. holidays/locale/en_US/LC_MESSAGES/MY.po +0 -250
  250. holidays/locale/en_US/LC_MESSAGES/MZ.po +0 -69
  251. holidays/locale/en_US/LC_MESSAGES/NI.po +0 -76
  252. holidays/locale/en_US/LC_MESSAGES/NL.po +0 -76
  253. holidays/locale/en_US/LC_MESSAGES/NO.po +0 -80
  254. holidays/locale/en_US/LC_MESSAGES/PE.po +0 -88
  255. holidays/locale/en_US/LC_MESSAGES/PH.po +0 -128
  256. holidays/locale/en_US/LC_MESSAGES/PL.po +0 -115
  257. holidays/locale/en_US/LC_MESSAGES/PT.po +0 -184
  258. holidays/locale/en_US/LC_MESSAGES/PY.po +0 -88
  259. holidays/locale/en_US/LC_MESSAGES/RO.po +0 -76
  260. holidays/locale/en_US/LC_MESSAGES/RS.po +0 -69
  261. holidays/locale/en_US/LC_MESSAGES/RU.po +0 -93
  262. holidays/locale/en_US/LC_MESSAGES/SA.po +0 -67
  263. holidays/locale/en_US/LC_MESSAGES/SC.po +0 -117
  264. holidays/locale/en_US/LC_MESSAGES/SE.po +0 -104
  265. holidays/locale/en_US/LC_MESSAGES/SG.po +0 -98
  266. holidays/locale/en_US/LC_MESSAGES/SI.po +0 -76
  267. holidays/locale/en_US/LC_MESSAGES/SK.po +0 -97
  268. holidays/locale/en_US/LC_MESSAGES/SV.po +0 -75
  269. holidays/locale/en_US/LC_MESSAGES/TH.po +0 -354
  270. holidays/locale/en_US/LC_MESSAGES/TL.po +0 -169
  271. holidays/locale/en_US/LC_MESSAGES/TN.po +0 -93
  272. holidays/locale/en_US/LC_MESSAGES/TO.po +0 -91
  273. holidays/locale/en_US/LC_MESSAGES/TR.po +0 -89
  274. holidays/locale/en_US/LC_MESSAGES/TW.po +0 -78
  275. holidays/locale/en_US/LC_MESSAGES/TZ.po +0 -119
  276. holidays/locale/en_US/LC_MESSAGES/UA.po +0 -113
  277. holidays/locale/en_US/LC_MESSAGES/UY.po +0 -120
  278. holidays/locale/en_US/LC_MESSAGES/UZ.po +0 -96
  279. holidays/locale/en_US/LC_MESSAGES/VE.po +0 -92
  280. holidays/locale/en_US/LC_MESSAGES/VN.po +0 -93
  281. holidays/locale/es/LC_MESSAGES/AR.po +0 -135
  282. holidays/locale/es/LC_MESSAGES/BO.po +0 -117
  283. holidays/locale/es/LC_MESSAGES/CL.po +0 -136
  284. holidays/locale/es/LC_MESSAGES/CO.po +0 -105
  285. holidays/locale/es/LC_MESSAGES/CR.po +0 -85
  286. holidays/locale/es/LC_MESSAGES/CU.po +0 -69
  287. holidays/locale/es/LC_MESSAGES/DO.po +0 -76
  288. holidays/locale/es/LC_MESSAGES/EC.po +0 -73
  289. holidays/locale/es/LC_MESSAGES/ES.po +0 -225
  290. holidays/locale/es/LC_MESSAGES/GT.po +0 -72
  291. holidays/locale/es/LC_MESSAGES/HN.po +0 -76
  292. holidays/locale/es/LC_MESSAGES/HT.po +0 -127
  293. holidays/locale/es/LC_MESSAGES/MX.po +0 -60
  294. holidays/locale/es/LC_MESSAGES/NI.po +0 -76
  295. holidays/locale/es/LC_MESSAGES/PE.po +0 -88
  296. holidays/locale/es/LC_MESSAGES/PY.po +0 -88
  297. holidays/locale/es/LC_MESSAGES/SV.po +0 -75
  298. holidays/locale/es/LC_MESSAGES/UY.po +0 -120
  299. holidays/locale/es/LC_MESSAGES/VE.po +0 -92
  300. holidays/locale/et/LC_MESSAGES/EE.po +0 -76
  301. holidays/locale/fa/LC_MESSAGES/IR.po +0 -125
  302. holidays/locale/fa_AF/LC_MESSAGES/AF.po +0 -92
  303. holidays/locale/fi/LC_MESSAGES/FI.po +0 -164
  304. holidays/locale/fil/LC_MESSAGES/PH.po +0 -129
  305. holidays/locale/fr/LC_MESSAGES/BE.po +0 -88
  306. holidays/locale/fr/LC_MESSAGES/CA.po +0 -161
  307. holidays/locale/fr/LC_MESSAGES/CG.po +0 -67
  308. holidays/locale/fr/LC_MESSAGES/CH.po +0 -123
  309. holidays/locale/fr/LC_MESSAGES/DJ.po +0 -84
  310. holidays/locale/fr/LC_MESSAGES/DZ.po +0 -81
  311. holidays/locale/fr/LC_MESSAGES/FR.po +0 -116
  312. holidays/locale/fr/LC_MESSAGES/LU.po +0 -72
  313. holidays/locale/fr/LC_MESSAGES/MA.po +0 -89
  314. holidays/locale/fr/LC_MESSAGES/MC.po +0 -85
  315. holidays/locale/fr_HT/LC_MESSAGES/HT.po +0 -127
  316. holidays/locale/he/LC_MESSAGES/IL.po +0 -104
  317. holidays/locale/hr/LC_MESSAGES/HR.po +0 -94
  318. holidays/locale/ht/LC_MESSAGES/HT.po +0 -127
  319. holidays/locale/hu/LC_MESSAGES/HU.po +0 -101
  320. holidays/locale/hy/LC_MESSAGES/AM.po +0 -87
  321. holidays/locale/id/LC_MESSAGES/ID.po +0 -195
  322. holidays/locale/is/LC_MESSAGES/IS.po +0 -92
  323. holidays/locale/it/LC_MESSAGES/CH.po +0 -123
  324. holidays/locale/ja/LC_MESSAGES/JP.po +0 -128
  325. holidays/locale/ka/LC_MESSAGES/GE.po +0 -96
  326. holidays/locale/kk/LC_MESSAGES/KZ.po +0 -103
  327. holidays/locale/kl/LC_MESSAGES/GL.po +0 -91
  328. holidays/locale/km/LC_MESSAGES/KH.po +0 -132
  329. holidays/locale/ko/LC_MESSAGES/KR.po +0 -219
  330. holidays/locale/lb/LC_MESSAGES/LU.po +0 -72
  331. holidays/locale/lo/LC_MESSAGES/LA.po +0 -160
  332. holidays/locale/lt/LC_MESSAGES/LT.po +0 -94
  333. holidays/locale/lv/LC_MESSAGES/LV.po +0 -104
  334. holidays/locale/mg/LC_MESSAGES/MG.po +0 -92
  335. holidays/locale/ms/LC_MESSAGES/BN.po +0 -107
  336. holidays/locale/ms_MY/LC_MESSAGES/MY.po +0 -250
  337. holidays/locale/mt/LC_MESSAGES/MT.po +0 -83
  338. holidays/locale/nl/LC_MESSAGES/AW.po +0 -84
  339. holidays/locale/nl/LC_MESSAGES/BE.po +0 -88
  340. holidays/locale/nl/LC_MESSAGES/CW.po +0 -84
  341. holidays/locale/nl/LC_MESSAGES/NL.po +0 -76
  342. holidays/locale/no/LC_MESSAGES/NO.po +0 -80
  343. holidays/locale/pap_AW/LC_MESSAGES/AW.po +0 -84
  344. holidays/locale/pap_CW/LC_MESSAGES/CW.po +0 -84
  345. holidays/locale/pl/LC_MESSAGES/PL.po +0 -115
  346. holidays/locale/ps_AF/LC_MESSAGES/AF.po +0 -92
  347. holidays/locale/pt_AO/LC_MESSAGES/AO.po +0 -117
  348. holidays/locale/pt_BR/LC_MESSAGES/BR.po +0 -263
  349. holidays/locale/pt_BR/LC_MESSAGES/BVMF.po +0 -79
  350. holidays/locale/pt_MZ/LC_MESSAGES/MZ.po +0 -69
  351. holidays/locale/pt_PT/LC_MESSAGES/PT.po +0 -184
  352. holidays/locale/pt_TL/LC_MESSAGES/TL.po +0 -167
  353. holidays/locale/ro/LC_MESSAGES/MD.po +0 -82
  354. holidays/locale/ro/LC_MESSAGES/RO.po +0 -76
  355. holidays/locale/ru/LC_MESSAGES/BY.po +0 -111
  356. holidays/locale/ru/LC_MESSAGES/RU.po +0 -91
  357. holidays/locale/sk/LC_MESSAGES/CZ.po +0 -88
  358. holidays/locale/sk/LC_MESSAGES/SK.po +0 -96
  359. holidays/locale/sl/LC_MESSAGES/SI.po +0 -76
  360. holidays/locale/sq/LC_MESSAGES/AL.po +0 -106
  361. holidays/locale/sr/LC_MESSAGES/BA.po +0 -113
  362. holidays/locale/sr/LC_MESSAGES/RS.po +0 -68
  363. holidays/locale/sv/LC_MESSAGES/SE.po +0 -104
  364. holidays/locale/sv_FI/LC_MESSAGES/FI.po +0 -164
  365. holidays/locale/sw/LC_MESSAGES/TZ.po +0 -119
  366. holidays/locale/tet/LC_MESSAGES/TL.po +0 -167
  367. holidays/locale/th/LC_MESSAGES/AU.po +0 -177
  368. holidays/locale/th/LC_MESSAGES/BN.po +0 -109
  369. holidays/locale/th/LC_MESSAGES/BY.po +0 -109
  370. holidays/locale/th/LC_MESSAGES/CA.po +0 -161
  371. holidays/locale/th/LC_MESSAGES/CN.po +0 -101
  372. holidays/locale/th/LC_MESSAGES/DE.po +0 -126
  373. holidays/locale/th/LC_MESSAGES/ID.po +0 -195
  374. holidays/locale/th/LC_MESSAGES/JP.po +0 -128
  375. holidays/locale/th/LC_MESSAGES/KH.po +0 -138
  376. holidays/locale/th/LC_MESSAGES/KR.po +0 -219
  377. holidays/locale/th/LC_MESSAGES/LA.po +0 -160
  378. holidays/locale/th/LC_MESSAGES/MY.po +0 -250
  379. holidays/locale/th/LC_MESSAGES/NO.po +0 -80
  380. holidays/locale/th/LC_MESSAGES/PH.po +0 -128
  381. holidays/locale/th/LC_MESSAGES/RU.po +0 -90
  382. holidays/locale/th/LC_MESSAGES/SE.po +0 -104
  383. holidays/locale/th/LC_MESSAGES/SG.po +0 -98
  384. holidays/locale/th/LC_MESSAGES/TH.po +0 -352
  385. holidays/locale/th/LC_MESSAGES/TW.po +0 -78
  386. holidays/locale/th/LC_MESSAGES/UA.po +0 -114
  387. holidays/locale/th/LC_MESSAGES/VN.po +0 -93
  388. holidays/locale/to/LC_MESSAGES/TO.po +0 -91
  389. holidays/locale/tr/LC_MESSAGES/TR.po +0 -90
  390. holidays/locale/uk/LC_MESSAGES/AL.po +0 -106
  391. holidays/locale/uk/LC_MESSAGES/AO.po +0 -117
  392. holidays/locale/uk/LC_MESSAGES/AR.po +0 -138
  393. holidays/locale/uk/LC_MESSAGES/AT.po +0 -116
  394. holidays/locale/uk/LC_MESSAGES/AW.po +0 -84
  395. holidays/locale/uk/LC_MESSAGES/AZ.po +0 -136
  396. holidays/locale/uk/LC_MESSAGES/BA.po +0 -114
  397. holidays/locale/uk/LC_MESSAGES/BE.po +0 -88
  398. holidays/locale/uk/LC_MESSAGES/BG.po +0 -89
  399. holidays/locale/uk/LC_MESSAGES/BO.po +0 -117
  400. holidays/locale/uk/LC_MESSAGES/BR.po +0 -263
  401. holidays/locale/uk/LC_MESSAGES/BVMF.po +0 -79
  402. holidays/locale/uk/LC_MESSAGES/CH.po +0 -123
  403. holidays/locale/uk/LC_MESSAGES/CL.po +0 -136
  404. holidays/locale/uk/LC_MESSAGES/CO.po +0 -105
  405. holidays/locale/uk/LC_MESSAGES/CR.po +0 -85
  406. holidays/locale/uk/LC_MESSAGES/CU.po +0 -69
  407. holidays/locale/uk/LC_MESSAGES/CW.po +0 -84
  408. holidays/locale/uk/LC_MESSAGES/CY.po +0 -100
  409. holidays/locale/uk/LC_MESSAGES/CZ.po +0 -88
  410. holidays/locale/uk/LC_MESSAGES/DE.po +0 -126
  411. holidays/locale/uk/LC_MESSAGES/DK.po +0 -88
  412. holidays/locale/uk/LC_MESSAGES/DO.po +0 -76
  413. holidays/locale/uk/LC_MESSAGES/EC.po +0 -73
  414. holidays/locale/uk/LC_MESSAGES/EE.po +0 -76
  415. holidays/locale/uk/LC_MESSAGES/ES.po +0 -225
  416. holidays/locale/uk/LC_MESSAGES/FI.po +0 -164
  417. holidays/locale/uk/LC_MESSAGES/FR.po +0 -116
  418. holidays/locale/uk/LC_MESSAGES/GE.po +0 -96
  419. holidays/locale/uk/LC_MESSAGES/GR.po +0 -89
  420. holidays/locale/uk/LC_MESSAGES/HN.po +0 -76
  421. holidays/locale/uk/LC_MESSAGES/HR.po +0 -94
  422. holidays/locale/uk/LC_MESSAGES/HU.po +0 -101
  423. holidays/locale/uk/LC_MESSAGES/ID.po +0 -195
  424. holidays/locale/uk/LC_MESSAGES/IL.po +0 -104
  425. holidays/locale/uk/LC_MESSAGES/IS.po +0 -92
  426. holidays/locale/uk/LC_MESSAGES/KZ.po +0 -103
  427. holidays/locale/uk/LC_MESSAGES/LI.po +0 -116
  428. holidays/locale/uk/LC_MESSAGES/LT.po +0 -94
  429. holidays/locale/uk/LC_MESSAGES/LU.po +0 -72
  430. holidays/locale/uk/LC_MESSAGES/LV.po +0 -105
  431. holidays/locale/uk/LC_MESSAGES/MC.po +0 -85
  432. holidays/locale/uk/LC_MESSAGES/MD.po +0 -84
  433. holidays/locale/uk/LC_MESSAGES/ME.po +0 -102
  434. holidays/locale/uk/LC_MESSAGES/MG.po +0 -92
  435. holidays/locale/uk/LC_MESSAGES/MX.po +0 -60
  436. holidays/locale/uk/LC_MESSAGES/MZ.po +0 -69
  437. holidays/locale/uk/LC_MESSAGES/NI.po +0 -76
  438. holidays/locale/uk/LC_MESSAGES/NL.po +0 -76
  439. holidays/locale/uk/LC_MESSAGES/NO.po +0 -80
  440. holidays/locale/uk/LC_MESSAGES/PE.po +0 -88
  441. holidays/locale/uk/LC_MESSAGES/PL.po +0 -115
  442. holidays/locale/uk/LC_MESSAGES/PT.po +0 -184
  443. holidays/locale/uk/LC_MESSAGES/PY.po +0 -88
  444. holidays/locale/uk/LC_MESSAGES/RO.po +0 -76
  445. holidays/locale/uk/LC_MESSAGES/SE.po +0 -104
  446. holidays/locale/uk/LC_MESSAGES/SI.po +0 -76
  447. holidays/locale/uk/LC_MESSAGES/SK.po +0 -96
  448. holidays/locale/uk/LC_MESSAGES/SV.po +0 -75
  449. holidays/locale/uk/LC_MESSAGES/TR.po +0 -89
  450. holidays/locale/uk/LC_MESSAGES/UA.po +0 -112
  451. holidays/locale/uk/LC_MESSAGES/UY.po +0 -120
  452. holidays/locale/uk/LC_MESSAGES/UZ.po +0 -96
  453. holidays/locale/uk/LC_MESSAGES/VE.po +0 -92
  454. holidays/locale/uz/LC_MESSAGES/UZ.po +0 -96
  455. holidays/locale/vi/LC_MESSAGES/VN.po +0 -93
  456. holidays/locale/zh_CN/LC_MESSAGES/CN.po +0 -100
  457. holidays/locale/zh_CN/LC_MESSAGES/TW.po +0 -78
  458. holidays/locale/zh_TW/LC_MESSAGES/CN.po +0 -100
  459. holidays/locale/zh_TW/LC_MESSAGES/TW.po +0 -78
  460. holidays-0.65.dist-info/RECORD +0 -841
  461. {holidays-0.65.dist-info → holidays-0.67.dist-info}/LICENSE +0 -0
  462. {holidays-0.65.dist-info → holidays-0.67.dist-info}/WHEEL +0 -0
  463. {holidays-0.65.dist-info → holidays-0.67.dist-info}/top_level.txt +0 -0
@@ -11,6 +11,7 @@
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from datetime import date
14
+ from gettext import gettext as tr
14
15
 
15
16
  from holidays.calendars.gregorian import (
16
17
  JAN,
@@ -56,17 +57,19 @@ class HongKong(
56
57
  - `Chinese Wikipedia <https://zh.wikipedia.org/wiki/香港節日與公眾假期>`_
57
58
  Statutory Holidays:
58
59
  - `Section 39 of Cap. 57 Employment Ordinance <https://www.elegislation.gov.hk/hk/cap57!en-zh-Hant-HK?INDEX_CS=N&xpid=ID_1438403463460_002>`_
59
- - `Holidays for 2010-2024 <https://www.labour.gov.hk/eng/news/holidays_list.htm>`_
60
+ - `Holidays for 2010-2025 <https://www.labour.gov.hk/eng/news/holidays_list.htm>`_
60
61
  General Holidays:
61
62
  - `Cap. 149 General Holidays Ordinance <https://www.elegislation.gov.hk/hk/cap149!en-zh-Hant-HK?INDEX_CS=N>`_
62
- - `Holidays for 2007–2024 <https://www.gov.hk/en/about/abouthk/holiday/index.htm>`_
63
+ - `Holidays for 2007–2025 <https://www.gov.hk/en/about/abouthk/holiday/index.htm>`_
63
64
  """
64
65
 
65
66
  country = "HK"
67
+ default_language = "zh_HK"
66
68
  default_preferred_discretionary_holidays = (CHRISTMAS,)
67
- # %s(慶祝).
68
- observed_label = "%s (observed)"
69
+ # %s (observed).
70
+ observed_label = tr("%s(慶祝)")
69
71
  supported_categories = (OPTIONAL, PUBLIC)
72
+ supported_languages = ("en_HK", "en_US", "th", "zh_CN", "zh_HK")
70
73
  weekend = {SUN}
71
74
  # Current set of holidays actually valid since 1946
72
75
  start_year = 1946
@@ -88,18 +91,20 @@ class HongKong(
88
91
  mid_autumn_date = self._mid_autumn_festival
89
92
  if self._year >= 1968:
90
93
  mid_autumn_date = _timedelta(mid_autumn_date, +1)
91
- # 中秋節翌日.
92
- name = "The day following the Chinese Mid-Autumn Festival"
93
- # 中秋節後第二日.
94
- second_name = "The second day following the Chinese Mid-Autumn Festival"
94
+ # The day following the Chinese Mid-Autumn Festival.
95
+ name = tr("中秋節翌日")
96
+ # The second day following the Chinese Mid-Autumn Festival.
97
+ second_name = tr("中秋節後第二日")
95
98
  else:
96
- # 中秋節.
97
- name = "Chinese Mid-Autumn Festival"
98
- second_name = "The day following the Chinese Mid-Autumn Festival"
99
+ # Chinese Mid-Autumn Festival.
100
+ name = tr("中秋節")
101
+ # The day following the Chinese Mid-Autumn Festival.
102
+ second_name = tr("中秋節翌日")
99
103
 
100
104
  if self._is_sunday(mid_autumn_date):
101
105
  if 1983 <= self._year <= 2010:
102
- self._add_holiday("Chinese Mid-Autumn Festival", _timedelta(mid_autumn_date, -1))
106
+ # Chinese Mid-Autumn Festival.
107
+ self._add_holiday(tr("中秋節"), _timedelta(mid_autumn_date, -1))
103
108
  else:
104
109
  self._add_holiday(second_name, _timedelta(mid_autumn_date, +1))
105
110
  else:
@@ -107,17 +112,16 @@ class HongKong(
107
112
  return mid_autumn_date
108
113
 
109
114
  def _add_lunar_new_year(self, day_three_start_year: int):
110
- # Lunar New Year.
111
- # 農曆年初一.
112
- name = "Lunar New Year's Day"
113
- # 農曆年初一的前一日.
114
- preceding_day_lunar = "The day preceding Lunar New Year's Day"
115
- # 農曆年初二.
116
- second_day_lunar = "The second day of Lunar New Year"
117
- # 農曆年初三.
118
- third_day_lunar = "The third day of Lunar New Year"
119
- # 農曆年初四.
120
- fourth_day_lunar = "The fourth day of Lunar New Year"
115
+ # Lunar New Year's Day.
116
+ name = tr("農曆年初一")
117
+ # The day preceding Lunar New Year's Day.
118
+ preceding_day_lunar = tr("農曆年初一的前一日")
119
+ # The second day of Lunar New Year.
120
+ second_day_lunar = tr("農曆年初二")
121
+ # The third day of Lunar New Year.
122
+ third_day_lunar = tr("農曆年初三")
123
+ # The fourth day of Lunar New Year.
124
+ fourth_day_lunar = tr("農曆年初四")
121
125
  dt_lunar_new_year = self._chinese_new_year
122
126
  if self._year >= 1983:
123
127
  if (
@@ -151,67 +155,52 @@ class HongKong(
151
155
  if self._year <= 1962:
152
156
  return None
153
157
 
154
- # The first day of January.
155
- # 一月一日.
156
158
  if self._year >= 1977:
157
- self._add_observed(self._add_new_years_day("The first day of January"))
159
+ # The first day of January.
160
+ self._add_observed(self._add_new_years_day(tr("一月一日")))
158
161
 
159
162
  self._add_lunar_new_year(day_three_start_year=1977)
160
163
 
161
- # Good Friday.
162
- # 耶穌受難節.
163
164
  if self._year >= 2028:
164
- self._add_good_friday("Good Friday")
165
+ # Good Friday.
166
+ self._add_good_friday(tr("耶穌受難節"))
165
167
 
166
- # The day following Good Friday.
167
- # 耶穌受難節翌日.
168
168
  if self._year >= 2030:
169
- self._add_holy_saturday("The day following Good Friday")
169
+ # The day following Good Friday.
170
+ self._add_holy_saturday(tr("耶穌受難節翌日"))
170
171
 
171
- # Easter Monday.
172
- # 復活節星期一.
173
172
  if self._year >= 2026:
174
- self._add_easter_monday("Easter Monday")
173
+ # Easter Monday.
174
+ self._add_easter_monday(tr("復活節星期一"))
175
175
 
176
176
  # Ching Ming Festival.
177
- # 清明節.
178
- self._add_observed(self._add_qingming_festival("Ching Ming Festival"))
177
+ self._add_observed(self._add_qingming_festival(tr("清明節")))
179
178
 
180
- # The Birthday of the Buddha.
181
- # 佛誕.
182
179
  if self._year >= 2022:
183
- self._add_observed(self._add_chinese_birthday_of_buddha("The Birthday of the Buddha"))
180
+ # The Birthday of the Buddha.
181
+ self._add_observed(self._add_chinese_birthday_of_buddha(tr("佛誕")))
184
182
 
185
- # Labour Day.
186
- # 勞動節.
187
183
  if self._year >= 1999:
188
- self._add_observed(self._add_labor_day("Labour Day"))
184
+ # Labor Day.
185
+ self._add_observed(self._add_labor_day(tr("勞動節")))
189
186
 
190
187
  # Tuen Ng Festival.
191
- # 端午節.
192
- self._add_observed(self._add_dragon_boat_festival("Tuen Ng Festival"))
188
+ self._add_observed(self._add_dragon_boat_festival(tr("端午節")))
193
189
 
194
- # Hong Kong Special Administrative Region Establishment Day.
195
- # 香港特別行政區成立紀念日.
196
190
  if self._year >= 1997:
197
- self._add_observed(
198
- self._add_holiday_jul_1(
199
- "Hong Kong Special Administrative Region Establishment Day"
200
- )
201
- )
191
+ # Hong Kong Special Administrative Region Establishment Day.
192
+ self._add_observed(self._add_holiday_jul_1(tr("香港特別行政區成立紀念日")))
202
193
 
203
194
  mid_autumn_date = self._add_mid_autumn()
204
195
 
205
- # Chung Yeung Festival.
206
- # 重陽節.
207
196
  if self._year >= 1977:
208
- dt_double_ninth = self._add_double_ninth_festival("Chung Yeung Festival")
197
+ # Chung Yeung Festival.
198
+ dt_double_ninth = self._add_double_ninth_festival(tr("重陽節"))
209
199
  self._add_observed(dt_double_ninth)
210
200
 
211
- # National Day.
212
- # 國慶日.
213
201
  if self._year >= 1997:
214
- name = "National Day"
202
+ # National Day.
203
+ name = tr("國慶日")
215
204
  oct_1 = self._add_holiday_oct_1(name)
216
205
  self._add_observed(
217
206
  oct_1,
@@ -221,146 +210,116 @@ class HongKong(
221
210
  else SUN_TO_NEXT_WORKDAY,
222
211
  )
223
212
 
224
- # Chinese Winter Solstice Festival.
225
- # 冬節.
226
213
  if WINTER_SOLSTICE in self.preferred_discretionary_holidays:
227
- self._add_observed(
228
- self._add_holiday("Chinese Winter Solstice Festival", self._winter_solstice_date)
229
- )
214
+ # Chinese Winter Solstice Festival.
215
+ self._add_observed(self._add_holiday(tr("冬節"), self._winter_solstice_date))
230
216
 
231
217
  if self._year >= 2024:
232
- # 聖誕節後第一個周日.
233
- self._add_observed(
234
- self._add_christmas_day_two("The first weekday after Christmas Day")
235
- )
218
+ # The first weekday after Christmas Day.
219
+ self._add_observed(self._add_christmas_day_two(tr("聖誕節後第一個周日")))
236
220
 
237
- # Christmas Day.
238
- # 聖誕節.
239
221
  if CHRISTMAS in self.preferred_discretionary_holidays:
240
- self._add_observed(self._add_christmas_day("Christmas Day"))
222
+ # Christmas Day.
223
+ self._add_observed(self._add_christmas_day(tr("聖誕節")))
241
224
 
242
225
  def _populate_optional_holidays(self):
243
226
  # General Holidays.
244
227
 
245
- # The first day of January.
246
228
  if self._is_sunday(JAN, 1):
247
- # 一月一日翌日.
248
- self._add_new_years_day_two("The day following the first day of January")
229
+ # The day following the first day of January.
230
+ self._add_new_years_day_two(tr("一月一日翌日"))
249
231
  else:
250
- # 一月一日.
251
- self._add_new_years_day("The first day of January")
232
+ # The first day of January.
233
+ self._add_new_years_day(tr("一月一日"))
252
234
 
253
235
  self._add_lunar_new_year(day_three_start_year=1968)
254
236
 
255
- # Ching Ming Festival.
256
237
  if self._year >= 1968:
257
238
  dt_qingming = self._qingming_date
258
239
  if self._is_sunday(dt_qingming) or dt_qingming == _timedelta(self._easter_sunday, +1):
259
- # 清明節翌日.
260
- self._add_holiday(
261
- "The day following Ching Ming Festival", _timedelta(dt_qingming, +1)
262
- )
240
+ # The day following Ching Ming Festival.
241
+ self._add_holiday(tr("清明節翌日"), _timedelta(dt_qingming, +1))
263
242
  else:
264
- # 清明節.
265
- self._add_qingming_festival("Ching Ming Festival")
243
+ # Ching Ming Festival.
244
+ self._add_qingming_festival(tr("清明節"))
266
245
 
267
246
  # Good Friday.
268
- # 耶穌受難節.
269
- self._add_good_friday("Good Friday")
247
+ self._add_good_friday(tr("耶穌受難節"))
270
248
 
271
249
  # The day following Good Friday.
272
- # 耶穌受難節翌日.
273
- self._add_holy_saturday("The day following Good Friday")
250
+ self._add_holy_saturday(tr("耶穌受難節翌日"))
274
251
 
275
- # Easter Monday.
276
252
  if self._year >= 1968 and dt_qingming == self._easter_sunday:
277
- # 復活節星期一翌日.
278
- self._add_easter_tuesday("The day following Easter Monday")
253
+ # The day following Easter Monday.
254
+ self._add_easter_tuesday(tr("復活節星期一翌日"))
279
255
  else:
280
- # 復活節星期一.
281
- self._add_easter_monday("Easter Monday")
256
+ # Easter Monday.
257
+ self._add_easter_monday(tr("復活節星期一"))
282
258
 
283
- # The Birthday of the Buddha.
284
259
  if self._year >= 1999:
285
260
  dt_birthday_of_buddha = self._chinese_calendar.buddha_birthday_date(self._year)[0]
286
261
  if self._is_sunday(dt_birthday_of_buddha):
287
- # 佛誕翌日.
288
- self._add_holiday(
289
- "The day following the Birthday of the Buddha",
290
- _timedelta(dt_birthday_of_buddha, +1),
291
- )
262
+ # The day following the Birthday of the Buddha.
263
+ self._add_holiday(tr("佛誕翌日"), _timedelta(dt_birthday_of_buddha, +1))
292
264
  else:
293
- # 佛誕.
294
- self._add_chinese_birthday_of_buddha("The Birthday of the Buddha")
265
+ # The Birthday of the Buddha.
266
+ self._add_chinese_birthday_of_buddha(tr("佛誕"))
295
267
 
296
- # Labour Day.
297
268
  if self._year >= 1999:
298
269
  if self._is_sunday(MAY, 1):
299
- # 勞動節翌日.
300
- self._add_labor_day_two("The day following Labour Day")
270
+ # The day following Labor Day.
271
+ self._add_labor_day_two(tr("勞動節翌日"))
301
272
  else:
302
- # 勞動節.
303
- self._add_labor_day("Labour Day")
273
+ # Labor Day.
274
+ self._add_labor_day(tr("勞動節"))
304
275
 
305
- # Tuen Ng Festival.
306
276
  if self._year >= 1968:
307
277
  dt_dragon_boat = self._chinese_calendar.dragon_boat_date(self._year)[0]
308
278
  if self._is_sunday(dt_dragon_boat):
309
- # 端午節翌日.
310
- self._add_holiday(
311
- "The day following Tuen Ng Festival", _timedelta(dt_dragon_boat, +1)
312
- )
279
+ # The day following Tuen Ng Festival.
280
+ self._add_holiday(tr("端午節翌日"), _timedelta(dt_dragon_boat, +1))
313
281
  else:
314
- # 端午節.
315
- self._add_dragon_boat_festival("Tuen Ng Festival")
282
+ # Tuen Ng Festival.
283
+ self._add_dragon_boat_festival(tr("端午節"))
316
284
 
317
- # Hong Kong Special Administrative Region Establishment Day.
318
285
  if self._year >= 1997:
319
286
  if self._is_sunday(JUL, 1):
320
- # 香港特別行政區成立紀念日翌日.
321
- self._add_holiday_jul_2(
322
- "The day following Hong Kong Special Administrative Region Establishment Day"
323
- )
287
+ # The day following Hong Kong Special Administrative Region Establishment Day.
288
+ self._add_holiday_jul_2(tr("香港特別行政區成立紀念日翌日"))
324
289
  else:
325
- # 香港特別行政區成立紀念日.
326
- self._add_holiday_jul_1(
327
- "Hong Kong Special Administrative Region Establishment Day"
328
- )
290
+ # Hong Kong Special Administrative Region Establishment Day.
291
+ self._add_holiday_jul_1(tr("香港特別行政區成立紀念日"))
329
292
 
330
293
  mid_autumn_date = self._add_mid_autumn()
331
294
 
332
- # Chung Yeung Festival.
333
295
  if self._year >= 1968:
334
296
  dt_double_ninth = self._chinese_calendar.double_ninth_date(self._year)[0]
335
297
  if self._is_sunday(dt_double_ninth):
336
- # 重陽節翌日.
337
- self._add_holiday(
338
- "The day following Chung Yeung Festival", _timedelta(dt_double_ninth, +1)
339
- )
298
+ # The day following Chung Yeung Festival.
299
+ self._add_holiday(tr("重陽節翌日"), _timedelta(dt_double_ninth, +1))
340
300
  else:
341
- # 重陽節.
342
- self._add_double_ninth_festival("Chung Yeung Festival")
301
+ # Chung Yeung Festival.
302
+ self._add_double_ninth_festival(tr("重陽節"))
343
303
 
344
- # National Day.
345
304
  if self._year >= 1997:
346
305
  dt = date(self._year, OCT, 1)
306
+ # The day following National Day.
307
+ name = tr("國慶日翌日")
347
308
  if self._is_sunday(dt) or dt == mid_autumn_date or dt == dt_double_ninth:
348
- # 國慶日翌日.
349
- self._add_holiday("The day following National Day", self._get_next_workday(dt))
309
+ self._add_holiday(name, self._get_next_workday(dt))
350
310
  else:
351
- # 國慶日.
352
- self._add_holiday_oct_1("National Day")
353
- if self._year in {1997, 1998}:
354
- # 國慶日翌日.
355
- self._add_holiday_oct_2("The day following National Day")
311
+ # National Day.
312
+ self._add_holiday_oct_1(tr("國慶日"))
313
+
314
+ if self._year <= 1998:
315
+ self._add_holiday_oct_2(name)
356
316
 
357
317
  # Christmas Day.
358
- # 聖誕節.
359
- name = "Christmas Day"
360
- # 聖誕節後第一個周日.
361
- first_after_christmas = "The first weekday after Christmas Day"
362
- # 聖誕節後第二個周日.
363
- second_after_christmas = "The second weekday after Christmas Day"
318
+ name = tr("聖誕節")
319
+ # The first weekday after Christmas Day.
320
+ first_after_christmas = tr("聖誕節後第一個周日")
321
+ # The second weekday after Christmas Day.
322
+ second_after_christmas = tr("聖誕節後第二個周日")
364
323
  dt_christmas = self._christmas_day
365
324
  if self._is_sunday(dt_christmas):
366
325
  self._add_christmas_day_two(first_after_christmas)
@@ -374,10 +333,9 @@ class HongKong(
374
333
 
375
334
  # Previous holidays.
376
335
 
377
- # Queen's Birthday.
378
- # 英女皇壽辰.
379
336
  if 1952 <= self._year <= 1996:
380
- name = "Queen's Birthday"
337
+ # Queen's Birthday.
338
+ name = tr("英女皇壽辰")
381
339
  if self._year >= 1983:
382
340
  self._add_holiday_2nd_sat_of_jun(name)
383
341
  self._add_holiday_2_days_past_2nd_sat_of_jun(name)
@@ -389,21 +347,17 @@ class HongKong(
389
347
 
390
348
  if self._year <= 1967:
391
349
  # Monday after Pentecost.
392
- # 靈降臨節後星期一.
393
- self._add_whit_monday("Monday after Pentecost")
350
+ self._add_whit_monday(tr("靈降臨節後星期一"))
394
351
 
395
352
  # National Day of the Republic of China.
396
- # 中華民國國慶日.
397
- self._add_holiday_2nd_mon_of_oct("National Day of the Republic of China")
353
+ self._add_holiday_2nd_mon_of_oct(tr("中華民國國慶日"))
398
354
 
399
- # Monday after Peace Memorial Day.
400
- # 和平紀念日後星期一.
401
- self._add_holiday_1_day_past_2nd_sun_of_nov("Monday after Peace Memorial Day")
355
+ # Monday after Remembrance Day.
356
+ self._add_holiday_1_day_past_2nd_sun_of_nov(tr("和平紀念日後星期一"))
402
357
 
403
358
  if self._year <= 1996:
404
359
  # Anniversary of the liberation of Hong Kong.
405
- # 重光紀念日.
406
- name = "Anniversary of the liberation of Hong Kong"
360
+ name = tr("重光紀念日")
407
361
  if self._year >= 1983:
408
362
  self._add_holiday_last_mon_of_aug(name)
409
363
  self._add_holiday_2_days_prior_last_mon_of_aug(name)
@@ -437,34 +391,30 @@ class HKG(HongKong):
437
391
 
438
392
 
439
393
  class HongKongStaticHolidays:
440
- # 英國王儲查理斯王子與戴安娜婚禮.
441
- wedding_of_charles_and_diana = "Wedding of Prince Charles and Diana"
394
+ # Wedding of Prince Charles and Diana.
395
+ wedding_of_charles_and_diana = tr("英國王儲查理斯王子與戴安娜婚禮")
442
396
 
443
- # 英女王伊利沙伯二世伉儷訪港的第二天.
444
- queen_visit_hk = "Second day of Queen Elizabeth II and her husband's visit to Hong Kong"
397
+ # Second day of Queen Elizabeth II and her husband's visit to Hong Kong.
398
+ queen_visit_hk = tr("英女王伊利沙伯二世伉儷訪港的第二天")
445
399
 
446
- # 英女皇壽辰.
447
- queen_birthday = "Queen's Birthday"
400
+ # Queen's Birthday.
401
+ queen_birthday = tr("英女皇壽辰")
448
402
 
449
- # 香港特別行政區成立紀念日翌日.
450
- day_following_hksar_establishment_day = (
451
- "The day following Hong Kong Special Administrative Region Establishment Day"
452
- )
403
+ # The day following Hong Kong Special Administrative Region Establishment Day.
404
+ day_following_hksar_establishment_day = tr("香港特別行政區成立紀念日翌日")
453
405
 
454
- # 中國人民抗日戰爭勝利70周年紀念日.
455
- victory_70th_anniversary = (
456
- "The 70th anniversary day of the victory of the Chinese "
457
- "people's war of resistance against Japanese aggression"
458
- )
406
+ # The 70th anniversary day of the victory of
407
+ # the Chinese people's war of resistance against Japanese aggression.
408
+ victory_70th_anniversary = tr("中國人民抗日戰爭勝利70周年紀念日")
459
409
 
460
- # 抗日戰爭勝利紀念日.
461
- war_victory_day = "Sino-Japanese War Victory Day"
410
+ # Sino-Japanese War Victory Day.
411
+ war_victory_day = tr("抗日戰爭勝利紀念日")
462
412
 
463
- # 國慶日翌日.
464
- day_following_national_day = "The day following National Day"
413
+ # The day following National Day.
414
+ day_following_national_day = tr("國慶日翌日")
465
415
 
466
- # 額外公眾假期.
467
- additional_public_holiday = "Additional public holiday"
416
+ # Additional public holiday.
417
+ additional_public_holiday = tr("額外公眾假期")
468
418
 
469
419
  special_public_holidays = {
470
420
  1981: (JUL, 29, wedding_of_charles_and_diana),
@@ -12,18 +12,21 @@
12
12
 
13
13
  from gettext import gettext as tr
14
14
 
15
+ from holidays.constants import HALF_DAY, PUBLIC
15
16
  from holidays.groups import ChristianHolidays, InternationalHolidays
16
17
  from holidays.holiday_base import HolidayBase
17
18
 
18
19
 
19
20
  class Iceland(HolidayBase, ChristianHolidays, InternationalHolidays):
20
21
  """
21
- https://en.wikipedia.org/wiki/Public_holidays_in_Iceland
22
- https://www.officeholidays.com/countries/iceland/index.php
22
+ References:
23
+ - https://en.wikipedia.org/wiki/Public_holidays_in_Iceland
24
+ - https://www.althingi.is/lagas/nuna/1971088.html
23
25
  """
24
26
 
25
27
  country = "IS"
26
28
  default_language = "is"
29
+ supported_categories = (HALF_DAY, PUBLIC)
27
30
  supported_languages = ("en_US", "is", "uk")
28
31
 
29
32
  def __init__(self, *args, **kwargs):
@@ -65,11 +68,9 @@ class Iceland(HolidayBase, ChristianHolidays, InternationalHolidays):
65
68
  # National Day.
66
69
  self._add_holiday_jun_17(tr("Þjóðhátíðardagurinn"))
67
70
 
68
- # Commerce Day.
69
- self._add_holiday_1st_mon_of_aug(tr("Frídagur verslunarmanna"))
70
-
71
- # Christmas Eve.
72
- self._add_christmas_eve(tr("Aðfangadagur"))
71
+ if self._year >= 1983:
72
+ # Commerce Day.
73
+ self._add_holiday_1st_mon_of_aug(tr("Frídagur verslunarmanna"))
73
74
 
74
75
  # Christmas Day.
75
76
  self._add_christmas_day(tr("Jóladagur"))
@@ -77,8 +78,15 @@ class Iceland(HolidayBase, ChristianHolidays, InternationalHolidays):
77
78
  # Second Day of Christmas.
78
79
  self._add_christmas_day_two(tr("Annar í jólum"))
79
80
 
81
+ def _populate_half_day_holidays(self):
82
+ # %s (from 1pm).
83
+ begin_time_label = self.tr("%s (frá kl. 13.00)")
84
+
85
+ # Christmas Eve.
86
+ self._add_christmas_eve(begin_time_label % self.tr("Aðfangadagur"))
87
+
80
88
  # New Year's Eve.
81
- self._add_new_years_eve(tr("Gamlársdagur"))
89
+ self._add_new_years_eve(begin_time_label % self.tr("Gamlársdagur"))
82
90
 
83
91
 
84
92
  class IS(Iceland):