qazaqify 0.1.0__tar.gz

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 (40) hide show
  1. qazaqify-0.1.0/.github/workflows/ci.yml +22 -0
  2. qazaqify-0.1.0/.gitignore +26 -0
  3. qazaqify-0.1.0/CHANGELOG.md +5 -0
  4. qazaqify-0.1.0/LICENSE +21 -0
  5. qazaqify-0.1.0/PKG-INFO +163 -0
  6. qazaqify-0.1.0/README.md +139 -0
  7. qazaqify-0.1.0/pyproject.toml +53 -0
  8. qazaqify-0.1.0/src/qazaqify/__init__.py +257 -0
  9. qazaqify-0.1.0/src/qazaqify/_dt.py +29 -0
  10. qazaqify-0.1.0/src/qazaqify/calendar.py +292 -0
  11. qazaqify-0.1.0/src/qazaqify/currency.py +114 -0
  12. qazaqify-0.1.0/src/qazaqify/dates.py +51 -0
  13. qazaqify-0.1.0/src/qazaqify/duration.py +72 -0
  14. qazaqify-0.1.0/src/qazaqify/icu.py +166 -0
  15. qazaqify-0.1.0/src/qazaqify/interval.py +86 -0
  16. qazaqify-0.1.0/src/qazaqify/lists.py +20 -0
  17. qazaqify-0.1.0/src/qazaqify/message.py +28 -0
  18. qazaqify-0.1.0/src/qazaqify/numbers.py +85 -0
  19. qazaqify-0.1.0/src/qazaqify/plural.py +28 -0
  20. qazaqify-0.1.0/src/qazaqify/py.typed +0 -0
  21. qazaqify-0.1.0/src/qazaqify/relative.py +318 -0
  22. qazaqify-0.1.0/src/qazaqify/styles.py +114 -0
  23. qazaqify-0.1.0/src/qazaqify/times.py +45 -0
  24. qazaqify-0.1.0/src/qazaqify/units.py +228 -0
  25. qazaqify-0.1.0/src/qazaqify/words.py +276 -0
  26. qazaqify-0.1.0/src/qazaqify/year.py +37 -0
  27. qazaqify-0.1.0/tests/test_calendar.py +78 -0
  28. qazaqify-0.1.0/tests/test_currency.py +7 -0
  29. qazaqify-0.1.0/tests/test_dates.py +26 -0
  30. qazaqify-0.1.0/tests/test_duration.py +6 -0
  31. qazaqify-0.1.0/tests/test_icu.py +19 -0
  32. qazaqify-0.1.0/tests/test_interval.py +22 -0
  33. qazaqify-0.1.0/tests/test_lists.py +7 -0
  34. qazaqify-0.1.0/tests/test_message.py +5 -0
  35. qazaqify-0.1.0/tests/test_numbers.py +64 -0
  36. qazaqify-0.1.0/tests/test_plural.py +15 -0
  37. qazaqify-0.1.0/tests/test_relative.py +114 -0
  38. qazaqify-0.1.0/tests/test_units.py +58 -0
  39. qazaqify-0.1.0/tests/test_words.py +182 -0
  40. qazaqify-0.1.0/tests/test_year.py +10 -0
