holidays 0.66__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 (90) hide show
  1. holidays/countries/__init__.py +2 -0
  2. holidays/countries/australia.py +6 -6
  3. holidays/countries/cambodia.py +1 -1
  4. holidays/countries/chile.py +1 -1
  5. holidays/countries/cuba.py +1 -1
  6. holidays/countries/denmark.py +1 -1
  7. holidays/countries/finland.py +19 -19
  8. holidays/countries/greenland.py +22 -19
  9. holidays/countries/guatemala.py +1 -1
  10. holidays/countries/haiti.py +3 -3
  11. holidays/countries/hongkong.py +124 -174
  12. holidays/countries/isle_of_man.py +15 -11
  13. holidays/countries/kazakhstan.py +1 -1
  14. holidays/countries/laos.py +2 -2
  15. holidays/countries/nicaragua.py +1 -1
  16. holidays/countries/panama.py +69 -31
  17. holidays/countries/peru.py +1 -1
  18. holidays/countries/saint_lucia.py +88 -0
  19. holidays/countries/seychelles.py +4 -4
  20. holidays/countries/singapore.py +1 -1
  21. holidays/countries/spain.py +9 -9
  22. holidays/countries/sri_lanka.py +1 -1
  23. holidays/countries/switzerland.py +1 -1
  24. holidays/countries/tuvalu.py +174 -0
  25. holidays/countries/united_kingdom.py +72 -56
  26. holidays/countries/united_states.py +141 -10
  27. holidays/countries/uruguay.py +1 -1
  28. holidays/financial/brasil_bolsa_balcao.py +1 -1
  29. holidays/holiday_base.py +62 -13
  30. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  31. holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
  32. holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
  33. holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
  34. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  35. holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
  36. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  37. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  38. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  39. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  40. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  41. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  42. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  43. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  44. holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
  45. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  46. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  47. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  48. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  49. holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
  50. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  51. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  52. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  53. holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
  54. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  55. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  56. holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
  57. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  58. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  59. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  60. holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
  61. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  62. holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
  63. holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
  64. holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
  65. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  66. holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
  67. holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
  68. holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
  69. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  70. holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
  71. holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
  72. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  73. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  74. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  75. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  76. holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
  77. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  78. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  79. holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
  80. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  81. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  82. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  83. holidays/registry.py +2 -0
  84. holidays/version.py +1 -1
  85. {holidays-0.66.dist-info → holidays-0.67.dist-info}/AUTHORS +1 -0
  86. {holidays-0.66.dist-info → holidays-0.67.dist-info}/METADATA +33 -17
  87. {holidays-0.66.dist-info → holidays-0.67.dist-info}/RECORD +90 -64
  88. {holidays-0.66.dist-info → holidays-0.67.dist-info}/LICENSE +0 -0
  89. {holidays-0.66.dist-info → holidays-0.67.dist-info}/WHEEL +0 -0
  90. {holidays-0.66.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),
@@ -10,6 +10,8 @@
10
10
  # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
+ from gettext import gettext as tr
14
+
13
15
  from holidays.countries.united_kingdom import UnitedKingdom, UnitedKingdomStaticHolidays
14
16
  from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
15
17
  from holidays.observed_holiday_base import ObservedHolidayBase, SAT_SUN_TO_NEXT_MON
@@ -19,6 +21,7 @@ class IsleOfMan(UnitedKingdom):
19
21
  """Using existing code in UnitedKingdom for now."""
20
22
 
21
23
  country = "IM"
24
+ parent_entity = UnitedKingdom
22
25
  subdivisions = () # Override UnitedKingdom subdivisions.
23
26
  subdivisions_aliases = {} # Override UnitedKingdom subdivisions aliases.
24
27
 
@@ -31,25 +34,26 @@ class IsleOfMan(UnitedKingdom):
31
34
 
32
35
  def _populate_public_holidays(self) -> None:
33
36
  super()._populate_public_holidays()
34
- # Easter Monday
35
- self._add_easter_monday("Easter Monday")
37
+ # Easter Monday.
38
+ self._add_easter_monday(tr("Easter Monday"))
36
39
 
37
- # Whit Monday.
38
40
  if self._year <= 1970:
39
- self._add_whit_monday("Whit Monday")
41
+ # Whit Monday.
42
+ self._add_whit_monday(tr("Whit Monday"))
40
43
 
41
- # Late Summer bank holiday (last Monday in August)
42
44
  if self._year >= 1971:
43
- self._add_holiday_last_mon_of_aug("Late Summer Bank Holiday")
45
+ # Late Summer Bank Holiday.
46
+ self._add_holiday_last_mon_of_aug(tr("Late Summer Bank Holiday"))
44
47
 
45
48
  # Isle of Man exclusive holidays
46
- # TT bank holiday (first Friday in June)
47
- self._add_holiday_1st_fri_of_jun("TT Bank Holiday")
48
49
 
49
- # Tynwald Day
50
- # Move to the next Monday if falls on a weekend.
51
- jul_5 = self._add_holiday_jul_5("Tynwald Day")
50
+ # TT Bank Holiday.
51
+ self._add_holiday_1st_fri_of_jun(tr("TT Bank Holiday"))
52
+
53
+ # Tynwald Day.
54
+ jul_5 = self._add_holiday_jul_5(tr("Tynwald Day"))
52
55
  if self._year >= 1992:
56
+ # Move to the next Monday if falls on a weekend.
53
57
  self._move_holiday(jul_5, show_observed_label=False)
54
58
 
55
59
 
@@ -117,7 +117,7 @@ class Kazakhstan(
117
117
  dts_observed.add(self._add_womens_day(tr("Халықаралық әйелдер күні")))
118
118
 
119
119
  if self._year >= 2002:
120
- # Nowruz holiday.
120
+ # Nowruz Holiday.
121
121
  name = tr("Наурыз мейрамы")
122
122
  dts_observed.add(self._add_holiday_mar_22(name))
123
123
  if self._year >= 2010:
@@ -156,7 +156,7 @@ class Laos(ObservedHolidayBase, InternationalHolidays, StaticHolidays, ThaiCalen
156
156
  # Became defunct from 2018 onwards. Still accessible in `WORKDAY` category.
157
157
 
158
158
  if 1990 <= self._year <= 2017:
159
- # International Children Day.
159
+ # International Children's Day.
160
160
  self._add_childrens_day(tr("ວັນເດັກສາກົນ"))
161
161
 
162
162
  # ວັນຊາດ
@@ -281,7 +281,7 @@ class Laos(ObservedHolidayBase, InternationalHolidays, StaticHolidays, ThaiCalen
281
281
  # Became defunct from 2018 onwards. Still accessible in `WORKDAY` category.
282
282
 
283
283
  if self._year >= 2018:
284
- # International Children Day.
284
+ # International Children's Day.
285
285
  self._add_childrens_day(tr("ວັນເດັກສາກົນ"))
286
286
 
287
287
  # ວັນປູກຕົ້ນໄມ້ແຫ່ງຊາດ
@@ -98,7 +98,7 @@ class Nicaragua(HolidayBase, ChristianHolidays, InternationalHolidays):
98
98
  # Independence Day.
99
99
  self._add_holiday_sep_15(tr("Día de la Independencia"))
100
100
 
101
- # Virgin's Day.
101
+ # Immaculate Conception.
102
102
  self._add_immaculate_conception_day(tr("Concepción de María"))
103
103
 
104
104
  # Christmas Day.