Coverage for src/wiktextract/extractor/el/section_titles.py: 100%
30 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-03 06:55 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-03 06:55 +0000
1# https://simple.wiktionary.org/wiki/Category:Part_of_speech_templates
2import re
3from enum import Enum, auto
4from typing import Literal, TypedDict
6from ...config import POSSubtitleData
9class Heading(Enum):
10 Err = auto()
11 Ignored = auto()
12 POS = auto()
13 Etym = auto()
14 Pron = auto() # Pronunciation
15 Infl = auto()
16 Related = auto()
17 AltOf = auto()
18 FormOf = auto()
19 Transliterations = auto()
20 Synonyms = auto()
21 Homonyms = auto()
22 Antonyms = auto()
23 Translations = auto()
24 Derived = auto()
25 Ref = auto()
26 Notes = auto()
29Tags = list[str]
30POSName = Literal[
31 "", # Used as default
32 "ERROR_UNKNOWN_POS",
33 "abbrev",
34 "adj",
35 "adv",
36 "adv_phrase",
37 "affix",
38 "article",
39 "character",
40 "conj",
41 "contraction",
42 "det",
43 "infix",
44 "intj",
45 "name",
46 "noun",
47 "num",
48 "particle",
49 "phrase",
50 "prefix",
51 "prep",
52 "pron", # pronoun
53 "romanization",
54 "root",
55 "suffix",
56 "symbol",
57 "verb",
58]
59"""Greek subset of the English PARTS_OF_SPEECH."""
61# Main entries for different kinds of POS headings; no aliases
62# XXX translate these
63POS_DATA: dict[str, POSSubtitleData] = {
64 # "": {"pos": "", "tags": [""],
65 # άρθρο: article // article // article of a charter, law, contract etc.
66 # // limb
67 "άρθρο": {"pos": "article"},
68 # έκφραση - πολυλεκτικός όρος: έκφραση: expression '' ???,
69 # πολυλεκτικός: polylectic όρος: term (word, phrase; limitation,
70 # restriction) // definition, stipulation // clause // article όρος:
71 # mount, mountain
72 "έκφραση - πολυλεκτικός όρος": {"pos": "phrase"},
73 # έκφραση και επίρρημα (επιρρηματική έκφραση): έκφραση: expression
74 # και: and // also // plus, and // past (time) επίρρημα: adverb (lexical
75 # category) επιρρηματική: [επιρρηματικός: adverbial, relating to an
76 # adverb] // Nominative feminine singular form of επιρρηματικός
77 # (epirrimatikós). // Accusative feminine singular form of επιρρηματικός
78 # (epirrimatikós). // Vocative feminine singular form of επιρρηματικός
79 # (epirrimatikós). έκφραση: expression
80 "έκφραση και επίρρημα (επιρρηματική έκφραση)": {"pos": "adv_phrase"},
81 # έκφραση του bask: έκφραση: expression του: [ο: the definite
82 # masculine singular article. the] // genitive masculine singular of ο
83 # (o) (the) // genitive neuter singular of ο (o) (the) του: him, it //
84 # his, its 'bask' ???,
85 ## "bask in something"
86 ## "EXPRESSING 'BASK'" -> phrases?
87 ## No special handling
88 "έκφραση του": {"pos": "phrase"},
89 # έκφραση: expression
90 "έκφραση": {"pos": "phrase"},
91 # ένθημα: ένθημα: infix, interfix
92 "ένθημα": {"pos": "infix"},
93 # αμετάβατο ρήμα: αμετάβατο: [αμετάβατος: intransitive] // Accusative
94 # masculine singular form of αμετάβατος (ametávatos). // Nominative,
95 # accusative and vocative neuter singular form of αμετάβατος
96 # (ametávatos). ρήμα: verb
97 "αμετάβατο ρήμα": {"pos": "verb", "tags": ["intransitive"]},
98 "απαρέμφατο": {"pos": "verb", "tags": ["infinitive"]},
99 # αντωνυμία: αντωνυμία: pronoun // antonymy
100 "αντωνυμία": {"pos": "pron"},
101 # αριθμητικό: αριθμητικό: numeral αριθμητικό: [αριθμητικός:
102 # arithmetical, numerical] // Accusative masculine singular form of
103 # αριθμητικός (arithmitikós). // Nominative, accusative and vocative
104 # neuter singular form of αριθμητικός (arithmitikós).
105 "αριθμητικό": {"pos": "num"},
106 # βαθμός επιθέτου: βαθμός: grade (of job, exams, position in
107 # employment) // rank // degree (unit of temperature) // (plural) marks,
108 # grades // degree (severity of burns) // degree (of an adjective)
109 # επιθέτου: [επίθετο: adjective // surname] // genitive singular of
110 # επίθετο (epítheto)
111 "βαθμός επιθέτου": {"pos": "adj", "tags": ["comparative"]},
112 # βιβλίο φράσεων: βιβλίο: book 'φράσεων' ???,
113 "βιβλίο φράσεων": {"pos": "phrase"},
114 # γερουνδιακό: 'γερουνδιακό' ???,
115 "γερουνδιακό": {"pos": "verb", "tags": ["participle", "gerund"]},
116 # γερούνδιο: γερούνδιο: gerund
117 "γερούνδιο": {"pos": "verb", "tags": ["participle", "gerund"]},
118 # γνωμικά: 'γνωμικά' ???,
119 "γνωμικά": {"pos": "phrase"},
120 # γραμματικό στοιχείο: γραμματικό: [γραμματικός: grammatical (relating
121 # to grammar) // grammatical (using correct grammar)] // [γραμματικός:
122 # grammarian // scribe, secretary] // Accusative masculine singular form
123 # of γραμματικός (grammatikós). // Nominative, accusative and vocative
124 # neuter singular form of γραμματικός (grammatikós). γραμματικό:
125 # [γραμματικός: grammatical (relating to grammar) // grammatical (using
126 # correct grammar)] // [γραμματικός: grammarian // scribe, secretary] //
127 # Accusative singular form of γραμματικός (grammatikós). στοιχείο: unit,
128 # element, cell (a portion of a whole) // element // unit, element, cell
129 # (a portion of a whole) // item of data, piece of information // unit,
130 # element, cell (a portion of a whole) // letter, piece of type // unit,
131 # element, cell (a portion of a whole) // cell, battery // unit,
132 # element, cell (a portion of a whole) // subset of a population
133 "γραμματικό στοιχείο": {"pos": "particle"},
134 # διλεκτικό ουσιαστικό: 'διλεκτικό' ???, ουσιαστικό: noun,
135 # substantive
136 # two-word noun
137 "διλεκτικό ουσιαστικό": {"pos": "noun"},
138 # επίθετο - έκφραση: επίθετο: adjective // surname '' ???, έκφραση:
139 # expression
140 "επίθετο - έκφραση": {"pos": "adj"},
141 # επίθετο - ουσιαστικό: επίθετο: adjective // surname '' ???,
142 # ουσιαστικό: noun, substantive
143 "επίθετο - ουσιαστικό": {"pos": "adj"},
144 # επίθετο ή ουσιαστικό: επίθετο: adjective // surname ή: or // either
145 # … or ουσιαστικό: noun, substantive
146 "επίθετο ή ουσιαστικό": {"pos": "adj", "tags": ["adjective", "noun"]},
147 # επίθετο και επίρρημα: επίθετο: adjective // surname και: and // also
148 # // plus, and // past (time) επίρρημα: adverb (lexical category)
149 "επίθετο και επίρρημα": {"pos": "adj", "tags": ["adjective", "adverb"]},
150 # επίθετο και ουσιαστικό: επίθετο: adjective // surname και: and //
151 # also // plus, and // past (time) ουσιαστικό: noun, substantive
152 "επίθετο και ουσιαστικό": {"pos": "adj", "tags": ["adjective", "noun"]},
153 # επίθετο, επιφώνημα, επίρρημα: επίθετο: adjective // surname
154 # επιφώνημα: interjection, exclamation επίρρημα: adverb (lexical
155 # category)
156 "επίθετο, επιφώνημα, επίρρημα": {"pos": "adj"},
157 # επίθετο, ουσιαστικό, ρήμα: επίθετο: adjective // surname ουσιαστικό:
158 # noun, substantive ρήμα: verb
159 "επίθετο, ουσιαστικό, ρήμα": {"pos": "adj"},
160 # επίθετο, ουσιαστικό: επίθετο: adjective // surname ουσιαστικό: noun,
161 # substantive
162 "επίθετο, ουσιαστικό": {"pos": "adj"},
163 # επίθετο: επίθετο: adjective // surname
164 "επίθετο": {"pos": "adj"},
165 # επίθημα για το σχηματισμό ουδέτερων ουσιαστικών: επίθημα: suffix
166 # για: for // for // for, by // for // about το: [ο: the definite
167 # masculine singular article. the] // nominative neuter singular of ο
168 # (o) (the) // accusative neuter singular of ο (o) (the) το: it (3rd
169 # person neuter singular, nominative) // it (3rd person neuter singular,
170 # accusative) 'σχηματισμό' ???, ουδέτερων: [ουδέτερος: neuter, sexless
171 # // neutral, non-aligned // the gender: neuter // neutral] // Genitive
172 # masculine plural form of ουδέτερος (oudéteros). // Genitive feminine
173 # plural form of ουδέτερος (oudéteros). // Genitive neuter plural form
174 # of ουδέτερος (oudéteros). 'ουσιαστικών' ???,
175 "επίθημα για το σχηματισμό ουδέτερων ουσιαστικών": {"pos": "suffix"},
176 # επίθημα: επίθημα: suffix
177 "επίθημα": {"pos": "suffix"},
178 # επίρρημα - επιφώνημα: επίρρημα: adverb (lexical category) '' ???,
179 # επιφώνημα: interjection, exclamation
180 "επίρρημα - επιφώνημα": {"pos": "adv_phrase"},
181 # επίρρημα, επίθετο: επίρρημα: adverb (lexical category) επίθετο:
182 # adjective // surname
183 "επίρρημα, επίθετο": {"pos": "adv"},
184 # επίρρημα, κλιτικός τύπος επιθέτου: επίρρημα: adverb (lexical
185 # category) 'κλιτικός' ???, τύπος: sort, type, mould, stamp (of a
186 # person character) // model, type (of car, etc) // shape, form // the
187 # press, the newspapers collectively // formality, convention // formula
188 # // a man, a guy, a chap επιθέτου: [επίθετο: adjective // surname] //
189 # genitive singular of επίθετο (epítheto)
190 "επίρρημα, κλιτικός τύπος επιθέτου": {"pos": "adv"},
191 # επίρρημα, ουσιαστικό: επίρρημα: adverb (lexical category)
192 # ουσιαστικό: noun, substantive
193 "επίρρημα, ουσιαστικό": {"pos": "adv"},
194 # επίρρημα: επίρρημα: adverb (lexical category)
195 "επίρρημα": {"pos": "adv"},
196 # επιθετικό συνθετικό: 'επιθετικό' ???, συνθετικό: combining form
197 # συνθετικό: [συνθετικός: synthetic // composite, component] //
198 # Accusative masculine singular form of συνθετικός (synthetikós). //
199 # Nominative, accusative and vocative neuter singular form of συνθετικός
200 # (synthetikós).
201 "επιθετικό συνθετικό": {"pos": "adj"},
202 # επιρρηματική έκφραση: επιρρηματική: [επιρρηματικός: adverbial,
203 # relating to an adverb] // Nominative feminine singular form of
204 # επιρρηματικός (epirrimatikós). // Accusative feminine singular form of
205 # επιρρηματικός (epirrimatikós). // Vocative feminine singular form of
206 # επιρρηματικός (epirrimatikós). έκφραση: expression
207 "επιρρηματική έκφραση": {"pos": "adv_phrase"},
208 # επιφώνημα - ουσιαστικό: επιφώνημα: interjection, exclamation '' ???,
209 # ουσιαστικό: noun, substantive
210 "επιφώνημα - ουσιαστικό": {"pos": "intj"},
211 # επιφώνημα και ουσιαστικό: επιφώνημα: interjection, exclamation και:
212 # and // also // plus, and // past (time) ουσιαστικό: noun, substantive
213 "επιφώνημα και ουσιαστικό": {"pos": "intj"},
214 # επιφώνημα: επιφώνημα: interjection, exclamation
215 "επιφώνημα": {"pos": "intj"},
216 # θηλυκό: θηλυκό: woman, female θηλυκό: [θηλυκός: female (feminine
217 # gender) // feminine (female person or animal)] // Accusative masculine
218 # singular form of θηλυκός (thilykós). // Nominative, accusative and
219 # vocative neuter singular form of θηλυκός (thilykós).
220 "θηλυκό": {"pos": "noun", "tags": ["feminine"]},
221 # κάντζι: 'κάντζι' ???,
222 "κάντζι": {"pos": "character", "tags": ["kanji"]},
223 # κατάληξη αρσενικών επιθέτων: κατάληξη: ending, termination // result
224 # or outcome // ending, suffix αρσενικών: [αρσενικός: masculine] //
225 # Genitive masculine plural form of αρσενικός (arsenikós). // Genitive
226 # feminine plural form of αρσενικός (arsenikós). // Genitive neuter
227 # plural form of αρσενικός (arsenikós). επιθέτων: [επίθετο: adjective //
228 # surname] // genitive plural of επίθετο (epítheto)
229 "κατάληξη αρσενικών επιθέτων": {
230 "pos": "suffix",
231 "tags": ["masculine", "adjective"],
232 },
233 # κατάληξη αρσενικών ουσιαστικών: κατάληξη: ending, termination //
234 # result or outcome // ending, suffix αρσενικών: [αρσενικός: masculine]
235 # // Genitive masculine plural form of αρσενικός (arsenikós). //
236 # Genitive feminine plural form of αρσενικός (arsenikós). // Genitive
237 # neuter plural form of αρσενικός (arsenikós). 'ουσιαστικών' ???,
238 "κατάληξη αρσενικών ουσιαστικών": {
239 "pos": "suffix",
240 "tags": ["masculine", "noun"],
241 },
242 # κατάληξη επιρρημάτων: κατάληξη: ending, termination // result or
243 # outcome // ending, suffix επιρρημάτων: [επίρρημα: adverb (lexical
244 # category)] // Genitive plural form of επίρρημα (epírrima).
245 "κατάληξη επιρρημάτων": {"pos": "suffix", "tags": ["adverbial"]},
246 # κατάληξη θηλυκών ουσιαστικών: κατάληξη: ending, termination //
247 # result or outcome // ending, suffix θηλυκών: [θηλυκός: female
248 # (feminine gender) // feminine (female person or animal)] // Genitive
249 # masculine plural form of θηλυκός (thilykós). // Genitive feminine
250 # plural form of θηλυκός (thilykós). // Genitive neuter plural form of
251 # θηλυκός (thilykós). θηλυκών: [θηλυκό: woman, female] // [θηλυκό:
252 # [θηλυκός: female (feminine gender) // feminine (female person or
253 # animal)] // Accusative masculine singular form of θηλυκός (thilykós).
254 # // Nominative, accusative and vocative neuter singular form of θηλυκός
255 # (thilykós).] // Genitive plural form of θηλυκό (thilykó).
256 # 'ουσιαστικών' ???,
257 "κατάληξη θηλυκών ουσιαστικών": {
258 "pos": "suffix",
259 "tags": ["feminine", "noun"],
260 },
261 # κατάληξη ουδέτερων ουσιαστικών: κατάληξη: ending, termination //
262 # result or outcome // ending, suffix ουδέτερων: [ουδέτερος: neuter,
263 # sexless // neutral, non-aligned // the gender: neuter // neutral] //
264 # Genitive masculine plural form of ουδέτερος (oudéteros). // Genitive
265 # feminine plural form of ουδέτερος (oudéteros). // Genitive neuter
266 # plural form of ουδέτερος (oudéteros). 'ουσιαστικών' ???,
267 "κατάληξη ουδέτερων ουσιαστικών": {
268 "pos": "suffix",
269 "tags": ["neuter", "noun"],
270 },
271 # κατάληξη ρημάτων: κατάληξη: ending, termination // result or outcome
272 # // ending, suffix ρημάτων: [ρήμα: verb] // Genitive plural form of
273 # ρήμα (ríma).
274 "κατάληξη ρημάτων": {"pos": "suffix", "tags": ["verb"]},
275 # κατάληξη: κατάληξη: ending, termination // result or outcome //
276 # ending, suffix
277 "κατάληξη": {"pos": "suffix"},
278 # κλιτικός τύπος άρθρου: 'κλιτικός' ???, τύπος: sort, type, mould,
279 # stamp (of a person character) // model, type (of car, etc) // shape,
280 # form // the press, the newspapers collectively // formality,
281 # convention // formula // a man, a guy, a chap άρθρου: [άρθρο: article
282 # // article // article of a charter, law, contract etc. // limb] //
283 # Genitive singular form of άρθρο (árthro).
284 "κλιτικός τύπος άρθρου": {"pos": "article", "tags": ["form-of"]},
285 # κλιτικός τύπος αντωνυμίας: 'κλιτικός' ???, τύπος: sort, type,
286 # mould, stamp (of a person character) // model, type (of car, etc) //
287 # shape, form // the press, the newspapers collectively // formality,
288 # convention // formula // a man, a guy, a chap αντωνυμίας: [αντωνυμία:
289 # pronoun // antonymy] // Genitive singular form of αντωνυμία
290 # (antonymía).
291 "κλιτικός τύπος αντωνυμίας": {"pos": "pron", "tags": ["form-of"]},
292 # κλιτικός τύπος αριθμητικού: 'κλιτικός' ???, τύπος: sort, type,
293 # mould, stamp (of a person character) // model, type (of car, etc) //
294 # shape, form // the press, the newspapers collectively // formality,
295 # convention // formula // a man, a guy, a chap αριθμητικού:
296 # [αριθμητικός: arithmetical, numerical] // Genitive masculine and
297 # neuter singular form of αριθμητικός (arithmitikós). αριθμητικού:
298 # [αριθμητικό: numeral] // [αριθμητικό: [αριθμητικός: arithmetical,
299 # numerical] // Accusative masculine singular form of αριθμητικός
300 # (arithmitikós). // Nominative, accusative and vocative neuter singular
301 # form of αριθμητικός (arithmitikós).] // Genitive singular form of
302 # αριθμητικό (arithmitikó).
303 "κλιτικός τύπος αριθμητικού": {"pos": "num", "tags": ["form-of"]},
304 # κλιτικός τύπος γερουνδιακού: 'κλιτικός' ???, τύπος: sort, type,
305 # mould, stamp (of a person character) // model, type (of car, etc) //
306 # shape, form // the press, the newspapers collectively // formality,
307 # convention // formula // a man, a guy, a chap 'γερουνδιακού' ???,
308 "κλιτικός τύπος γερουνδιακού": {
309 "pos": "verb",
310 "tags": ["participle", "gerund", "form-of"],
311 },
312 # κλιτικός τύπος επιθέτου: 'κλιτικός' ???, τύπος: sort, type, mould,
313 # stamp (of a person character) // model, type (of car, etc) // shape,
314 # form // the press, the newspapers collectively // formality,
315 # convention // formula // a man, a guy, a chap επιθέτου: [επίθετο:
316 # adjective // surname] // genitive singular of επίθετο (epítheto)
317 "κλιτικός τύπος επιθέτου": {"pos": "adj", "tags": ["form-of"]},
318 "κλιτικός τύπος επιθήματος": {"pos": "suffix"},
319 # κλιτικός τύπος επιρρήματος: 'κλιτικός' ???, τύπος: sort, type,
320 # mould, stamp (of a person character) // model, type (of car, etc) //
321 # shape, form // the press, the newspapers collectively // formality,
322 # convention // formula // a man, a guy, a chap επιρρήματος: [επίρρημα:
323 # adverb (lexical category)] // Genitive singular form of επίρρημα
324 # (epírrima).
325 "κλιτικός τύπος επιρρήματος": {"pos": "adv", "tags": ["form-of"]},
326 # κλιτικός τύπος κυρίου ονόματος: 'κλιτικός' ???, τύπος: sort, type,
327 # mould, stamp (of a person character) // model, type (of car, etc) //
328 # shape, form // the press, the newspapers collectively // formality,
329 # convention // formula // a man, a guy, a chap κυρίου: [κύριος: mister
330 # (title conferred on an adult male) // master (someone who has control
331 # over something or someone) // sir (an address to any male)] //
332 # [κύριος: main, principal, most important] // Genitive singular form of
333 # κύριος (kýrios). ονόματος: [όνομα: name // name, reputation // noun
334 # (sensu lato), a word class including substantives (nouns, sensu
335 # stricto) and adjectives] // Genitive singular form of όνομα (ónoma).
336 "κλιτικός τύπος κυρίου ονόματος": {"pos": "name", "tags": ["form-of"]},
337 # κλιτικός τύπος μετοχής: 'κλιτικός' ???, τύπος: sort, type, mould,
338 # stamp (of a person character) // model, type (of car, etc) // shape,
339 # form // the press, the newspapers collectively // formality,
340 # convention // formula // a man, a guy, a chap μετοχής: [μετοχή:
341 # participle // share, stock] // Genitive singular form of μετοχή
342 # (metochí).
343 "κλιτικός τύπος μετοχής": {
344 "pos": "verb",
345 "tags": ["participle", "form-of"],
346 },
347 # κλιτικός τύπος ουσιαστικού (διλεκτικό ουσιαστικό): 'κλιτικός' ???,
348 # τύπος: sort, type, mould, stamp (of a person character) // model, type
349 # (of car, etc) // shape, form // the press, the newspapers collectively
350 # // formality, convention // formula // a man, a guy, a chap
351 # 'ουσιαστικού' ???, 'διλεκτικό' ???, ουσιαστικό: noun, substantive
352 "κλιτικός τύπος ουσιαστικού (διλεκτικό ουσιαστικό)": {
353 "pos": "noun",
354 "tags": ["form-of"],
355 },
356 # κλιτικός τύπος ουσιαστικού, ουδέτερο, πληθυντικός: 'κλιτικός' ???,
357 # τύπος: sort, type, mould, stamp (of a person character) // model, type
358 # (of car, etc) // shape, form // the press, the newspapers collectively
359 # // formality, convention // formula // a man, a guy, a chap
360 # 'ουσιαστικού' ???, ουδέτερο: neuter ουδέτερο: [ουδέτερος: neuter,
361 # sexless // neutral, non-aligned // the gender: neuter // neutral] //
362 # Accusative masculine singular form of ουδέτερος (oudéteros). //
363 # Nominative, accusative and vocative neuter singular form of ουδέτερος
364 # (oudéteros). πληθυντικός: plural
365 "κλιτικός τύπος ουσιαστικού, ουδέτερο, πληθυντικός": {
366 "pos": "noun",
367 "tags": ["form-of"],
368 },
369 # κλιτικός τύπος ουσιαστικού: 'κλιτικός' ???, τύπος: sort, type,
370 # mould, stamp (of a person character) // model, type (of car, etc) //
371 # shape, form // the press, the newspapers collectively // formality,
372 # convention // formula // a man, a guy, a chap 'ουσιαστικού' ???,
373 "κλιτικός τύπος ουσιαστικού": {"pos": "noun", "tags": ["form-of"]},
374 # κλιτικός τύπος πολυλεκτικού όρου: 'κλιτικός' ???, τύπος: sort,
375 # type, mould, stamp (of a person character) // model, type (of car,
376 # etc) // shape, form // the press, the newspapers collectively //
377 # formality, convention // formula // a man, a guy, a chap
378 # 'πολυλεκτικού' ???, 'όρου' ???,
379 "κλιτικός τύπος πολυλεκτικού όρου": {"pos": "name"},
380 # κορεατικό αλφάβητο: 'κορεατικό' ???, αλφάβητο: alphabet, a series
381 # of letters or graphics representing particular sounds or phonemes //
382 # the ABCs of a subject matter; the basics; the most basic fundamentals
383 # of a certain sphere of knowledge // [αλφάβητος: Rare form of αλφάβητο
384 # (alfávito).] // Accusative singular form of αλφάβητος (alfávitos).
385 "κορεατικό αλφάβητο": {"pos": "character", "tags": ["hangeul"]},
386 # κύριο όνομα: κύριο: [κύριος: mister (title conferred on an adult
387 # male) // master (someone who has control over something or someone) //
388 # sir (an address to any male)] // [κύριος: main, principal, most
389 # important] // Accusative masculine singular form of κύριος (kýrios).
390 # // Nominative, accusative and vocative neuter singular form of κύριος
391 # (kýrios). κύριο: [κύριος: mister (title conferred on an adult male) //
392 # master (someone who has control over something or someone) // sir (an
393 # address to any male)] // [κύριος: main, principal, most important] //
394 # Accusative singular form of κύριος (kýrios). όνομα: name // name,
395 # reputation // noun (sensu lato), a word class including substantives
396 # (nouns, sensu stricto) and adjectives
397 "κύριο όνομα": {"pos": "name"},
398 # μετοχή του βαρυφορτώνω, βαρυφορτώνομαι: μετοχή: participle // share,
399 # stock του: [ο: the definite masculine singular article. the] //
400 # genitive masculine singular of ο (o) (the) // genitive neuter singular
401 # of ο (o) (the) του: him, it // his, its 'βαρυφορτώνω' ???,
402 # 'βαρυφορτώνομαι' ???,
403 "μετοχή του": {
404 "pos": "verb",
405 "tags": ["participle"],
406 },
407 "μετοχή": {"pos": "verb", "tags": ["participle"]},
408 # μετοχικό επίθετο: 'μετοχικό' ???, επίθετο: adjective // surname
409 "μετοχικό επίθετο": {"pos": "adj", "tags": ["possessive"]},
410 # μονολεκτικό ουσιαστικό: 'μονολεκτικό' ???, ουσιαστικό: noun,
411 # substantive
412 "μονολεκτικό ουσιαστικό": {"pos": "noun"},
413 # μόριο (καθαρεύουσα): μόριο: molecule // particle, speck (a very
414 # small piece of matter) // part (of the body) // part (of the body) //
415 # genitalia, parts // particle // point (in an evaluative scale)
416 # καθαρεύουσα: Katharevousa (purist variant of Modern Greek)
417 "μόριο (καθαρεύουσα)": {"pos": "particle", "tags": ["Katharevousa"]},
418 # μόριο: μόριο: molecule // particle, speck (a very small piece of
419 # matter) // part (of the body) // part (of the body) // genitalia,
420 # parts // particle // point (in an evaluative scale)
421 "μόριο": {"pos": "particle"},
422 # ουσιαστικό (καθαρεύουσα): ουσιαστικό: noun, substantive καθαρεύουσα:
423 # Katharevousa (purist variant of Modern Greek)
424 "ουσιαστικό (καθαρεύουσα)": {"pos": "noun", "tags": ["Katharevousa"]},
425 # ουσιαστικό - επίθετο: ουσιαστικό: noun, substantive '' ???,
426 # επίθετο: adjective // surname
427 "ουσιαστικό - επίθετο": {"pos": "noun", "tags": ["adjective", "noun"]},
428 # ουσιαστικό - επιφώνημα: ουσιαστικό: noun, substantive '' ???,
429 # επιφώνημα: interjection, exclamation
430 "ουσιαστικό - επιφώνημα": {"pos": "noun", "tags": ["interjection", "noun"]},
431 # ουσιαστικό - κύριο όνομα: ουσιαστικό: noun, substantive '' ???,
432 # κύριο: [κύριος: mister (title conferred on an adult male) // master
433 # (someone who has control over something or someone) // sir (an address
434 # to any male)] // [κύριος: main, principal, most important] //
435 # Accusative masculine singular form of κύριος (kýrios). // Nominative,
436 # accusative and vocative neuter singular form of κύριος (kýrios).
437 # κύριο: [κύριος: mister (title conferred on an adult male) // master
438 # (someone who has control over something or someone) // sir (an address
439 # to any male)] // [κύριος: main, principal, most important] //
440 # Accusative singular form of κύριος (kýrios). όνομα: name // name,
441 # reputation // noun (sensu lato), a word class including substantives
442 # (nouns, sensu stricto) and adjectives
443 "ουσιαστικό - κύριο όνομα": {"pos": "name"},
444 # ουσιαστικό - πολυλεκτικός όρος: ουσιαστικό: noun, substantive ''
445 # ???, πολυλεκτικός: polylectic όρος: term (word, phrase; limitation,
446 # restriction) // definition, stipulation // clause // article όρος:
447 # mount, mountain
448 "ουσιαστικό - πολυλεκτικός όρος": {"pos": "noun"},
449 # ουσιαστικό /ˈkɒndʌkt/: ουσιαστικό: noun, substantive '/ˈkɒndʌkt/'
450 # ???,
451 "ουσιαστικό": {"pos": "noun"},
452 # ουσιαστικό αρσενικό: ουσιαστικό: noun, substantive αρσενικό:
453 # [αρσενικός: masculine] // inflection of αρσενικός (arsenikós): //
454 # masculine accusative singular // inflection of αρσενικός (arsenikós):
455 # // neuter nominative/accusative/vocative singular αρσενικό: arsenic
456 "ουσιαστικό αρσενικό": {"pos": "noun", "tags": ["masculine"]},
457 # ουσιαστικό επίρρημα: ουσιαστικό: noun, substantive επίρρημα: adverb
458 # (lexical category)
459 "ουσιαστικό επίρρημα": {"pos": "adv", "tags": ["adverb", "noun"]},
460 # ουσιαστικό θηλυκό: ουσιαστικό: noun, substantive θηλυκό: woman,
461 # female θηλυκό: [θηλυκός: female (feminine gender) // feminine (female
462 # person or animal)] // Accusative masculine singular form of θηλυκός
463 # (thilykós). // Nominative, accusative and vocative neuter singular
464 # form of θηλυκός (thilykós).
465 "ουσιαστικό θηλυκό": {"pos": "noun", "tags": ["feminine"]},
466 # ουσιαστικό και επίθετο: ουσιαστικό: noun, substantive και: and //
467 # also // plus, and // past (time) επίθετο: adjective // surname
468 "ουσιαστικό και επίθετο": {"pos": "noun", "tags": ["adjective", "noun"]},
469 # ουσιαστικό και επιφώνημα: ουσιαστικό: noun, substantive και: and //
470 # also // plus, and // past (time) επιφώνημα: interjection, exclamation
471 "ουσιαστικό και επιφώνημα": {
472 "pos": "noun",
473 "tags": ["interjection", "noun"],
474 },
475 # ουσιαστικό και κλιτικός τύπος ουσιαστικού: ουσιαστικό: noun,
476 # substantive και: and // also // plus, and // past (time) 'κλιτικός'
477 # ???, τύπος: sort, type, mould, stamp (of a person character) //
478 # model, type (of car, etc) // shape, form // the press, the newspapers
479 # collectively // formality, convention // formula // a man, a guy, a
480 # chap 'ουσιαστικού' ???,
481 "ουσιαστικό και κλιτικός τύπος ουσιαστικού": {"pos": "noun"},
482 # ουσιαστικό και κύριο όνομα: ουσιαστικό: noun, substantive και: and
483 # // also // plus, and // past (time) κύριο: [κύριος: mister (title
484 # conferred on an adult male) // master (someone who has control over
485 # something or someone) // sir (an address to any male)] // [κύριος:
486 # main, principal, most important] // Accusative masculine singular form
487 # of κύριος (kýrios). // Nominative, accusative and vocative neuter
488 # singular form of κύριος (kýrios). κύριο: [κύριος: mister (title
489 # conferred on an adult male) // master (someone who has control over
490 # something or someone) // sir (an address to any male)] // [κύριος:
491 # main, principal, most important] // Accusative singular form of κύριος
492 # (kýrios). όνομα: name // name, reputation // noun (sensu lato), a word
493 # class including substantives (nouns, sensu stricto) and adjectives
494 "ουσιαστικό και κύριο όνομα": {
495 "pos": "noun",
496 "tags": ["proper-noun", "noun"],
497 },
498 # ουσιαστικό, επίθετο: ουσιαστικό: noun, substantive επίθετο:
499 # adjective // surname
500 "ουσιαστικό, επίθετο": {"pos": "noun", "tags": ["adjective", "noun"]},
501 # ουσιαστικό, πολυλεκτικός όρος: ουσιαστικό: noun, substantive
502 # πολυλεκτικός: polylectic όρος: term (word, phrase; limitation,
503 # restriction) // definition, stipulation // clause // article όρος:
504 # mount, mountain
505 "ουσιαστικό, πολυλεκτικός όρος": {"pos": "noun"},
506 # ουσιαστικό, ρήμα: ουσιαστικό: noun, substantive ρήμα: verb
507 "ουσιαστικό, ρήμα": {"pos": "noun", "tags": ["noun", "verb"]},
508 # πoλυλεκτικό ουσιαστικό: 'πoλυλεκτικό' ???, ουσιαστικό: noun,
509 # substantive
510 "πoλυλεκτικό ουσιαστικό": {"pos": "noun"},
511 # παθητική μετοχή του μυώ: 'παθητική' ???, μετοχή: participle //
512 # share, stock του: [ο: the definite masculine singular article. the] //
513 # genitive masculine singular of ο (o) (the) // genitive neuter singular
514 # of ο (o) (the) του: him, it // his, its 'μυώ' ???,
515 "παθητική μετοχή του": {"pos": "verb", "tags": ["participle", "passive"]},
516 # παροιμία - έκφραση: παροιμία: proverb, saying, adage, maxim (phrase
517 # expressing a basic truth) '' ???, έκφραση: expression
518 "παροιμία - έκφραση": {"pos": "phrase", "tags": ["idiomatic"]},
519 # παροιμία: παροιμία: proverb, saying, adage, maxim (phrase expressing
520 # a basic truth)
521 "παροιμία": {"pos": "phrase", "tags": ["idiomatic"]},
522 # περιφραστικό ουσιαστικό: 'περιφραστικό' ???, ουσιαστικό: noun,
523 # substantive
524 "περιφραστικό ουσιαστικό": {"pos": "noun"},
525 # πολυλεκτικό επίθετο: 'πολυλεκτικό' ???, επίθετο: adjective //
526 # surname
527 "πολυλεκτικό επίθετο": {"pos": "adj"},
528 # πολυλεκτικό επίρρημα: 'πολυλεκτικό' ???, επίρρημα: adverb (lexical
529 # category)
530 "πολυλεκτικό επίρρημα": {"pos": "adv"},
531 # πολυλεκτικό ουσιαστικό: 'πολυλεκτικό' ???, ουσιαστικό: noun,
532 # substantive
533 "πολυλεκτικό ουσιαστικό": {"pos": "noun"},
534 # πολυλεκτικός όρος επίθετο: πολυλεκτικός: polylectic όρος: term
535 # (word, phrase; limitation, restriction) // definition, stipulation //
536 # clause // article όρος: mount, mountain επίθετο: adjective // surname
537 "πολυλεκτικός όρος επίθετο": {"pos": "adj"},
538 # πολυλεκτικός όρος ουσιαστικό: πολυλεκτικός: polylectic όρος: term
539 # (word, phrase; limitation, restriction) // definition, stipulation //
540 # clause // article όρος: mount, mountain ουσιαστικό: noun, substantive
541 "πολυλεκτικός όρος ουσιαστικό": {"pos": "noun"},
542 # πολυλεκτικός όρος: πολυλεκτικός: polylectic όρος: term (word,
543 # phrase; limitation, restriction) // definition, stipulation // clause
544 # // article όρος: mount, mountain
545 "πολυλεκτικός όρος": {"pos": "noun"},
546 # προσδιοριστής: 'προσδιοριστής' ???,
547 "προσδιοριστής": {"pos": "det"},
548 # πρόθεση: πρόθεση: preposition // intent, intention, purpose πρόθεση:
549 # prosthesis (an artificial replacement for a body part) // prosthetic
550 "πρόθεση": {"pos": "prep"},
551 # πρόθημα: πρόθημα: prefix
552 "πρόθημα": {"pos": "prefix"},
553 # πρόσφυμα: πρόσφυμα: affix
554 "πρόσφυμα": {"pos": "affix"},
555 # ρήμα - επιφώνημα: ρήμα: verb '' ???, επιφώνημα: interjection,
556 # exclamation
557 "ρήμα - επιφώνημα": {"pos": "verb", "tags": ["interjection", "verb"]},
558 # ρήμα μεταβατικό: ρήμα: verb μεταβατικό: [μεταβατικός: transitive //
559 # transition // transitional] // Accusative masculine singular form of
560 # μεταβατικός (metavatikós). // Nominative, accusative and vocative
561 # neuter singular form of μεταβατικός (metavatikós).
562 "ρήμα μεταβατικό": {"pos": "verb", "tags": ["transitive"]},
563 # ρήμα, αόριστος: ρήμα: verb αόριστος: vague // indefinite //
564 # preterite αόριστος: aorist, past tense, simple past, perfective past
565 "ρήμα, αόριστος": {"pos": "verb", "tags": ["aorist"]},
566 # ρήμα, μόριο, ουσιαστικό: ρήμα: verb μόριο: molecule // particle,
567 # speck (a very small piece of matter) // part (of the body) // part (of
568 # the body) // genitalia, parts // particle // point (in an evaluative
569 # scale) ουσιαστικό: noun, substantive
570 "ρήμα, μόριο, ουσιαστικό": {
571 "pos": "verb",
572 "tags": ["particle", "noun", "verb"],
573 },
574 # ρήμα, ουσιαστικό: ρήμα: verb ουσιαστικό: noun, substantive
575 "ρήμα, ουσιαστικό": {"pos": "verb", "tags": ["noun", "verb"]},
576 # ρήμα: ρήμα: verb
577 "ρήμα": {"pos": "verb"},
578 # ρίζα: ρίζα: root (of a plant) // root // root
579 "ρίζα": {"pos": "root", "tags": ["morpheme"]},
580 # ρηματική έκφραση: 'ρηματική' ???, έκφραση: expression
581 "ρηματική έκφραση": {"pos": "verb"},
582 # σουπίνο: 'σουπίνο' ???,
583 "σουπίνο": {"pos": "verb", "tags": ["supine"]},
584 # συντομομορφή - ουσιαστικό: συντομομορφή: abbreviation: initialism,
585 # acronym, etc '' ???, ουσιαστικό: noun, substantive
586 "συντομομορφή - ουσιαστικό": {
587 "pos": "abbrev",
588 "tags": ["noun", "abbreviation"],
589 },
590 # συντομομορφή, αρκτικόλεξο: συντομομορφή: abbreviation: initialism,
591 # acronym, etc αρκτικόλεξο: initialism
592 "συντομομορφή, αρκτικόλεξο": {"pos": "abbrev", "tags": ["initialism"]},
593 # συντομομορφή: συντομομορφή: abbreviation: initialism, acronym, etc
594 "συντομομορφή": {"pos": "abbrev"},
595 # σχήμα του ρήματος board: σχήμα: figure, shape του: [ο: the definite
596 # masculine singular article. the] // genitive masculine singular of ο
597 # (o) (the) // genitive neuter singular of ο (o) (the) του: him, it //
598 # his, its ρήματος: [ρήμα: verb] // Genitive singular form of ρήμα
599 # (ríma). 'board' ???,
600 "σχήμα του ρήματος": {"pos": "verb", "tags": ["form-of"]},
601 # σύμβολο: σύμβολο: symbol, character, glyph
602 "σύμβολο": {"pos": "symbol"},
603 # σύνδεσμος (καθαρεύουσα): σύνδεσμος: conjunction // ligament // HTML
604 # link // union, relationship, contact καθαρεύουσα: Katharevousa (purist
605 # variant of Modern Greek)
606 "σύνδεσμος (καθαρεύουσα)": {"pos": "conj", "tags": ["Katharevousa"]},
607 # σύνδεσμος: σύνδεσμος: conjunction // ligament // HTML link // union,
608 # relationship, contact
609 "σύνδεσμος": {"pos": "conj"},
610 # σύνθετο επίθετο: 'σύνθετο' ???, επίθετο: adjective // surname
611 "σύνθετο επίθετο": {"pos": "adj"},
612 # σύνθετο επίρρημα, έκφραση: 'σύνθετο' ???, επίρρημα: adverb (lexical
613 # category) έκφραση: expression
614 "σύνθετο επίρρημα, έκφραση": {"pos": "adv"},
615 # σύνθετο ουσιαστικό: 'σύνθετο' ???, ουσιαστικό: noun, substantive
616 "σύνθετο ουσιαστικό": {"pos": "noun"},
617 # φράση: φράση: phrase, expression
618 "φράση": {"pos": "phrase"},
619 # χαρακτήρας: χαρακτήρας: character (the qualities which identify a
620 # person) // character (a person's behaviours which identify them) //
621 # character, letter, symbol
622 "χαρακτήρας": {"pos": "symbol"},
623 "ρηματικός τύπος": {"pos": "verb"},
624 # Japanese translitteration entries
625 "μεταγραφή": {"pos": "romanization"},
626 "συγχώνευση": {"pos": "contraction"},
627 "μορφή σύνθετου όρου": {"pos": "contraction"},
628}
630POS_HEADINGS_RE = re.compile(
631 r"("
632 + r"|".join(
633 re.escape(s) for s in sorted(POS_DATA.keys(), key=len, reverse=True)
634 )
635 + r")(.*)"
636)
639SubSectionMap = TypedDict(
640 "SubSectionMap",
641 {
642 # TODO: Use Typing.Required (3.11>=) when python 3.10 support drops
643 "type": Heading,
644 # "debug" is legacy from [en], might be implemented
645 "debug": str,
646 "tags": Tags,
647 },
648 total=False,
649)
652SUBSECTION_HEADINGS: dict[str, SubSectionMap] = {
653 "etymology": {"type": Heading.Etym},
654 "ετυμολογία": {"type": Heading.Etym},
655 "πηγές": {"type": Heading.Ignored}, # Not etymology, but literary sources
656 "pronunciation": {"type": Heading.Pron},
657 "προφορά": {"type": Heading.Pron},
658 "αναλυτική κλίση": {"type": Heading.Infl},
659 "κλίση": {"type": Heading.Infl},
660 "references": {"type": Heading.Ref},
661 "αναφορές": {"type": Heading.Ref},
662 # Lit. other spellings
663 # Ex. γορίλλας/γορίλας @ https://el.wiktionary.org/wiki/γορίλλας
664 # Ex. ερωοτοπάλεμα/ἐρωτοπάλεμα @ https://el.wiktionary.org/wiki/ερωτοπάλεμα
665 # from "{{άλλη γραφή}}" that expands to "άλλες γραφές"
666 # cf. γρ template parsing at pos.py. Keep both in sync.
667 "άλλες γραφές": {"type": Heading.AltOf},
668 # Lit. other forms
669 # Ex. ελαιόδενδρο/ελιά @ https://el.wiktionary.org/wiki/ελαιόδενδρο
670 # from "{{μορφές}}" that expands to "άλλες μορφές"
671 # cf. γρ template parsing at pos.py. Keep both in sync.
672 "άλλες μορφές": {"type": Heading.FormOf},
673 "ανεπίσημα": {"type": Heading.Related},
674 "συγγενικά": {"type": Heading.Related},
675 "πολυλεκτικοί όροι": {"type": Heading.Related},
676 "συγγενείς": {"type": Heading.Related},
677 # Homonyms
678 "ομώνυμα / ομόηχα": {"type": Heading.Homonyms},
679 "συνώνυμα": {"type": Heading.Synonyms},
680 # Partial synonyms
681 "μερική συνωνυμία": {"type": Heading.Synonyms},
682 # Exact synonym
683 "ταυτόσημο": {"type": Heading.Synonyms},
684 "ταυτόσημα": {"type": Heading.Synonyms},
685 "εκφράσεις": {"type": Heading.Related, "tags": ["idiomatic"]},
686 "σύνθετα": {"type": Heading.Related, "tags": ["compound"]},
687 "μεταγραφές": {"type": Heading.Transliterations},
688 # Related words in foreign languages
689 "παράγωγα": {"type": Heading.Derived},
690 # Derived words
691 "απόγονοι": {"type": Heading.Derived},
692 "υποκοριστικά": {"type": Heading.Derived, "tags": ["diminutive"]},
693 # Anagrams
694 "αλλόγλωσσα παράγωγα": {"type": Heading.Translations},
695 "μεταφράσεις": {"type": Heading.Translations},
696 "αναγραμματισμοί": {"type": Heading.Ignored},
697 # "misspelling" as POS
698 "ανορθογραφία": {"type": Heading.Ignored},
699 # see also
700 "δείτε επίσης": {"type": Heading.Ignored},
701 # Antonyms
702 "αντώνυμα": {"type": Heading.Antonyms},
703 "αντώνυμη έκφραση": {"type": Heading.Antonyms},
704 "αρχικοί χρόνοι": {"type": Heading.Notes},
705 "σημειώσεις": {"type": Heading.Notes},
706 "υποσημειώσεις": {"type": Heading.Notes},
707 # 'answers' to a phrasebook question: see τι κάνεις
708 "απαντήσεις": {"type": Heading.Ignored},
709 # Proverbs
710 "παροιμίες": {"type": Heading.Ignored},
711 # External links
712 "εξωτερικοί σύνδεσμοι": {"type": Heading.Ignored},
713 # "": {"type": Heading.Err},
714}
716SUBSECTIONS_RE = re.compile(
717 r"([ =]*"
718 + r"|".join(
719 re.escape(s)
720 for s in sorted(SUBSECTION_HEADINGS.keys(), key=len, reverse=True)
721 )
722 + r")(.*)[ =]*"
723)