@@ -0,0 +1,22 @@
1
+ name: ci
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+
8
+ jobs:
9
+ test:
10
+ runs-on: ubuntu-latest
11
+ strategy:
12
+ matrix:
13
+ python-version: ["3.10", "3.12"]
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - uses: actions/setup-python@v5
17
+ with:
18
+ python-version: ${{ matrix.python-version }}
19
+ - run: pip install -e ".[dev]"
20
+ - run: ruff check
21
+ - run: mypy src
22
+ - run: pytest
@@ -0,0 +1,26 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.egg-info/
6
+ .eggs/
7
+ dist/
8
+ build/
9
+ .venv/
10
+ venv/
11
+ .env
12
+
13
+ # Tools
14
+ .mypy_cache/
15
+ .ruff_cache/
16
+ .pytest_cache/
17
+ .coverage
18
+ htmlcov/
19
+ coverage.xml
20
+
21
+ # OS / IDE
22
+ .DS_Store
23
+ .idea/
24
+ .vscode/
25
+ *.swp
26
+ *~
@@ -0,0 +1,5 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0
4
+
5
+ Initial Python port of qazaqify-go: dates, numbers, currency, relative time, units, and UI formatting for Kazakh.
qazaqify-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Nurdaulet Rakhymberdi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,163 @@
1
+ Metadata-Version: 2.5
2
+ Name: qazaqify
3
+ Version: 0.1.0
4
+ Summary: Kazakh formatting and localization for Python
5
+ Project-URL: Homepage, https://github.com/Rnurdaulet/qazaqify-python
6
+ Project-URL: Repository, https://github.com/Rnurdaulet/qazaqify-python
7
+ Author: Nurdaulet Rakhymberdi
8
+ License: MIT
9
+ License-File: LICENSE
10
+ Keywords: formatting,i18n,kazakh,l10n,locale,qazaq
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Typing :: Typed
18
+ Requires-Python: >=3.10
19
+ Provides-Extra: dev
20
+ Requires-Dist: mypy>=1.13; extra == 'dev'
21
+ Requires-Dist: pytest>=8; extra == 'dev'
22
+ Requires-Dist: ruff>=0.8; extra == 'dev'
23
+ Description-Content-Type: text/markdown
24
+
25
+ # qazaqify
26
+
27
+ [![Python](https://img.shields.io/badge/python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/downloads/)
28
+ [![CI](https://github.com/Rnurdaulet/qazaqify-python/actions/workflows/ci.yml/badge.svg)](https://github.com/Rnurdaulet/qazaqify-python/actions/workflows/ci.yml)
29
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
30
+ [![PyPI](https://img.shields.io/pypi/v/qazaqify)](https://pypi.org/project/qazaqify/)
31
+
32
+ Kazakh formatting and localization for Python.
33
+
34
+ Dates, numbers, currency, relative time, units, and UI formatting for Python.
35
+
36
+ You don't have to build Kazakh UI text with `f"{days} күн бұрын"`. Call a function and get ready-to-use text.
37
+
38
+ ## Installation
39
+
40
+ ```bash
41
+ pip install qazaqify
42
+ ```
43
+
44
+ ## Usage
45
+
46
+ ```python
47
+ from datetime import datetime, timezone
48
+
49
+ from qazaqify import (
50
+ DateStyle,
51
+ TimeStyle,
52
+ format_date,
53
+ format_time,
54
+ format_datetime,
55
+ relative_time,
56
+ calendar,
57
+ format_interval,
58
+ number,
59
+ currency,
60
+ currency_words,
61
+ percent,
62
+ unit,
63
+ bytes,
64
+ duration,
65
+ human_duration,
66
+ ordinal,
67
+ words,
68
+ join,
69
+ join_or,
70
+ message,
71
+ )
72
+
73
+ t = datetime(2026, 9, 4, 14, 30, tzinfo=timezone.utc)
74
+
75
+ format_date(t, DateStyle.LONG)
76
+ # "2026 ж. 4 қыркүйек"
77
+
78
+ format_time(t, TimeStyle.SHORT)
79
+ # "14:30"
80
+
81
+ format_datetime(t)
82
+ # "4 қыркүйек 2026, 14:30"
83
+
84
+ relative_time(t)
85
+ # "5 минут бұрын"
86
+
87
+ calendar(t, now)
88
+ # "бүгін, 14:30"
89
+
90
+ format_interval(start, end)
91
+ # "2026 ж. 4–10 қыркүйек"
92
+
93
+ number(1234567.89)
94
+ # "1 234 567,89"
95
+
96
+ currency(12500, "KZT")
97
+ # "12 500 ₸"
98
+
99
+ currency_words(12500)
100
+ # "он екі мың бес жүз теңге"
101
+
102
+ percent(0.75)
103
+ # "75%"
104
+
105
+ unit(1500, "meter")
106
+ # "1,5 км"
107
+
108
+ bytes(1536000)
109
+ # "1,5 МБ"
110
+
111
+ duration(3665)
112
+ # "1 сағат 1 минут 5 секунд"
113
+
114
+ human_duration(3665)
115
+ # "шамамен 1 сағат"
116
+
117
+ ordinal(21)
118
+ # "21-ші"
119
+
120
+ words(123)
121
+ # "жүз жиырма үш"
122
+
123
+ join(["Алма", "алмұрт", "өрік"])
124
+ # "Алма, алмұрт және өрік"
125
+
126
+ join_or(["Алма", "алмұрт", "өрік"])
127
+ # "Алма, алмұрт немесе өрік"
128
+
129
+ message("{count} жаңа хабарлама", count=5)
130
+ # "5 жаңа хабарлама"
131
+ ```
132
+
133
+ `DateStyle` / `TimeStyle` also accept strings: `format_date(t, "long")`.
134
+
135
+ `bytes` shadows the builtin when imported by name. Use `from qazaqify import bytes as format_bytes` if you still need the builtin in the same scope.
136
+
137
+ ## Features
138
+
139
+ * Date and time formatting
140
+ * Relative time
141
+ * Date and time intervals
142
+ * Calendar helpers
143
+ * Number formatting
144
+ * Numbers in words
145
+ * Ordinal numbers
146
+ * Currency formatting
147
+ * Percentages
148
+ * Units and byte sizes
149
+ * Durations
150
+ * List formatting
151
+ * Simple message formatting
152
+ * Kazakh locale data
153
+
154
+ ## Development
155
+
156
+ ```bash
157
+ pip install -e ".[dev]"
158
+ pytest
159
+ ```
160
+
161
+ ## License
162
+
163
+ MIT License
@@ -0,0 +1,139 @@
1
+ # qazaqify
2
+
3
+ [![Python](https://img.shields.io/badge/python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/downloads/)
4
+ [![CI](https://github.com/Rnurdaulet/qazaqify-python/actions/workflows/ci.yml/badge.svg)](https://github.com/Rnurdaulet/qazaqify-python/actions/workflows/ci.yml)
5
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
6
+ [![PyPI](https://img.shields.io/pypi/v/qazaqify)](https://pypi.org/project/qazaqify/)
7
+
8
+ Kazakh formatting and localization for Python.
9
+
10
+ Dates, numbers, currency, relative time, units, and UI formatting for Python.
11
+
12
+ You don't have to build Kazakh UI text with `f"{days} күн бұрын"`. Call a function and get ready-to-use text.
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ pip install qazaqify
18
+ ```
19
+
20
+ ## Usage
21
+
22
+ ```python
23
+ from datetime import datetime, timezone
24
+
25
+ from qazaqify import (
26
+ DateStyle,
27
+ TimeStyle,
28
+ format_date,
29
+ format_time,
30
+ format_datetime,
31
+ relative_time,
32
+ calendar,
33
+ format_interval,
34
+ number,
35
+ currency,
36
+ currency_words,
37
+ percent,
38
+ unit,
39
+ bytes,
40
+ duration,
41
+ human_duration,
42
+ ordinal,
43
+ words,
44
+ join,
45
+ join_or,
46
+ message,
47
+ )
48
+
49
+ t = datetime(2026, 9, 4, 14, 30, tzinfo=timezone.utc)
50
+
51
+ format_date(t, DateStyle.LONG)
52
+ # "2026 ж. 4 қыркүйек"
53
+
54
+ format_time(t, TimeStyle.SHORT)
55
+ # "14:30"
56
+
57
+ format_datetime(t)
58
+ # "4 қыркүйек 2026, 14:30"
59
+
60
+ relative_time(t)
61
+ # "5 минут бұрын"
62
+
63
+ calendar(t, now)
64
+ # "бүгін, 14:30"
65
+
66
+ format_interval(start, end)
67
+ # "2026 ж. 4–10 қыркүйек"
68
+
69
+ number(1234567.89)
70
+ # "1 234 567,89"
71
+
72
+ currency(12500, "KZT")
73
+ # "12 500 ₸"
74
+
75
+ currency_words(12500)
76
+ # "он екі мың бес жүз теңге"
77
+
78
+ percent(0.75)
79
+ # "75%"
80
+
81
+ unit(1500, "meter")
82
+ # "1,5 км"
83
+
84
+ bytes(1536000)
85
+ # "1,5 МБ"
86
+
87
+ duration(3665)
88
+ # "1 сағат 1 минут 5 секунд"
89
+
90
+ human_duration(3665)
91
+ # "шамамен 1 сағат"
92
+
93
+ ordinal(21)
94
+ # "21-ші"
95
+
96
+ words(123)
97
+ # "жүз жиырма үш"
98
+
99
+ join(["Алма", "алмұрт", "өрік"])
100
+ # "Алма, алмұрт және өрік"
101
+
102
+ join_or(["Алма", "алмұрт", "өрік"])
103
+ # "Алма, алмұрт немесе өрік"
104
+
105
+ message("{count} жаңа хабарлама", count=5)
106
+ # "5 жаңа хабарлама"
107
+ ```
108
+
109
+ `DateStyle` / `TimeStyle` also accept strings: `format_date(t, "long")`.
110
+
111
+ `bytes` shadows the builtin when imported by name. Use `from qazaqify import bytes as format_bytes` if you still need the builtin in the same scope.
112
+
113
+ ## Features
114
+
115
+ * Date and time formatting
116
+ * Relative time
117
+ * Date and time intervals
118
+ * Calendar helpers
119
+ * Number formatting
120
+ * Numbers in words
121
+ * Ordinal numbers
122
+ * Currency formatting
123
+ * Percentages
124
+ * Units and byte sizes
125
+ * Durations
126
+ * List formatting
127
+ * Simple message formatting
128
+ * Kazakh locale data
129
+
130
+ ## Development
131
+
132
+ ```bash
133
+ pip install -e ".[dev]"
134
+ pytest
135
+ ```
136
+
137
+ ## License
138
+
139
+ MIT License
@@ -0,0 +1,53 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "qazaqify"
7
+ version = "0.1.0"
8
+ description = "Kazakh formatting and localization for Python"
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ requires-python = ">=3.10"
12
+ authors = [{ name = "Nurdaulet Rakhymberdi" }]
13
+ keywords = ["kazakh", "qazaq", "i18n", "l10n", "formatting", "locale"]
14
+ classifiers = [
15
+ "License :: OSI Approved :: MIT License",
16
+ "Programming Language :: Python :: 3",
17
+ "Programming Language :: Python :: 3.10",
18
+ "Programming Language :: Python :: 3.11",
19
+ "Programming Language :: Python :: 3.12",
20
+ "Programming Language :: Python :: 3.13",
21
+ "Typing :: Typed",
22
+ ]
23
+
24
+ [project.optional-dependencies]
25
+ dev = [
26
+ "pytest>=8",
27
+ "ruff>=0.8",
28
+ "mypy>=1.13",
29
+ ]
30
+
31
+ [project.urls]
32
+ Homepage = "https://github.com/Rnurdaulet/qazaqify-python"
33
+ Repository = "https://github.com/Rnurdaulet/qazaqify-python"
34
+
35
+ [tool.hatch.build.targets.wheel]
36
+ packages = ["src/qazaqify"]
37
+
38
+ [tool.pytest.ini_options]
39
+ testpaths = ["tests"]
40
+
41
+ [tool.ruff]
42
+ target-version = "py310"
43
+ line-length = 100
44
+ src = ["src", "tests"]
45
+
46
+ [tool.ruff.lint]
47
+ select = ["E", "F", "I", "UP"]
48
+
49
+ [tool.mypy]
50
+ python_version = "3.10"
51
+ strict = true
52
+ mypy_path = "src"
53
+ files = ["src/qazaqify"]
@@ -0,0 +1,257 @@
1
+ from .calendar import (
2
+ AM,
3
+ ERA_BCE_SHORT,
4
+ ERA_BCE_WIDE,
5
+ ERA_CE_SHORT,
6
+ ERA_CE_WIDE,
7
+ PM,
8
+ DayPeriod,
9
+ Season,
10
+ ampm,
11
+ day_period_at,
12
+ day_period_name,
13
+ first_weekday,
14
+ month,
15
+ months,
16
+ quarter_name,
17
+ quarter_of,
18
+ season_of,
19
+ weekday,
20
+ weekday_locative,
21
+ weekdays,
22
+ weekdays_monday_first,
23
+ )
24
+ from .currency import (
25
+ CURRENCY_CODE,
26
+ CURRENCY_SYMBOL,
27
+ TENGE,
28
+ TIYN,
29
+ Money,
30
+ currency,
31
+ currency_kzt,
32
+ currency_major_words,
33
+ currency_words,
34
+ currency_words_mixed,
35
+ currency_words_tiyn,
36
+ money_from_tiyn,
37
+ )
38
+ from .dates import DATE_PATTERNS, format_date, format_datetime, year_label
39
+ from .duration import duration, duration_words, format_duration_units, human_duration
40
+ from .icu import icu, icu_float
41
+ from .interval import format_datetime_interval, format_interval, format_time_interval
42
+ from .lists import join, join_or
43
+ from .message import message
44
+ from .numbers import (
45
+ DECIMAL_SEPARATOR,
46
+ GROUP_SEPARATOR,
47
+ NAN,
48
+ PERCENT_SIGN,
49
+ integer,
50
+ number,
51
+ ordinal,
52
+ percent,
53
+ )
54
+ from .plural import count, plural, plural_category, plural_category_float, plural_float
55
+ from .relative import (
56
+ DAY_AFTER_TOMORR,
57
+ DAY_BEFORE_YEST,
58
+ DAY_BEFORE_YEST_SHORT,
59
+ JUST_NOW,
60
+ LAST_MONTH,
61
+ LAST_WEEK,
62
+ LAST_YEAR,
63
+ NEXT_MONTH,
64
+ NEXT_WEEK,
65
+ NEXT_YEAR,
66
+ NOW,
67
+ THIS_MONTH,
68
+ THIS_WEEK,
69
+ THIS_YEAR,
70
+ TODAY,
71
+ TOMORROW,
72
+ YESTERDAY,
73
+ ago,
74
+ calendar,
75
+ calendar_relative,
76
+ distance,
77
+ duration_relative,
78
+ later,
79
+ named_day,
80
+ named_day_width,
81
+ named_month,
82
+ named_week,
83
+ named_year,
84
+ relative_at,
85
+ relative_time,
86
+ relative_time_at,
87
+ relative_to,
88
+ relative_weekday,
89
+ since,
90
+ since_at,
91
+ until,
92
+ until_at,
93
+ )
94
+ from .styles import ByteBase, Cardinal, DateStyle, Form, TimeStyle, UnitKind, Width
95
+ from .times import TIME_PATTERNS, format_time
96
+ from .units import (
97
+ data_size,
98
+ data_size_iec,
99
+ data_size_si,
100
+ format_bytes,
101
+ format_unit,
102
+ unit,
103
+ unit_name,
104
+ )
105
+ from .words import (
106
+ NumberError,
107
+ must_words_string,
108
+ ordinal_word,
109
+ words,
110
+ words_float,
111
+ words_string,
112
+ words_uint,
113
+ )
114
+ from .year import (
115
+ YEAR_OF_WORD,
116
+ YEAR_WORD,
117
+ year_of,
118
+ year_ordinal_words,
119
+ year_words,
120
+ year_words_of,
121
+ )
122
+
123
+ bytes = format_bytes
124
+
125
+ __version__ = "0.1.0"
126
+
127
+ __all__ = [
128
+ "AM",
129
+ "CURRENCY_CODE",
130
+ "CURRENCY_SYMBOL",
131
+ "DATE_PATTERNS",
132
+ "DAY_AFTER_TOMORR",
133
+ "DAY_BEFORE_YEST",
134
+ "DAY_BEFORE_YEST_SHORT",
135
+ "DECIMAL_SEPARATOR",
136
+ "ERA_BCE_SHORT",
137
+ "ERA_BCE_WIDE",
138
+ "ERA_CE_SHORT",
139
+ "ERA_CE_WIDE",
140
+ "GROUP_SEPARATOR",
141
+ "JUST_NOW",
142
+ "LAST_MONTH",
143
+ "LAST_WEEK",
144
+ "LAST_YEAR",
145
+ "NAN",
146
+ "NEXT_MONTH",
147
+ "NEXT_WEEK",
148
+ "NEXT_YEAR",
149
+ "NOW",
150
+ "PERCENT_SIGN",
151
+ "PM",
152
+ "TENGE",
153
+ "THIS_MONTH",
154
+ "THIS_WEEK",
155
+ "THIS_YEAR",
156
+ "TIME_PATTERNS",
157
+ "TIYN",
158
+ "TODAY",
159
+ "TOMORROW",
160
+ "YEAR_OF_WORD",
161
+ "YEAR_WORD",
162
+ "YESTERDAY",
163
+ "ByteBase",
164
+ "Cardinal",
165
+ "DateStyle",
166
+ "DayPeriod",
167
+ "Form",
168
+ "Money",
169
+ "NumberError",
170
+ "Season",
171
+ "TimeStyle",
172
+ "UnitKind",
173
+ "Width",
174
+ "ago",
175
+ "ampm",
176
+ "bytes",
177
+ "calendar",
178
+ "calendar_relative",
179
+ "count",
180
+ "currency",
181
+ "currency_kzt",
182
+ "currency_major_words",
183
+ "currency_words",
184
+ "currency_words_mixed",
185
+ "currency_words_tiyn",
186
+ "data_size",
187
+ "data_size_iec",
188
+ "data_size_si",
189
+ "day_period_at",
190
+ "day_period_name",
191
+ "distance",
192
+ "duration",
193
+ "duration_relative",
194
+ "duration_words",
195
+ "first_weekday",
196
+ "format_bytes",
197
+ "format_date",
198
+ "format_datetime",
199
+ "format_datetime_interval",
200
+ "format_duration_units",
201
+ "format_interval",
202
+ "format_time",
203
+ "format_time_interval",
204
+ "format_unit",
205
+ "human_duration",
206
+ "icu",
207
+ "icu_float",
208
+ "integer",
209
+ "join",
210
+ "join_or",
211
+ "later",
212
+ "message",
213
+ "money_from_tiyn",
214
+ "month",
215
+ "months",
216
+ "must_words_string",
217
+ "named_day",
218
+ "named_day_width",
219
+ "named_month",
220
+ "named_week",
221
+ "named_year",
222
+ "number",
223
+ "ordinal",
224
+ "ordinal_word",
225
+ "percent",
226
+ "plural",
227
+ "plural_category",
228
+ "plural_category_float",
229
+ "plural_float",
230
+ "quarter_name",
231
+ "quarter_of",
232
+ "relative_at",
233
+ "relative_time",
234
+ "relative_time_at",
235
+ "relative_to",
236
+ "relative_weekday",
237
+ "season_of",
238
+ "since",
239
+ "since_at",
240
+ "unit",
241
+ "unit_name",
242
+ "until",
243
+ "until_at",
244
+ "weekday",
245
+ "weekday_locative",
246
+ "weekdays",
247
+ "weekdays_monday_first",
248
+ "words",
249
+ "words_float",
250
+ "words_string",
251
+ "words_uint",
252
+ "year_label",
253
+ "year_of",
254
+ "year_ordinal_words",
255
+ "year_words",
256
+ "year_words_of",
257
+ ]