holidays 0.66__py3-none-any.whl → 0.68__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 (100) hide show
  1. holidays/calendars/chinese.py +1 -1
  2. holidays/countries/__init__.py +2 -0
  3. holidays/countries/australia.py +6 -6
  4. holidays/countries/azerbaijan.py +18 -2
  5. holidays/countries/cambodia.py +1 -1
  6. holidays/countries/chile.py +1 -1
  7. holidays/countries/cuba.py +1 -1
  8. holidays/countries/denmark.py +1 -1
  9. holidays/countries/finland.py +19 -19
  10. holidays/countries/greenland.py +22 -19
  11. holidays/countries/guatemala.py +1 -1
  12. holidays/countries/haiti.py +3 -3
  13. holidays/countries/hongkong.py +124 -174
  14. holidays/countries/isle_of_man.py +15 -11
  15. holidays/countries/kazakhstan.py +1 -1
  16. holidays/countries/kenya.py +201 -45
  17. holidays/countries/laos.py +2 -2
  18. holidays/countries/malaysia.py +21 -3
  19. holidays/countries/nicaragua.py +1 -1
  20. holidays/countries/panama.py +69 -31
  21. holidays/countries/peru.py +1 -1
  22. holidays/countries/saint_lucia.py +88 -0
  23. holidays/countries/seychelles.py +4 -4
  24. holidays/countries/singapore.py +1 -1
  25. holidays/countries/spain.py +9 -9
  26. holidays/countries/sri_lanka.py +1 -1
  27. holidays/countries/switzerland.py +1 -1
  28. holidays/countries/tuvalu.py +174 -0
  29. holidays/countries/united_kingdom.py +72 -56
  30. holidays/countries/united_states.py +141 -10
  31. holidays/countries/uruguay.py +1 -1
  32. holidays/financial/brasil_bolsa_balcao.py +1 -1
  33. holidays/holiday_base.py +62 -13
  34. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  35. holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
  36. holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
  37. holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
  38. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  39. holidays/locale/en_KE/LC_MESSAGES/KE.mo +0 -0
  40. holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
  41. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  42. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  43. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  44. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  45. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  46. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  47. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  48. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  49. holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
  50. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  51. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  52. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  53. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  54. holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
  55. holidays/locale/en_US/LC_MESSAGES/KE.mo +0 -0
  56. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  57. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  58. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  59. holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
  60. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  61. holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
  62. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  63. holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
  64. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  65. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  66. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  67. holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
  68. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  69. holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
  70. holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
  71. holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
  72. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  73. holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
  74. holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
  75. holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
  76. holidays/locale/sw/LC_MESSAGES/KE.mo +0 -0
  77. holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
  78. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  79. holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
  80. holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
  81. holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
  82. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  83. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  84. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  85. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  86. holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
  87. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  88. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  89. holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
  90. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  91. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  92. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  93. holidays/registry.py +2 -0
  94. holidays/version.py +1 -1
  95. {holidays-0.66.dist-info → holidays-0.68.dist-info}/AUTHORS +1 -0
  96. {holidays-0.66.dist-info → holidays-0.68.dist-info}/METADATA +35 -19
  97. {holidays-0.66.dist-info → holidays-0.68.dist-info}/RECORD +100 -71
  98. {holidays-0.66.dist-info → holidays-0.68.dist-info}/WHEEL +1 -1
  99. {holidays-0.66.dist-info → holidays-0.68.dist-info}/LICENSE +0 -0
  100. {holidays-0.66.dist-info → holidays-0.68.dist-info}/top_level.txt +0 -0
