holidays 0.82__py3-none-any.whl → 0.83__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.
- holidays/calendars/islamic.py +26 -6
- holidays/countries/__init__.py +1 -0
- holidays/countries/azerbaijan.py +1 -1
- holidays/countries/canada.py +27 -13
- holidays/countries/denmark.py +18 -6
- holidays/countries/fiji.py +2 -3
- holidays/countries/finland.py +3 -6
- holidays/countries/guyana.py +24 -32
- holidays/countries/india.py +21 -78
- holidays/countries/iran.py +133 -269
- holidays/countries/ireland.py +1 -1
- holidays/countries/israel.py +1 -1
- holidays/countries/macau.py +5 -8
- holidays/countries/mauritius.py +10 -9
- holidays/countries/montserrat.py +1 -1
- holidays/countries/myanmar.py +9 -10
- holidays/countries/nepal.py +11 -30
- holidays/countries/netherlands.py +28 -24
- holidays/countries/new_zealand.py +75 -31
- holidays/countries/nigeria.py +53 -75
- holidays/countries/norway.py +1 -1
- holidays/countries/rwanda.py +2 -2
- holidays/countries/slovakia.py +23 -4
- holidays/countries/sri_lanka.py +21 -58
- holidays/countries/suriname.py +1 -2
- holidays/countries/sweden.py +1 -1
- holidays/countries/switzerland.py +86 -3
- holidays/countries/taiwan.py +1 -1
- holidays/countries/tanzania.py +19 -29
- holidays/countries/thailand.py +8 -7
- holidays/countries/trinidad_and_tobago.py +1 -1
- holidays/countries/ukraine.py +1 -1
- holidays/countries/united_kingdom.py +1 -1
- holidays/countries/united_states.py +2 -2
- holidays/countries/western_sahara.py +92 -0
- holidays/groups/buddhist.py +2 -2
- holidays/groups/chinese.py +5 -2
- holidays/groups/christian.py +10 -0
- holidays/groups/eastern.py +3 -1
- holidays/groups/hindu.py +9 -3
- holidays/groups/international.py +1 -1
- holidays/groups/islamic.py +10 -3
- holidays/groups/mongolian.py +5 -2
- holidays/groups/sinhala.py +6 -3
- holidays/groups/tibetan.py +5 -2
- holidays/holiday_base.py +21 -22
- holidays/locale/ar/LC_MESSAGES/EH.mo +0 -0
- holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/es/LC_MESSAGES/EH.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/EH.mo +0 -0
- holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
- holidays/observed_holiday_base.py +16 -4
- holidays/registry.py +2 -0
- holidays/version.py +1 -1
- {holidays-0.82.dist-info → holidays-0.83.dist-info}/METADATA +18 -16
- {holidays-0.82.dist-info → holidays-0.83.dist-info}/RECORD +71 -63
- {holidays-0.82.dist-info → holidays-0.83.dist-info}/WHEEL +0 -0
- {holidays-0.82.dist-info → holidays-0.83.dist-info}/licenses/CONTRIBUTORS +0 -0
- {holidays-0.82.dist-info → holidays-0.83.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.82.dist-info → holidays-0.83.dist-info}/top_level.txt +0 -0
holidays/groups/islamic.py
CHANGED
|
@@ -25,8 +25,12 @@ class IslamicHolidays(EasternCalendarHolidays):
|
|
|
25
25
|
calendar consisting of 12 lunar months in a year of 354 or 355 days.
|
|
26
26
|
"""
|
|
27
27
|
|
|
28
|
-
def __init__(self, cls=None, show_estimated=True) -> None:
|
|
29
|
-
self._islamic_calendar =
|
|
28
|
+
def __init__(self, cls=None, *, show_estimated=True, calendar_delta_days=0) -> None:
|
|
29
|
+
self._islamic_calendar = (
|
|
30
|
+
cls(calendar_delta_days=calendar_delta_days)
|
|
31
|
+
if cls
|
|
32
|
+
else _IslamicLunar(calendar_delta_days=calendar_delta_days)
|
|
33
|
+
)
|
|
30
34
|
self._islamic_calendar_show_estimated = show_estimated
|
|
31
35
|
|
|
32
36
|
def _add_ali_al_rida_death_day(self, name) -> set[date]:
|
|
@@ -282,7 +286,10 @@ class IslamicHolidays(EasternCalendarHolidays):
|
|
|
282
286
|
holiday date is an estimation.
|
|
283
287
|
"""
|
|
284
288
|
return self._add_eastern_calendar_holiday_set(
|
|
285
|
-
name,
|
|
289
|
+
name,
|
|
290
|
+
dts_estimated,
|
|
291
|
+
show_estimated=self._islamic_calendar_show_estimated,
|
|
292
|
+
days_delta=days_delta,
|
|
286
293
|
)
|
|
287
294
|
|
|
288
295
|
def _add_islamic_new_year_day(self, name) -> set[date]:
|
holidays/groups/mongolian.py
CHANGED
|
@@ -22,7 +22,7 @@ class MongolianCalendarHolidays(EasternCalendarHolidays):
|
|
|
22
22
|
Mongolian lunisolar calendar holidays.
|
|
23
23
|
"""
|
|
24
24
|
|
|
25
|
-
def __init__(self, cls=None, show_estimated=False) -> None:
|
|
25
|
+
def __init__(self, cls=None, *, show_estimated=False) -> None:
|
|
26
26
|
self._mongolian_calendar = cls() if cls else _MongolianLunisolar()
|
|
27
27
|
self._mongolian_calendar_show_estimated = show_estimated
|
|
28
28
|
|
|
@@ -37,7 +37,10 @@ class MongolianCalendarHolidays(EasternCalendarHolidays):
|
|
|
37
37
|
"""
|
|
38
38
|
|
|
39
39
|
return self._add_eastern_calendar_holiday(
|
|
40
|
-
name,
|
|
40
|
+
name,
|
|
41
|
+
dt_estimated,
|
|
42
|
+
show_estimated=self._mongolian_calendar_show_estimated,
|
|
43
|
+
days_delta=days_delta,
|
|
41
44
|
)
|
|
42
45
|
|
|
43
46
|
def _add_buddha_day(self, name) -> Optional[date]:
|
holidays/groups/sinhala.py
CHANGED
|
@@ -32,7 +32,7 @@ class SinhalaCalendarHolidays(EasternCalendarHolidays):
|
|
|
32
32
|
Adhi month dates are instead hardcoded in Sri Lanka country implementation.
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
|
-
def __init__(self, cls=None, show_estimated=False) -> None:
|
|
35
|
+
def __init__(self, cls=None, *, show_estimated=False) -> None:
|
|
36
36
|
self._sinhala_calendar = cls() if cls else _SinhalaLunar()
|
|
37
37
|
self._sinhala_calendar_show_estimated = show_estimated
|
|
38
38
|
|
|
@@ -46,7 +46,7 @@ class SinhalaCalendarHolidays(EasternCalendarHolidays):
|
|
|
46
46
|
is an estimation.
|
|
47
47
|
"""
|
|
48
48
|
return self._add_eastern_calendar_holiday(
|
|
49
|
-
name, dt_estimated, self._sinhala_calendar_show_estimated
|
|
49
|
+
name, dt_estimated, show_estimated=self._sinhala_calendar_show_estimated
|
|
50
50
|
)
|
|
51
51
|
|
|
52
52
|
def _add_sinhala_calendar_holiday_set(
|
|
@@ -59,7 +59,10 @@ class SinhalaCalendarHolidays(EasternCalendarHolidays):
|
|
|
59
59
|
is an estimation.
|
|
60
60
|
"""
|
|
61
61
|
return self._add_eastern_calendar_holiday_set(
|
|
62
|
-
name,
|
|
62
|
+
name,
|
|
63
|
+
dts_estimated,
|
|
64
|
+
show_estimated=self._sinhala_calendar_show_estimated,
|
|
65
|
+
days_delta=days_delta,
|
|
63
66
|
)
|
|
64
67
|
|
|
65
68
|
def _add_bak_poya(self, name) -> Optional[date]:
|
holidays/groups/tibetan.py
CHANGED
|
@@ -22,7 +22,7 @@ class TibetanCalendarHolidays(EasternCalendarHolidays):
|
|
|
22
22
|
Tibetan lunisolar calendar holidays.
|
|
23
23
|
"""
|
|
24
24
|
|
|
25
|
-
def __init__(self, cls=None, show_estimated=False) -> None:
|
|
25
|
+
def __init__(self, cls=None, *, show_estimated=False) -> None:
|
|
26
26
|
self._tibetan_calendar = cls() if cls else _TibetanLunisolar()
|
|
27
27
|
self._tibetan_calendar_show_estimated = show_estimated
|
|
28
28
|
|
|
@@ -36,7 +36,10 @@ class TibetanCalendarHolidays(EasternCalendarHolidays):
|
|
|
36
36
|
is an estimation.
|
|
37
37
|
"""
|
|
38
38
|
return self._add_eastern_calendar_holiday(
|
|
39
|
-
name,
|
|
39
|
+
name,
|
|
40
|
+
dt_estimated,
|
|
41
|
+
show_estimated=self._tibetan_calendar_show_estimated,
|
|
42
|
+
days_delta=days_delta,
|
|
40
43
|
)
|
|
41
44
|
|
|
42
45
|
def _add_blessed_rainy_day(self, name) -> Optional[date]:
|
holidays/holiday_base.py
CHANGED
|
@@ -808,7 +808,7 @@ class HolidayBase(dict[date, str]):
|
|
|
808
808
|
self[dt] = self.tr(name)
|
|
809
809
|
return dt
|
|
810
810
|
|
|
811
|
-
def _add_special_holidays(self, mapping_names, observed=False):
|
|
811
|
+
def _add_special_holidays(self, mapping_names, *, observed=False):
|
|
812
812
|
"""Add special holidays."""
|
|
813
813
|
for mapping_name in mapping_names:
|
|
814
814
|
for data in _normalize_tuple(getattr(self, mapping_name, {}).get(self._year, ())):
|
|
@@ -865,7 +865,14 @@ class HolidayBase(dict[date, str]):
|
|
|
865
865
|
def _is_sunday(self, *args) -> bool:
|
|
866
866
|
return self._check_weekday(SUN, *args)
|
|
867
867
|
|
|
868
|
-
def
|
|
868
|
+
def _is_weekday(self, *args) -> bool:
|
|
869
|
+
"""
|
|
870
|
+
Returns True if date's week day is not a weekend day.
|
|
871
|
+
Returns False otherwise.
|
|
872
|
+
"""
|
|
873
|
+
return not self._is_weekend(*args)
|
|
874
|
+
|
|
875
|
+
def _is_weekend(self, *args) -> bool:
|
|
869
876
|
"""
|
|
870
877
|
Returns True if date's week day is a weekend day.
|
|
871
878
|
Returns False otherwise.
|
|
@@ -1361,11 +1368,12 @@ class HolidaySum(HolidayBase):
|
|
|
1361
1368
|
else:
|
|
1362
1369
|
self.holidays.append(operand)
|
|
1363
1370
|
|
|
1364
|
-
kwargs: dict[str, Any] = {}
|
|
1365
1371
|
# Join years, expand and observed.
|
|
1366
|
-
kwargs[
|
|
1367
|
-
|
|
1368
|
-
|
|
1372
|
+
kwargs: dict[str, Any] = {
|
|
1373
|
+
"expand": h1.expand or h2.expand,
|
|
1374
|
+
"observed": h1.observed or h2.observed,
|
|
1375
|
+
"years": h1.years | h2.years,
|
|
1376
|
+
}
|
|
1369
1377
|
# Join country and subdivisions data.
|
|
1370
1378
|
# TODO: this way makes no sense: joining Italy Catania (IT, CA) with
|
|
1371
1379
|
# USA Mississippi (US, MS) and USA Michigan (US, MI) yields
|
|
@@ -1374,25 +1382,16 @@ class HolidaySum(HolidayBase):
|
|
|
1374
1382
|
# and Milano, or ... you get the picture.
|
|
1375
1383
|
# Same goes when countries and markets are being mixed (working, yet
|
|
1376
1384
|
# still nonsensical).
|
|
1385
|
+
value: Optional[Union[str, list[str]]]
|
|
1377
1386
|
for attr in ("country", "market", "subdiv"):
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
a1 = (
|
|
1384
|
-
getattr(h1, attr)
|
|
1385
|
-
if isinstance(getattr(h1, attr), list)
|
|
1386
|
-
else [getattr(h1, attr)]
|
|
1387
|
-
)
|
|
1388
|
-
a2 = (
|
|
1389
|
-
getattr(h2, attr)
|
|
1390
|
-
if isinstance(getattr(h2, attr), list)
|
|
1391
|
-
else [getattr(h2, attr)]
|
|
1392
|
-
)
|
|
1387
|
+
a1 = getattr(h1, attr, None)
|
|
1388
|
+
a2 = getattr(h2, attr, None)
|
|
1389
|
+
if a1 and a2 and a1 != a2:
|
|
1390
|
+
a1 = a1 if isinstance(a1, list) else [a1]
|
|
1391
|
+
a2 = a2 if isinstance(a2, list) else [a2]
|
|
1393
1392
|
value = a1 + a2
|
|
1394
1393
|
else:
|
|
1395
|
-
value =
|
|
1394
|
+
value = a1 or a2
|
|
1396
1395
|
|
|
1397
1396
|
if attr == "subdiv":
|
|
1398
1397
|
kwargs[attr] = value
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -145,7 +145,9 @@ class ObservedHolidayBase(HolidayBase):
|
|
|
145
145
|
self,
|
|
146
146
|
dt: Optional[DateArg] = None,
|
|
147
147
|
name: Optional[str] = None,
|
|
148
|
+
*,
|
|
148
149
|
rule: Optional[ObservedRule] = None,
|
|
150
|
+
force_observed: bool = False,
|
|
149
151
|
show_observed_label: bool = True,
|
|
150
152
|
) -> tuple[bool, Optional[date]]:
|
|
151
153
|
if dt is None:
|
|
@@ -155,7 +157,7 @@ class ObservedHolidayBase(HolidayBase):
|
|
|
155
157
|
# Convert to date: (m, d) → use self._year; (y, m, d) → use directly.
|
|
156
158
|
dt = dt if isinstance(dt, date) else date(self._year, *dt) if len(dt) == 2 else date(*dt)
|
|
157
159
|
|
|
158
|
-
if not self.observed
|
|
160
|
+
if not (force_observed or (self.observed and self._is_observed(dt))):
|
|
159
161
|
return False, dt
|
|
160
162
|
|
|
161
163
|
dt_observed = self._get_observed_date(dt, rule or self._observed_rule)
|
|
@@ -196,16 +198,26 @@ class ObservedHolidayBase(HolidayBase):
|
|
|
196
198
|
return True, dt_observed
|
|
197
199
|
|
|
198
200
|
def _move_holiday(
|
|
199
|
-
self,
|
|
201
|
+
self,
|
|
202
|
+
dt: date,
|
|
203
|
+
*,
|
|
204
|
+
rule: Optional[ObservedRule] = None,
|
|
205
|
+
force_observed: bool = False,
|
|
206
|
+
show_observed_label: bool = True,
|
|
200
207
|
) -> tuple[bool, Optional[date]]:
|
|
201
208
|
is_observed, dt_observed = self._add_observed(
|
|
202
|
-
dt, rule=rule, show_observed_label=show_observed_label
|
|
209
|
+
dt, rule=rule, force_observed=force_observed, show_observed_label=show_observed_label
|
|
203
210
|
)
|
|
204
211
|
if is_observed:
|
|
205
212
|
self.pop(dt)
|
|
206
213
|
return is_observed, dt_observed if is_observed else dt
|
|
207
214
|
|
|
208
|
-
def
|
|
215
|
+
def _move_holiday_forced(
|
|
216
|
+
self, dt: date, rule: Optional[ObservedRule] = None
|
|
217
|
+
) -> tuple[bool, Optional[date]]:
|
|
218
|
+
return self._move_holiday(dt, rule=rule, force_observed=True, show_observed_label=False)
|
|
219
|
+
|
|
220
|
+
def _populate_observed(self, dts: set[date], *, multiple: bool = False) -> None:
|
|
209
221
|
"""
|
|
210
222
|
When multiple is True, each holiday from a given date has its own observed date.
|
|
211
223
|
"""
|
holidays/registry.py
CHANGED
|
@@ -278,6 +278,7 @@ COUNTRIES: RegistryDict = {
|
|
|
278
278
|
"venezuela": ("Venezuela", "VE", "VEN"),
|
|
279
279
|
"vietnam": ("Vietnam", "VN", "VNM"),
|
|
280
280
|
"wallis_and_futuna": ("WallisAndFutuna", "WF", "WLF", "HolidaysWF"),
|
|
281
|
+
"western_sahara": ("WesternSahara", "EH", "ESH"),
|
|
281
282
|
"yemen": ("Yemen", "YE", "YEM"),
|
|
282
283
|
"zambia": ("Zambia", "ZM", "ZMB"),
|
|
283
284
|
"zimbabwe": ("Zimbabwe", "ZW", "ZWE"),
|
|
@@ -351,6 +352,7 @@ class EntityLoader:
|
|
|
351
352
|
@staticmethod
|
|
352
353
|
def _get_entity_codes(
|
|
353
354
|
container: RegistryDict,
|
|
355
|
+
*,
|
|
354
356
|
include_aliases: bool = True,
|
|
355
357
|
max_code_length: int = 3,
|
|
356
358
|
min_code_length: int = 2,
|
holidays/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: holidays
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.83
|
|
4
4
|
Summary: Open World Holidays Framework
|
|
5
5
|
Author: Vacanza Team
|
|
6
6
|
Maintainer: Arkadii Yakovets, Panpakorn Siripanich, Serhii Murza
|
|
@@ -22,6 +22,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.12
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.13
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
25
26
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
26
27
|
Classifier: Topic :: File Formats :: JSON
|
|
27
28
|
Classifier: Topic :: Office/Business :: Financial :: Accounting
|
|
@@ -52,7 +53,7 @@ specific date is a holiday as fast and flexible as possible.
|
|
|
52
53
|
<tr>
|
|
53
54
|
<td>CI/CD</td>
|
|
54
55
|
<td>
|
|
55
|
-
<a href="https://github.com/vacanza/holidays/actions/workflows/ci-cd.yml?query=branch%3Adev"><img src="https://img.shields.io/github/actions/workflow/status/vacanza/holidays/ci-cd.yml?branch=dev&color=
|
|
56
|
+
<a href="https://github.com/vacanza/holidays/actions/workflows/ci-cd.yml?query=branch%3Adev"><img src="https://img.shields.io/github/actions/workflow/status/vacanza/holidays/ci-cd.yml?branch=dev&color=41B5BE&style=flat" alt="CI/CD status"></a> <a href="https://holidays.readthedocs.io/en/latest/?badge=latest"><img src="https://img.shields.io/readthedocs/holidays?color=41B5BE&style=flat" alt="Documentation status"></a> <a href="https://snyk.io/advisor/python/holidays/"><img alt="Open World Holidays Package Health Score" src="https://img.shields.io/badge/dynamic/regex?url=https%3A%2F%2Fsnyk.io%2Fadvisor%2Fpython%2Fholidays%2Fbadge.svg&search=%5Cd%7B1%2C3%7D%2F%5Cd%7B1%2C3%7D&style=flat&label=snyk&color=41B5BE"></a>
|
|
56
57
|
</td>
|
|
57
58
|
</tr>
|
|
58
59
|
<tr>
|
|
@@ -64,7 +65,7 @@ specific date is a holiday as fast and flexible as possible.
|
|
|
64
65
|
<tr>
|
|
65
66
|
<td>GitHub</td>
|
|
66
67
|
<td>
|
|
67
|
-
<a href="https://github.com/vacanza/holidays/stargazers"><img src="https://img.shields.io/github/stars/vacanza/holidays?color=
|
|
68
|
+
<a href="https://github.com/vacanza/holidays/stargazers"><img src="https://img.shields.io/github/stars/vacanza/holidays?color=41B5BE&style=flat" alt="GitHub stars"></a> <a href="https://github.com/vacanza/holidays/forks"><img src="https://img.shields.io/github/forks/vacanza/holidays?color=41B5BE&style=flat" alt="GitHub forks"></a> <a href="https://github.com/vacanza/holidays/graphs/contributors"><img src="https://img.shields.io/github/contributors/vacanza/holidays?color=41B5BE&style=flat" alt="GitHub contributors"></a> <a href="https://github.com/vacanza/holidays/commits/dev"><img src="https://img.shields.io/github/last-commit/vacanza/holidays/dev?color=41B5BE&style=flat" alt="GitHub last commit"></a>
|
|
68
69
|
</td>
|
|
69
70
|
</tr>
|
|
70
71
|
<tr>
|
|
@@ -73,12 +74,6 @@ specific date is a holiday as fast and flexible as possible.
|
|
|
73
74
|
<a href="https://doi.org/10.5281/zenodo.14884702"><img src="https://img.shields.io/badge/DOI-10.5281/zenodo.14884702-41B5BE?style=flat" alt="Open World Holidays Framework DOI"></a>
|
|
74
75
|
</td>
|
|
75
76
|
</tr>
|
|
76
|
-
<tr>
|
|
77
|
-
<td>Snyk</td>
|
|
78
|
-
<td>
|
|
79
|
-
<a href="https://snyk.io/advisor/python/holidays/"><img src="https://snyk.io/advisor/python/holidays/badge.svg" alt="Open World Holidays Package Health Score"></a>
|
|
80
|
-
</td>
|
|
81
|
-
</tr>
|
|
82
77
|
</table>
|
|
83
78
|
|
|
84
79
|
## Install
|
|
@@ -100,7 +95,7 @@ version upgrades.
|
|
|
100
95
|
|
|
101
96
|
## Documentation
|
|
102
97
|
|
|
103
|
-
The documentation is hosted on [Read the Docs](https://holidays.readthedocs.io
|
|
98
|
+
The documentation is hosted on [Read the Docs](https://holidays.readthedocs.io).
|
|
104
99
|
|
|
105
100
|
## Quick Start
|
|
106
101
|
|
|
@@ -142,9 +137,9 @@ and detailed information.
|
|
|
142
137
|
|
|
143
138
|
## Available Countries
|
|
144
139
|
|
|
145
|
-
We currently support
|
|
146
|
-
3166-1 alpha-2 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes),
|
|
147
|
-
for domain names, and for a subdivision its [ISO 3166-2
|
|
140
|
+
We currently support 249 country codes and are fully compatible with [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html).
|
|
141
|
+
The standard way to refer to a country is by using its [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes),
|
|
142
|
+
the same used for domain names, and for a subdivision its [ISO 3166-2
|
|
148
143
|
code](https://en.wikipedia.org/wiki/ISO_3166-2). Some countries have common or foreign names or
|
|
149
144
|
abbreviations as aliases for their subdivisions. These are defined in the (optional)
|
|
150
145
|
`subdivisions_aliases` attribute. Some of the countries support more than one language for holiday
|
|
@@ -600,7 +595,7 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
600
595
|
<td>Denmark</td>
|
|
601
596
|
<td>DK</td>
|
|
602
597
|
<td></td>
|
|
603
|
-
<td><strong>da</strong>, en_US, uk</td>
|
|
598
|
+
<td><strong>da</strong>, en_US, th, uk</td>
|
|
604
599
|
<td>OPTIONAL</td>
|
|
605
600
|
</tr>
|
|
606
601
|
<tr>
|
|
@@ -1265,7 +1260,7 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
1265
1260
|
<td>Netherlands</td>
|
|
1266
1261
|
<td>NL</td>
|
|
1267
1262
|
<td></td>
|
|
1268
|
-
<td>en_US, fy, <strong>nl</strong>, uk</td>
|
|
1263
|
+
<td>en_US, fy, <strong>nl</strong>, th, uk</td>
|
|
1269
1264
|
<td>OPTIONAL</td>
|
|
1270
1265
|
</tr>
|
|
1271
1266
|
<tr>
|
|
@@ -1692,7 +1687,7 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
1692
1687
|
<td>Switzerland</td>
|
|
1693
1688
|
<td>CH</td>
|
|
1694
1689
|
<td>Cantons: AG (Aargau), AI (Appenzell Innerrhoden), AR (Appenzell Ausserrhoden), BE (Bern, Berne), BL (Basel-Landschaft), BS (Basel-Stadt), FR (Freiburg, Fribourg), GE (Genève), GL (Glarus), GR (Graubünden, Grigioni, Grischun), JU (Jura), LU (Luzern), NE (Neuchâtel), NW (Nidwalden), OW (Obwalden), SG (Sankt Gallen), SH (Schaffhausen), SO (Solothurn), SZ (Schwyz), TG (Thurgau), TI (Ticino), UR (Uri), VD (Vaud), VS (Valais, Wallis), ZG (Zug), ZH (Zürich)</td>
|
|
1695
|
-
<td><strong>de</strong>, en_US, fr, it, uk</td>
|
|
1690
|
+
<td><strong>de</strong>, en_US, fr, it, th, uk</td>
|
|
1696
1691
|
<td>HALF_DAY, OPTIONAL</td>
|
|
1697
1692
|
</tr>
|
|
1698
1693
|
<tr>
|
|
@@ -1906,6 +1901,13 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
1906
1901
|
<td></td>
|
|
1907
1902
|
</tr>
|
|
1908
1903
|
<tr>
|
|
1904
|
+
<td>Western Sahara</td>
|
|
1905
|
+
<td>EH</td>
|
|
1906
|
+
<td></td>
|
|
1907
|
+
<td><strong>ar</strong>, en_US, es, fr</td>
|
|
1908
|
+
<td></td>
|
|
1909
|
+
</tr>
|
|
1910
|
+
<tr>
|
|
1909
1911
|
<td>Yemen</td>
|
|
1910
1912
|
<td>YE</td>
|
|
1911
1913
|
<td></td>
|