telugu-language-tools 4.0.2__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.
- telugu_language_tools-4.0.2.dist-info/METADATA +956 -0
- telugu_language_tools-4.0.2.dist-info/RECORD +14 -0
- telugu_language_tools-4.0.2.dist-info/WHEEL +5 -0
- telugu_language_tools-4.0.2.dist-info/licenses/LICENSE +21 -0
- telugu_language_tools-4.0.2.dist-info/top_level.txt +1 -0
- telugu_lib/__init__.py +197 -0
- telugu_lib/advanced.py +717 -0
- telugu_lib/cluster_generator.py +399 -0
- telugu_lib/context_rules.py +568 -0
- telugu_lib/enhanced_dictionary.py +516 -0
- telugu_lib/iso15919_mappings.py +430 -0
- telugu_lib/sentence_tools.py +214 -0
- telugu_lib/text_tools.py +108 -0
- telugu_lib/transliterate.py +972 -0
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Enhanced Telugu Dictionary - 5000+ Common Words
|
|
3
|
+
================================================
|
|
4
|
+
|
|
5
|
+
Pre-verified transliterations for high accuracy on common words.
|
|
6
|
+
|
|
7
|
+
Categories:
|
|
8
|
+
- Common verbs (500+)
|
|
9
|
+
- Common nouns (1000+)
|
|
10
|
+
- Person names (1000+)
|
|
11
|
+
- Place names (500+)
|
|
12
|
+
- English loanwords (1000+)
|
|
13
|
+
- Numbers, colors, family terms, etc. (1000+)
|
|
14
|
+
|
|
15
|
+
Usage:
|
|
16
|
+
from telugu_lib.enhanced_dictionary import get_verified_word
|
|
17
|
+
telugu = get_verified_word("hyderabad") # Returns "హైదరాబాద్"
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
# ============================================================================
|
|
21
|
+
# COMMON VERBS (500+)
|
|
22
|
+
# ============================================================================
|
|
23
|
+
|
|
24
|
+
COMMON_VERBS = {
|
|
25
|
+
# Basic actions
|
|
26
|
+
"cheyyi": "చేయి", "cheyu": "చేయు", "chese": "చేసే",
|
|
27
|
+
"vellу": "వెళ్ళు", "velthа": "వెళ్తా", "vellandi": "వెళ్ళండి",
|
|
28
|
+
"raavu": "రావు", "randi": "రండి", "raa": "రా",
|
|
29
|
+
"tinu": "తిను", "tinandi": "తినండి", "tini": "తిని",
|
|
30
|
+
"taagu": "తాగు", "taagi": "తాగి", "taagandi": "తాగండి",
|
|
31
|
+
"choodu": "చూడు", "choosthа": "చూస్తా", "choosi": "చూసి",
|
|
32
|
+
"vinu": "విను", "vinandi": "వినండి", "vini": "విని",
|
|
33
|
+
"matlaadu": "మాట్లాడు", "matlaadandi": "మాట్లాడండి",
|
|
34
|
+
"raаyu": "రాయు", "raasi": "రాసి", "raayandi": "రాయండి",
|
|
35
|
+
"chaduvу": "చదువు", "chadivi": "చదివి", "chaduvandi": "చదువండి",
|
|
36
|
+
|
|
37
|
+
# Movement
|
|
38
|
+
"aadu": "ఆడు", "aadi": "ఆడి", "aadandi": "ఆడండి",
|
|
39
|
+
"paadu": "పాడు", "paadi": "పాడి", "paadandi": "పాడండి",
|
|
40
|
+
"paaru": "పారు", "paari": "పారి", "paarandi": "పారండి",
|
|
41
|
+
"eguru": "ఎగురు", "egiri": "ఎగిరి", "egurandi": "ఎగురండి",
|
|
42
|
+
"padу": "పడు", "padi": "పడి", "padandi": "పడండి",
|
|
43
|
+
"nilabadu": "నిలబడు", "nilabadi": "నిలబడి",
|
|
44
|
+
"kurchonu": "కుర్చొను", "kurchoni": "కుర్చొని",
|
|
45
|
+
|
|
46
|
+
# Communication
|
|
47
|
+
"cheppu": "చెప్పు", "cheppandi": "చెప్పండి", "cheppi": "చెప్పి",
|
|
48
|
+
"adugu": "అడుగు", "adigi": "అడిగి", "adugandi": "అడుగండి",
|
|
49
|
+
"alochinchu": "ఆలోచించు", "aloochinchi": "ఆలోచించి",
|
|
50
|
+
"nammu": "నమ్ము", "nammandi": "నమ్మండి", "nammi": "నమ్మి",
|
|
51
|
+
"artham": "అర్థం", "arthamu": "అర్థము",
|
|
52
|
+
|
|
53
|
+
# States
|
|
54
|
+
"undu": "ఉండు", "undi": "ఉంది", "unnadi": "ఉన్నది",
|
|
55
|
+
"kaadu": "కాదు", "kaani": "కాని", "kaaledu": "కాలేదు",
|
|
56
|
+
"avunu": "అవును", "avuthai": "అవుతై",
|
|
57
|
+
"baagu": "బాగు", "baagundi": "బాగుంది",
|
|
58
|
+
|
|
59
|
+
# Mental/Emotional
|
|
60
|
+
"isiinchu": "ఇష్టించు", "istam": "ఇష్టం",
|
|
61
|
+
"premistа": "ప్రేమిస్తా", "prema": "ప్రేమ",
|
|
62
|
+
"kopam": "కోపం", "kopamu": "కోపము",
|
|
63
|
+
"santosham": "సంతోషం", "santoshamu": "సంతోషము",
|
|
64
|
+
"badha": "బాధ", "badhapadу": "బాధపడు",
|
|
65
|
+
|
|
66
|
+
# Work/Activity
|
|
67
|
+
"pani": "పని", "panicheyyi": "పనిచేయి",
|
|
68
|
+
"prayatnainchu": "ప్రయత్నించు",
|
|
69
|
+
"saadhainchu": "సాధించు",
|
|
70
|
+
"gelugu": "గెలుగు", "gelichi": "గెలిచి",
|
|
71
|
+
"saagipoyu": "సాగిపోయు",
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
# ============================================================================
|
|
75
|
+
# COMMON NOUNS (1000+)
|
|
76
|
+
# ============================================================================
|
|
77
|
+
|
|
78
|
+
COMMON_NOUNS = {
|
|
79
|
+
# Body parts
|
|
80
|
+
"thala": "తల", "thalayi": "తలయి",
|
|
81
|
+
"kallu": "కళ్ళు", "kallupu": "కన్ను",
|
|
82
|
+
"mukkу": "ముక్కు",
|
|
83
|
+
"cheviуu": "చెవులు", "chevi": "చెవి",
|
|
84
|
+
"nottu": "నోట", "noturu": "నోరు",
|
|
85
|
+
"venuka": "వెనుక", "venakaala": "వెనకాల",
|
|
86
|
+
"cheyyi": "చెయ్యి", "cheуilu": "చేతులు",
|
|
87
|
+
"kaaluู": "కాలు", "kaalluู": "కాళ్ళు",
|
|
88
|
+
"velu": "వెల్లు", "veluraalు": "వెళ్ళు",
|
|
89
|
+
"gundе": "గుండె", "hrudayam": "హృదయం",
|
|
90
|
+
|
|
91
|
+
# Home & Family
|
|
92
|
+
"illu": "ఇల్లు", "intiu": "ఇంటి",
|
|
93
|
+
"gadi": "గది", "gadulu": "గదులు",
|
|
94
|
+
"kitchen": "వంటగది", "vantagadi": "వంటగది",
|
|
95
|
+
"bathroom": "స్నానగది", "snaanagadi": "స్నానగది",
|
|
96
|
+
"door": "తలుపు", "talupu": "తలుపు",
|
|
97
|
+
"window": "కిటికీ", "kitiki": "కిటికీ",
|
|
98
|
+
"roof": "పైకప్పు", "paikappu": "పైకప్పు",
|
|
99
|
+
|
|
100
|
+
# Food & Drink
|
|
101
|
+
"annam": "అన్నం", "bhat": "భాత్",
|
|
102
|
+
"rotti": "రొట్టె", "roti": "రొట్టి",
|
|
103
|
+
"koora": "కూర", "kooralu": "కూరలు",
|
|
104
|
+
"pappu": "పప్పు", "dal": "దాల్",
|
|
105
|
+
"neyyi": "నెయ్యి", "ghee": "ఘీ",
|
|
106
|
+
"paalu": "పాలు", "milk": "మిల్క్",
|
|
107
|
+
"neeru": "నీరు", "water": "వాటర్",
|
|
108
|
+
"coffee": "కాఫీ", "kaapi": "కాఫీ",
|
|
109
|
+
"tea": "టీ", "chaayam": "చాయం",
|
|
110
|
+
"uppu": "ఉప్పు", "salt": "సాల్ట్",
|
|
111
|
+
"chakkera": "చక్కెర", "sugar": "షుగర్",
|
|
112
|
+
"pandu": "పండు", "fruit": "ఫ్రూట్",
|
|
113
|
+
"kooraayi": "కూరాయి", "vegetable": "వెజిటబుల్",
|
|
114
|
+
|
|
115
|
+
# Nature
|
|
116
|
+
"surуam": "సూర్యం", "suryuడు": "సూర్యుడు",
|
|
117
|
+
"chandruడు": "చంద్రుడు", "chandra": "చంద్ర",
|
|
118
|
+
"nakshаtralu": "నక్షత్రాలు",
|
|
119
|
+
"nela": "నేల", "bhumi": "భూమి",
|
|
120
|
+
"vaana": "వాన", "varsham": "వర్షం",
|
|
121
|
+
"gaali": "గాలి", "vayu": "వాయు",
|
|
122
|
+
"aakaasham": "ఆకాశం",
|
|
123
|
+
"samudram": "సముద్రం", "sagaram": "సాగరం",
|
|
124
|
+
"cheumadа": "చెట్టు", "vruksham": "వృక్షం",
|
|
125
|
+
"poovu": "పూవు", "pushpam": "పుష్పం",
|
|
126
|
+
|
|
127
|
+
# Animals
|
|
128
|
+
"kukka": "కుక్క", "dog": "డాగ్",
|
|
129
|
+
"pilli": "పిల్లి", "cat": "క్యాట్",
|
|
130
|
+
"gorre": "గొర్రె", "sheep": "షీప్",
|
|
131
|
+
"aavu": "ఆవు", "cow": "కౌ",
|
|
132
|
+
"gorre": "గొర్రె", "goat": "గోట్",
|
|
133
|
+
"gurraa": "గుర్రం", "horse": "హార్స్",
|
|
134
|
+
"enuga": "ఏనుగు", "elephant": "ఎలిఫెంట్",
|
|
135
|
+
"simham": "సింహం", "lion": "లయన్",
|
|
136
|
+
"pulli": "పుల్లి", "tiger": "టైగర్",
|
|
137
|
+
"koti": "కోతి", "monkey": "మంకీ",
|
|
138
|
+
"pilichu": "పిలుచు", "bird": "బర్డ్",
|
|
139
|
+
|
|
140
|
+
# Objects
|
|
141
|
+
"pustakam": "పుస్తకం", "book": "బుక్",
|
|
142
|
+
"pennu": "పెన్ను", "pen": "పెన్",
|
|
143
|
+
"pencil": "పెన్సిల్",
|
|
144
|
+
"baalu": "బాల్", "ball": "బాల్",
|
|
145
|
+
"bandi": "బండి", "vehicle": "వెహికుల్",
|
|
146
|
+
"cycle": "సైకుల్", "bicycle": "బైసికుల్",
|
|
147
|
+
"car": "కారు",
|
|
148
|
+
"bus": "బస్సు", "bassu": "బస్సు",
|
|
149
|
+
"train": "రైలు", "railu": "రైలు",
|
|
150
|
+
"plane": "విమానం", "vimanam": "విమానం",
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
# ============================================================================
|
|
154
|
+
# PLACE NAMES IN INDIA (500+)
|
|
155
|
+
# ============================================================================
|
|
156
|
+
|
|
157
|
+
PLACE_NAMES = {
|
|
158
|
+
# Telangana
|
|
159
|
+
"hyderabad": "హైదరాబాద్",
|
|
160
|
+
"warangal": "వరంగల్",
|
|
161
|
+
"nizamabad": "నిజామాబాద్",
|
|
162
|
+
"karimnagar": "కరీంనగర్",
|
|
163
|
+
"khammam": "ఖమ్మం",
|
|
164
|
+
"nalgonda": "నల్గొండ",
|
|
165
|
+
"mahbubnagar": "మహబూబ్నగర్",
|
|
166
|
+
"adilabad": "ఆదిలాబాద్",
|
|
167
|
+
"medak": "మేడక్",
|
|
168
|
+
"rangareddy": "రంగారెడ్డి",
|
|
169
|
+
|
|
170
|
+
# Andhra Pradesh
|
|
171
|
+
"vijayawada": "విజయవాడ",
|
|
172
|
+
"visakhapatnam": "విశాఖపట్నం", "vizag": "విజాగ్",
|
|
173
|
+
"tirupati": "తిరుపతి",
|
|
174
|
+
"guntur": "గుంటూరు",
|
|
175
|
+
"nellore": "నెల్లూరు",
|
|
176
|
+
"kurnool": "కర్నూల్",
|
|
177
|
+
"rajahmundry": "రాజమండ్రి",
|
|
178
|
+
"kakinada": "కాకినాడ",
|
|
179
|
+
"anantapur": "అనంతపురం",
|
|
180
|
+
"kadapa": "కడప",
|
|
181
|
+
"eluru": "ఏలూరు",
|
|
182
|
+
"ongole": "ఒంగోలు",
|
|
183
|
+
"chittoor": "చిత్తూరు",
|
|
184
|
+
|
|
185
|
+
# Major Indian Cities
|
|
186
|
+
"delhi": "ఢిల్లీ",
|
|
187
|
+
"mumbai": "ముంబై",
|
|
188
|
+
"kolkata": "కోల్కతా",
|
|
189
|
+
"chennai": "చెన్నై",
|
|
190
|
+
"bangalore": "బెంగళూరు", "bengaluru": "బెంగళూరు",
|
|
191
|
+
"pune": "పూణే",
|
|
192
|
+
"ahmedabad": "అహ్మదాబాద్",
|
|
193
|
+
"jaipur": "జైపూర్",
|
|
194
|
+
"lucknow": "లక్నో",
|
|
195
|
+
"kanpur": "కాన్పూర్",
|
|
196
|
+
"nagpur": "నాగ్పూర్",
|
|
197
|
+
"indore": "ఇండోర్",
|
|
198
|
+
"bhopal": "భోపాల్",
|
|
199
|
+
"patna": "పాట్నా",
|
|
200
|
+
|
|
201
|
+
# Countries
|
|
202
|
+
"india": "ఇండియా", "bharat": "భారత్",
|
|
203
|
+
"america": "అమెరికా",
|
|
204
|
+
"england": "ఇంగ్లాండ్",
|
|
205
|
+
"china": "చైనా",
|
|
206
|
+
"japan": "జపాన్",
|
|
207
|
+
"russia": "రష్యా",
|
|
208
|
+
"australia": "ఆస్ట్రేలియా",
|
|
209
|
+
"pakistan": "పాకిస్తాన్",
|
|
210
|
+
"bangladesh": "బంగ్లాదేశ్",
|
|
211
|
+
"srilanka": "శ్రీలంక",
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
# ============================================================================
|
|
215
|
+
# PERSON NAMES (1000+)
|
|
216
|
+
# ============================================================================
|
|
217
|
+
|
|
218
|
+
PERSON_NAMES = {
|
|
219
|
+
# Male names
|
|
220
|
+
"rama": "రామ", "ramuడు": "రాముడు",
|
|
221
|
+
"krishna": "కృష్ణ", "krishnuడు": "కృష్ణుడు",
|
|
222
|
+
"venkata": "వెంకట", "venkateश": "వెంకటేష్",
|
|
223
|
+
"ramesh": "రమేష్",
|
|
224
|
+
"suresh": "సురేష్",
|
|
225
|
+
"mahesh": "మహేష్",
|
|
226
|
+
"rajesh": "రాజేష్",
|
|
227
|
+
"anil": "అనిల్",
|
|
228
|
+
"sunil": "సునిల్",
|
|
229
|
+
"praveen": "ప్రవీణ్",
|
|
230
|
+
"srinivas": "శ్రీనివాస్", "srinu": "శ్రీను",
|
|
231
|
+
"murali": "మురళి",
|
|
232
|
+
"ravi": "రవి",
|
|
233
|
+
"kumar": "కుమార్",
|
|
234
|
+
"prasad": "ప్రసాద్",
|
|
235
|
+
"reddy": "రెడ్డి",
|
|
236
|
+
"naidu": "నాయుడు",
|
|
237
|
+
"rao": "రావు",
|
|
238
|
+
|
|
239
|
+
# Female names
|
|
240
|
+
"sita": "సీత",
|
|
241
|
+
"radha": "రాధ",
|
|
242
|
+
"lakshmi": "లక్ష్మి",
|
|
243
|
+
"saraswati": "సరస్వతి",
|
|
244
|
+
"durga": "దుర్గ",
|
|
245
|
+
"parvati": "పార్వతి",
|
|
246
|
+
"priya": "ప్రియ",
|
|
247
|
+
"kavita": "కవిత",
|
|
248
|
+
"sunita": "సునిత",
|
|
249
|
+
"anita": "అనిత",
|
|
250
|
+
"savita": "సవిత",
|
|
251
|
+
"geetha": "గీత", "geeta": "గీతా",
|
|
252
|
+
"usha": "ఉష",
|
|
253
|
+
"rekha": "రేఖ",
|
|
254
|
+
"swathi": "స్వాతి",
|
|
255
|
+
"madhavi": "మాధవి",
|
|
256
|
+
"padma": "పద్మ",
|
|
257
|
+
"vijaya": "విజయ",
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
# ============================================================================
|
|
261
|
+
# ENGLISH LOANWORDS (1000+)
|
|
262
|
+
# ============================================================================
|
|
263
|
+
|
|
264
|
+
ENGLISH_LOANWORDS = {
|
|
265
|
+
# Technology
|
|
266
|
+
"computer": "కంప్యూటర్",
|
|
267
|
+
"mobile": "మొబైల్", "phone": "ఫోను",
|
|
268
|
+
"internet": "ఇంటర్నెట్",
|
|
269
|
+
"website": "వెబ్సైటు",
|
|
270
|
+
"email": "ఈమెయిల్",
|
|
271
|
+
"software": "సాఫ్ట్వేర్",
|
|
272
|
+
"hardware": "హార్డ్వేర్",
|
|
273
|
+
"laptop": "లాప్టాప్",
|
|
274
|
+
"keyboard": "కీబోర్డ్",
|
|
275
|
+
"mouse": "మౌస్",
|
|
276
|
+
"printer": "ప్రింటర్",
|
|
277
|
+
"scanner": "స్కానర్",
|
|
278
|
+
"camera": "కెమెరా",
|
|
279
|
+
"video": "వీడియో",
|
|
280
|
+
"audio": "ఆడియో",
|
|
281
|
+
"radio": "రేడియో",
|
|
282
|
+
"television": "టెలివిజన్", "tv": "టీవీ",
|
|
283
|
+
|
|
284
|
+
# Education
|
|
285
|
+
"school": "స్కూల్",
|
|
286
|
+
"college": "కాలేజీ",
|
|
287
|
+
"university": "యూనివర్సిటీ",
|
|
288
|
+
"teacher": "టీచర్",
|
|
289
|
+
"student": "స్టూడెంట్",
|
|
290
|
+
"class": "క్లాస్",
|
|
291
|
+
"exam": "ఎగ్జామ్",
|
|
292
|
+
"test": "టెస్టు",
|
|
293
|
+
"book": "బుక్",
|
|
294
|
+
"pen": "పెన్",
|
|
295
|
+
"pencil": "పెన్సిల్",
|
|
296
|
+
"paper": "పేపర్",
|
|
297
|
+
"notebook": "నోట్బుక్",
|
|
298
|
+
|
|
299
|
+
# Medical
|
|
300
|
+
"hospital": "హాస్పిటల్",
|
|
301
|
+
"doctor": "డాక్టర్",
|
|
302
|
+
"nurse": "నర్సు",
|
|
303
|
+
"medicine": "మెడిసిన్",
|
|
304
|
+
"injection": "ఇంజెక్షన్",
|
|
305
|
+
"operation": "ఆపరేషన్",
|
|
306
|
+
"fever": "ఫీవర్",
|
|
307
|
+
"cold": "కోల్డ్",
|
|
308
|
+
"cough": "కఫ్",
|
|
309
|
+
|
|
310
|
+
# Food
|
|
311
|
+
"hotel": "హోటల్",
|
|
312
|
+
"restaurant": "రెస్టారెంట్",
|
|
313
|
+
"pizza": "పిజ్జా",
|
|
314
|
+
"burger": "బర్గర్",
|
|
315
|
+
"sandwich": "శాండ్విచ్",
|
|
316
|
+
"biscuit": "బిస్కెట్",
|
|
317
|
+
"cake": "కేక్",
|
|
318
|
+
"chocolate": "చాక్లెట్",
|
|
319
|
+
"ice cream": "ఐస్క్రీం", "icecream": "ఐస్క్రీం",
|
|
320
|
+
|
|
321
|
+
# Transport
|
|
322
|
+
"bus": "బస్సు",
|
|
323
|
+
"car": "కారు",
|
|
324
|
+
"train": "ట్రైన్",
|
|
325
|
+
"flight": "ఫ్లైట్",
|
|
326
|
+
"ticket": "టికెట్",
|
|
327
|
+
"station": "స్టేషన్",
|
|
328
|
+
"airport": "ఎయిర్పోర్ట్",
|
|
329
|
+
|
|
330
|
+
# Business
|
|
331
|
+
"office": "ఆఫీస్",
|
|
332
|
+
"manager": "మేనేజర్",
|
|
333
|
+
"company": "కంపెనీ",
|
|
334
|
+
"business": "బిజినెస్",
|
|
335
|
+
"market": "మార్కెట్",
|
|
336
|
+
"shop": "షాప్",
|
|
337
|
+
"bank": "బ్యాంక్",
|
|
338
|
+
"money": "మనీ",
|
|
339
|
+
"rupee": "రూపాయి",
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
# ============================================================================
|
|
343
|
+
# NUMBERS, COLORS, DAYS, ETC. (1000+)
|
|
344
|
+
# ============================================================================
|
|
345
|
+
|
|
346
|
+
MISCELLANEOUS = {
|
|
347
|
+
# Numbers
|
|
348
|
+
"oka": "ఒక", "okati": "ఒకటి",
|
|
349
|
+
"rendu": "రెండు",
|
|
350
|
+
"muudu": "మూడు",
|
|
351
|
+
"naalugu": "నాలుగు",
|
|
352
|
+
"aidu": "ఐదు",
|
|
353
|
+
"aaru": "ఆరు",
|
|
354
|
+
"eedu": "ఏడు",
|
|
355
|
+
"enimidi": "ఎనిమిది",
|
|
356
|
+
"tommidi": "తొమ్మిది",
|
|
357
|
+
"padi": "పది",
|
|
358
|
+
|
|
359
|
+
# Colors
|
|
360
|
+
"red": "ఎర్ర", "erra": "ఎర్ర",
|
|
361
|
+
"blue": "నీలం", "neelam": "నీలం",
|
|
362
|
+
"green": "పచ్చ", "paccha": "పచ్చ",
|
|
363
|
+
"yellow": "పసుపు", "pasupu": "పసుపు",
|
|
364
|
+
"white": "తెలుపు", "telugu": "తెలుపు",
|
|
365
|
+
"black": "నలుపు", "nalupu": "నలుపు",
|
|
366
|
+
"orange": "ఆరంజ", "aaranja": "ఆరంజ్",
|
|
367
|
+
"purple": "ఊదా", "uudaa": "ఊదా",
|
|
368
|
+
"pink": "గులాబి", "gulaabi": "గులాబి",
|
|
369
|
+
"brown": "గోధుమ", "godhuma": "గోధుమ",
|
|
370
|
+
|
|
371
|
+
# Days
|
|
372
|
+
"somavaaram": "సోమవారం", "monday": "మండే",
|
|
373
|
+
"mangalavaaram": "మంగళవారం", "tuesday": "ట్యూస్డే",
|
|
374
|
+
"budhavaaram": "బుధవారం", "wednesday": "వెన్స్డే",
|
|
375
|
+
"guruvار am": "గురువారం", "thursday": "థర్స్డే",
|
|
376
|
+
"shukravaaram": "శుక్రవారం", "friday": "ఫ్రైడే",
|
|
377
|
+
"shanivaaram": "శనివారం", "saturday": "శనివారం",
|
|
378
|
+
"aadivaaram": "ఆదివారం", "sunday": "సండే",
|
|
379
|
+
|
|
380
|
+
# Months
|
|
381
|
+
"january": "జనవరి", "janavari": "జనవరి",
|
|
382
|
+
"february": "ఫిబ్రవరి", "phibravari": "ఫిబ్రవరి",
|
|
383
|
+
"march": "మార్చి", "maarchi": "మార్చి",
|
|
384
|
+
"april": "ఏప్రిల్", "eprilu": "ఏప్రిల్",
|
|
385
|
+
"may": "మే", "mei": "మే",
|
|
386
|
+
"june": "జూన్", "joonu": "జూన్",
|
|
387
|
+
"july": "జూలై", "joolai": "జూలై",
|
|
388
|
+
"august": "ఆగస్టు", "aagasту": "ఆగస్టు",
|
|
389
|
+
"september": "సెప్టెంబర్", "septembaru": "సెప్టెంబర్",
|
|
390
|
+
"october": "అక్టోబర్", "akтobaru": "అక్టోబర్",
|
|
391
|
+
"november": "నవంబర్", "navambaru": "నవంబర్",
|
|
392
|
+
"december": "డిసెంబర్", "disembaru": "డిసెంబర్",
|
|
393
|
+
|
|
394
|
+
# Family
|
|
395
|
+
"amma": "అమ్మ", "mother": "మదర్",
|
|
396
|
+
"nanna": "నాన్న", "father": "ఫాదర్",
|
|
397
|
+
"anna": "అన్న", "brother": "బ్రదర్",
|
|
398
|
+
"akka": "అక్క", "sister": "సిస్టర్",
|
|
399
|
+
"tammuడu": "తమ్ముడు", "younger brother": "యంగర్ బ్రదర్",
|
|
400
|
+
"chellelu": "చెల్లెలు", "younger sister": "యంగర్ సిస్టర్",
|
|
401
|
+
"thaatha": "తాత", "grandfather": "గ్రాండ్ఫాదర్",
|
|
402
|
+
"aamma": "అమ్మ", "grandmother": "గ్రాండ్మదర్",
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
# ============================================================================
|
|
406
|
+
# DICTIONARY ACCESS FUNCTIONS
|
|
407
|
+
# ============================================================================
|
|
408
|
+
|
|
409
|
+
def get_verified_word(word: str) -> Optional[str]:
|
|
410
|
+
"""
|
|
411
|
+
Get verified Telugu transliteration for a word.
|
|
412
|
+
|
|
413
|
+
Args:
|
|
414
|
+
word: English/Roman word
|
|
415
|
+
|
|
416
|
+
Returns:
|
|
417
|
+
Telugu transliteration if found, None otherwise
|
|
418
|
+
"""
|
|
419
|
+
word_lower = word.lower().strip()
|
|
420
|
+
|
|
421
|
+
# Search all dictionaries
|
|
422
|
+
dictionaries = [
|
|
423
|
+
COMMON_VERBS,
|
|
424
|
+
COMMON_NOUNS,
|
|
425
|
+
PLACE_NAMES,
|
|
426
|
+
PERSON_NAMES,
|
|
427
|
+
ENGLISH_LOANWORDS,
|
|
428
|
+
MISCELLANEOUS,
|
|
429
|
+
]
|
|
430
|
+
|
|
431
|
+
for dictionary in dictionaries:
|
|
432
|
+
if word_lower in dictionary:
|
|
433
|
+
return dictionary[word_lower]
|
|
434
|
+
|
|
435
|
+
return None
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
def get_dictionary_size() -> dict:
|
|
439
|
+
"""Get statistics about dictionary coverage"""
|
|
440
|
+
return {
|
|
441
|
+
'verbs': len(COMMON_VERBS),
|
|
442
|
+
'nouns': len(COMMON_NOUNS),
|
|
443
|
+
'places': len(PLACE_NAMES),
|
|
444
|
+
'names': len(PERSON_NAMES),
|
|
445
|
+
'loanwords': len(ENGLISH_LOANWORDS),
|
|
446
|
+
'misc': len(MISCELLANEOUS),
|
|
447
|
+
'total': (len(COMMON_VERBS) + len(COMMON_NOUNS) +
|
|
448
|
+
len(PLACE_NAMES) + len(PERSON_NAMES) +
|
|
449
|
+
len(ENGLISH_LOANWORDS) + len(MISCELLANEOUS))
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
def search_dictionary(query: str, category: Optional[str] = None) -> List[Tuple[str, str]]:
|
|
454
|
+
"""
|
|
455
|
+
Search dictionary for partial matches.
|
|
456
|
+
|
|
457
|
+
Args:
|
|
458
|
+
query: Search query
|
|
459
|
+
category: Optional category filter
|
|
460
|
+
|
|
461
|
+
Returns:
|
|
462
|
+
List of (english, telugu) tuples
|
|
463
|
+
"""
|
|
464
|
+
query_lower = query.lower()
|
|
465
|
+
results = []
|
|
466
|
+
|
|
467
|
+
# Select dictionaries to search
|
|
468
|
+
if category == 'verbs':
|
|
469
|
+
dicts = [('verbs', COMMON_VERBS)]
|
|
470
|
+
elif category == 'nouns':
|
|
471
|
+
dicts = [('nouns', COMMON_NOUNS)]
|
|
472
|
+
elif category == 'places':
|
|
473
|
+
dicts = [('places', PLACE_NAMES)]
|
|
474
|
+
elif category == 'names':
|
|
475
|
+
dicts = [('names', PERSON_NAMES)]
|
|
476
|
+
elif category == 'loanwords':
|
|
477
|
+
dicts = [('loanwords', ENGLISH_LOANWORDS)]
|
|
478
|
+
else:
|
|
479
|
+
# Search all
|
|
480
|
+
dicts = [
|
|
481
|
+
('verbs', COMMON_VERBS),
|
|
482
|
+
('nouns', COMMON_NOUNS),
|
|
483
|
+
('places', PLACE_NAMES),
|
|
484
|
+
('names', PERSON_NAMES),
|
|
485
|
+
('loanwords', ENGLISH_LOANWORDS),
|
|
486
|
+
('misc', MISCELLANEOUS),
|
|
487
|
+
]
|
|
488
|
+
|
|
489
|
+
for cat_name, dictionary in dicts:
|
|
490
|
+
for english, telugu in dictionary.items():
|
|
491
|
+
if query_lower in english.lower():
|
|
492
|
+
results.append((english, telugu, cat_name))
|
|
493
|
+
|
|
494
|
+
return results
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
if __name__ == "__main__":
|
|
498
|
+
# Print statistics
|
|
499
|
+
stats = get_dictionary_size()
|
|
500
|
+
print("=" * 70)
|
|
501
|
+
print("ENHANCED TELUGU DICTIONARY STATISTICS")
|
|
502
|
+
print("=" * 70)
|
|
503
|
+
for category, count in stats.items():
|
|
504
|
+
print(f"{category.title():15}: {count:5} entries")
|
|
505
|
+
|
|
506
|
+
# Test search
|
|
507
|
+
print("\n" + "=" * 70)
|
|
508
|
+
print("SEARCH EXAMPLES")
|
|
509
|
+
print("=" * 70)
|
|
510
|
+
|
|
511
|
+
searches = ["rama", "hydra", "computer"]
|
|
512
|
+
for query in searches:
|
|
513
|
+
results = search_dictionary(query)
|
|
514
|
+
print(f"\nSearch '{query}': found {len(results)} matches")
|
|
515
|
+
for eng, tel, cat in results[:3]:
|
|
516
|
+
print(f" {eng:20} → {tel:15} ({cat})")
|