@@ -68,10 +68,10 @@ class Seychelles(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
68
68
  # Easter Monday.
69
69
  self._add_easter_monday(tr("Easter Monday"))
70
70
 
71
- # Labour Day.
71
+ # Labor Day.
72
72
  self._add_observed(self._add_labor_day(tr("Labour Day")))
73
73
 
74
- # The Fete Dieu.
74
+ # Corpus Christi.
75
75
  self._add_corpus_christi_day(tr("The Fete Dieu"))
76
76
 
77
77
  if self._year <= 2016:
@@ -101,11 +101,11 @@ class Seychelles(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
101
101
  # Assumption Day.
102
102
  self._add_observed(self._add_assumption_of_mary_day(tr("Assumption Day")))
103
103
 
104
- # All Saints Day.
104
+ # All Saints' Day.
105
105
  self._add_observed(self._add_all_saints_day(tr("All Saints Day")))
106
106
 
107
107
  self._add_observed(
108
- # The Feast of the Immaculate Conception.
108
+ # Immaculate Conception.
109
109
  self._add_immaculate_conception_day(tr("The Feast of the Immaculate Conception"))
110
110
  )
111
111
 
@@ -142,7 +142,7 @@ class Singapore(
142
142
  dts_observed.add(self._add_christmas_day(tr("Christmas Day")))
143
143
 
144
144
  if self._year <= 1968:
145
- # Boxing day.
145
+ # Boxing Day.
146
146
  self._add_christmas_day_two(tr("Boxing Day"))
147
147
 
148
148
  if self.observed:
@@ -89,7 +89,7 @@ class Spain(
89
89
  def _populate_public_holidays(self):
90
90
  if self._year not in {2012, 2017, 2023}:
91
91
  # New Year's Day.
92
- self._add_new_years_day(tr("Año nuevo"))
92
+ self._add_new_years_day(tr("Año Nuevo"))
93
93
 
94
94
  if self._year not in {2013, 2019}:
95
95
  # Epiphany.
@@ -127,7 +127,7 @@ class Spain(
127
127
 
128
128
  def _populate_subdiv_an_public_holidays(self):
129
129
  if self._year in {2012, 2017, 2023}:
130
- self._move_holiday(self._add_new_years_day(tr("Año nuevo")))
130
+ self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
131
131
 
132
132
  if self._year in {2013, 2019}:
133
133
  self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
@@ -161,7 +161,7 @@ class Spain(
161
161
 
162
162
  def _populate_subdiv_ar_public_holidays(self):
163
163
  if self._year in {2012, 2017, 2023}:
164
- self._move_holiday(self._add_new_years_day(tr("Año nuevo")))
164
+ self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
165
165
 
166
166
  if self._year in {2013, 2019}:
167
167
  self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
@@ -194,7 +194,7 @@ class Spain(
194
194
 
195
195
  def _populate_subdiv_as_public_holidays(self):
196
196
  if self._year in {2012, 2017, 2023}:
197
- self._move_holiday(self._add_new_years_day(tr("Año nuevo")))
197
+ self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
198
198
 
199
199
  if self._year in {2013, 2019}:
200
200
  self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
@@ -262,7 +262,7 @@ class Spain(
262
262
 
263
263
  def _populate_subdiv_ce_public_holidays(self):
264
264
  if self._year == 2012:
265
- self._move_holiday(self._add_new_years_day(tr("Año nuevo")))
265
+ self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
266
266
 
267
267
  if self._year in {2013, 2019}:
268
268
  self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
@@ -306,7 +306,7 @@ class Spain(
306
306
 
307
307
  def _populate_subdiv_cl_public_holidays(self):
308
308
  if self._year in {2017, 2023}:
309
- self._move_holiday(self._add_new_years_day(tr("Año nuevo")))
309
+ self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
310
310
 
311
311
  if self._year in {2013, 2019}:
312
312
  self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
@@ -417,7 +417,7 @@ class Spain(
417
417
 
418
418
  def _populate_subdiv_ex_public_holidays(self):
419
419
  if self._year == 2012:
420
- self._move_holiday(self._add_new_years_day(tr("Año nuevo")))
420
+ self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
421
421
 
422
422
  if self._year in {2013, 2019}:
423
423
  self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
@@ -498,7 +498,7 @@ class Spain(
498
498
 
499
499
  def _populate_subdiv_mc_public_holidays(self):
500
500
  if self._year in {2017, 2023}:
501
- self._move_holiday(self._add_new_years_day(tr("Año nuevo")))
501
+ self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
502
502
 
503
503
  if self._year in {2013, 2019}:
504
504
  self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
@@ -557,7 +557,7 @@ class Spain(
557
557
 
558
558
  def _populate_subdiv_ml_public_holidays(self):
559
559
  if self._year == 2017:
560
- self._move_holiday(self._add_new_years_day(tr("Año nuevo")))
560
+ self._move_holiday(self._add_new_years_day(tr("Año Nuevo")))
561
561
 
562
562
  if self._year in {2013, 2019}:
563
563
  self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
@@ -239,7 +239,7 @@ class SriLanka(
239
239
  # Eid al-Adha.
240
240
  self._add_eid_al_adha_day(tr("ඊදුල් අල්හා"))
241
241
 
242
- # The Prophet's Birthday.
242
+ # Prophet's Birthday.
243
243
  self._add_mawlid_day(tr("නබි නායකතුමාගේ උපන් දිනය"))
244
244
 
245
245
 
@@ -79,7 +79,7 @@ class Switzerland(ObservedHolidayBase, ChristianHolidays, InternationalHolidays)
79
79
  self._add_christmas_day(tr("Weihnachten"))
80
80
 
81
81
  def _populate_subdiv_ag_public_holidays(self):
82
- # Berchtold's Day.
82
+ # Saint Berchtold's Day.
83
83
  self._add_new_years_day_two(tr("Berchtoldstag"))
84
84
 
85
85
  # Good Friday.
@@ -0,0 +1,174 @@
1
+ # holidays
2
+ # --------
3
+ # A fast, efficient Python library for generating country, province and state
4
+ # specific sets of holidays on the fly. It aims to make determining whether a
5
+ # specific date is a holiday as fast and flexible as possible.
6
+ #
7
+ # Authors: Vacanza Team and individual contributors (see AUTHORS file)
8
+ # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
+ # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
+ # Website: https://github.com/vacanza/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from gettext import gettext as tr
14
+
15
+ from holidays.groups import ChristianHolidays, InternationalHolidays
16
+ from holidays.observed_holiday_base import (
17
+ ObservedHolidayBase,
18
+ SAT_SUN_TO_NEXT_MON,
19
+ SAT_SUN_TO_NEXT_MON_TUE,
20
+ )
21
+
22
+
23
+ class Tuvalu(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
24
+ """
25
+ References:
26
+ - `Public holidays in Tuvalu <https://en.wikipedia.org/wiki/Public_holidays_in_Tuvalu>`_
27
+ - `Today's and Upcoming Holidays in Tuvalu <https://www.timeanddate.com/holidays/tuvalu/>`_
28
+ - `Public Holidays (Amendment) Act 1990 <https://www.paclii.org/cgi-bin/sinodisp/tv/legis/num_act/pha1990243/pha1990243.html>`_
29
+ - `Public Holidays Act 1 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/PRINCIPAL/1937/1937-0005/1937-0005_1.pdf>`_
30
+ - `Public Holidays (Amendment) Act 2018 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/AMENDING/Public%20Holidays%20(Amendment)%20Act/Public%20Holidays%20(Amendment)%20Act%202018/Public%20Holidays%20(Amendment)%20Act%202018.pdf>`_
31
+ - `Public Holidays (Amendment) Act 2020 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/AMENDING/2020/2020-0013/2020-0013.pdf>`_
32
+ - `Public Holidays Act 2 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/PRINCIPAL/1937/1937-0005/1937-0005_2.pdf>`_
33
+ - `Codes for the representation of names of countries and their subdivisions <https://www.iso.org/obp/ui/#iso:code:3166:TV>`_
34
+ - `TUVALU-NEWS.TV <https://web.archive.org/web/20140915180104/http://www.tuvalu-news.tv/archives/2007/01/island_special_public_holidays.html>`_
35
+ """
36
+
37
+ country = "TV"
38
+ default_language = "tvl"
39
+ # %s (observed).
40
+ observed_label = tr("%s (fakamatakuga)")
41
+ supported_languages = ("en_GB", "en_US", "tvl")
42
+ subdivisions = (
43
+ "FUN", # Funafuti.
44
+ "NIT", # Niutao.
45
+ "NKF", # Nukufetau.
46
+ "NKL", # Nukulaelae.
47
+ "NMA", # Nanumea.
48
+ "NMG", # Nanumaga.
49
+ "NUI", # Nui.
50
+ "VAI", # Vaitupu.
51
+ )
52
+ subdivisions_aliases = {
53
+ # Town/Island Councils.
54
+ "Funafuti": "FUN",
55
+ "Niutao": "NIT",
56
+ "Nukufetau": "NKF",
57
+ "Nukulaelae": "NKL",
58
+ "Nanumea": "NMA",
59
+ "Nanumaga": "NMG",
60
+ "Nanumanga": "NMG", # Ex-ISO code alias
61
+ "Nui": "NUI",
62
+ "Vaitupu": "VAI",
63
+ }
64
+ # Tuvalu became fully independent of the United Kingdom on October 1, 1978
65
+ # Tuvalu's PUBLIC HOLIDAYS (AMENDMENT) ACT 1990 (Act 2 of 1990)
66
+ # It was first proclaimed on FEB 7th, 1990
67
+ start_year = 1990
68
+
69
+ def __init__(self, *args, **kwargs):
70
+ ChristianHolidays.__init__(self)
71
+ InternationalHolidays.__init__(self)
72
+ kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
73
+ super().__init__(*args, **kwargs)
74
+
75
+ def _populate_public_holidays(self):
76
+ # New Year's Day.
77
+ self._add_observed(self._add_new_years_day(tr("Tausaga Fou")))
78
+
79
+ if self._year <= 2020:
80
+ # Commonwealth Day.
81
+ self._add_holiday_2nd_mon_of_mar(tr("Aso Atefenua"))
82
+
83
+ # Good Friday.
84
+ self._add_good_friday(tr("Aso toe tu"))
85
+
86
+ # Easter Monday.
87
+ self._add_easter_monday(tr("Toe Tu aso gafua"))
88
+
89
+ # Gospel Day.
90
+ self._add_holiday_1_day_past_2nd_sun_of_may(tr("Te Aso o te Tala Lei"))
91
+
92
+ self._add_holiday_2nd_sat_of_jun(
93
+ # King's Birthday.
94
+ tr("Asofanau Tupu")
95
+ if self._year >= 2023
96
+ # Queen's Birthday.
97
+ else tr("Asofanau Fafine")
98
+ )
99
+
100
+ # National Children's Day.
101
+ name = tr("Aso Tamaliki")
102
+ if self._year >= 2019:
103
+ # National Youth Day.
104
+ self._add_holiday_1st_mon_of_aug(tr("Aso tupulaga"))
105
+
106
+ # National Children's Day.
107
+ self._add_holiday_1_day_past_2nd_sun_of_oct(name)
108
+ else:
109
+ # National Children's Day.
110
+ self._add_holiday_1st_mon_of_aug(name)
111
+
112
+ # Tuvalu Day.
113
+ name = tr("Tutokotasi")
114
+ self._add_observed(self._add_holiday_oct_1(name), rule=SAT_SUN_TO_NEXT_MON_TUE)
115
+ self._add_observed(self._add_holiday_oct_2(name), rule=SAT_SUN_TO_NEXT_MON_TUE)
116
+
117
+ # https://en.wikipedia.org/wiki/King%27s_Official_Birthday#Tuvalu
118
+ if self._year <= 2022:
119
+ # Heir to the Throne's Birthday.
120
+ self._add_holiday_2nd_mon_of_nov(tr("Aso fanau o te sui ote Tupu"))
121
+
122
+ # Christmas Day.
123
+ self._add_observed(self._add_christmas_day(tr("Kilisimasi")), rule=SAT_SUN_TO_NEXT_MON_TUE)
124
+ self._add_observed(
125
+ # Boxing Day.
126
+ self._add_christmas_day_two(tr("Aso Faipele")),
127
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
128
+ )
129
+
130
+ def _populate_subdiv_fun_public_holidays(self):
131
+ # The Day of the Bombing.
132
+ self._add_holiday_apr_23(tr("Te Aso o te Paula"))
133
+
134
+ # Cyclone Day.
135
+ self._add_holiday_oct_21(tr("Aso o te matagi"))
136
+
137
+ def _populate_subdiv_nit_public_holidays(self):
138
+ # Niutao Day.
139
+ self._add_holiday_sep_17(tr("Te Aso o te Setema"))
140
+
141
+ def _populate_subdiv_nkf_public_holidays(self):
142
+ # Nukufetau Day.
143
+ self._add_holiday_feb_11(tr("Te Aso O Tutasi"))
144
+
145
+ def _populate_subdiv_nkl_public_holidays(self):
146
+ # Gospel Day.
147
+ self._add_holiday_may_10(tr("Te Aso o te Tala Lei"))
148
+
149
+ def _populate_subdiv_nma_public_holidays(self):
150
+ # Golden Jubilee.
151
+ self._add_holiday_jan_8(tr("Te Po o Tefolaha"))
152
+
153
+ # Big Day.
154
+ self._add_holiday_feb_3(tr("Po Lahi"))
155
+
156
+ def _populate_subdiv_nmg_public_holidays(self):
157
+ # Nanumaga Day.
158
+ self._add_holiday_apr_15(tr("Aho o te Fakavae"))
159
+
160
+ def _populate_subdiv_nui_public_holidays(self):
161
+ # Day of the Flood.
162
+ self._add_holiday_feb_16(tr("Bogin te Ieka"))
163
+
164
+ def _populate_subdiv_vai_public_holidays(self):
165
+ # Happy Day.
166
+ self._add_holiday_nov_25(tr("Te Aso Fiafia"))
167
+
168
+
169
+ class TV(Tuvalu):
170
+ pass
171
+
172
+
173
+ class TUV(Tuvalu):
174
+ pass
@@ -10,6 +10,7 @@
10
10
  # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
+ from gettext import gettext as tr
13
14
  from typing import Union
14
15
 
15
16
  from holidays.calendars.gregorian import APR, MAY, JUN, JUL, SEP, DEC
@@ -37,7 +38,9 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
37
38
  """
38
39
 
39
40
  country = "GB"
40
- observed_label = "%s (observed)"
41
+ default_language = "en_GB"
42
+ # %s (observed).
43
+ observed_label = tr("%s (observed)")
41
44
  subdivisions: Union[tuple[()], tuple[str, ...]] = (
42
45
  "ENG", # England
43
46
  "NIR", # Northern Ireland
@@ -50,6 +53,7 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
50
53
  "Scotland": "SCT",
51
54
  "Wales": "WLS",
52
55
  }
56
+ supported_languages = ("en_GB", "en_US", "th")
53
57
  _deprecated_subdivisions = ("UK",)
54
58
  # Bank Holidays Act 1871
55
59
  start_year = 1872
@@ -64,25 +68,25 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
64
68
  super().__init__(*args, **kwargs)
65
69
 
66
70
  def _populate_public_holidays(self) -> None:
67
- # Good Friday
68
- self._add_good_friday("Good Friday")
71
+ # Good Friday.
72
+ self._add_good_friday(tr("Good Friday"))
69
73
 
70
- # May Day bank holiday (first Monday in May)
71
74
  if self._year >= 1978:
72
- name = "May Day"
75
+ # May Day.
76
+ name = tr("May Day")
73
77
  if self._year in {1995, 2020}:
74
78
  self._add_holiday_may_8(name)
75
79
  else:
76
80
  self._add_holiday_1st_mon_of_may(name)
77
81
 
78
- # Spring bank holiday (last Monday in May)
79
82
  if self._year >= 1971:
80
83
  spring_bank_dates = {
81
84
  2002: (JUN, 4),
82
85
  2012: (JUN, 4),
83
86
  2022: (JUN, 2),
84
87
  }
85
- name = "Spring Bank Holiday"
88
+ # Spring Bank Holiday.
89
+ name = tr("Spring Bank Holiday")
86
90
  if self._year in spring_bank_dates:
87
91
  self._add_holiday(name, spring_bank_dates[self._year])
88
92
  else:
@@ -90,94 +94,97 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
90
94
 
91
95
  def _populate_subdiv_holidays(self):
92
96
  if self.subdiv != "SCT":
93
- # New Year's Day
94
97
  if self._year >= 1975:
95
- self._add_observed(self._add_new_years_day("New Year's Day"))
98
+ # New Year's Day.
99
+ self._add_observed(self._add_new_years_day(tr("New Year's Day")))
96
100
 
97
- # Christmas Day
98
101
  self._add_observed(
99
- self._add_christmas_day("Christmas Day"), rule=SAT_SUN_TO_NEXT_MON_TUE
102
+ # Christmas Day.
103
+ self._add_christmas_day(tr("Christmas Day")),
104
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
100
105
  )
101
106
 
102
- # Boxing Day
103
107
  self._add_observed(
104
- self._add_christmas_day_two("Boxing Day"), rule=SAT_SUN_TO_NEXT_MON_TUE
108
+ # Boxing Day.
109
+ self._add_christmas_day_two(tr("Boxing Day")),
110
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
105
111
  )
106
112
 
107
113
  super()._populate_subdiv_holidays()
108
114
 
109
115
  def _populate_subdiv_eng_public_holidays(self):
110
- # Easter Monday
111
- self._add_easter_monday("Easter Monday")
116
+ # Easter Monday.
117
+ self._add_easter_monday(tr("Easter Monday"))
112
118
 
113
- # Whit Monday.
114
119
  if self._year <= 1970:
115
- self._add_whit_monday("Whit Monday")
120
+ # Whit Monday.
121
+ self._add_whit_monday(tr("Whit Monday"))
116
122
 
117
- # Late Summer bank holiday (last Monday in August)
118
123
  if self._year >= 1971:
119
- self._add_holiday_last_mon_of_aug("Late Summer Bank Holiday")
124
+ # Late Summer Bank Holiday.
125
+ self._add_holiday_last_mon_of_aug(tr("Late Summer Bank Holiday"))
120
126
 
121
127
  def _populate_subdiv_nir_public_holidays(self):
122
128
  if self._year >= 1903:
123
- # Saint Patrick's Day
124
- self._add_observed(self._add_holiday_mar_17("Saint Patrick's Day"))
129
+ # Saint Patrick's Day.
130
+ self._add_observed(self._add_holiday_mar_17(tr("Saint Patrick's Day")))
125
131
 
126
- # Easter Monday
127
- self._add_easter_monday("Easter Monday")
132
+ # Easter Monday.
133
+ self._add_easter_monday(tr("Easter Monday"))
128
134
 
129
- # Whit Monday.
130
135
  if self._year <= 1970:
131
- self._add_whit_monday("Whit Monday")
136
+ # Whit Monday.
137
+ self._add_whit_monday(tr("Whit Monday"))
132
138
 
133
- # Battle of the Boyne
134
- self._add_observed(self._add_holiday_jul_12("Battle of the Boyne"))
139
+ # Battle of the Boyne.
140
+ self._add_observed(self._add_holiday_jul_12(tr("Battle of the Boyne")))
135
141
 
136
- # Late Summer bank holiday (last Monday in August)
137
142
  if self._year >= 1971:
138
- self._add_holiday_last_mon_of_aug("Late Summer Bank Holiday")
143
+ # Late Summer Bank Holiday.
144
+ self._add_holiday_last_mon_of_aug(tr("Late Summer Bank Holiday"))
139
145
 
140
146
  def _populate_subdiv_sct_public_holidays(self):
141
- # New Year's Day
142
- jan_1 = self._add_new_years_day("New Year's Day")
147
+ # New Year's Day.
148
+ jan_1 = self._add_new_years_day(tr("New Year's Day"))
143
149
 
144
- # New Year Holiday
145
150
  self._add_observed(
146
- self._add_new_years_day_two("New Year Holiday"),
151
+ # New Year Holiday.
152
+ self._add_new_years_day_two(tr("New Year Holiday")),
147
153
  rule=SAT_SUN_TO_NEXT_MON_TUE + MON_TO_NEXT_TUE,
148
154
  )
149
155
  self._add_observed(jan_1)
150
156
 
151
- # Summer bank holiday (first Monday in August)
152
- self._add_holiday_1st_mon_of_aug("Summer Bank Holiday")
157
+ # Summer Bank Holiday.
158
+ self._add_holiday_1st_mon_of_aug(tr("Summer Bank Holiday"))
153
159
 
154
160
  if self._year >= 2006:
155
- # Saint Andrew's Day
156
- self._add_observed(self._add_holiday_nov_30("Saint Andrew's Day"))
161
+ # Saint Andrew's Day.
162
+ self._add_observed(self._add_holiday_nov_30(tr("Saint Andrew's Day")))
157
163
 
158
- # Christmas Day
159
164
  self._add_observed(
160
- self._add_christmas_day("Christmas Day"),
165
+ # Christmas Day.
166
+ self._add_christmas_day(tr("Christmas Day")),
161
167
  rule=SAT_SUN_TO_NEXT_MON_TUE if self._year >= 1974 else SAT_SUN_TO_NEXT_MON,
162
168
  )
163
169
 
164
170
  if self._year >= 1974:
165
- # Boxing Day
166
171
  self._add_observed(
167
- self._add_christmas_day_two("Boxing Day"), rule=SAT_SUN_TO_NEXT_MON_TUE
172
+ # Boxing Day.
173
+ self._add_christmas_day_two(tr("Boxing Day")),
174
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
168
175
  )
169
176
 
170
177
  def _populate_subdiv_wls_public_holidays(self):
171
- # Easter Monday
172
- self._add_easter_monday("Easter Monday")
178
+ # Easter Monday.
179
+ self._add_easter_monday(tr("Easter Monday"))
173
180
 
174
- # Whit Monday.
175
181
  if self._year <= 1970:
176
- self._add_whit_monday("Whit Monday")
182
+ # Whit Monday.
183
+ self._add_whit_monday(tr("Whit Monday"))
177
184
 
178
- # Late Summer bank holiday (last Monday in August)
179
185
  if self._year >= 1971:
180
- self._add_holiday_last_mon_of_aug("Late Summer Bank Holiday")
186
+ # Late Summer Bank Holiday.
187
+ self._add_holiday_last_mon_of_aug(tr("Late Summer Bank Holiday"))
181
188
 
182
189
 
183
190
  class UK(UnitedKingdom):
@@ -194,15 +201,24 @@ class GBR(UnitedKingdom):
194
201
 
195
202
  class UnitedKingdomStaticHolidays:
196
203
  special_public_holidays = {
197
- 1977: (JUN, 7, "Silver Jubilee of Elizabeth II"),
198
- 1981: (JUL, 29, "Wedding of Charles and Diana"),
199
- 1999: (DEC, 31, "Millennium Celebrations"),
200
- 2002: (JUN, 3, "Golden Jubilee of Elizabeth II"),
201
- 2011: (APR, 29, "Wedding of William and Catherine"),
202
- 2012: (JUN, 5, "Diamond Jubilee of Elizabeth II"),
204
+ # Silver Jubilee of Elizabeth II.
205
+ 1977: (JUN, 7, tr("Silver Jubilee of Elizabeth II")),
206
+ # Wedding of Charles and Diana.
207
+ 1981: (JUL, 29, tr("Wedding of Charles and Diana")),
208
+ # Millennium Celebrations.
209
+ 1999: (DEC, 31, tr("Millennium Celebrations")),
210
+ # Golden Jubilee of Elizabeth II.
211
+ 2002: (JUN, 3, tr("Golden Jubilee of Elizabeth II")),
212
+ # Wedding of William and Catherine.
213
+ 2011: (APR, 29, tr("Wedding of William and Catherine")),
214
+ # Diamond Jubilee of Elizabeth II.
215
+ 2012: (JUN, 5, tr("Diamond Jubilee of Elizabeth II")),
203
216
  2022: (
204
- (JUN, 3, "Platinum Jubilee of Elizabeth II"),
205
- (SEP, 19, "State Funeral of Queen Elizabeth II"),
217
+ # Platinum Jubilee of Elizabeth II.
218
+ (JUN, 3, tr("Platinum Jubilee of Elizabeth II")),
219
+ # State Funeral of Queen Elizabeth II.
220
+ (SEP, 19, tr("State Funeral of Queen Elizabeth II")),
206
221
  ),
207
- 2023: (MAY, 8, "Coronation of Charles III"),
222
+ # Coronation of Charles III.
223
+ 2023: (MAY, 8, tr("Coronation of Charles III")),
208
224
  }