kerykeion 5.0.0b2__py3-none-any.whl → 5.0.0b5__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.

Potentially problematic release.


This version of kerykeion might be problematic. Click here for more details.

Files changed (36) hide show
  1. kerykeion/__init__.py +3 -2
  2. kerykeion/aspects/aspects_factory.py +60 -21
  3. kerykeion/aspects/aspects_utils.py +1 -1
  4. kerykeion/backword.py +111 -18
  5. kerykeion/chart_data_factory.py +72 -7
  6. kerykeion/charts/chart_drawer.py +524 -203
  7. kerykeion/charts/charts_utils.py +416 -253
  8. kerykeion/charts/templates/aspect_grid_only.xml +269 -312
  9. kerykeion/charts/templates/chart.xml +248 -304
  10. kerykeion/charts/templates/wheel_only.xml +271 -312
  11. kerykeion/charts/themes/black-and-white.css +148 -0
  12. kerykeion/kr_types/__init__.py +70 -0
  13. kerykeion/kr_types/chart_template_model.py +20 -0
  14. kerykeion/kr_types/kerykeion_exception.py +20 -0
  15. kerykeion/kr_types/kr_literals.py +20 -0
  16. kerykeion/kr_types/kr_models.py +20 -0
  17. kerykeion/kr_types/settings_models.py +20 -0
  18. kerykeion/relationship_score_factory.py +12 -2
  19. kerykeion/schemas/__init__.py +7 -0
  20. kerykeion/schemas/kr_literals.py +12 -1
  21. kerykeion/settings/__init__.py +16 -2
  22. kerykeion/settings/chart_defaults.py +444 -0
  23. kerykeion/settings/config_constants.py +0 -5
  24. kerykeion/settings/kerykeion_settings.py +31 -74
  25. kerykeion/settings/translation_strings.py +1479 -0
  26. kerykeion/settings/translations.py +74 -0
  27. kerykeion/transits_time_range_factory.py +10 -1
  28. {kerykeion-5.0.0b2.dist-info → kerykeion-5.0.0b5.dist-info}/METADATA +333 -207
  29. {kerykeion-5.0.0b2.dist-info → kerykeion-5.0.0b5.dist-info}/RECORD +31 -26
  30. kerykeion/settings/kr.config.json +0 -1474
  31. kerykeion/settings/legacy/__init__.py +0 -0
  32. kerykeion/settings/legacy/legacy_celestial_points_settings.py +0 -299
  33. kerykeion/settings/legacy/legacy_chart_aspects_settings.py +0 -71
  34. kerykeion/settings/legacy/legacy_color_settings.py +0 -42
  35. {kerykeion-5.0.0b2.dist-info → kerykeion-5.0.0b5.dist-info}/WHEEL +0 -0
  36. {kerykeion-5.0.0b2.dist-info → kerykeion-5.0.0b5.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,148 @@
1
+ :root {
2
+ /* -------- */
3
+ /* General */
4
+ /* ------- */
5
+ --kerykeion-color-black: #000000;
6
+ --kerykeion-color-white: #ffffff;
7
+
8
+ --kerykeion-color-neutral-content: #111111;
9
+ --kerykeion-color-base-content: #111111;
10
+ --kerykeion-color-primary: #222222;
11
+ --kerykeion-color-secondary: #444444;
12
+ --kerykeion-color-accent: #666666;
13
+ --kerykeion-color-neutral: #1a1a1a;
14
+ --kerykeion-color-base-100: #ffffff;
15
+ --kerykeion-color-info: #222222;
16
+ --kerykeion-color-info-content: #ffffff;
17
+ --kerykeion-color-success: #333333;
18
+ --kerykeion-color-warning: #555555;
19
+ --kerykeion-color-error: #777777;
20
+
21
+ /* Zodiac */
22
+ --kerykeion-color-base-200: #f0f0f0;
23
+ --kerykeion-color-base-300: #d9d9d9;
24
+
25
+ /* ----------- */
26
+ /* Chart Color */
27
+ /* ----------- */
28
+
29
+ /* Main colors */
30
+ --kerykeion-chart-color-paper-0: var(--kerykeion-color-neutral-content);
31
+ --kerykeion-chart-color-paper-1: var(--kerykeion-color-base-100);
32
+
33
+ /* Zodiac Sign Sectors */
34
+ --kerykeion-chart-color-zodiac-bg-0: var(--kerykeion-color-base-200);
35
+ --kerykeion-chart-color-zodiac-bg-1: var(--kerykeion-color-base-300);
36
+ --kerykeion-chart-color-zodiac-bg-2: var(--kerykeion-color-base-200);
37
+ --kerykeion-chart-color-zodiac-bg-3: var(--kerykeion-color-base-300);
38
+ --kerykeion-chart-color-zodiac-bg-4: var(--kerykeion-color-base-200);
39
+ --kerykeion-chart-color-zodiac-bg-5: var(--kerykeion-color-base-300);
40
+ --kerykeion-chart-color-zodiac-bg-6: var(--kerykeion-color-base-200);
41
+ --kerykeion-chart-color-zodiac-bg-7: var(--kerykeion-color-base-300);
42
+ --kerykeion-chart-color-zodiac-bg-8: var(--kerykeion-color-base-200);
43
+ --kerykeion-chart-color-zodiac-bg-9: var(--kerykeion-color-base-300);
44
+ --kerykeion-chart-color-zodiac-bg-10: var(--kerykeion-color-base-200);
45
+ --kerykeion-chart-color-zodiac-bg-11: var(--kerykeion-color-base-300);
46
+
47
+ /* Zodiac Sign Rings */
48
+ --kerykeion-chart-color-zodiac-radix-ring-0: var(--kerykeion-color-black);
49
+ --kerykeion-chart-color-zodiac-radix-ring-1: var(--kerykeion-color-black);
50
+ --kerykeion-chart-color-zodiac-radix-ring-2: var(--kerykeion-color-black);
51
+ --kerykeion-chart-color-zodiac-transit-ring-0: var(--kerykeion-color-black);
52
+ --kerykeion-chart-color-zodiac-transit-ring-1: var(--kerykeion-color-black);
53
+ --kerykeion-chart-color-zodiac-transit-ring-2: var(--kerykeion-color-black);
54
+ --kerykeion-chart-color-zodiac-transit-ring-3: var(--kerykeion-color-black);
55
+ --kerykeion-chart-color-houses-radix-line: var(--kerykeion-color-base-content);
56
+ --kerykeion-chart-color-houses-transit-line: var(--kerykeion-color-base-content);
57
+
58
+ /* Aspects */
59
+ --kerykeion-chart-color-conjunction: #222222;
60
+ --kerykeion-chart-color-semi-sextile: #333333;
61
+ --kerykeion-chart-color-semi-square: #444444;
62
+ --kerykeion-chart-color-sextile: #333333;
63
+ --kerykeion-chart-color-quintile: #555555;
64
+ --kerykeion-chart-color-square: #000000;
65
+ --kerykeion-chart-color-trine: #222222;
66
+ --kerykeion-chart-color-sesquiquadrate: #444444;
67
+ --kerykeion-chart-color-biquintile: #555555;
68
+ --kerykeion-chart-color-quincunx: #444444;
69
+ --kerykeion-chart-color-opposition: #000000;
70
+
71
+ /* Planets */
72
+ --kerykeion-chart-color-sun: #000000;
73
+ --kerykeion-chart-color-moon: #000000;
74
+ --kerykeion-chart-color-mercury: #000000;
75
+ --kerykeion-chart-color-venus: #000000;
76
+ --kerykeion-chart-color-mars: #000000;
77
+ --kerykeion-chart-color-jupiter: #000000;
78
+ --kerykeion-chart-color-saturn: #000000;
79
+ --kerykeion-chart-color-uranus: #000000;
80
+ --kerykeion-chart-color-neptune: #000000;
81
+ --kerykeion-chart-color-pluto: #000000;
82
+ --kerykeion-chart-color-true-node: #000000;
83
+ --kerykeion-chart-color-mean-node: #000000;
84
+ --kerykeion-chart-color-chiron: #000000;
85
+ --kerykeion-chart-color-first-house: #000000;
86
+ --kerykeion-chart-color-tenth-house: #000000;
87
+ --kerykeion-chart-color-seventh-house: #000000;
88
+ --kerykeion-chart-color-fourth-house: #000000;
89
+ --kerykeion-chart-color-mean-lilith: #000000;
90
+ --kerykeion-chart-color-true-lilith: #000000;
91
+ --kerykeion-chart-color-ceres: #000000;
92
+ --kerykeion-chart-color-pallas: #000000;
93
+ --kerykeion-chart-color-juno: #000000;
94
+ --kerykeion-chart-color-vesta: #000000;
95
+ --kerykeion-chart-color-pars-fortunae: #000000;
96
+ --kerykeion-chart-color-vertex: #000000;
97
+ --kerykeion-chart-color-east-point: #000000;
98
+ --kerykeion-chart-color-eris: #000000;
99
+ --kerykeion-chart-color-earth: #000000;
100
+ --kerykeion-chart-color-pholus: #000000;
101
+ --kerykeion-chart-color-sedna: #000000;
102
+ --kerykeion-chart-color-haumea: #000000;
103
+ --kerykeion-chart-color-makemake: #000000;
104
+ --kerykeion-chart-color-ixion: #000000;
105
+ --kerykeion-chart-color-orcus: #000000;
106
+ --kerykeion-chart-color-quaoar: #000000;
107
+ --kerykeion-chart-color-regulus: #000000;
108
+ --kerykeion-chart-color-spica: #000000;
109
+ --kerykeion-chart-color-anti-vertex: #000000;
110
+
111
+ /* Arab Parts */
112
+ --kerykeion-chart-color-pars-spiritus: #000000;
113
+ --kerykeion-chart-color-pars-amoris: #000000;
114
+ --kerykeion-chart-color-pars-fortunae: #000000;
115
+ --kerykeion-chart-color-pars-fidei: #000000;
116
+
117
+ /* Zodiac Signs */
118
+ --kerykeion-chart-color-zodiac-icon-0: #000000;
119
+ --kerykeion-chart-color-zodiac-icon-1: #000000;
120
+ --kerykeion-chart-color-zodiac-icon-2: #000000;
121
+ --kerykeion-chart-color-zodiac-icon-3: #000000;
122
+ --kerykeion-chart-color-zodiac-icon-4: #000000;
123
+ --kerykeion-chart-color-zodiac-icon-5: #000000;
124
+ --kerykeion-chart-color-zodiac-icon-6: #000000;
125
+ --kerykeion-chart-color-zodiac-icon-7: #000000;
126
+ --kerykeion-chart-color-zodiac-icon-8: #000000;
127
+ --kerykeion-chart-color-zodiac-icon-9: #000000;
128
+ --kerykeion-chart-color-zodiac-icon-10: #000000;
129
+ --kerykeion-chart-color-zodiac-icon-11: #000000;
130
+
131
+ /* Elements Percentage */
132
+ --kerykeion-chart-color-air-percentage: #111111;
133
+ --kerykeion-chart-color-earth-percentage: #333333;
134
+ --kerykeion-chart-color-fire-percentage: #555555;
135
+ --kerykeion-chart-color-water-percentage: #777777;
136
+
137
+ /* Modalities Percentage */
138
+ --kerykeion-chart-color-cardinal-percentage: #222222;
139
+ --kerykeion-chart-color-fixed-percentage: #444444;
140
+ --kerykeion-chart-color-mutable-percentage: #666666;
141
+
142
+ /* Aspects */
143
+ --kerykeion-chart-color-lunar-phase-0: var(--kerykeion-color-black);
144
+ --kerykeion-chart-color-lunar-phase-1: var(--kerykeion-color-white);
145
+
146
+ /* Houses Numbers */
147
+ --kerykeion-chart-color-house-number: #000000;
148
+ }
@@ -0,0 +1,70 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Backward compatibility module for Kerykeion v4.x imports.
4
+
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types import ...
8
+ NEW: from kerykeion.schemas import ...
9
+ """
10
+ import warnings
11
+
12
+ # Issue deprecation warning when this module is imported
13
+ warnings.warn(
14
+ "The 'kerykeion.kr_types' module is deprecated and will be removed in v6.0. "
15
+ "Please update your imports to use 'kerykeion.schemas' instead.",
16
+ DeprecationWarning,
17
+ stacklevel=2,
18
+ )
19
+
20
+ # Re-export everything from schemas for backward compatibility
21
+ from kerykeion.schemas import * # noqa: F401, F403
22
+ from kerykeion.schemas.kerykeion_exception import * # noqa: F401, F403
23
+ from kerykeion.schemas.kr_literals import * # noqa: F401, F403
24
+ from kerykeion.schemas.kr_models import * # noqa: F401, F403
25
+ from kerykeion.schemas.settings_models import * # noqa: F401, F403
26
+ from kerykeion.schemas.chart_template_model import * # noqa: F401, F403
27
+
28
+ __all__ = [
29
+ # Re-export from schemas
30
+ "KerykeionException",
31
+ # kr_literals
32
+ "ZodiacType",
33
+ "Sign",
34
+ "SignNumbers",
35
+ "AspectMovementType",
36
+ "Houses",
37
+ "HouseNumbers",
38
+ "AstrologicalPoint",
39
+ "Element",
40
+ "Quality",
41
+ "ChartType",
42
+ "PointType",
43
+ "LunarPhaseEmoji",
44
+ "LunarPhaseName",
45
+ "SiderealMode",
46
+ "HousesSystemIdentifier",
47
+ "PerspectiveType",
48
+ "SignsEmoji",
49
+ "KerykeionChartTheme",
50
+ "KerykeionChartLanguage",
51
+ "RelationshipScoreDescription",
52
+ "CompositeChartType",
53
+ "AspectName",
54
+ # kr_models
55
+ "AstrologicalSubjectModel",
56
+ "CompositeSubjectModel",
57
+ "KerykeionPointModel",
58
+ "AspectModel",
59
+ "ActiveAspect",
60
+ "SingleChartAspectsModel",
61
+ "DualChartAspectsModel",
62
+ "ElementDistributionModel",
63
+ "QualityDistributionModel",
64
+ "SingleChartDataModel",
65
+ "DualChartDataModel",
66
+ # settings_models
67
+ "KerykeionSettingsModel",
68
+ # chart_template_model
69
+ "ChartTemplateModel",
70
+ ]
@@ -0,0 +1,20 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Backward compatibility module for chart_template_model.
4
+
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types.chart_template_model import ...
8
+ NEW: from kerykeion.schemas.chart_template_model import ...
9
+ """
10
+ import warnings
11
+
12
+ warnings.warn(
13
+ "The 'kerykeion.kr_types.chart_template_model' module is deprecated and will be removed in v6.0. "
14
+ "Please update your imports to use 'kerykeion.schemas.chart_template_model' instead.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
17
+ )
18
+
19
+ # Re-export everything from schemas.chart_template_model for backward compatibility
20
+ from kerykeion.schemas.chart_template_model import * # noqa: F401, F403
@@ -0,0 +1,20 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Backward compatibility module for kerykeion_exception.
4
+
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types.kerykeion_exception import ...
8
+ NEW: from kerykeion.schemas.kerykeion_exception import ...
9
+ """
10
+ import warnings
11
+
12
+ warnings.warn(
13
+ "The 'kerykeion.kr_types.kerykeion_exception' module is deprecated and will be removed in v6.0. "
14
+ "Please update your imports to use 'kerykeion.schemas.kerykeion_exception' instead.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
17
+ )
18
+
19
+ # Re-export everything from schemas.kerykeion_exception for backward compatibility
20
+ from kerykeion.schemas.kerykeion_exception import * # noqa: F401, F403
@@ -0,0 +1,20 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Backward compatibility module for kr_literals.
4
+
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types.kr_literals import ...
8
+ NEW: from kerykeion.schemas.kr_literals import ...
9
+ """
10
+ import warnings
11
+
12
+ warnings.warn(
13
+ "The 'kerykeion.kr_types.kr_literals' module is deprecated and will be removed in v6.0. "
14
+ "Please update your imports to use 'kerykeion.schemas.kr_literals' instead.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
17
+ )
18
+
19
+ # Re-export everything from schemas.kr_literals for backward compatibility
20
+ from kerykeion.schemas.kr_literals import * # noqa: F401, F403
@@ -0,0 +1,20 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Backward compatibility module for kr_models.
4
+
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types.kr_models import ...
8
+ NEW: from kerykeion.schemas.kr_models import ...
9
+ """
10
+ import warnings
11
+
12
+ warnings.warn(
13
+ "The 'kerykeion.kr_types.kr_models' module is deprecated and will be removed in v6.0. "
14
+ "Please update your imports to use 'kerykeion.schemas.kr_models' instead.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
17
+ )
18
+
19
+ # Re-export everything from schemas.kr_models for backward compatibility
20
+ from kerykeion.schemas.kr_models import * # noqa: F401, F403
@@ -0,0 +1,20 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Backward compatibility module for settings_models.
4
+
5
+ DEPRECATED: This module will be removed in Kerykeion v6.0.
6
+ Please update your imports:
7
+ OLD: from kerykeion.kr_types.settings_models import ...
8
+ NEW: from kerykeion.schemas.settings_models import ...
9
+ """
10
+ import warnings
11
+
12
+ warnings.warn(
13
+ "The 'kerykeion.kr_types.settings_models' module is deprecated and will be removed in v6.0. "
14
+ "Please update your imports to use 'kerykeion.schemas.settings_models' instead.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
17
+ )
18
+
19
+ # Re-export everything from schemas.settings_models for backward compatibility
20
+ from kerykeion.schemas.settings_models import * # noqa: F401, F403
@@ -41,9 +41,11 @@ Copyright: (C) 2025 Kerykeion Project
41
41
  License: AGPL-3.0
42
42
  """
43
43
 
44
+ import logging
45
+ from typing import Optional
46
+
44
47
  from kerykeion import AstrologicalSubjectFactory
45
48
  from kerykeion.aspects import AspectsFactory
46
- import logging
47
49
  from kerykeion.schemas.kr_models import AstrologicalSubjectModel, RelationshipScoreAspectModel, RelationshipScoreModel
48
50
  from kerykeion.schemas.kr_literals import RelationshipScoreDescription
49
51
 
@@ -77,6 +79,8 @@ class RelationshipScoreFactory:
77
79
  first_subject (AstrologicalSubjectModel): First astrological subject
78
80
  second_subject (AstrologicalSubjectModel): Second astrological subject
79
81
  use_only_major_aspects (bool, optional): Filter to major aspects only. Defaults to True.
82
+ axis_orb_limit (float | None, optional): Optional orb threshold for chart axes
83
+ filtering during aspect calculation.
80
84
 
81
85
  Reference:
82
86
  http://www.cirodiscepolo.it/Articoli/Discepoloele.htm
@@ -98,6 +102,8 @@ class RelationshipScoreFactory:
98
102
  first_subject: AstrologicalSubjectModel,
99
103
  second_subject: AstrologicalSubjectModel,
100
104
  use_only_major_aspects: bool = True,
105
+ *,
106
+ axis_orb_limit: Optional[float] = None,
101
107
  ):
102
108
  self.use_only_major_aspects = use_only_major_aspects
103
109
  self.first_subject: AstrologicalSubjectModel = first_subject
@@ -107,7 +113,11 @@ class RelationshipScoreFactory:
107
113
  self.relationship_score_description: RelationshipScoreDescription = "Minimal"
108
114
  self.is_destiny_sign = False
109
115
  self.relationship_score_aspects: list[RelationshipScoreAspectModel] = []
110
- self._synastry_aspects = AspectsFactory.dual_chart_aspects(self.first_subject, self.second_subject).all_aspects
116
+ self._synastry_aspects = AspectsFactory.dual_chart_aspects(
117
+ self.first_subject,
118
+ self.second_subject,
119
+ axis_orb_limit=axis_orb_limit,
120
+ ).all_aspects
111
121
 
112
122
  def _evaluate_destiny_sign(self):
113
123
  """
@@ -27,6 +27,9 @@ from .kr_literals import (
27
27
  RelationshipScoreDescription,
28
28
  CompositeChartType,
29
29
  AspectName,
30
+ # Deprecated aliases
31
+ Planet,
32
+ AxialCusps,
30
33
  )
31
34
  from .kr_models import (
32
35
  SubscriptableBaseModel,
@@ -80,6 +83,10 @@ __all__ = [
80
83
  "CompositeChartType",
81
84
  "AspectName",
82
85
 
86
+ # Deprecated aliases (for v4.x compatibility, will be removed in v6.0)
87
+ "Planet",
88
+ "AxialCusps",
89
+
83
90
  # Main Model Classes (from kr_models)
84
91
  "SubscriptableBaseModel",
85
92
  "LunarPhaseModel",
@@ -136,7 +136,7 @@ Usually the standard is "Apparent Geocentric"
136
136
  SignsEmoji = Literal["♈️", "♉️", "♊️", "♋️", "♌️", "♍️", "♎️", "♏️", "♐️", "♑️", "♒️", "♓️"]
137
137
  """Literal type for Zodiac Signs Emoji"""
138
138
 
139
- KerykeionChartTheme = Literal["light", "dark", "dark-high-contrast", "classic", "strawberry"]
139
+ KerykeionChartTheme = Literal["light", "dark", "dark-high-contrast", "classic", "strawberry", "black-and-white"]
140
140
  """Literal type for Kerykeion Chart Themes"""
141
141
 
142
142
 
@@ -168,3 +168,14 @@ AspectName = Literal[
168
168
 
169
169
  ReturnType = Literal["Lunar", "Solar"]
170
170
  """Literal type for Return Types"""
171
+
172
+
173
+ # ---------------------------------------------------------------------------
174
+ # Deprecated aliases for backward compatibility with Kerykeion v4.x
175
+ # ---------------------------------------------------------------------------
176
+ # These will be removed in v6.0 - migrate to AstrologicalPoint
177
+ Planet = AstrologicalPoint
178
+ """DEPRECATED: Use AstrologicalPoint instead. This alias will be removed in v6.0."""
179
+
180
+ AxialCusps = AstrologicalPoint
181
+ """DEPRECATED: Use AstrologicalPoint instead. This alias will be removed in v6.0."""
@@ -1,6 +1,20 @@
1
- from .kerykeion_settings import KerykeionSettingsModel, get_settings
1
+ from kerykeion.schemas import KerykeionSettingsModel
2
+ from .chart_defaults import (
3
+ DEFAULT_CHART_COLORS,
4
+ DEFAULT_CELESTIAL_POINTS_SETTINGS,
5
+ DEFAULT_CHART_ASPECTS_SETTINGS,
6
+ )
7
+ from .kerykeion_settings import LANGUAGE_SETTINGS, SettingsSource, load_settings_mapping
8
+ from .translations import get_translations, load_language_settings
2
9
 
3
10
  __all__ = [
4
11
  "KerykeionSettingsModel",
5
- "get_settings",
12
+ "DEFAULT_CHART_COLORS",
13
+ "DEFAULT_CELESTIAL_POINTS_SETTINGS",
14
+ "DEFAULT_CHART_ASPECTS_SETTINGS",
15
+ "LANGUAGE_SETTINGS",
16
+ "load_settings_mapping",
17
+ "load_language_settings",
18
+ "get_translations",
19
+ "SettingsSource",
6
20
  ]