Spaces:
Running
Running
Modified and added automation
Browse files- .gitignore +47 -0
- README.md +267 -8
- data/processed/digiwords_grouped.json +962 -0
- data/processed/processed_dialects.json +0 -0
- index.html +376 -537
- requirements.txt +6 -0
- scripts/automation_runner.py +169 -0
- scripts/check_sheet_names.py +63 -0
- scripts/csv_to_json.py +160 -0
- scripts/file_watcher.py +129 -0
- scripts/sheets_sync.py +190 -0
- sheets_output/digiwords_grouped.csv +179 -0
- sheets_output/processed_dialects.csv +0 -0
.gitignore
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Python
|
| 2 |
+
__pycache__/
|
| 3 |
+
*.py[cod]
|
| 4 |
+
*$py.class
|
| 5 |
+
*.so
|
| 6 |
+
.Python
|
| 7 |
+
env/
|
| 8 |
+
venv/
|
| 9 |
+
ENV/
|
| 10 |
+
build/
|
| 11 |
+
develop-eggs/
|
| 12 |
+
dist/
|
| 13 |
+
downloads/
|
| 14 |
+
eggs/
|
| 15 |
+
.eggs/
|
| 16 |
+
lib/
|
| 17 |
+
lib64/
|
| 18 |
+
parts/
|
| 19 |
+
sdist/
|
| 20 |
+
var/
|
| 21 |
+
wheels/
|
| 22 |
+
*.egg-info/
|
| 23 |
+
.installed.cfg
|
| 24 |
+
*.egg
|
| 25 |
+
|
| 26 |
+
# Google Credentials (IMPORTANT: Never commit these!)
|
| 27 |
+
credentials.json
|
| 28 |
+
config.json
|
| 29 |
+
token.json
|
| 30 |
+
*.json.backup
|
| 31 |
+
|
| 32 |
+
# Environment variables
|
| 33 |
+
.env
|
| 34 |
+
|
| 35 |
+
# IDE
|
| 36 |
+
.vscode/
|
| 37 |
+
.idea/
|
| 38 |
+
*.swp
|
| 39 |
+
*.swo
|
| 40 |
+
*~
|
| 41 |
+
|
| 42 |
+
# OS
|
| 43 |
+
.DS_Store
|
| 44 |
+
Thumbs.db
|
| 45 |
+
|
| 46 |
+
# Logs
|
| 47 |
+
*.log
|
README.md
CHANGED
|
@@ -1,11 +1,270 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
---
|
| 10 |
|
| 11 |
-
|
|
|
|
| 1 |
+
# Telugu Dialect Map
|
| 2 |
+
|
| 3 |
+
**Interactive web-based visualization of Telugu dialect words across Telangana and Andhra Pradesh districts.**
|
| 4 |
+
|
| 5 |
+
## 🎯 Features
|
| 6 |
+
|
| 7 |
+
- **48 Districts**: 33 Telangana + 15 Andhra Pradesh districts
|
| 8 |
+
- **Dynamic Data Loading**: Automatically loads data from JSON sources
|
| 9 |
+
- **Interactive Map**: Click districts to explore local vocabulary, meanings, and sources
|
| 10 |
+
- **Rich Content**: 3000+ verified dialect terms from crowdsourced and JSONL data
|
| 11 |
+
- **Zero Build Required**: Pure static site with automatic data loading
|
| 12 |
+
|
| 13 |
+
## 🚀 How to Run
|
| 14 |
+
|
| 15 |
+
### **Complete Setup (First Time)**
|
| 16 |
+
|
| 17 |
+
```bash
|
| 18 |
+
# 1. Navigate to project directory
|
| 19 |
+
cd /home/kashikuldeep/Desktop/swechaworkspace/dilacet-map/indian-dialects-maps
|
| 20 |
+
|
| 21 |
+
# 2. Activate virtual environment
|
| 22 |
+
source venv/bin/activate
|
| 23 |
+
|
| 24 |
+
# 3. Start automation (syncs Google Sheets every 5 minutes)
|
| 25 |
+
python scripts/automation_runner.py &
|
| 26 |
+
|
| 27 |
+
# 4. Start web server (in new terminal or background)
|
| 28 |
+
python -m http.server 8080 &
|
| 29 |
+
|
| 30 |
+
# 5. Open in browser
|
| 31 |
+
# Navigate to: http://localhost:8080/
|
| 32 |
+
```
|
| 33 |
+
|
| 34 |
+
### **Quick Run (After First Time)**
|
| 35 |
+
|
| 36 |
+
```bash
|
| 37 |
+
# Activate virtual environment
|
| 38 |
+
source venv/bin/activate
|
| 39 |
+
|
| 40 |
+
# Start both services
|
| 41 |
+
python scripts/automation_runner.py &
|
| 42 |
+
python -m http.server 8080 &
|
| 43 |
+
|
| 44 |
+
# Open: http://localhost:8080/
|
| 45 |
+
```
|
| 46 |
+
|
| 47 |
+
### **Stop Services**
|
| 48 |
+
|
| 49 |
+
```bash
|
| 50 |
+
# Press Ctrl+C in the terminals, or:
|
| 51 |
+
pkill -f automation_runner
|
| 52 |
+
pkill -f "http.server 8080"
|
| 53 |
+
```
|
| 54 |
+
|
| 55 |
+
**Important:** Use `http://localhost:8080/` not `file://` URLs (browser security blocks JSON loading from file://)
|
| 56 |
+
|
| 57 |
---
|
| 58 |
+
|
| 59 |
+
## 🎯 What You'll See
|
| 60 |
+
|
| 61 |
+
1. **Automation Console**: Shows sync status every 5 minutes
|
| 62 |
+
2. **Web Interface**: Interactive map with 48 districts (33 Telangana + 15 Andhra Pradesh)
|
| 63 |
+
3. **Auto-Updates**: Edit Google Sheets → Changes appear within 5 minutes!
|
| 64 |
+
|
| 65 |
+
## 🤖 Automated Data Updates
|
| 66 |
+
|
| 67 |
+
The project includes **automated synchronization** from Google Sheets:
|
| 68 |
+
|
| 69 |
+
- **File Watcher**: Automatically converts CSV → JSON when files change
|
| 70 |
+
- **Google Sheets Sync**: Downloads sheet data every 5 minutes
|
| 71 |
+
- **Zero Manual Work**: Update your Google Sheet and changes appear automatically!
|
| 72 |
+
|
| 73 |
+
### Configuration
|
| 74 |
+
|
| 75 |
+
Your automation is already configured for:
|
| 76 |
+
- **Processed Dialects Sheet**: 901 rows
|
| 77 |
+
- **Digiwords Sheet**: 178 rows
|
| 78 |
+
- **Sync Interval**: Every 5 minutes
|
| 79 |
+
|
| 80 |
+
To modify settings, edit `config.json`:
|
| 81 |
+
```json
|
| 82 |
+
{
|
| 83 |
+
"google_sheets": {
|
| 84 |
+
"enabled": true,
|
| 85 |
+
"sync_interval_minutes": 5,
|
| 86 |
+
"spreadsheets": [...]
|
| 87 |
+
}
|
| 88 |
+
}
|
| 89 |
+
```
|
| 90 |
+
|
| 91 |
+
📖 **[Full Automation Setup Guide →](AUTOMATION_SETUP.md)**
|
| 92 |
+
|
| 93 |
+
## 📂 Project Structure
|
| 94 |
+
|
| 95 |
+
```
|
| 96 |
+
indian-dialects-maps/
|
| 97 |
+
├── index.html # Main visualization (open this via http server)
|
| 98 |
+
├── data/
|
| 99 |
+
│ └── processed/
|
| 100 |
+
│ ├── processed_dialects.json # JSONL-processed dialect data
|
| 101 |
+
│ └── digiwords_grouped.json # Crowdsourced dialect data
|
| 102 |
+
├── sheets_output/ # CSV files (auto-converted to JSON)
|
| 103 |
+
│ ├── processed_dialects.csv
|
| 104 |
+
│ └── digiwords_grouped.csv
|
| 105 |
+
├── scripts/ # Automation scripts (NEW!)
|
| 106 |
+
│ ├── csv_to_json.py # CSV → JSON converter
|
| 107 |
+
│ ├── sheets_sync.py # Google Sheets downloader
|
| 108 |
+
│ ├── file_watcher.py # Auto-conversion on file changes
|
| 109 |
+
│ └── automation_runner.py # Main automation orchestrator
|
| 110 |
+
├── config.json # Automation configuration
|
| 111 |
+
├── requirements.txt # Python dependencies
|
| 112 |
+
├── AUTOMATION_SETUP.md # Detailed setup guide
|
| 113 |
+
└── README.md
|
| 114 |
+
```
|
| 115 |
+
|
| 116 |
+
## 🔄 How It Works
|
| 117 |
+
|
| 118 |
+
### Manual Mode (Original)
|
| 119 |
+
1. **Load `index.html`**: Contains hardcoded data for 33 Telangana districts
|
| 120 |
+
2. **Fetch `processed_dialects.json`**: Enhances/adds districts from JSONL data
|
| 121 |
+
3. **Fetch `digiwords_grouped.json`**:
|
| 122 |
+
- Merges additional words into Telangana districts
|
| 123 |
+
- Automatically adds 15 Andhra Pradesh districts with coordinates
|
| 124 |
+
4. **Render**: All districts appear on the map with merged data
|
| 125 |
+
|
| 126 |
+
### Automated Mode (NEW!)
|
| 127 |
+
1. **Google Sheets**: Update your dialect data in Google Sheets
|
| 128 |
+
2. **Auto-Sync**: Script downloads sheets as CSV (every 5 min)
|
| 129 |
+
3. **File Watcher**: Detects CSV changes
|
| 130 |
+
4. **Auto-Convert**: CSV files → JSON format
|
| 131 |
+
5. **Browser**: Refresh to see updates on the map!
|
| 132 |
+
|
| 133 |
+
**Flow:**
|
| 134 |
+
```
|
| 135 |
+
Google Sheet → CSV (sheets_output/) → JSON (data/processed/) → Browser (index.html)
|
| 136 |
+
↓ ↓ ↓
|
| 137 |
+
Manual Edit File Watcher Auto-Refresh
|
| 138 |
+
```
|
| 139 |
+
|
| 140 |
+
**Smart Merging:**
|
| 141 |
+
- Existing districts → Appends new words
|
| 142 |
+
- New AP districts → Creates markers automatically
|
| 143 |
+
- Graceful fallback if JSON files are missing
|
| 144 |
+
|
| 145 |
+
## 📊 Current Data Coverage
|
| 146 |
+
|
| 147 |
+
| State | Districts | Words | Sources |
|
| 148 |
+
|-------|-----------|-------|---------|
|
| 149 |
+
| **Telangana** | 33 | 2000+ | Hardcoded + JSONL + Digiwords |
|
| 150 |
+
| **Andhra Pradesh** | 15 | 1000+ | Digiwords (crowdsourced) |
|
| 151 |
+
| **Total** | **48** | **3000+** | Multiple sources |
|
| 152 |
+
|
| 153 |
+
### Andhra Pradesh Districts:
|
| 154 |
+
Anantapur, Annamayya, Chittoor, East Godavari, Eluru, Kadapa, Kurnool, Nandyal, Ongole, Tirupati, Srikakulam, Visakhapatnam, Vizianagaram, West Godavari, Rayalaseema
|
| 155 |
+
|
| 156 |
+
## 🎨 Adding New Data
|
| 157 |
+
|
| 158 |
+
### Update Existing JSON Files
|
| 159 |
+
|
| 160 |
+
**Edit `data/processed/digiwords_grouped.json`:**
|
| 161 |
+
```json
|
| 162 |
+
{
|
| 163 |
+
"Telangana": {
|
| 164 |
+
"YourDistrict": [
|
| 165 |
+
{"t": "తెలుగుపదం", "m": "meaning", "s": "Crowd"}
|
| 166 |
+
]
|
| 167 |
+
},
|
| 168 |
+
"Andhra Pradesh": {
|
| 169 |
+
"YourDistrict": [
|
| 170 |
+
{"t": "తెలుగుపదం", "m": "meaning", "s": "Crowd"}
|
| 171 |
+
]
|
| 172 |
+
}
|
| 173 |
+
}
|
| 174 |
+
```
|
| 175 |
+
|
| 176 |
+
**Edit `data/processed/processed_dialects.json`:**
|
| 177 |
+
```json
|
| 178 |
+
[
|
| 179 |
+
{
|
| 180 |
+
"name": "YourDistrict",
|
| 181 |
+
"region": "Region Name",
|
| 182 |
+
"words": [
|
| 183 |
+
{"t": "తెలుగుపదం", "m": "meaning", "s": "Source"}
|
| 184 |
+
]
|
| 185 |
+
}
|
| 186 |
+
]
|
| 187 |
+
```
|
| 188 |
+
|
| 189 |
+
Then refresh the browser!
|
| 190 |
+
|
| 191 |
+
### Add New AP District Coordinates
|
| 192 |
+
|
| 193 |
+
If adding a new Andhra Pradesh district, update `index.html`:
|
| 194 |
+
|
| 195 |
+
```javascript
|
| 196 |
+
const AP_COORDINATES = {
|
| 197 |
+
"YourDistrict": {
|
| 198 |
+
lat: 00.0000,
|
| 199 |
+
lng: 00.0000,
|
| 200 |
+
region: "Region Name",
|
| 201 |
+
history: "Historical context..."
|
| 202 |
+
},
|
| 203 |
+
// ...
|
| 204 |
+
};
|
| 205 |
+
```
|
| 206 |
+
|
| 207 |
+
## 🛠️ Technical Stack
|
| 208 |
+
|
| 209 |
+
- **Frontend**: HTML5, Vanilla JavaScript, Leaflet.js
|
| 210 |
+
- **Data Format**: JSON (pre-processed)
|
| 211 |
+
- **Map Library**: Leaflet with CartoDB basemap
|
| 212 |
+
- **Server**: Any HTTP server (Python, Node, etc.)
|
| 213 |
+
- **No Build Step**: Pure static site
|
| 214 |
+
|
| 215 |
+
## 🐛 Troubleshooting
|
| 216 |
+
|
| 217 |
+
### Data Not Loading?
|
| 218 |
+
|
| 219 |
+
✅ **Check #1:** Are you using `http://localhost:8000/`?
|
| 220 |
+
- ❌ Don't use `file://` URLs
|
| 221 |
+
- ✅ Use an HTTP server
|
| 222 |
+
|
| 223 |
+
✅ **Check #2:** Is the server running?
|
| 224 |
+
```bash
|
| 225 |
+
python3 -m http.server 8000
|
| 226 |
+
```
|
| 227 |
+
|
| 228 |
+
✅ **Check #3:** Hard refresh the page
|
| 229 |
+
- Press `Ctrl + Shift + R` (Windows/Linux)
|
| 230 |
+
- Press `Cmd + Shift + R` (Mac)
|
| 231 |
+
|
| 232 |
+
✅ **Check #4:** Check browser console (F12)
|
| 233 |
+
- Look for fetch errors
|
| 234 |
+
- Should see loading messages
|
| 235 |
+
|
| 236 |
+
### Server Won't Start?
|
| 237 |
+
|
| 238 |
+
```bash
|
| 239 |
+
# Kill process on port 8000
|
| 240 |
+
lsof -ti:8000 | xargs kill -9
|
| 241 |
+
|
| 242 |
+
# Start fresh
|
| 243 |
+
python3 -m http.server 8000
|
| 244 |
+
```
|
| 245 |
+
|
| 246 |
+
### Still Not Working?
|
| 247 |
+
|
| 248 |
+
1. Open browser console (F12)
|
| 249 |
+
2. Look for error messages
|
| 250 |
+
3. Check that JSON files exist in `data/processed/`
|
| 251 |
+
4. Verify you're on the correct URL (`localhost:8000` not `127.0.0.1` if redirects are weird)
|
| 252 |
+
|
| 253 |
+
## 📝 Technical Notes
|
| 254 |
+
|
| 255 |
+
- Telugu text uses web fonts (Poppins, Ramabhadra)
|
| 256 |
+
- Console shows detailed merge logs for debugging
|
| 257 |
+
- Map centered at (16.5°N, 79.8°E) to show both states
|
| 258 |
+
- Zoom level: 6.5 (fits both Telangana and AP)
|
| 259 |
+
- Data loads asynchronously with `async/await`
|
| 260 |
+
|
| 261 |
+
## 🤝 Contributing
|
| 262 |
+
|
| 263 |
+
To add more dialect data:
|
| 264 |
+
1. Edit the JSON files in `data/processed/`
|
| 265 |
+
2. Refresh `http://localhost:8000/`
|
| 266 |
+
3. That's it!
|
| 267 |
+
|
| 268 |
---
|
| 269 |
|
| 270 |
+
**Made with ❤️ for preserving Telugu linguistic heritage across Telangana and Andhra Pradesh**
|
data/processed/digiwords_grouped.json
ADDED
|
@@ -0,0 +1,962 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"Telangana": {
|
| 3 |
+
"Adilabad": [
|
| 4 |
+
{
|
| 5 |
+
"t": "చోలోట్",
|
| 6 |
+
"m": "మంచి (Good)",
|
| 7 |
+
"s": "Crowd"
|
| 8 |
+
},
|
| 9 |
+
{
|
| 10 |
+
"t": "వంచెడ్ చిబడ్",
|
| 11 |
+
"m": "అంటు ముట్టుకోడం",
|
| 12 |
+
"s": "Crowd"
|
| 13 |
+
},
|
| 14 |
+
{
|
| 15 |
+
"t": "వడోగు",
|
| 16 |
+
"m": "దూడ (Calf)",
|
| 17 |
+
"s": "Crowd"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"t": "ముచిలి పడన్",
|
| 21 |
+
"m": "ఎర్ర తుమ్మెద",
|
| 22 |
+
"s": "Crowd"
|
| 23 |
+
},
|
| 24 |
+
{
|
| 25 |
+
"t": "సర్కార్",
|
| 26 |
+
"m": "నాశనం",
|
| 27 |
+
"s": "Crowd"
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"t": "వజీర్",
|
| 31 |
+
"m": "ముసలి",
|
| 32 |
+
"s": "Crowd"
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"t": "ఖైని",
|
| 36 |
+
"m": "వదిన",
|
| 37 |
+
"s": "Crowd"
|
| 38 |
+
},
|
| 39 |
+
{
|
| 40 |
+
"t": "సూన్",
|
| 41 |
+
"m": "కోడలు",
|
| 42 |
+
"s": "Crowd"
|
| 43 |
+
},
|
| 44 |
+
{
|
| 45 |
+
"t": "Poral batal",
|
| 46 |
+
"m": "Temple term (Keslapur)",
|
| 47 |
+
"s": "Crowd"
|
| 48 |
+
}
|
| 49 |
+
],
|
| 50 |
+
"Gadwal": [
|
| 51 |
+
{
|
| 52 |
+
"t": "ఓల్లి",
|
| 53 |
+
"m": "No",
|
| 54 |
+
"s": "Crowd"
|
| 55 |
+
},
|
| 56 |
+
{
|
| 57 |
+
"t": "కూడు తింటవా",
|
| 58 |
+
"m": "తిన్నారా",
|
| 59 |
+
"s": "Crowd"
|
| 60 |
+
},
|
| 61 |
+
{
|
| 62 |
+
"t": "తువ్వ",
|
| 63 |
+
"m": "ఎర్ర పొలం",
|
| 64 |
+
"s": "Crowd"
|
| 65 |
+
},
|
| 66 |
+
{
|
| 67 |
+
"t": "పురకోస",
|
| 68 |
+
"m": "జూట్ దార",
|
| 69 |
+
"s": "Crowd"
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
"t": "జుముజలమ్మ",
|
| 73 |
+
"m": "దేవత",
|
| 74 |
+
"s": "Crowd"
|
| 75 |
+
},
|
| 76 |
+
{
|
| 77 |
+
"t": "తలుగు ఎల్లమ్మ",
|
| 78 |
+
"m": "దేవత",
|
| 79 |
+
"s": "Crowd"
|
| 80 |
+
},
|
| 81 |
+
{
|
| 82 |
+
"t": "తెల్వది",
|
| 83 |
+
"m": "Don't know",
|
| 84 |
+
"s": "Crowd"
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"t": "మడసంగ",
|
| 88 |
+
"m": "నెమ్మదిగా/జాగ్రత్తగా",
|
| 89 |
+
"s": "Crowd"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"t": "రప్పున",
|
| 93 |
+
"m": "జల్ది",
|
| 94 |
+
"s": "Crowd"
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"t": "మడసంగ",
|
| 98 |
+
"m": "Careful",
|
| 99 |
+
"s": "Crowd"
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"Hyderabad": [
|
| 103 |
+
{
|
| 104 |
+
"t": "కిటికీ",
|
| 105 |
+
"m": "Window",
|
| 106 |
+
"s": "Crowd"
|
| 107 |
+
},
|
| 108 |
+
{
|
| 109 |
+
"t": "అంగీ",
|
| 110 |
+
"m": "Shirt",
|
| 111 |
+
"s": "Crowd"
|
| 112 |
+
},
|
| 113 |
+
{
|
| 114 |
+
"t": "కుక్క",
|
| 115 |
+
"m": "Dog",
|
| 116 |
+
"s": "Crowd"
|
| 117 |
+
},
|
| 118 |
+
{
|
| 119 |
+
"t": "కుర్చీ",
|
| 120 |
+
"m": "Chair",
|
| 121 |
+
"s": "Crowd"
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"t": "Amma buvva pettava",
|
| 125 |
+
"m": "Mother feed me",
|
| 126 |
+
"s": "Crowd"
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"t": "Chaderghat",
|
| 130 |
+
"m": "Location",
|
| 131 |
+
"s": "Crowd"
|
| 132 |
+
},
|
| 133 |
+
{
|
| 134 |
+
"t": "తొవ్వ దారి",
|
| 135 |
+
"m": "Way/Path",
|
| 136 |
+
"s": "Crowd"
|
| 137 |
+
},
|
| 138 |
+
{
|
| 139 |
+
"t": "పాతాళగరిసె",
|
| 140 |
+
"m": "Tool to remove bucket",
|
| 141 |
+
"s": "Crowd"
|
| 142 |
+
},
|
| 143 |
+
{
|
| 144 |
+
"t": "అంబటాలు",
|
| 145 |
+
"m": "Afternoon time",
|
| 146 |
+
"s": "Crowd"
|
| 147 |
+
},
|
| 148 |
+
{
|
| 149 |
+
"t": "ఇన్సురాయి",
|
| 150 |
+
"m": "Stone tool",
|
| 151 |
+
"s": "Crowd"
|
| 152 |
+
},
|
| 153 |
+
{
|
| 154 |
+
"t": "బుక్కెట్",
|
| 155 |
+
"m": "Tool for well",
|
| 156 |
+
"s": "Crowd"
|
| 157 |
+
}
|
| 158 |
+
],
|
| 159 |
+
"Jangaon": [
|
| 160 |
+
{
|
| 161 |
+
"t": "ఏమైంది",
|
| 162 |
+
"m": "What happened",
|
| 163 |
+
"s": "Crowd"
|
| 164 |
+
}
|
| 165 |
+
],
|
| 166 |
+
"Karimnagar": [
|
| 167 |
+
{
|
| 168 |
+
"t": "బూరెలు",
|
| 169 |
+
"m": "భక్ష్యాలు",
|
| 170 |
+
"s": "Crowd"
|
| 171 |
+
},
|
| 172 |
+
{
|
| 173 |
+
"t": "అచ్చినం",
|
| 174 |
+
"m": "వచ్చాము",
|
| 175 |
+
"s": "Crowd"
|
| 176 |
+
},
|
| 177 |
+
{
|
| 178 |
+
"t": "పాయినం",
|
| 179 |
+
"m": "వెళ్ళాము",
|
| 180 |
+
"s": "Crowd"
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"t": "సవాలు",
|
| 184 |
+
"m": "Question/Challenge",
|
| 185 |
+
"s": "Crowd"
|
| 186 |
+
},
|
| 187 |
+
{
|
| 188 |
+
"t": "గటక",
|
| 189 |
+
"m": "Food item",
|
| 190 |
+
"s": "Crowd"
|
| 191 |
+
},
|
| 192 |
+
{
|
| 193 |
+
"t": "వస్తున్నావ",
|
| 194 |
+
"m": "వస్తున్నావు",
|
| 195 |
+
"s": "Crowd"
|
| 196 |
+
},
|
| 197 |
+
{
|
| 198 |
+
"t": "ఊశము",
|
| 199 |
+
"m": "బద్ధకం/అలసత్వం",
|
| 200 |
+
"s": "Crowd"
|
| 201 |
+
},
|
| 202 |
+
{
|
| 203 |
+
"t": "వందంగా ఉంది",
|
| 204 |
+
"m": "బాగా",
|
| 205 |
+
"s": "Crowd"
|
| 206 |
+
},
|
| 207 |
+
{
|
| 208 |
+
"t": "రువిడ్లు",
|
| 209 |
+
"m": "Shelf",
|
| 210 |
+
"s": "Crowd"
|
| 211 |
+
},
|
| 212 |
+
{
|
| 213 |
+
"t": "కార్యపాలు",
|
| 214 |
+
"m": "వస్తున్నం/పోతున్నాం",
|
| 215 |
+
"s": "Crowd"
|
| 216 |
+
},
|
| 217 |
+
{
|
| 218 |
+
"t": "బావి",
|
| 219 |
+
"m": "నూతి",
|
| 220 |
+
"s": "Crowd"
|
| 221 |
+
},
|
| 222 |
+
{
|
| 223 |
+
"t": "గంప",
|
| 224 |
+
"m": "గుల్ల",
|
| 225 |
+
"s": "Crowd"
|
| 226 |
+
},
|
| 227 |
+
{
|
| 228 |
+
"t": "బం��ి",
|
| 229 |
+
"m": "Ball",
|
| 230 |
+
"s": "Crowd"
|
| 231 |
+
}
|
| 232 |
+
],
|
| 233 |
+
"Mahabubnagar": [
|
| 234 |
+
{
|
| 235 |
+
"t": "వీధి",
|
| 236 |
+
"m": "Street",
|
| 237 |
+
"s": "Crowd"
|
| 238 |
+
},
|
| 239 |
+
{
|
| 240 |
+
"t": "జల్ది",
|
| 241 |
+
"m": "తొందరగా",
|
| 242 |
+
"s": "Crowd"
|
| 243 |
+
},
|
| 244 |
+
{
|
| 245 |
+
"t": "జింగిడి",
|
| 246 |
+
"m": "బర్రెల గుంపు",
|
| 247 |
+
"s": "Crowd"
|
| 248 |
+
},
|
| 249 |
+
{
|
| 250 |
+
"t": "బాగమ్",
|
| 251 |
+
"m": "Exhibition",
|
| 252 |
+
"s": "Crowd"
|
| 253 |
+
},
|
| 254 |
+
{
|
| 255 |
+
"t": "చలక",
|
| 256 |
+
"m": "Field",
|
| 257 |
+
"s": "Crowd"
|
| 258 |
+
},
|
| 259 |
+
{
|
| 260 |
+
"t": "ఈల పేట",
|
| 261 |
+
"m": "కత్తి పేట",
|
| 262 |
+
"s": "Crowd"
|
| 263 |
+
}
|
| 264 |
+
],
|
| 265 |
+
"Mahabubabad": [
|
| 266 |
+
{
|
| 267 |
+
"t": "బొచ్చెడు",
|
| 268 |
+
"m": "చాలా (A lot)",
|
| 269 |
+
"s": "Crowd"
|
| 270 |
+
},
|
| 271 |
+
{
|
| 272 |
+
"t": "ఏ మయింది అన్నా",
|
| 273 |
+
"m": "What happened",
|
| 274 |
+
"s": "Crowd"
|
| 275 |
+
}
|
| 276 |
+
],
|
| 277 |
+
"Medak": [
|
| 278 |
+
{
|
| 279 |
+
"t": "కీసా",
|
| 280 |
+
"m": "జేబు",
|
| 281 |
+
"s": "Crowd"
|
| 282 |
+
},
|
| 283 |
+
{
|
| 284 |
+
"t": "పైను",
|
| 285 |
+
"m": "ఆరు (Six)",
|
| 286 |
+
"s": "Crowd"
|
| 287 |
+
}
|
| 288 |
+
],
|
| 289 |
+
"Nagar Kurnool": [
|
| 290 |
+
{
|
| 291 |
+
"t": "అంబటాలు",
|
| 292 |
+
"m": "Morning meal time",
|
| 293 |
+
"s": "Crowd"
|
| 294 |
+
},
|
| 295 |
+
{
|
| 296 |
+
"t": "మంకర",
|
| 297 |
+
"m": "Winter cold",
|
| 298 |
+
"s": "Crowd"
|
| 299 |
+
},
|
| 300 |
+
{
|
| 301 |
+
"t": "లాడు",
|
| 302 |
+
"m": "తల్లి కూతురు",
|
| 303 |
+
"s": "Crowd"
|
| 304 |
+
},
|
| 305 |
+
{
|
| 306 |
+
"t": "గెనిమ",
|
| 307 |
+
"m": "పొలం గట్టు",
|
| 308 |
+
"s": "Crowd"
|
| 309 |
+
},
|
| 310 |
+
{
|
| 311 |
+
"t": "కోంత లోలు",
|
| 312 |
+
"m": "Old name for Nagar Kurnool",
|
| 313 |
+
"s": "Crowd"
|
| 314 |
+
}
|
| 315 |
+
],
|
| 316 |
+
"Nalgonda": [
|
| 317 |
+
{
|
| 318 |
+
"t": "Dupa aithundhi",
|
| 319 |
+
"m": "దాహం వేస్తుంది",
|
| 320 |
+
"s": "Crowd"
|
| 321 |
+
},
|
| 322 |
+
{
|
| 323 |
+
"t": "సేరు",
|
| 324 |
+
"m": "1kg measuring device",
|
| 325 |
+
"s": "Crowd"
|
| 326 |
+
},
|
| 327 |
+
{
|
| 328 |
+
"t": "Kurdedu Biyam",
|
| 329 |
+
"m": "Amount of rice",
|
| 330 |
+
"s": "Crowd"
|
| 331 |
+
},
|
| 332 |
+
{
|
| 333 |
+
"t": "Anglam dundu",
|
| 334 |
+
"m": "అగ్గి పెట్టె",
|
| 335 |
+
"s": "Crowd"
|
| 336 |
+
},
|
| 337 |
+
{
|
| 338 |
+
"t": "సది",
|
| 339 |
+
"m": "Take the box",
|
| 340 |
+
"s": "Crowd"
|
| 341 |
+
},
|
| 342 |
+
{
|
| 343 |
+
"t": "తట్ట",
|
| 344 |
+
"m": "పళ్ళెం",
|
| 345 |
+
"s": "Crowd"
|
| 346 |
+
},
|
| 347 |
+
{
|
| 348 |
+
"t": "కోవెల",
|
| 349 |
+
"m": "గుడి",
|
| 350 |
+
"s": "Crowd"
|
| 351 |
+
},
|
| 352 |
+
{
|
| 353 |
+
"t": "ఊసలు",
|
| 354 |
+
"m": "Weaving technique",
|
| 355 |
+
"s": "Crowd"
|
| 356 |
+
},
|
| 357 |
+
{
|
| 358 |
+
"t": "బువ్వ",
|
| 359 |
+
"m": "Cooked rice",
|
| 360 |
+
"s": "Crowd"
|
| 361 |
+
},
|
| 362 |
+
{
|
| 363 |
+
"t": "తవాచీ",
|
| 364 |
+
"m": "Shelf with doors",
|
| 365 |
+
"s": "Crowd"
|
| 366 |
+
},
|
| 367 |
+
{
|
| 368 |
+
"t": "తపుకు",
|
| 369 |
+
"m": "Plate on vessel",
|
| 370 |
+
"s": "Crowd"
|
| 371 |
+
},
|
| 372 |
+
{
|
| 373 |
+
"t": "లడ్లు",
|
| 374 |
+
"m": "అరిసెలు",
|
| 375 |
+
"s": "Crowd"
|
| 376 |
+
},
|
| 377 |
+
{
|
| 378 |
+
"t": "దారి",
|
| 379 |
+
"m": "బాట",
|
| 380 |
+
"s": "Crowd"
|
| 381 |
+
}
|
| 382 |
+
],
|
| 383 |
+
"Narayanpet": [
|
| 384 |
+
{
|
| 385 |
+
"t": "బుబ్బి",
|
| 386 |
+
"m": "అమ్మ",
|
| 387 |
+
"s": "Crowd"
|
| 388 |
+
},
|
| 389 |
+
{
|
| 390 |
+
"t": "పడం",
|
| 391 |
+
"m": "మట్టి",
|
| 392 |
+
"s": "Crowd"
|
| 393 |
+
},
|
| 394 |
+
{
|
| 395 |
+
"t": "చెముక్కలు",
|
| 396 |
+
"m": "మోకాళ్ళు",
|
| 397 |
+
"s": "Crowd"
|
| 398 |
+
},
|
| 399 |
+
{
|
| 400 |
+
"t": "మొర",
|
| 401 |
+
"m": "మంచం",
|
| 402 |
+
"s": "Crowd"
|
| 403 |
+
},
|
| 404 |
+
{
|
| 405 |
+
"t": "అబుత",
|
| 406 |
+
"m": "జుట్టు",
|
| 407 |
+
"s": "Crowd"
|
| 408 |
+
},
|
| 409 |
+
{
|
| 410 |
+
"t": "జేజి",
|
| 411 |
+
"m": "Fat",
|
| 412 |
+
"s": "Crowd"
|
| 413 |
+
},
|
| 414 |
+
{
|
| 415 |
+
"t": "అంబలి",
|
| 416 |
+
"m": "జావ",
|
| 417 |
+
"s": "Crowd"
|
| 418 |
+
}
|
| 419 |
+
],
|
| 420 |
+
"Nizamabad": [
|
| 421 |
+
{
|
| 422 |
+
"t": "పంపేవుడు",
|
| 423 |
+
"m": "పంపించడం",
|
| 424 |
+
"s": "Crowd"
|
| 425 |
+
},
|
| 426 |
+
{
|
| 427 |
+
"t": "Pillodu",
|
| 428 |
+
"m": "Bindu",
|
| 429 |
+
"s": "Crowd"
|
| 430 |
+
},
|
| 431 |
+
{
|
| 432 |
+
"t": "వచ్చిండు",
|
| 433 |
+
"m": "అచ్చిండు",
|
| 434 |
+
"s": "Crowd"
|
| 435 |
+
}
|
| 436 |
+
],
|
| 437 |
+
"Peddapally": [
|
| 438 |
+
{
|
| 439 |
+
"t": "గుమ్ము",
|
| 440 |
+
"m": "Storage",
|
| 441 |
+
"s": "Crowd"
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"t": "గట్టు",
|
| 445 |
+
"m": "దారి",
|
| 446 |
+
"s": "Crowd"
|
| 447 |
+
}
|
| 448 |
+
],
|
| 449 |
+
"Rangareddy": [
|
| 450 |
+
{
|
| 451 |
+
"t": "వీరునో",
|
| 452 |
+
"m": "తెలుగు",
|
| 453 |
+
"s": "Crowd"
|
| 454 |
+
},
|
| 455 |
+
{
|
| 456 |
+
"t": "తొక్కుడు",
|
| 457 |
+
"m": "మంచం",
|
| 458 |
+
"s": "Crowd"
|
| 459 |
+
},
|
| 460 |
+
{
|
| 461 |
+
"t": "మూర",
|
| 462 |
+
"m": "ముంగిలి",
|
| 463 |
+
"s": "Crowd"
|
| 464 |
+
},
|
| 465 |
+
{
|
| 466 |
+
"t": "కారం",
|
| 467 |
+
"m": "పచ్చడి",
|
| 468 |
+
"s": "Crowd"
|
| 469 |
+
},
|
| 470 |
+
{
|
| 471 |
+
"t": "ఈ గడ",
|
| 472 |
+
"m": "కడ",
|
| 473 |
+
"s": "Crowd"
|
| 474 |
+
}
|
| 475 |
+
],
|
| 476 |
+
"Siddipet": [
|
| 477 |
+
{
|
| 478 |
+
"t": "అంగీ",
|
| 479 |
+
"m": "Shirt",
|
| 480 |
+
"s": "Crowd"
|
| 481 |
+
},
|
| 482 |
+
{
|
| 483 |
+
"t": "పొయ్యిర్రు",
|
| 484 |
+
"m": "వెళ్ళారు",
|
| 485 |
+
"s": "Crowd"
|
| 486 |
+
},
|
| 487 |
+
{
|
| 488 |
+
"t": "మెగులుతుంది",
|
| 489 |
+
"m": "వర్షం వచ్చి ఆగిన",
|
| 490 |
+
"s": "Crowd"
|
| 491 |
+
},
|
| 492 |
+
{
|
| 493 |
+
"t": "అలుకురు",
|
| 494 |
+
"m": "Pre cultivation",
|
| 495 |
+
"s": "Crowd"
|
| 496 |
+
},
|
| 497 |
+
{
|
| 498 |
+
"t": "పయిలం",
|
| 499 |
+
"m": "జాగ్రత్త",
|
| 500 |
+
"s": "Crowd"
|
| 501 |
+
},
|
| 502 |
+
{
|
| 503 |
+
"t": "తప్పెలు",
|
| 504 |
+
"m": "Rice plate",
|
| 505 |
+
"s": "Crowd"
|
| 506 |
+
},
|
| 507 |
+
{
|
| 508 |
+
"t": "పందిట్లు",
|
| 509 |
+
"m": "పందిరి",
|
| 510 |
+
"s": "Crowd"
|
| 511 |
+
},
|
| 512 |
+
{
|
| 513 |
+
"t": "రాకొచ్చింది",
|
| 514 |
+
"m": "రాదు",
|
| 515 |
+
"s": "Crowd"
|
| 516 |
+
},
|
| 517 |
+
{
|
| 518 |
+
"t": "పోకొచ్చింది",
|
| 519 |
+
"m": "పోదు",
|
| 520 |
+
"s": "Crowd"
|
| 521 |
+
},
|
| 522 |
+
{
|
| 523 |
+
"t": "కుకో",
|
| 524 |
+
"m": "కూర్చో",
|
| 525 |
+
"s": "Crowd"
|
| 526 |
+
},
|
| 527 |
+
{
|
| 528 |
+
"t": "ఏడారు",
|
| 529 |
+
"m": "Afternoon time",
|
| 530 |
+
"s": "Crowd"
|
| 531 |
+
}
|
| 532 |
+
],
|
| 533 |
+
"Wanaparthy": [
|
| 534 |
+
{
|
| 535 |
+
"t": "చెప్పలకాయలు",
|
| 536 |
+
"m": "గొంకరకాయలు",
|
| 537 |
+
"s": "Crowd"
|
| 538 |
+
},
|
| 539 |
+
{
|
| 540 |
+
"t": "మలంచా",
|
| 541 |
+
"m": "చెంబు",
|
| 542 |
+
"s": "Crowd"
|
| 543 |
+
},
|
| 544 |
+
{
|
| 545 |
+
"t": "సొరకాయ",
|
| 546 |
+
"m": "ఆనకాయ",
|
| 547 |
+
"s": "Crowd"
|
| 548 |
+
},
|
| 549 |
+
{
|
| 550 |
+
"t": "పాశాల",
|
| 551 |
+
"m": "Clothes",
|
| 552 |
+
"s": "Crowd"
|
| 553 |
+
},
|
| 554 |
+
{
|
| 555 |
+
"t": "మట్టుగుండు",
|
| 556 |
+
"m": "Keep calm",
|
| 557 |
+
"s": "Crowd"
|
| 558 |
+
},
|
| 559 |
+
{
|
| 560 |
+
"t": "అంబరుంది",
|
| 561 |
+
"m": "Excellent",
|
| 562 |
+
"s": "Crowd"
|
| 563 |
+
}
|
| 564 |
+
],
|
| 565 |
+
"Warangal": [
|
| 566 |
+
{
|
| 567 |
+
"t": "చేను",
|
| 568 |
+
"m": "Crop/చలక",
|
| 569 |
+
"s": "Crowd"
|
| 570 |
+
},
|
| 571 |
+
{
|
| 572 |
+
"t": "పొయ్యం రారా",
|
| 573 |
+
"m": "ఇన్నానిల్లు",
|
| 574 |
+
"s": "Crowd"
|
| 575 |
+
},
|
| 576 |
+
{
|
| 577 |
+
"t": "అసుంట",
|
| 578 |
+
"m": "అటు వైపు",
|
| 579 |
+
"s": "Crowd"
|
| 580 |
+
},
|
| 581 |
+
{
|
| 582 |
+
"t": "ఇసుంట",
|
| 583 |
+
"m": "ఇటు వైపు",
|
| 584 |
+
"s": "Crowd"
|
| 585 |
+
},
|
| 586 |
+
{
|
| 587 |
+
"t": "చద్దెర",
|
| 588 |
+
"m": "Bed sheet",
|
| 589 |
+
"s": "Crowd"
|
| 590 |
+
}
|
| 591 |
+
]
|
| 592 |
+
},
|
| 593 |
+
"Andhra Pradesh": {
|
| 594 |
+
"Anantapur": [
|
| 595 |
+
{
|
| 596 |
+
"t": "దిండు",
|
| 597 |
+
"m": "Pillows",
|
| 598 |
+
"s": "Crowd"
|
| 599 |
+
}
|
| 600 |
+
],
|
| 601 |
+
"Annamayya": [
|
| 602 |
+
{
|
| 603 |
+
"t": "ఆ తుప్పాస్",
|
| 604 |
+
"m": "Nonsense/Useless",
|
| 605 |
+
"s": "Crowd"
|
| 606 |
+
}
|
| 607 |
+
],
|
| 608 |
+
"Chittoor": [
|
| 609 |
+
{
|
| 610 |
+
"t": "ముడ్దులు",
|
| 611 |
+
"m": "అంగడి",
|
| 612 |
+
"s": "Crowd"
|
| 613 |
+
},
|
| 614 |
+
{
|
| 615 |
+
"t": "సెమిరేసినావ",
|
| 616 |
+
"m": "Prepared",
|
| 617 |
+
"s": "Crowd"
|
| 618 |
+
},
|
| 619 |
+
{
|
| 620 |
+
"t": "వంకాయ పులగూర్",
|
| 621 |
+
"m": "కూర",
|
| 622 |
+
"s": "Crowd"
|
| 623 |
+
},
|
| 624 |
+
{
|
| 625 |
+
"t": "ఈరి మోది",
|
| 626 |
+
"m": "పచ్చడి",
|
| 627 |
+
"s": "Crowd"
|
| 628 |
+
},
|
| 629 |
+
{
|
| 630 |
+
"t": "అబ్బ",
|
| 631 |
+
"m": "Grandfather",
|
| 632 |
+
"s": "Crowd"
|
| 633 |
+
},
|
| 634 |
+
{
|
| 635 |
+
"t": "జెడి",
|
| 636 |
+
"m": "Hair knot",
|
| 637 |
+
"s": "Crowd"
|
| 638 |
+
}
|
| 639 |
+
],
|
| 640 |
+
"East Godavari": [
|
| 641 |
+
{
|
| 642 |
+
"t": "దుకాణం",
|
| 643 |
+
"m": "కొట్టు",
|
| 644 |
+
"s": "Crowd"
|
| 645 |
+
},
|
| 646 |
+
{
|
| 647 |
+
"t": "పైరు",
|
| 648 |
+
"m": "బంగాళదుంప",
|
| 649 |
+
"s": "Crowd"
|
| 650 |
+
},
|
| 651 |
+
{
|
| 652 |
+
"t": "బువ్వ",
|
| 653 |
+
"m": "Food",
|
| 654 |
+
"s": "Crowd"
|
| 655 |
+
},
|
| 656 |
+
{
|
| 657 |
+
"t": "గుడి",
|
| 658 |
+
"m": "దేవాలయం",
|
| 659 |
+
"s": "Crowd"
|
| 660 |
+
},
|
| 661 |
+
{
|
| 662 |
+
"t": "సామానం",
|
| 663 |
+
"m": "ఆలస్యం చేయడం",
|
| 664 |
+
"s": "Crowd"
|
| 665 |
+
},
|
| 666 |
+
{
|
| 667 |
+
"t": "బేగ రా",
|
| 668 |
+
"m": "తొందరగా రా",
|
| 669 |
+
"s": "Crowd"
|
| 670 |
+
}
|
| 671 |
+
],
|
| 672 |
+
"Eluru": [
|
| 673 |
+
{
|
| 674 |
+
"t": "శనగపప్పు",
|
| 675 |
+
"m": "వేరుశనగ",
|
| 676 |
+
"s": "Crowd"
|
| 677 |
+
},
|
| 678 |
+
{
|
| 679 |
+
"t": "చాలా బాగుంది",
|
| 680 |
+
"m": "Very good",
|
| 681 |
+
"s": "Crowd"
|
| 682 |
+
}
|
| 683 |
+
],
|
| 684 |
+
"Kadapa": [
|
| 685 |
+
{
|
| 686 |
+
"t": "కంత",
|
| 687 |
+
"m": "రంధ్రం (Hole)",
|
| 688 |
+
"s": "Crowd"
|
| 689 |
+
},
|
| 690 |
+
{
|
| 691 |
+
"t": "బాగా ఎక్కువగా",
|
| 692 |
+
"m": "Exceedingly",
|
| 693 |
+
"s": "Crowd"
|
| 694 |
+
},
|
| 695 |
+
{
|
| 696 |
+
"t": "చాపు మాటలు",
|
| 697 |
+
"m": "పెద్ద మాటలు",
|
| 698 |
+
"s": "Crowd"
|
| 699 |
+
},
|
| 700 |
+
{
|
| 701 |
+
"t": "బొరుగులు",
|
| 702 |
+
"m": "మరమరాలు",
|
| 703 |
+
"s": "Crowd"
|
| 704 |
+
},
|
| 705 |
+
{
|
| 706 |
+
"t": "రామాడం",
|
| 707 |
+
"m": "మెత్తగా చేయడం",
|
| 708 |
+
"s": "Crowd"
|
| 709 |
+
},
|
| 710 |
+
{
|
| 711 |
+
"t": "ఎనుము",
|
| 712 |
+
"m": "బర్రె",
|
| 713 |
+
"s": "Crowd"
|
| 714 |
+
},
|
| 715 |
+
{
|
| 716 |
+
"t": "ముక్కొల్",
|
| 717 |
+
"m": "3 వాడిముళ్ళు",
|
| 718 |
+
"s": "Crowd"
|
| 719 |
+
}
|
| 720 |
+
],
|
| 721 |
+
"Kurnool": [
|
| 722 |
+
{
|
| 723 |
+
"t": "బుడ్డల నూనె",
|
| 724 |
+
"m": "పల్లి oil (Peanut oil)",
|
| 725 |
+
"s": "Crowd"
|
| 726 |
+
}
|
| 727 |
+
],
|
| 728 |
+
"Nandyal": [
|
| 729 |
+
{
|
| 730 |
+
"t": "తంగాది",
|
| 731 |
+
"m": "కొట్టుదు ఇచ్చింది మధ్యన",
|
| 732 |
+
"s": "Crowd"
|
| 733 |
+
},
|
| 734 |
+
{
|
| 735 |
+
"t": "గుడి",
|
| 736 |
+
"m": "దేవాలయము",
|
| 737 |
+
"s": "Crowd"
|
| 738 |
+
},
|
| 739 |
+
{
|
| 740 |
+
"t": "హితాలు",
|
| 741 |
+
"m": "బువ్వ తిన్నారా",
|
| 742 |
+
"s": "Crowd"
|
| 743 |
+
},
|
| 744 |
+
{
|
| 745 |
+
"t": "తద్దినం",
|
| 746 |
+
"m": "పితృ దేవతల కార్యం",
|
| 747 |
+
"s": "Crowd"
|
| 748 |
+
},
|
| 749 |
+
{
|
| 750 |
+
"t": "తువాయి",
|
| 751 |
+
"m": "ఆవు దూడ (Calf)",
|
| 752 |
+
"s": "Crowd"
|
| 753 |
+
},
|
| 754 |
+
{
|
| 755 |
+
"t": "పురుకోస",
|
| 756 |
+
"m": "Jute thread twisted",
|
| 757 |
+
"s": "Crowd"
|
| 758 |
+
}
|
| 759 |
+
],
|
| 760 |
+
"Ongole": [
|
| 761 |
+
{
|
| 762 |
+
"t": "బయట వెళ్ళాడు",
|
| 763 |
+
"m": "బయటకు వెళ్ళాడు",
|
| 764 |
+
"s": "Crowd"
|
| 765 |
+
}
|
| 766 |
+
],
|
| 767 |
+
"P.R. నియోజకవర్గం": [
|
| 768 |
+
{
|
| 769 |
+
"t": "ఎర్రగడ్డ",
|
| 770 |
+
"m": "Onion",
|
| 771 |
+
"s": "Crowd"
|
| 772 |
+
},
|
| 773 |
+
{
|
| 774 |
+
"t": "తెల్ల గడ్డ",
|
| 775 |
+
"m": "వెల్లుల్లి",
|
| 776 |
+
"s": "Crowd"
|
| 777 |
+
},
|
| 778 |
+
{
|
| 779 |
+
"t": "ఉల్లగడ్డ",
|
| 780 |
+
"m": "Potato",
|
| 781 |
+
"s": "Crowd"
|
| 782 |
+
},
|
| 783 |
+
{
|
| 784 |
+
"t": "ఖిన్నారా",
|
| 785 |
+
"m": "అద్దెకు రా",
|
| 786 |
+
"s": "Crowd"
|
| 787 |
+
},
|
| 788 |
+
{
|
| 789 |
+
"t": "ముడక",
|
| 790 |
+
"m": "నాగలి",
|
| 791 |
+
"s": "Crowd"
|
| 792 |
+
},
|
| 793 |
+
{
|
| 794 |
+
"t": "కొక",
|
| 795 |
+
"m": "చీర",
|
| 796 |
+
"s": "Crowd"
|
| 797 |
+
},
|
| 798 |
+
{
|
| 799 |
+
"t": "రైన",
|
| 800 |
+
"m": "జాకెట్",
|
| 801 |
+
"s": "Crowd"
|
| 802 |
+
},
|
| 803 |
+
{
|
| 804 |
+
"t": "కడ్డీలు",
|
| 805 |
+
"m": "అగరబత్తిలు",
|
| 806 |
+
"s": "Crowd"
|
| 807 |
+
},
|
| 808 |
+
{
|
| 809 |
+
"t": "పెద్ద నాన్న",
|
| 810 |
+
"m": "నాన్న అన్న",
|
| 811 |
+
"s": "Crowd"
|
| 812 |
+
},
|
| 813 |
+
{
|
| 814 |
+
"t": "చిన్న నాన్న",
|
| 815 |
+
"m": "నాన్న తమ్ముడు",
|
| 816 |
+
"s": "Crowd"
|
| 817 |
+
},
|
| 818 |
+
{
|
| 819 |
+
"t": "పెద్దమ్మ",
|
| 820 |
+
"m": "నాన్న అన్న భార్య",
|
| 821 |
+
"s": "Crowd"
|
| 822 |
+
},
|
| 823 |
+
{
|
| 824 |
+
"t": "చిన్నమ్మ",
|
| 825 |
+
"m": "నాన్న తమ్ముడు భార్య",
|
| 826 |
+
"s": "Crowd"
|
| 827 |
+
},
|
| 828 |
+
{
|
| 829 |
+
"t": "పొద్దు పొయ్యింది",
|
| 830 |
+
"m": "సాయంత్రం సమయం",
|
| 831 |
+
"s": "Crowd"
|
| 832 |
+
}
|
| 833 |
+
],
|
| 834 |
+
"Rayalaseema": [
|
| 835 |
+
{
|
| 836 |
+
"t": "లోపల",
|
| 837 |
+
"m": "Inside",
|
| 838 |
+
"s": "Crowd"
|
| 839 |
+
},
|
| 840 |
+
{
|
| 841 |
+
"t": "బొగాలు",
|
| 842 |
+
"m": "Keys",
|
| 843 |
+
"s": "Crowd"
|
| 844 |
+
}
|
| 845 |
+
],
|
| 846 |
+
"Srikakulam": [
|
| 847 |
+
{
|
| 848 |
+
"t": "డొంక",
|
| 849 |
+
"m": "తలుపు (Door)",
|
| 850 |
+
"s": "Crowd"
|
| 851 |
+
},
|
| 852 |
+
{
|
| 853 |
+
"t": "కుంక",
|
| 854 |
+
"m": "Pillodu",
|
| 855 |
+
"s": "Crowd"
|
| 856 |
+
},
|
| 857 |
+
{
|
| 858 |
+
"t": "ఖాగి",
|
| 859 |
+
"m": "వేగంగా",
|
| 860 |
+
"s": "Crowd"
|
| 861 |
+
},
|
| 862 |
+
{
|
| 863 |
+
"t": "బాతె",
|
| 864 |
+
"m": "చావు",
|
| 865 |
+
"s": "Crowd"
|
| 866 |
+
},
|
| 867 |
+
{
|
| 868 |
+
"t": "అమ్మ",
|
| 869 |
+
"m": "Mother",
|
| 870 |
+
"s": "Crowd"
|
| 871 |
+
},
|
| 872 |
+
{
|
| 873 |
+
"t": "తెల్లారితే",
|
| 874 |
+
"m": "వేకువన",
|
| 875 |
+
"s": "Crowd"
|
| 876 |
+
}
|
| 877 |
+
],
|
| 878 |
+
"Tirupati": [
|
| 879 |
+
{
|
| 880 |
+
"t": "ఊరాల్",
|
| 881 |
+
"m": "Nonsense",
|
| 882 |
+
"s": "Crowd"
|
| 883 |
+
}
|
| 884 |
+
],
|
| 885 |
+
"Vizianagaram": [
|
| 886 |
+
{
|
| 887 |
+
"t": "ఉకుజురు",
|
| 888 |
+
"m": "Egg Burji",
|
| 889 |
+
"s": "Crowd"
|
| 890 |
+
},
|
| 891 |
+
{
|
| 892 |
+
"t": "వర్ర",
|
| 893 |
+
"m": "కారం",
|
| 894 |
+
"s": "Crowd"
|
| 895 |
+
},
|
| 896 |
+
{
|
| 897 |
+
"t": "బేపి",
|
| 898 |
+
"m": "కుక్క",
|
| 899 |
+
"s": "Crowd"
|
| 900 |
+
},
|
| 901 |
+
{
|
| 902 |
+
"t": "పైనా",
|
| 903 |
+
"m": "పైన",
|
| 904 |
+
"s": "Crowd"
|
| 905 |
+
},
|
| 906 |
+
{
|
| 907 |
+
"t": "దొడ్డ",
|
| 908 |
+
"m": "పెద్ద అమ్మ",
|
| 909 |
+
"s": "Crowd"
|
| 910 |
+
},
|
| 911 |
+
{
|
| 912 |
+
"t": "జిజ బేగరా",
|
| 913 |
+
"m": "తొందరగా రా",
|
| 914 |
+
"s": "Crowd"
|
| 915 |
+
},
|
| 916 |
+
{
|
| 917 |
+
"t": "బంగాళదుంప",
|
| 918 |
+
"m": "ఆలుగడ్డ",
|
| 919 |
+
"s": "Crowd"
|
| 920 |
+
},
|
| 921 |
+
{
|
| 922 |
+
"t": "ఉల్లిపాయ",
|
| 923 |
+
"m": "ఎర్రగడ్డ",
|
| 924 |
+
"s": "Crowd"
|
| 925 |
+
},
|
| 926 |
+
{
|
| 927 |
+
"t": "అప్ప",
|
| 928 |
+
"m": "అక్క",
|
| 929 |
+
"s": "Crowd"
|
| 930 |
+
},
|
| 931 |
+
{
|
| 932 |
+
"t": "గుంత",
|
| 933 |
+
"m": "రంధ్రం",
|
| 934 |
+
"s": "Crowd"
|
| 935 |
+
},
|
| 936 |
+
{
|
| 937 |
+
"t": "గెడ/బర్రె",
|
| 938 |
+
"m": "Buffalo",
|
| 939 |
+
"s": "Crowd"
|
| 940 |
+
},
|
| 941 |
+
{
|
| 942 |
+
"t": "గడ్డి",
|
| 943 |
+
"m": "చిన్న సెలయేరు",
|
| 944 |
+
"s": "Crowd"
|
| 945 |
+
}
|
| 946 |
+
],
|
| 947 |
+
"West Godavari": [
|
| 948 |
+
{
|
| 949 |
+
"t": "రాతు తడి",
|
| 950 |
+
"m": "Irrigation term",
|
| 951 |
+
"s": "Crowd"
|
| 952 |
+
}
|
| 953 |
+
],
|
| 954 |
+
"Guntur": [
|
| 955 |
+
{
|
| 956 |
+
"t": "నగబు ",
|
| 957 |
+
"m": "An ancient word for snake",
|
| 958 |
+
"s": "Crowd"
|
| 959 |
+
}
|
| 960 |
+
]
|
| 961 |
+
}
|
| 962 |
+
}
|
data/processed/processed_dialects.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
index.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
<head>
|
| 5 |
<meta charset="UTF-8">
|
| 6 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 7 |
-
<title>Telugu
|
| 8 |
|
| 9 |
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
|
| 10 |
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin="" />
|
|
@@ -122,19 +122,6 @@
|
|
| 122 |
font-size: 0.95rem;
|
| 123 |
}
|
| 124 |
|
| 125 |
-
/* Hyperlink Styles */
|
| 126 |
-
.source-link {
|
| 127 |
-
color: #3498db;
|
| 128 |
-
text-decoration: none;
|
| 129 |
-
font-size: 0.75rem;
|
| 130 |
-
border-bottom: 1px dotted #3498db;
|
| 131 |
-
}
|
| 132 |
-
|
| 133 |
-
.source-link:hover {
|
| 134 |
-
color: #2980b9;
|
| 135 |
-
border-bottom: 1px solid #2980b9;
|
| 136 |
-
}
|
| 137 |
-
|
| 138 |
#map {
|
| 139 |
flex-grow: 1;
|
| 140 |
height: 100%;
|
|
@@ -164,8 +151,8 @@
|
|
| 164 |
|
| 165 |
<div id="sidebar">
|
| 166 |
<div class="header">
|
| 167 |
-
<h1>Telugu
|
| 168 |
-
<p>
|
| 169 |
</div>
|
| 170 |
<div id="info-panel">
|
| 171 |
<div style="text-align: center; color: #888; margin-top: 60px;">
|
|
@@ -181,14 +168,31 @@
|
|
| 181 |
integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script>
|
| 182 |
|
| 183 |
<script>
|
| 184 |
-
// --- 1. THE DATA ---
|
| 185 |
-
|
| 186 |
-
const Telangana_Data = [
|
| 187 |
// === NORTHERN TELANGANA ===
|
| 188 |
{
|
| 189 |
name: "Adilabad", lat: 19.6641, lng: 78.5320, region: "Northern Forest",
|
| 190 |
history: "Heavily influenced by Gondi tribal dialects and Marathi due to the Maharashtra border.",
|
| 191 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 192 |
{ t: "కోయంగ్", m: "Dialect/Language", s: "Gondi" }, { t: "పైలం", m: "Careful", s: "Mandalikalu" },
|
| 193 |
{ t: "ఆడ", m: "There", s: "General" }, { t: "కాకా", m: "Uncle", s: "Marathi Infl." },
|
| 194 |
{ t: "పటేల్", m: "Village Head", s: "Tribal" }, { t: "గూడ", m: "Hamlet", s: "Rural" },
|
|
@@ -234,6 +238,12 @@
|
|
| 234 |
name: "Nizamabad", lat: 18.6725, lng: 78.0941, region: "Indur Agrarian",
|
| 235 |
history: "Rich agricultural zone (Turmeric). Strong Dakhni Urdu influence from the Nizam era.",
|
| 236 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 237 |
{ t: "పసుపు", m: "Turmeric", s: "Agri" }, { t: "ఐగలు", m: "Priest", s: "Mandalikalu" },
|
| 238 |
{ t: "హామీ", m: "Assurance", s: "Urdu Infl." }, { t: "జీరా", m: "Boundary", s: "Agri" },
|
| 239 |
{ t: "పుంటికూర", m: "Gongura", s: "Food" }, { t: "అంగడి", m: "Shop", s: "Rural" },
|
|
@@ -257,6 +267,32 @@
|
|
| 257 |
name: "Karimnagar", lat: 18.4386, lng: 79.1288, region: "Cultural Core",
|
| 258 |
history: "Considered the standard for 'Telangana Slang' in media. Sharp, distinct pronunciation.",
|
| 259 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 260 |
{ t: "తోపు", m: "Great/Top", s: "Slang" }, { t: "కేక", m: "Super", s: "Slang" },
|
| 261 |
{ t: "లొల్లి", m: "Fight/Noise", s: "General" }, { t: "శాన", m: "Very", s: "Mandalikalu" },
|
| 262 |
{ t: "పైసల్", m: "Money", s: "General" }, { t: "గత్తర", m: "Mess", s: "Slang" },
|
|
@@ -279,6 +315,10 @@
|
|
| 279 |
name: "Peddapalli", lat: 18.6146, lng: 79.3705, region: "Industrial Hub",
|
| 280 |
history: "Home to NTPC and Coal mines. Vocabulary is a mix of rural and industrial English loan words.",
|
| 281 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
| 282 |
{ t: "బొగ్గు", m: "Coal", s: "Mining" }, { t: "కరెంట్", m: "Power", s: "Utility" },
|
| 283 |
{ t: "క్వార్టర్", m: "Housing", s: "Industry" }, { t: "షిఫ్ట్", m: "Work Shift", s: "Labor" },
|
| 284 |
{ t: "గేట్", m: "Entrance", s: "General" }, { t: "పోరడు", m: "Boy", s: "General" },
|
|
@@ -302,6 +342,16 @@
|
|
| 302 |
name: "Warangal", lat: 17.9689, lng: 79.5941, region: "Kakatiya Rural",
|
| 303 |
history: "Historic Orugallu. Retains classical Telugu terms mixed with rural agricultural slang.",
|
| 304 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 305 |
{ t: "చెల్క", m: "Field", s: "Agri" }, { t: "గ���్డపార", m: "Crowbar", s: "Tools" },
|
| 306 |
{ t: "నాగలి", m: "Plough", s: "Agri" }, { t: "ఎడ్లు", m: "Bulls", s: "Agri" },
|
| 307 |
{ t: "పంట", m: "Crop", s: "Agri" }, { t: "ఎరువ", m: "Fertilizer", s: "Agri" },
|
|
@@ -324,6 +374,8 @@
|
|
| 324 |
name: "Jangaon", lat: 17.7226, lng: 79.1685, region: "Central Junction",
|
| 325 |
history: "A crossroads district. Famous for Jatharas and rural festivals.",
|
| 326 |
words: [
|
|
|
|
|
|
|
| 327 |
{ t: "గుట్ట", m: "Hillock", s: "Geo" }, { t: "జాతర", m: "Fair", s: "Culture" },
|
| 328 |
{ t: "బోనం", m: "Offering", s: "Ritual" }, { t: "సాక", m: "Branch", s: "Nature" },
|
| 329 |
{ t: "కోడి", m: "Chicken", s: "Food" }, { t: "మేక", m: "Goat", s: "Agri" },
|
|
@@ -346,6 +398,10 @@
|
|
| 346 |
name: "Mahabubabad", lat: 17.5956, lng: 80.0053, region: "Tribal Corridor",
|
| 347 |
history: "Strong Lambadi/Banjara tribal presence influences the local lexicon.",
|
| 348 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
| 349 |
{ t: "తండా", m: "Hamlet", s: "Tribal" }, { t: "బంజారా", m: "Tribe", s: "Community" },
|
| 350 |
{ t: "గూడు", m: "Nest/Hut", s: "General" }, { t: "తవ్వు", m: "Dig", s: "Action" },
|
| 351 |
{ t: "పాట", m: "Song", s: "Culture" }, { t: "ఆట", m: "Dance/Play", s: "Culture" },
|
|
@@ -391,6 +447,18 @@
|
|
| 391 |
name: "Mahabubnagar", lat: 16.7488, lng: 78.0035, region: "Palamuru",
|
| 392 |
history: "Palamuru region. Known for migration (Valasa) and distinct, rougher intonation.",
|
| 393 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 394 |
{ t: "పాలమూరు", m: "Mahabubnagar", s: "Place" }, { t: "వలస", m: "Migration", s: "Social" },
|
| 395 |
{ t: "కూలీ", m: "Laborer", s: "Social" }, { t: "అడ్డా", m: "Stand/Place", s: "Social" },
|
| 396 |
{ t: "అప్ప", m: "Father", s: "Seema Infl." }, { t: "అయ్య", m: "Father", s: "General" },
|
|
@@ -402,6 +470,18 @@
|
|
| 402 |
name: "Nagarkurnool", lat: 16.4856, lng: 78.3305, region: "Nallamalla Zone",
|
| 403 |
history: "Covers the Nallamalla forest. Chenchu tribal words are part of the local mix.",
|
| 404 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 405 |
{ t: "నల్ల", m: "Black", s: "General" }, { t: "మళ్ళ", m: "Again", s: "General" },
|
| 406 |
{ t: "కొండ", m: "Hill", s: "Geo" }, { t: "వాగు", m: "Stream", s: "Geo" },
|
| 407 |
{ t: "చెంచు", m: "Tribe", s: "Community" }, { t: "తేనె", m: "Honey", s: "Forest" },
|
|
@@ -413,6 +493,18 @@
|
|
| 413 |
name: "Wanaparthy", lat: 16.3621, lng: 78.0617, region: "Samsthanam",
|
| 414 |
history: "A historic Samsthanam (Estate). The dialect reflects a feudal/royal past.",
|
| 415 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 416 |
{ t: "సంస్థానం", m: "Estate", s: "History" }, { t: "రాజా", m: "King", s: "History" },
|
| 417 |
{ t: "కోట", m: "Fort", s: "History" }, { t: "బంగారు", m: "Golden", s: "General" },
|
| 418 |
{ t: "పట్టు", m: "Silk", s: "Textile" }, { t: "చీర", m: "Saree", s: "Textile" },
|
|
@@ -424,6 +516,26 @@
|
|
| 424 |
name: "Jogulamba Gadwal", lat: 16.2343, lng: 77.7289, region: "River Doab",
|
| 425 |
history: "Between Krishna and Tungabhadra rivers. Known for Handlooms and temples.",
|
| 426 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 427 |
{ t: "నడుము", m: "Waist/Middle", s: "Body" }, { t: "గడ్డ", m: "Land/Bank", s: "Geo" },
|
| 428 |
{ t: "కృష్ణ", m: "River", s: "Geo" }, { t: "తుంగభద్ర", m: "River", s: "Geo" },
|
| 429 |
{ t: "పదిహేను", m: "Fifteen", s: "Standard" }, { t: "పదహైదు", m: "Fifteen", s: "Local" },
|
|
@@ -435,6 +547,20 @@
|
|
| 435 |
name: "Narayanpet", lat: 16.7323, lng: 77.4988, region: "Karnataka Border",
|
| 436 |
history: "Strong Kannada influence due to location. Cuisine terms (Rotti) are common.",
|
| 437 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 438 |
{ t: "పేట", m: "Town", s: "Suffix" }, { t: "చీర", m: "Saree", s: "Textile" },
|
| 439 |
{ t: "మగ్గ", m: "Loom", s: "Textile" }, { t: "బోర్డర్", m: "Border", s: "Geo" },
|
| 440 |
{ t: "కన్నడ", m: "Language", s: "Influence" }, { t: "రొట్టి", m: "Bread", s: "Food" },
|
|
@@ -446,6 +572,32 @@
|
|
| 446 |
name: "Nalgonda", lat: 17.0577, lng: 79.2683, region: "Southern Plains",
|
| 447 |
history: "Known for the Nalgonda movement. Dialect is direct, sharp, and iconic.",
|
| 448 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 449 |
{ t: "నల్ల", m: "Black", s: "General" }, { t: "కొండ", m: "Hill", s: "Geo" },
|
| 450 |
{ t: "ఫ్లోరోసిస్", m: "Disease", s: "History" }, { t: "నీళ్ళు", m: "Water", s: "General" },
|
| 451 |
{ t: "బావి", m: "Well", s: "Agri" }, { t: "ఏడ", m: "Where", s: "Grammar" },
|
|
@@ -480,6 +632,10 @@
|
|
| 480 |
name: "Medak", lat: 18.0487, lng: 78.2657, region: "Heritage West",
|
| 481 |
history: "Historical seat of power. 'Metuku' (rice grain) is the etymological root.",
|
| 482 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
| 483 |
{ t: "చర్చి", m: "Church", s: "Landmark" }, { t: "మెతుకు", m: "Rice Grain", s: "Etymology" },
|
| 484 |
{ t: "దుర్గం", m: "Fort", s: "History" }, { t: "కోట", m: "Fort", s: "History" },
|
| 485 |
{ t: "గడి", m: "Room", s: "Rural" }, { t: "సింహ", m: "Lion", s: "Art" },
|
|
@@ -502,6 +658,28 @@
|
|
| 502 |
name: "Siddipet", lat: 18.1018, lng: 78.8520, region: "Political Hub",
|
| 503 |
history: "A vibrant, politically active district. Home to Komuravelli Mallanna.",
|
| 504 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 505 |
{ t: "కోటి", m: "Monkey", s: "Local" }, { t: "మల్లన్న", m: "God Name", s: "Religion" },
|
| 506 |
{ t: "పట్నం", m: "City", s: "General" }, { t: "చెరువు", m: "Lake", s: "Geo" },
|
| 507 |
{ t: "బతుకమ్మ", m: "Festival", s: "Culture" }, { t: "పూలు", m: "Flowers", s: "Nature" },
|
|
@@ -513,6 +691,16 @@
|
|
| 513 |
name: "Rangareddy", lat: 17.3457, lng: 78.5522, region: "Peri-Urban",
|
| 514 |
history: "Surrounds Hyderabad. Mix of rural farms and real estate boom vocabulary.",
|
| 515 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 516 |
{ t: "ఎయిర్పోర్ట్", m: "Airport", s: "Infra" }, { t: "ఫ్లైట్", m: "Plane", s: "Transport" },
|
| 517 |
{ t: "రియల్ ఎస్టేట్", m: "Land Biz", s: "Biz" }, { t: "ప్లాట్", m: "Plot", s: "Biz" },
|
| 518 |
{ t: "రేటు", m: "Price", s: "Biz" }, { t: "మచ్చ", m: "Friend", s: "Slang" },
|
|
@@ -546,6 +734,28 @@
|
|
| 546 |
name: "Hyderabad", lat: 17.3850, lng: 78.4867, region: "Capital",
|
| 547 |
history: "The historic capital. Famous for the unique Dakhni-Telugu fusion dialect.",
|
| 548 |
words: [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 549 |
{ t: "కైకు", m: "Why", s: "Dakhni" }, { t: "నక్కో", m: "No", s: "Dakhni" },
|
| 550 |
{ t: "హౌ", m: "Yes", s: "Dakhni" }, { t: "బైగన్", m: "Useless", s: "Slang" },
|
| 551 |
{ t: "చిచ్చా", m: "Uncle", s: "Slang" }, { t: "పోట్టి", m: "Girl", s: "Slang" },
|
|
@@ -555,537 +765,162 @@
|
|
| 555 |
}
|
| 556 |
];
|
| 557 |
|
| 558 |
-
|
| 559 |
-
|
| 560 |
-
|
| 561 |
-
|
| 562 |
-
|
| 563 |
-
|
| 564 |
-
|
| 565 |
-
|
| 566 |
-
|
| 567 |
-
|
| 568 |
-
|
| 569 |
-
|
| 570 |
-
|
| 571 |
-
|
| 572 |
-
|
| 573 |
-
|
| 574 |
-
|
| 575 |
-
|
| 576 |
-
|
| 577 |
-
|
| 578 |
-
|
| 579 |
-
|
| 580 |
-
|
| 581 |
-
|
| 582 |
-
|
| 583 |
-
|
| 584 |
-
|
| 585 |
-
|
| 586 |
-
|
| 587 |
-
|
| 588 |
-
|
| 589 |
-
|
| 590 |
-
|
| 591 |
-
|
| 592 |
-
|
| 593 |
-
|
| 594 |
-
|
| 595 |
-
|
| 596 |
-
|
| 597 |
-
|
| 598 |
-
|
| 599 |
-
|
| 600 |
-
|
| 601 |
-
|
| 602 |
-
|
| 603 |
-
|
| 604 |
-
|
| 605 |
-
|
| 606 |
-
|
| 607 |
-
|
| 608 |
-
|
| 609 |
-
|
| 610 |
-
|
| 611 |
-
|
| 612 |
-
|
| 613 |
-
|
| 614 |
-
|
| 615 |
-
|
| 616 |
-
|
| 617 |
-
|
| 618 |
-
|
| 619 |
-
|
| 620 |
-
|
| 621 |
-
|
| 622 |
-
|
| 623 |
-
|
| 624 |
-
|
| 625 |
-
|
| 626 |
-
|
| 627 |
-
|
| 628 |
-
|
| 629 |
-
|
| 630 |
-
|
| 631 |
-
|
| 632 |
-
|
| 633 |
-
|
| 634 |
-
|
| 635 |
-
|
| 636 |
-
|
| 637 |
-
|
| 638 |
-
|
| 639 |
-
|
| 640 |
-
|
| 641 |
-
|
| 642 |
-
|
| 643 |
-
|
| 644 |
-
|
| 645 |
-
|
| 646 |
-
|
| 647 |
-
|
| 648 |
-
|
| 649 |
-
|
| 650 |
-
|
| 651 |
-
|
| 652 |
-
|
| 653 |
-
|
| 654 |
-
|
| 655 |
-
|
| 656 |
-
{ t: "మన్యం", m: "Forest/Hill Area", s: "History", l: "https://en.wikipedia.org/wiki/Manyam_Rebellion" },
|
| 657 |
-
{ t: "ఫితూరీ", m: "Rebellion", s: "History", l: "https://en.wikipedia.org/wiki/Rampa_Rebellion_of_1922" },
|
| 658 |
-
{ t: "రాముడు", m: "Alluri (God)", s: "Legend", l: "https://en.wikipedia.org/wiki/Alluri_Sitarama_Raju" },
|
| 659 |
-
{ t: "పోడు", m: "Shifting Agri", s: "Tribal", l: "https://en.wikipedia.org/wiki/Podu" },
|
| 660 |
-
{ t: "కాఫీ", m: "Coffee", s: "Agri", l: "https://en.wikipedia.org/wiki/Araku_Valley_Coffee" },
|
| 661 |
-
{ t: "లోయ", m: "Valley (Araku)", s: "Geo", l: "https://en.wikipedia.org/wiki/Araku_Valley" },
|
| 662 |
-
{ t: "బొర్రా", m: "Cave/Hole", s: "Geo", l: "https://en.wikipedia.org/wiki/Borra_Caves" },
|
| 663 |
-
{ t: "గిరిజన", m: "Tribal", s: "Admin", l: "https://en.wikipedia.org/wiki/Scheduled_Tribes_in_India" },
|
| 664 |
-
{ t: "విల్లు", m: "Bow", s: "Weapon", l: "https://andhrabharati.com" },
|
| 665 |
-
{ t: "బాణం", m: "Arrow", s: "Weapon", l: "https://andhrabharati.com" }
|
| 666 |
-
]
|
| 667 |
-
},
|
| 668 |
-
|
| 669 |
-
// === GODAVARI REGION ===
|
| 670 |
-
{
|
| 671 |
-
name: "Kakinada",
|
| 672 |
-
lat: 16.9891, lng: 82.2475,
|
| 673 |
-
region: "East Godavari",
|
| 674 |
-
history: "The 'Pensioner's Paradise'. Known for the distinct 'Aay' (Yes) and polite, drawn-out Godavari accent. Famous for Kaja.",
|
| 675 |
-
words: [
|
| 676 |
-
{ t: "కాజా", m: "Sweet", s: "Food", l: "https://en.wikipedia.org/wiki/Kakinada_Kaja" },
|
| 677 |
-
{ t: "బాసు", m: "Boss (Friend)", s: "Slang", l: "https://en.wiktionary.org/wiki/boss" },
|
| 678 |
-
{ t: "రేవు", m: "Port", s: "Marine", l: "https://en.wikipedia.org/wiki/Kakinada_Port" },
|
| 679 |
-
{ t: "పిఠాపురం", m: "Place Name", s: "History", l: "https://en.wikipedia.org/wiki/Pithapuram" },
|
| 680 |
-
{ t: "శక్తి", m: "Power (Peetham)", s: "Religion", l: "https://en.wikipedia.org/wiki/Puruhutika_Devi_Temple" },
|
| 681 |
-
{ t: "బీచ్", m: "Beach", s: "Tourism", l: "https://en.wikipedia.org/wiki/Uppada_Beach" },
|
| 682 |
-
{ t: "పట్టు", m: "Silk (Uppada)", s: "Textile", l: "https://en.wikipedia.org/wiki/Uppada_Jamdani_Sari" },
|
| 683 |
-
{ t: "నౌక", m: "Boat/Ship", s: "Marine", l: "https://andhrabharati.com" },
|
| 684 |
-
{ t: "వంట", m: "Cooking", s: "Culture", l: "https://andhrabharati.com" },
|
| 685 |
-
{ t: "మర్యాద", m: "Respect", s: "Culture", l: "https://andhrabharati.com" }
|
| 686 |
-
]
|
| 687 |
-
},
|
| 688 |
-
{
|
| 689 |
-
name: "Dr. B.R. Ambedkar Konaseema",
|
| 690 |
-
lat: 16.5794, lng: 81.9930,
|
| 691 |
-
region: "Konaseema",
|
| 692 |
-
history: "The Delta region. Extremely fertile, known for coconut groves and distinct river-island vocabulary like 'Lanka' and 'Revu'.",
|
| 693 |
-
words: [
|
| 694 |
-
{ t: "లంక", m: "Island", s: "Geo", l: "https://te.wikipedia.org/wiki/%E0%B0%97%E0%B1%8B%E0%B0%A6%E0%B0%BE%E0%B0%B5%E0%B0%B0%E0%B0%BF_%E0%B0%AF%E0%B0%BE%E0%B0%B8" },
|
| 695 |
-
{ t: "రేవు", m: "River Bank", s: "Geo", l: "https://te.wikipedia.org/wiki/%E0%B0%97%E0%B1%8B%E0%B0%A6%E0%B0%BE%E0%B0%B5%E0%B0%B0%E0%B0%BF_%E0%B0%AF%E0%B0%BE%E0%B0%B8" },
|
| 696 |
-
{ t: "కొబ్బరి", m: "Coconut", s: "Agri", l: "http://jaganalluri.blogspot.com/2010/10/konaseema-telugu-is-delta-located-in.html" },
|
| 697 |
-
{ t: "డిబ్బ", m: "Mound/Islet", s: "Geo", l: "http://jaganalluri.blogspot.com/2010/10/konaseema-telugu-is-delta-located-in.html" },
|
| 698 |
-
{ t: "ఆయ్", m: "Yes (Respectful)", s: "Slang", l: "http://jaganalluri.blogspot.com/2010/10/konaseema-telugu-is-delta-located-in.html" },
|
| 699 |
-
{ t: "పంటి", m: "Raft/Ferry", s: "Transport", l: "http://jaganalluri.blogspot.com/2010/10/konaseema-telugu-is-delta-located-in.html" },
|
| 700 |
-
{ t: "గోదారి", m: "Godavari", s: "Geo", l: "http://jaganalluri.blogspot.com/2010/10/konaseema-telugu-is-delta-located-in.html" },
|
| 701 |
-
{ t: "అరిటాకు", m: "Banana Leaf", s: "Food", l: "https://andhrabharati.com" },
|
| 702 |
-
{ t: "పూతరేకు", m: "Paper Sweet", s: "Food", l: "https://en.wikipedia.org/wiki/Pootharekulu" },
|
| 703 |
-
{ t: "అన్నం", m: "Rice", s: "Food", l: "https://andhrabharati.com" }
|
| 704 |
-
]
|
| 705 |
-
},
|
| 706 |
-
{
|
| 707 |
-
name: "East Godavari",
|
| 708 |
-
lat: 17.0005, lng: 81.8040,
|
| 709 |
-
region: "Godavari",
|
| 710 |
-
history: "Headquartered at Rajamahendravaram. Cultural capital of Andhra. Standard Telugu ('Grandhika') has strong roots here.",
|
| 711 |
-
words: [
|
| 712 |
-
{ t: "పుష్కర", m: "River Festival", s: "Culture", l: "https://en.wikipedia.org/wiki/Godavari_Pushkaralu" },
|
| 713 |
-
{ t: "ఘాట్", m: "Bathing Steps", s: "Religion", l: "https://en.wikipedia.org/wiki/Ghat" },
|
| 714 |
-
{ t: "ఆదికవి", m: "First Poet (Nannaya)", s: "Lit", l: "https://en.wikipedia.org/wiki/Nannayya" },
|
| 715 |
-
{ t: "బ్యారేజ్", m: "Barrage", s: "Infra", l: "https://en.wikipedia.org/wiki/Dowleswaram_Barrage" },
|
| 716 |
-
{ t: "నర్సరీ", m: "Plant Nursery", s: "Agri", l: "https://en.wikipedia.org/wiki/Kadiyam" },
|
| 717 |
-
{ t: "పువ్వులు", m: "Flowers", s: "Agri", l: "https://en.wikipedia.org/wiki/Kadiyam" },
|
| 718 |
-
{ t: "రోజా", m: "Rose", s: "Agri", l: "https://andhrabharati.com" },
|
| 719 |
-
{ t: "రైలు", m: "Train (Bridge)", s: "Transport", l: "https://en.wikipedia.org/wiki/Godavari_Bridge" },
|
| 720 |
-
{ t: "గోదావరి", m: "River", s: "Geo", l: "https://en.wikipedia.org/wiki/Godavari_River" },
|
| 721 |
-
{ t: "సంస్కృతి", m: "Culture", s: "General", l: "https://andhrabharati.com" }
|
| 722 |
-
]
|
| 723 |
-
},
|
| 724 |
-
{
|
| 725 |
-
name: "West Godavari",
|
| 726 |
-
lat: 16.5417, lng: 81.5233,
|
| 727 |
-
region: "Godavari Delta",
|
| 728 |
-
history: "Centered around Bhimavaram. Known for aquaculture (Prawns/Fish) and cockfights (Kodi Pandem) during Sankranti.",
|
| 729 |
-
words: [
|
| 730 |
-
{ t: "రొయ్యలు", m: "Prawns", s: "Aqua", l: "https://en.wikipedia.org/wiki/Aquaculture_in_India" },
|
| 731 |
-
{ t: "చేపలు", m: "Fish", s: "Aqua", l: "https://en.wikipedia.org/wiki/Fish_farming" },
|
| 732 |
-
{ t: "పందెం", m: "Bet/Race", s: "Culture", l: "https://en.wikipedia.org/wiki/Cockfight" },
|
| 733 |
-
{ t: "సంక్రాంతి", m: "Harvest Fest", s: "Culture", l: "https://en.wikipedia.org/wiki/Sankranti" },
|
| 734 |
-
{ t: "కోడి", m: "Rooster", s: "Culture", l: "https://en.wikipedia.org/wiki/Cockfight" },
|
| 735 |
-
{ t: "బరి", m: "Arena", s: "Culture", l: "https://andhrabharati.com" },
|
| 736 |
-
{ t: "కత్తి", m: "Knife (Cockfight)", s: "Tool", l: "https://andhrabharati.com" },
|
| 737 |
-
{ t: "చెరువు", m: "Pond (Aqua)", s: "Agri", l: "https://en.wikipedia.org/wiki/Fish_pond" },
|
| 738 |
-
{ t: "గట్టు", m: "Bund", s: "Geo", l: "https://andhrabharati.com" },
|
| 739 |
-
{ t: "ఊరు", m: "Village", s: "General", l: "https://andhrabharati.com" }
|
| 740 |
-
]
|
| 741 |
-
},
|
| 742 |
-
{
|
| 743 |
-
name: "Eluru",
|
| 744 |
-
lat: 16.7107, lng: 81.0952,
|
| 745 |
-
region: "Kolleru Belt",
|
| 746 |
-
history: "Between Krishna and Godavari. Home to Kolleru Lake. Famous for carpets and woolen piles.",
|
| 747 |
-
words: [
|
| 748 |
-
{ t: "కొల్లేరు", m: "Lake Name", s: "Geo", l: "https://en.wikipedia.org/wiki/Kolleru_Lake" },
|
| 749 |
-
{ t: "పక్షులు", m: "Birds", s: "Nature", l: "https://en.wikipedia.org/wiki/Kolleru_Bird_Sanctuary" },
|
| 750 |
-
{ t: "తివాచీ", m: "Carpet", s: "Craft", l: "https://en.wikipedia.org/wiki/Eluru#Economy" },
|
| 751 |
-
{ t: "ఉన్ని", m: "Wool", s: "Material", l: "https://andhrabharati.com" },
|
| 752 |
-
{ t: "ద్వారకా", m: "Tirumala (Little)", s: "Religion", l: "https://en.wikipedia.org/wiki/Dwaraka_Tirumala" },
|
| 753 |
-
{ t: "గుడి", m: "Temple", s: "Religion", l: "https://andhrabharati.com" },
|
| 754 |
-
{ t: "మొక్కు", m: "Vow", s: "Religion", l: "https://andhrabharati.com" },
|
| 755 |
-
{ t: "లంక", m: "Island", s: "Geo", l: "https://andhrabharati.com" },
|
| 756 |
-
{ t: "పొలము", m: "Field", s: "Agri", l: "https://andhrabharati.com" },
|
| 757 |
-
{ t: "వరి", m: "Paddy", s: "Agri", l: "https://en.wikipedia.org/wiki/Paddy" }
|
| 758 |
-
]
|
| 759 |
-
},
|
| 760 |
-
|
| 761 |
-
// === KRISHNA-GUNTUR REGION ===
|
| 762 |
-
{
|
| 763 |
-
name: "Krishna",
|
| 764 |
-
lat: 16.1808, lng: 81.1303,
|
| 765 |
-
region: "Krishna Delta",
|
| 766 |
-
history: "Headquartered at Machilipatnam. Historic port town with Dutch/British influence. Famous for Kalamkari.",
|
| 767 |
-
words: [
|
| 768 |
-
{ t: "కలంకారీ", m: "Pen Art", s: "Art", l: "https://en.wikipedia.org/wiki/Kalamkari" },
|
| 769 |
-
{ t: "బందరు", m: "Machilipatnam", s: "Place", l: "https://en.wikipedia.org/wiki/Machilipatnam" },
|
| 770 |
-
{ t: "లడ్డు", m: "Sweet (Bandar)", s: "Food", l: "https://en.wikipedia.org/wiki/Bandar_Laddu" },
|
| 771 |
-
{ t: "బీచ్", m: "Beach", s: "Tourism", l: "https://en.wikipedia.org/wiki/Manginapudi_Beach" },
|
| 772 |
-
{ t: "కోట", m: "Fort (Dutch)", s: "History", l: "https://en.wikipedia.org/wiki/Machilipatnam#History" },
|
| 773 |
-
{ t: "నగల", m: "Imitation Gold", s: "Craft", l: "https://en.wikipedia.org/wiki/Machilipatnam" },
|
| 774 |
-
{ t: "డచ్", m: "Dutch", s: "History", l: "https://en.wikipedia.org/wiki/Dutch_Coromandel" },
|
| 775 |
-
{ t: "ఓడరేవు", m: "Seaport", s: "Marine", l: "https://andhrabharati.com" },
|
| 776 |
-
{ t: "చేనేత", m: "Handloom", s: "Craft", l: "https://andhrabharati.com" },
|
| 777 |
-
{ t: "నది", m: "River", s: "Geo", l: "https://andhrabharati.com" }
|
| 778 |
-
]
|
| 779 |
-
},
|
| 780 |
-
{
|
| 781 |
-
name: "NTR",
|
| 782 |
-
lat: 16.5062, lng: 80.6480,
|
| 783 |
-
region: "Central Capital",
|
| 784 |
-
history: "Vijayawada region. The political and commercial heart. Standard Telugu is spoken here but with a distinct speed.",
|
| 785 |
-
words: [
|
| 786 |
-
{ t: "బెజవాడ", m: "Vijayawada", s: "Place", l: "https://en.wikipedia.org/wiki/Vijayawada" },
|
| 787 |
-
{ t: "దుర్గమ్మ", m: "Goddess", s: "Religion", l: "https://en.wikipedia.org/wiki/Kanaka_Durga_Temple" },
|
| 788 |
-
{ t: "ప్రకాశం", m: "Barrage", s: "Infra", l: "https://en.wikipedia.org/wiki/Prakasam_Barrage" },
|
| 789 |
-
{ t: "రైలు", m: "Train (Junction)", s: "Transport", l: "https://en.wikipedia.org/wiki/Vijayawada_Junction_railway_station" },
|
| 790 |
-
{ t: "రాజధాని", m: "Capital", s: "Admin", l: "https://en.wikipedia.org/wiki/Amaravati" },
|
| 791 |
-
{ t: "రాజకీయం", m: "Politics", s: "Society", l: "https://en.wikipedia.org/wiki/Politics_of_Andhra_Pradesh" },
|
| 792 |
-
{ t: "వ్యాపారం", m: "Business", s: "Economy", l: "https://andhrabharati.com" },
|
| 793 |
-
{ t: "కొండ", m: "Hill (Indrakeeladri)", s: "Geo", l: "https://en.wikipedia.org/wiki/Indrakeeladri" },
|
| 794 |
-
{ t: "నది", m: "River (Krishna)", s: "Geo", l: "https://en.wikipedia.org/wiki/Krishna_River" },
|
| 795 |
-
{ t: "ఆటో", m: "Auto", s: "Transport", l: "https://en.wikipedia.org/wiki/Auto_rickshaw" }
|
| 796 |
-
]
|
| 797 |
-
},
|
| 798 |
-
{
|
| 799 |
-
name: "Guntur",
|
| 800 |
-
lat: 16.3067, lng: 80.4365,
|
| 801 |
-
region: "Central Andhra",
|
| 802 |
-
history: "Known for Chillies and Education. The dialect here is crisp and considered 'textbook' standard.",
|
| 803 |
-
words: [
|
| 804 |
-
{ t: "మిరప", m: "Chilli", s: "Agri", l: "https://en.wikipedia.org/wiki/Guntur_chilli" },
|
| 805 |
-
{ t: "కారం", m: "Spicy", s: "Food", l: "https://andhrabharati.com" },
|
| 806 |
-
{ t: "గోంగూర", m: "Sorrel Leaf", s: "Food", l: "https://en.wikipedia.org/wiki/Gongura" },
|
| 807 |
-
{ t: "పచ్చడి", m: "Pickle", s: "Food", l: "https://en.wikipedia.org/wiki/South_Indian_pickle" },
|
| 808 |
-
{ t: "పొగాకు", m: "Tobacco", s: "Agri", l: "https://en.wikipedia.org/wiki/Tobacco" },
|
| 809 |
-
{ t: "యార్డు", m: "Market Yard", s: "Trade", l: "https://en.wikipedia.org/wiki/Guntur" },
|
| 810 |
-
{ t: "జిన్నా", m: "Tower Name", s: "Landmark", l: "https://en.wikipedia.org/wiki/Jinnah_Tower" },
|
| 811 |
-
{ t: "చదువు", m: "Education", s: "General", l: "https://andhrabharati.com" },
|
| 812 |
-
{ t: "ఉప్పు", m: "Salt", s: "Food", l: "https://andhrabharati.com" },
|
| 813 |
-
{ t: "రాళ్ళు", m: "Stones", s: "General", l: "https://andhrabharati.com" }
|
| 814 |
-
]
|
| 815 |
-
},
|
| 816 |
-
{
|
| 817 |
-
name: "Palnadu",
|
| 818 |
-
lat: 16.2366, lng: 80.0515,
|
| 819 |
-
region: "Palnadu",
|
| 820 |
-
history: "Historic battlefield of Palnati Yuddham. Known for bravery and specific factional history. 'Pourusham' (Valor) is a key theme.",
|
| 821 |
-
words: [
|
| 822 |
-
{ t: "పౌరుషం", m: "Valor", s: "History", l: "https://en.wikipedia.org/wiki/Palnadu" },
|
| 823 |
-
{ t: "యుద్ధం", m: "War", s: "History", l: "https://te.wikipedia.org/wiki/%E0%B0%AA%E0%B0%B2%E0%B1%8D%E0%B0%A8%E0%B0%BE%E0%B0%9F%E0%B0%BF_%E0%B0%AF%E0%B1%81%E0%B0%A6%E0%B1%8D%E0%B0%A7%E0%B0%82" },
|
| 824 |
-
{ t: "బ్రహ్మనాయుడు", m: "Hero Name", s: "Legend", l: "https://en.wikipedia.org/wiki/Brahma_Naidu" },
|
| 825 |
-
{ t: "నాగమ్మ", m: "Leader Name", s: "Legend", l: "https://en.wikipedia.org/wiki/Nayakuralu_Nagamma" },
|
| 826 |
-
{ t: "కోడి", m: "Rooster (Fight)", s: "History", l: "https://en.wikipedia.org/wiki/Palnati_Yuddham_(1947_film)" },
|
| 827 |
-
{ t: "బొంగరం", m: "Top (Game)", s: "Culture", l: "https://te.wikipedia.org/wiki/%E0%B0%AA%E0%B0%B2%E0%B1%8D%E0%B0%A8%E0%B0%BE%E0%B0%9F%E0%B0%BF_%E0%B0%AF%E0%B1%81%E0%B0%A6%E0%B1%8D%E0%B0%A7%E0%B0%82" },
|
| 828 |
-
{ t: "సమరం", m: "Battle", s: "History", l: "https://te.wikipedia.org/wiki/%E0%B0%AA%E0%B0%B2%E0%B1%8D%E0%B0%A8%E0%B0%BE%E0%B0%9F%E0%B0%BF_%E0%B0%AF%E0%B1%81%E0%B0%A6%E0%B1%8D%E0%B0%A7%E0%B0%82" },
|
| 829 |
-
{ t: "పల్నాడు", m: "Region", s: "Geo", l: "https://en.wikipedia.org/wiki/Palnadu_district" },
|
| 830 |
-
{ t: "కత్తి", m: "Sword", s: "Weapon", l: "https://andhrabharati.com" },
|
| 831 |
-
{ t: "రక్తం", m: "Blood", s: "General", l: "https://andhrabharati.com" }
|
| 832 |
-
]
|
| 833 |
-
},
|
| 834 |
-
{
|
| 835 |
-
name: "Bapatla",
|
| 836 |
-
lat: 15.9038, lng: 80.4682,
|
| 837 |
-
region: "Coastal Guntur",
|
| 838 |
-
history: "Includes Chirala and Bapatla. Known for Weaving (Chirala) and Air Force Base. Coastal dialect.",
|
| 839 |
-
words: [
|
| 840 |
-
{ t: "చీరాల", m: "Place Name", s: "Geo", l: "https://en.wikipedia.org/wiki/Chirala" },
|
| 841 |
-
{ t: "నేత", m: "Weaving", s: "Craft", l: "https://en.wikipedia.org/wiki/Chirala" },
|
| 842 |
-
{ t: "బీచ్", m: "Beach (Suryalanka)", s: "Tourism", l: "https://en.wikipedia.org/wiki/Suryalanka_Beach" },
|
| 843 |
-
{ t: "జీడిపప్పు", m: "Cashew", s: "Agri", l: "https://andhrabharati.com" },
|
| 844 |
-
{ t: "ఇసుక", m: "Sand", s: "Geo", l: "https://andhrabharati.com" },
|
| 845 |
-
{ t: "వాయుసేన", m: "Air Force", s: "Defense", l: "https://en.wikipedia.org/wiki/Suryalanka_Air_Force_Station" },
|
| 846 |
-
{ t: "భావనారాయణ", m: "God Name", s: "Religion", l: "https://en.wikipedia.org/wiki/Bhavanarayana_Temple" },
|
| 847 |
-
{ t: "గుడి", m: "Temple", s: "Religion", l: "https://andhrabharati.com" },
|
| 848 |
-
{ t: "సముద్రం", m: "Sea", s: "Geo", l: "https://andhrabharati.com" },
|
| 849 |
-
{ t: "పడవ", m: "Boat", s: "Marine", l: "https://andhrabharati.com" }
|
| 850 |
-
]
|
| 851 |
-
},
|
| 852 |
-
{
|
| 853 |
-
name: "Prakasam",
|
| 854 |
-
lat: 15.5057, lng: 80.0499,
|
| 855 |
-
region: "South Coastal",
|
| 856 |
-
history: "Ongole is famous for its Bulls. The dialect is a transition between Guntur and Nellore.",
|
| 857 |
-
words: [
|
| 858 |
-
{ t: "గిత్త", m: "Bull", s: "Agri", l: "https://en.wikipedia.org/wiki/Ongole_cattle" },
|
| 859 |
-
{ t: "ఒంగోలు", m: "Ongole", s: "Place", l: "https://en.wikipedia.org/wiki/Ongole" },
|
| 860 |
-
{ t: "పాల", m: "Milk (Galaxy)", s: "Industry", l: "https://en.wikipedia.org/wiki/Dairy" },
|
| 861 |
-
{ t: "గ్రానైట్", m: "Granite", s: "Industry", l: "https://en.wikipedia.org/wiki/Granite" },
|
| 862 |
-
{ t: "బండ", m: "Rock", s: "Geo", l: "https://andhrabharati.com" },
|
| 863 |
-
{ t: "పలక", m: "Slate (Markapur)", s: "Mining", l: "https://en.wikipedia.org/wiki/Markapur" },
|
| 864 |
-
{ t: "అడవి", m: "Forest (Nallamala)", s: "Geo", l: "https://en.wikipedia.org/wiki/Nallamala_Hills" },
|
| 865 |
-
{ t: "నీళ్లు", m: "Water", s: "General", l: "https://andhrabharati.com" },
|
| 866 |
-
{ t: "వేట", m: "Hunt", s: "Action", l: "https://andhrabharati.com" },
|
| 867 |
-
{ t: "రైతు", m: "Farmer", s: "Agri", l: "https://andhrabharati.com" }
|
| 868 |
-
]
|
| 869 |
-
},
|
| 870 |
-
{
|
| 871 |
-
name: "Sri Potti Sriramulu Nellore",
|
| 872 |
-
lat: 14.4426, lng: 79.9865,
|
| 873 |
-
region: "Nellore",
|
| 874 |
-
history: "Distinct dialect ('Yeta' for 'Atu'). Famous for Ranganayaka Swamy and ISRO (Sriharikota). Transition to Tamil influence starts here.",
|
| 875 |
-
words: [
|
| 876 |
-
{ t: "ఏటి", m: "What (Yeti)", s: "Nellore Slang", l: "https://en.wikipedia.org/wiki/Nellore" },
|
| 877 |
-
{ t: "చేప", m: "Fish", s: "Food", l: "https://en.wikipedia.org/wiki/Nellore#Economy" },
|
| 878 |
-
{ t: "మందు", m: "Medicine", s: "General", l: "https://en.wikipedia.org/wiki/Anandaiah_COVID-19_Herbal_Cure" },
|
| 879 |
-
{ t: "రాకెట్", m: "Rocket", s: "Science", l: "https://en.wikipedia.org/wiki/Satish_Dhawan_Space_Centre" },
|
| 880 |
-
{ t: "చెరువు", m: "Lake (Pulicat)", s: "Geo", l: "https://en.wikipedia.org/wiki/Pulicat_Lake" },
|
| 881 |
-
{ t: "పక్షి", m: "Bird (Flamingo)", s: "Nature", l: "https://en.wikipedia.org/wiki/Nelapattu_Bird_Sanctuary" },
|
| 882 |
-
{ t: "పెన్న", m: "Penna River", s: "Geo", l: "https://en.wikipedia.org/wiki/Penna_River" },
|
| 883 |
-
{ t: "వడ్లు", m: "Paddy", s: "Agri", l: "https://en.wikipedia.org/wiki/Rice" },
|
| 884 |
-
{ t: "కారం", m: "Spicy", s: "Food", l: "https://andhrabharati.com" },
|
| 885 |
-
{ t: "దోవ", m: "Way/Path", s: "Rural", l: "https://www.reddit.com/r/Dravidiology/comments/1cmmve7/nellorekurrapalli_telugu_swadesh_list/" }
|
| 886 |
-
]
|
| 887 |
-
},
|
| 888 |
-
|
| 889 |
-
// === RAYALASEEMA REGION ===
|
| 890 |
-
{
|
| 891 |
-
name: "Kurnool",
|
| 892 |
-
lat: 15.8281, lng: 78.0373,
|
| 893 |
-
region: "Rayalaseema",
|
| 894 |
-
history: "Gateway to Rayalaseema. Historic capital. Dialect uses 'Emappa' and has rougher intonations.",
|
| 895 |
-
words: [
|
| 896 |
-
{ t: "కొండ", m: "Reddy (Fort)", s: "History", l: "https://en.wikipedia.org/wiki/Konda_Reddy_Fort" },
|
| 897 |
-
{ t: "బూర్జు", m: "Bastion", s: "History", l: "https://en.wikipedia.org/wiki/Konda_Reddy_Fort" },
|
| 898 |
-
{ t: "అప్ప", m: "Friend/Father", s: "Slang", l: "https://www.quora.com/What-are-some-common-phrases-in-the-Rayalaseema-Dialect-of-Telugu" },
|
| 899 |
-
{ t: "ఏమప్ప", m: "What man?", s: "Slang", l: "https://www.quora.com/What-are-some-common-phrases-in-the-Rayalaseema-Dialect-of-Telugu" },
|
| 900 |
-
{ t: "కర్నూలు", m: "City Name", s: "Place", l: "https://en.wikipedia.org/wiki/Kurnool" },
|
| 901 |
-
{ t: "తుంగభద్ర", m: "River", s: "Geo", l: "https://en.wikipedia.org/wiki/Tungabhadra_River" },
|
| 902 |
-
{ t: "సంగం", m: "Confluence", s: "Geo", l: "https://en.wikipedia.org/wiki/Sangameswara_Temple,_Kurnool" },
|
| 903 |
-
{ t: "రాళ్లు", m: "Stones", s: "Geo", l: "https://andhrabharati.com" },
|
| 904 |
-
{ t: "పులుసు", m: "Stew", s: "Food", l: "https://andhrabharati.com" },
|
| 905 |
-
{ t: "చేను", m: "Field", s: "Agri", l: "https://www.quora.com/What-are-some-common-phrases-in-the-Rayalaseema-Dialect-of-Telugu" }
|
| 906 |
-
]
|
| 907 |
-
},
|
| 908 |
-
{
|
| 909 |
-
name: "Nandyal",
|
| 910 |
-
lat: 15.4849, lng: 78.4867,
|
| 911 |
-
region: "Rayalaseema",
|
| 912 |
-
history: "Splintered from Kurnool. Famous for Mahanandi and Agriculture. 'Nandi' (Bull) is central to its identity.",
|
| 913 |
-
words: [
|
| 914 |
-
{ t: "నంది", m: "Bull", s: "Religion", l: "https://en.wikipedia.org/wiki/Mahanandi" },
|
| 915 |
-
{ t: "ఆలయం", m: "Temple", s: "Religion", l: "https://en.wikipedia.org/wiki/Mahanandi" },
|
| 916 |
-
{ t: "నీరు", m: "Water", s: "General", l: "https://andhrabharati.com" },
|
| 917 |
-
{ t: "మహానంది", m: "Place Name", s: "Geo", l: "https://en.wikipedia.org/wiki/Mahanandi" },
|
| 918 |
-
{ t: "అడవి", m: "Forest", s: "Geo", l: "https://en.wikipedia.org/wiki/Nallamala_Hills" },
|
| 919 |
-
{ t: "పులి", m: "Tiger", s: "Wildlife", l: "https://en.wikipedia.org/wiki/Nagarjunsagar-Srisailam_Tiger_Reserve" },
|
| 920 |
-
{ t: "విత్తనాలు", m: "Seeds", s: "Agri", l: "https://en.wikipedia.org/wiki/Nandyal" },
|
| 921 |
-
{ t: "పంట", m: "Crop", s: "Agri", l: "https://andhrabharati.com" },
|
| 922 |
-
{ t: "కొండ", m: "Hill", s: "Geo", l: "https://andhrabharati.com" },
|
| 923 |
-
{ t: "రైతు", m: "Farmer", s: "Agri", l: "https://andhrabharati.com" }
|
| 924 |
-
]
|
| 925 |
-
},
|
| 926 |
-
{
|
| 927 |
-
name: "Ananthapuramu",
|
| 928 |
-
lat: 14.6819, lng: 77.6006,
|
| 929 |
-
region: "Rayalaseema",
|
| 930 |
-
history: "Driest region. Groundnut (Verusenaga) is the main crop. Dialect is distinct Rayalaseema.",
|
| 931 |
-
words: [
|
| 932 |
-
{ t: "వేరుశనగ", m: "Groundnut", s: "Agri", l: "https://en.wikipedia.org/wiki/Anantapur_district#Economy" },
|
| 933 |
-
{ t: "కరవు", m: "Drought", s: "Climate", l: "https://en.wikipedia.org/wiki/Anantapur_district#Climate" },
|
| 934 |
-
{ t: "సీమ", m: "Region", s: "Geo", l: "https://en.wikipedia.org/wiki/Rayalaseema" },
|
| 935 |
-
{ t: "రాళ్లు", m: "Rocks", s: "Geo", l: "https://andhrabharati.com" },
|
| 936 |
-
{ t: "పవన", m: "Wind", s: "Energy", l: "https://en.wikipedia.org/wiki/Wind_power_in_India" },
|
| 937 |
-
{ t: "విద్యుత్", m: "Power", s: "Energy", l: "https://en.wikipedia.org/wiki/Solar_power_in_India" },
|
| 938 |
-
{ t: "కోట", m: "Fort (Gooty)", s: "History", l: "https://en.wikipedia.org/wiki/Gooty_Fort" },
|
| 939 |
-
{ t: "ట్యాంక్", m: "Tank", s: "Water", l: "https://en.wikipedia.org/wiki/Anantapur" },
|
| 940 |
-
{ t: "పొలము", m: "Field", s: "Agri", l: "https://andhrabharati.com" },
|
| 941 |
-
{ t: "లేపాక్షి", m: "Lepakshi", s: "Art", l: "https://en.wikipedia.org/wiki/Lepakshi" }
|
| 942 |
-
]
|
| 943 |
-
},
|
| 944 |
-
{
|
| 945 |
-
name: "Sri Sathya Sai",
|
| 946 |
-
lat: 14.1683, lng: 77.8117,
|
| 947 |
-
region: "Spiritual Rayalaseema",
|
| 948 |
-
history: "Headquartered at Puttaparthi. Global influence due to Sathya Sai Baba. Vocabulary includes spiritual terms.",
|
| 949 |
-
words: [
|
| 950 |
-
{ t: "సాయి", m: "Sai Baba", s: "Religion", l: "https://en.wikipedia.org/wiki/Sathya_Sai_Baba" },
|
| 951 |
-
{ t: "సేవ", m: "Service", s: "Religion", l: "https://www.sathyasai.org/resources/indic-glossary" },
|
| 952 |
-
{ t: "భక్తి", m: "Devotion", s: "Religion", l: "https://www.sathyasai.org/resources/indic-glossary" },
|
| 953 |
-
{ t: "ఆశ్రమం", m: "Ashram", s: "Place", l: "https://en.wikipedia.org/wiki/Prasanthi_Nilayam" },
|
| 954 |
-
{ t: "విమానం", m: "Airport", s: "Transport", l: "https://en.wikipedia.org/wiki/Sri_Sathya_Sai_Airport" },
|
| 955 |
-
{ t: "వైద్యం", m: "Medicine", s: "Health", l: "https://en.wikipedia.org/wiki/Sri_Sathya_Sai_Institute_of_Higher_Medical_Sciences,_Prasanthigram" },
|
| 956 |
-
{ t: "ప్రశాంతి", m: "Peace", s: "Philosophy", l: "https://en.wikipedia.org/wiki/Prasanthi_Nilayam" },
|
| 957 |
-
{ t: "నిలయం", m: "Abode", s: "Place", l: "https://en.wikipedia.org/wiki/Prasanthi_Nilayam" },
|
| 958 |
-
{ t: "హారతి", m: "Offering", s: "Ritual", l: "https://www.sathyasai.org/resources/indic-glossary" },
|
| 959 |
-
{ t: "దర్శనం", m: "Sight/View", s: "Ritual", l: "https://www.sathyasai.org/resources/indic-glossary" }
|
| 960 |
-
]
|
| 961 |
-
},
|
| 962 |
-
{
|
| 963 |
-
name: "YSR Kadapa",
|
| 964 |
-
lat: 14.4673, lng: 78.8242,
|
| 965 |
-
region: "Rayalaseema",
|
| 966 |
-
history: "Heart of Rayalaseema. Known for 'Kadapa' (Threshold). Dialect uses strong words like 'Biddā' (Child/Son).",
|
| 967 |
-
words: [
|
| 968 |
-
{ t: "బిడ్డ", m: "Child/Son", s: "Slang", l: "https://kadapa.info/tag/rayalaseema-dialect/" },
|
| 969 |
-
{ t: "రాయి", m: "Stone (Kadapa)", s: "Geo", l: "https://en.wikipedia.org/wiki/Kadapa_Stone" },
|
| 970 |
-
{ t: "గడప", m: "Threshold", s: "Etymology", l: "https://en.wikipedia.org/wiki/Kadapa" },
|
| 971 |
-
{ t: "దేవుడు", m: "God (Balaji)", s: "Religion", l: "https://en.wikipedia.org/wiki/Venkateswara" },
|
| 972 |
-
{ t: "దర్గా", m: "Shrine", s: "Religion", l: "https://en.wikipedia.org/wiki/Ameen_Peer_Dargah" },
|
| 973 |
-
{ t: "మసీదు", m: "Mosque", s: "Religion", l: "https://en.wikipedia.org/wiki/Ameen_Peer_Dargah" },
|
| 974 |
-
{ t: "గండి", m: "Gorge", s: "Geo", l: "https://en.wikipedia.org/wiki/Gandikota" },
|
| 975 |
-
{ t: "కోట", m: "Fort (Gandikota)", s: "History", l: "https://en.wikipedia.org/wiki/Gandikota" },
|
| 976 |
-
{ t: "ఏరు", m: "River (Penna)", s: "Geo", l: "https://en.wikipedia.org/wiki/Penna_River" },
|
| 977 |
-
{ t: "ఊరు", m: "Village", s: "General", l: "https://andhrabharati.com" }
|
| 978 |
-
]
|
| 979 |
-
},
|
| 980 |
-
{
|
| 981 |
-
name: "Annamayya",
|
| 982 |
-
lat: 14.0772, lng: 79.0267,
|
| 983 |
-
region: "Rayalaseema",
|
| 984 |
-
history: "Named after Tallapaka Annamayya. Rayachoti is HQ. Dialect is a blend of Kadapa and Chittoor.",
|
| 985 |
-
words: [
|
| 986 |
-
{ t: "సంకీర్తన", m: "Song/Hymn", s: "Culture", l: "https://en.wikipedia.org/wiki/Annamacharya" },
|
| 987 |
-
{ t: "వెంకన్న", m: "Lord Venkateswara", s: "Religion", l: "https://en.wikipedia.org/wiki/Venkateswara" },
|
| 988 |
-
{ t: "తాళ్ళపాక", m: "Place Name", s: "History", l: "https://en.wikipedia.org/wiki/Tallapaka" },
|
| 989 |
-
{ t: "రాచవీడు", m: "Rayachoti (Old)", s: "Etymology", l: "https://en.wikipedia.org/wiki/Rayachoti" },
|
| 990 |
-
{ t: "కొండ", m: "Hill (Horsley)", s: "Geo", l: "https://en.wikipedia.org/wiki/Horsley_Hills" },
|
| 991 |
-
{ t: "మదనపల్లె", m: "Place Name", s: "Geo", l: "https://en.wikipedia.org/wiki/Madanapalle" },
|
| 992 |
-
{ t: "టమోటా", m: "Tomato", s: "Agri", l: "https://en.wikipedia.org/wiki/Madanapalle#Economy" },
|
| 993 |
-
{ t: "పట్టు", m: "Silk", s: "Textile", l: "https://annamayya.ap.gov.in/te/" },
|
| 994 |
-
{ t: "చీర", m: "Saree", s: "Textile", l: "https://annamayya.ap.gov.in/te/" },
|
| 995 |
-
{ t: "పాట", m: "Song", s: "Culture", l: "https://en.wikipedia.org/wiki/Annamacharya" }
|
| 996 |
-
]
|
| 997 |
-
},
|
| 998 |
-
{
|
| 999 |
-
name: "Tirupati",
|
| 1000 |
-
lat: 13.6288, lng: 79.4192,
|
| 1001 |
-
region: "Pilgrimage Zone",
|
| 1002 |
-
history: "The Spiritual Capital. Dialect has Tamil influence due to proximity to Chennai and millions of pilgrims.",
|
| 1003 |
-
words: [
|
| 1004 |
-
{ t: "గోవిందా", m: "God's Name", s: "Religion", l: "https://en.wikipedia.org/wiki/Govinda" },
|
| 1005 |
-
{ t: "లడ్డు", m: "Prasadam", s: "Food", l: "https://en.wikipedia.org/wiki/Tirupati_Laddu" },
|
| 1006 |
-
{ t: "కొండ", m: "Hill (Seven)", s: "Geo", l: "https://en.wikipedia.org/wiki/Tirumala" },
|
| 1007 |
-
{ t: "ఏడు", m: "Seven", s: "Number", l: "https://en.wikipedia.org/wiki/Tirumala_Venkateswara_Temple" },
|
| 1008 |
-
{ t: "వెంకటేశ్వర", m: "God", s: "Religion", l: "https://en.wikipedia.org/wiki/Venkateswara" },
|
| 1009 |
-
{ t: "కళ్యాణ", m: "Wedding", s: "Ritual", l: "https://en.wikipedia.org/wiki/Kalyanotsavam" },
|
| 1010 |
-
{ t: "జుట్టు", m: "Hair (Tonsure)", s: "Ritual", l: "https://en.wikipedia.org/wiki/Tirumala_Venkateswara_Temple#Tonsure" },
|
| 1011 |
-
{ t: "దర్శనం", m: "View", s: "Religion", l: "https://en.wikipedia.org/wiki/Darshan" },
|
| 1012 |
-
{ t: "జూ", m: "Zoo", s: "Tourism", l: "https://en.wikipedia.org/wiki/Sri_Venkateswara_Zoological_Park" },
|
| 1013 |
-
{ t: "శ్రీహరికోట", m: "Spaceport", s: "Science", l: "https://en.wikipedia.org/wiki/Satish_Dhawan_Space_Centre" }
|
| 1014 |
-
]
|
| 1015 |
-
},
|
| 1016 |
-
{
|
| 1017 |
-
name: "Chittoor",
|
| 1018 |
-
lat: 13.2172, lng: 79.1003,
|
| 1019 |
-
region: "Southern Border",
|
| 1020 |
-
history: "Strong Tamil influence (Chittoor slang). Words like 'Maa' (Mango) and dairy terms are common.",
|
| 1021 |
-
words: [
|
| 1022 |
-
{ t: "మామిడి", m: "Mango", s: "Agri", l: "https://en.wikipedia.org/wiki/Chittoor_district#Economy" },
|
| 1023 |
-
{ t: "పాలు", m: "Milk", s: "Agri", l: "https://en.wikipedia.org/wiki/Dairy" },
|
| 1024 |
-
{ t: "గ్రానైట్", m: "Granite", s: "Industry", l: "https://en.wikipedia.org/wiki/Granite" },
|
| 1025 |
-
{ t: "కాణిపాకం", m: "Place Name", s: "Religion", l: "https://en.wikipedia.org/wiki/Kanipakam" },
|
| 1026 |
-
{ t: "వినాయకుడు", m: "Ganesha", s: "Religion", l: "https://en.wikipedia.org/wiki/Kanipakam_Vinayaka_Temple" },
|
| 1027 |
-
{ t: "బెల్లం", m: "Jaggery", s: "Food", l: "https://en.wikipedia.org/wiki/Jaggery" },
|
| 1028 |
-
{ t: "అరగొండ", m: "Half Hill", s: "Place", l: "https://en.wikipedia.org/wiki/Aragonda" },
|
| 1029 |
-
{ t: "చెరకు", m: "Sugarcane", s: "Agri", l: "https://en.wikipedia.org/wiki/Sugarcane" },
|
| 1030 |
-
{ t: "తమిళం", m: "Tamil", s: "Influence", l: "https://en.wikipedia.org/wiki/Chittoor_district#Demographics" },
|
| 1031 |
-
{ t: "టెంకాయ", m: "Coconut (Tenkaaya)", s: "Slang", l: "https://andhrabharati.com" }
|
| 1032 |
-
]
|
| 1033 |
}
|
| 1034 |
-
|
| 1035 |
-
|
| 1036 |
-
// COMBINE DATA FOR ALL DISTRICTS
|
| 1037 |
-
const allDistrictsData = [...Telangana_Data, ...andhraData];
|
| 1038 |
|
| 1039 |
// --- 2. MAP SETUP ---
|
| 1040 |
-
//
|
| 1041 |
-
|
| 1042 |
-
|
| 1043 |
-
|
| 1044 |
-
|
| 1045 |
-
|
| 1046 |
-
|
| 1047 |
-
|
| 1048 |
-
|
| 1049 |
-
|
| 1050 |
-
|
| 1051 |
-
|
| 1052 |
-
|
| 1053 |
-
|
| 1054 |
-
|
| 1055 |
-
|
| 1056 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1057 |
|
| 1058 |
-
|
| 1059 |
-
|
| 1060 |
-
const marker = L.marker([d.lat, d.lng], { icon: iconConfig }).addTo(map);
|
| 1061 |
|
| 1062 |
-
|
| 1063 |
-
|
| 1064 |
|
| 1065 |
-
|
| 1066 |
-
|
| 1067 |
-
|
| 1068 |
-
|
|
|
|
| 1069 |
});
|
| 1070 |
-
});
|
| 1071 |
|
| 1072 |
-
|
| 1073 |
-
|
| 1074 |
-
// Check if a link exists ('l' property)
|
| 1075 |
-
const sourceContent = w.l
|
| 1076 |
-
? `<a href="${w.l}" target="_blank" class="source-link">${w.s}</a>`
|
| 1077 |
-
: w.s;
|
| 1078 |
-
|
| 1079 |
-
return `
|
| 1080 |
<tr>
|
| 1081 |
<td class="telugu-word">${w.t}</td>
|
| 1082 |
<td>${w.m}</td>
|
| 1083 |
-
<td style="color:#777; font-size:0.7rem;">${
|
| 1084 |
</tr>
|
| 1085 |
-
|
| 1086 |
-
}).join('');
|
| 1087 |
|
| 1088 |
-
|
| 1089 |
<div style="animation:fadeIn 0.4s;">
|
| 1090 |
<h2 class="district-title">${data.name}</h2>
|
| 1091 |
<span class="region-tag">${data.region}</span>
|
|
@@ -1096,7 +931,11 @@
|
|
| 1096 |
</table>
|
| 1097 |
</div>
|
| 1098 |
`;
|
|
|
|
| 1099 |
}
|
|
|
|
|
|
|
|
|
|
| 1100 |
</script>
|
| 1101 |
</body>
|
| 1102 |
|
|
|
|
| 4 |
<head>
|
| 5 |
<meta charset="UTF-8">
|
| 6 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 7 |
+
<title>Telugu Dialect Map - Telangana & Andhra Pradesh</title>
|
| 8 |
|
| 9 |
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
|
| 10 |
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin="" />
|
|
|
|
| 122 |
font-size: 0.95rem;
|
| 123 |
}
|
| 124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 125 |
#map {
|
| 126 |
flex-grow: 1;
|
| 127 |
height: 100%;
|
|
|
|
| 151 |
|
| 152 |
<div id="sidebar">
|
| 153 |
<div class="header">
|
| 154 |
+
<h1>Telugu Dialect Map</h1>
|
| 155 |
+
<p id="district-counter">Loading districts...</p>
|
| 156 |
</div>
|
| 157 |
<div id="info-panel">
|
| 158 |
<div style="text-align: center; color: #888; margin-top: 60px;">
|
|
|
|
| 168 |
integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script>
|
| 169 |
|
| 170 |
<script>
|
| 171 |
+
// --- 1. THE DATA (TELANGANA - 33 DISTRICTS) ---
|
| 172 |
+
const dialectData = [
|
|
|
|
| 173 |
// === NORTHERN TELANGANA ===
|
| 174 |
{
|
| 175 |
name: "Adilabad", lat: 19.6641, lng: 78.5320, region: "Northern Forest",
|
| 176 |
history: "Heavily influenced by Gondi tribal dialects and Marathi due to the Maharashtra border.",
|
| 177 |
words: [
|
| 178 |
+
{ t: "చోలోట్", m: "మంచి (Good)", s: "Crowd" },
|
| 179 |
+
{ t: "వంచెడ్ చిబడ్", m: "అంటు ముట్టుకోడం", s: "Crowd" },
|
| 180 |
+
{ t: "వడోగు", m: "దూడ (Calf)", s: "Crowd" },
|
| 181 |
+
{ t: "ముచిలి పడన్", m: "ఎర్ర తుమ్మెద", s: "Crowd" },
|
| 182 |
+
{ t: "సర్కార్", m: "నాశనం", s: "Crowd" },
|
| 183 |
+
{ t: "వజీర్", m: "ముసలి", s: "Crowd" },
|
| 184 |
+
{ t: "ఖైని", m: "వదిన", s: "Crowd" },
|
| 185 |
+
{ t: "సూన్", m: "కోడలు", s: "Crowd" },
|
| 186 |
+
{ t: "Poral batal", m: "Temple term (Keslapur)", s: "Crowd" },
|
| 187 |
+
{ t: "చోలోట్", m: "మంచి (Good)", s: "Crowd" },
|
| 188 |
+
{ t: "వంచెడ్ చిబడ్", m: "అంటు ముట్టుకోడం", s: "Crowd" },
|
| 189 |
+
{ t: "వడోగు", m: "దూడ (Calf)", s: "Crowd" },
|
| 190 |
+
{ t: "ముచిలి పడన్", m: "ఎర్ర తుమ్మెద", s: "Crowd" },
|
| 191 |
+
{ t: "సర్కార్", m: "నాశనం", s: "Crowd" },
|
| 192 |
+
{ t: "వజీర్", m: "ముసలి", s: "Crowd" },
|
| 193 |
+
{ t: "ఖైని", m: "వదిన", s: "Crowd" },
|
| 194 |
+
{ t: "సూన్", m: "కోడలు", s: "Crowd" },
|
| 195 |
+
{ t: "Poral batal", m: "Temple term (Keslapur)", s: "Crowd" },
|
| 196 |
{ t: "కోయంగ్", m: "Dialect/Language", s: "Gondi" }, { t: "పైలం", m: "Careful", s: "Mandalikalu" },
|
| 197 |
{ t: "ఆడ", m: "There", s: "General" }, { t: "కాకా", m: "Uncle", s: "Marathi Infl." },
|
| 198 |
{ t: "పటేల్", m: "Village Head", s: "Tribal" }, { t: "గూడ", m: "Hamlet", s: "Rural" },
|
|
|
|
| 238 |
name: "Nizamabad", lat: 18.6725, lng: 78.0941, region: "Indur Agrarian",
|
| 239 |
history: "Rich agricultural zone (Turmeric). Strong Dakhni Urdu influence from the Nizam era.",
|
| 240 |
words: [
|
| 241 |
+
{ t: "పంపేవుడు", m: "పంపించడం", s: "Crowd" },
|
| 242 |
+
{ t: "Pillodu", m: "Bindu", s: "Crowd" },
|
| 243 |
+
{ t: "వచ్చిండు", m: "అచ్చిండు", s: "Crowd" },
|
| 244 |
+
{ t: "పంపేవుడు", m: "పంపించడం", s: "Crowd" },
|
| 245 |
+
{ t: "Pillodu", m: "Bindu", s: "Crowd" },
|
| 246 |
+
{ t: "వచ్చిండు", m: "అచ్చిండు", s: "Crowd" },
|
| 247 |
{ t: "పసుపు", m: "Turmeric", s: "Agri" }, { t: "ఐగలు", m: "Priest", s: "Mandalikalu" },
|
| 248 |
{ t: "హామీ", m: "Assurance", s: "Urdu Infl." }, { t: "జీరా", m: "Boundary", s: "Agri" },
|
| 249 |
{ t: "పుంటికూర", m: "Gongura", s: "Food" }, { t: "అంగడి", m: "Shop", s: "Rural" },
|
|
|
|
| 267 |
name: "Karimnagar", lat: 18.4386, lng: 79.1288, region: "Cultural Core",
|
| 268 |
history: "Considered the standard for 'Telangana Slang' in media. Sharp, distinct pronunciation.",
|
| 269 |
words: [
|
| 270 |
+
{ t: "బూరెలు", m: "భక్ష్యాలు", s: "Crowd" },
|
| 271 |
+
{ t: "అచ్చినం", m: "వచ్చాము", s: "Crowd" },
|
| 272 |
+
{ t: "పాయినం", m: "వెళ్ళాము", s: "Crowd" },
|
| 273 |
+
{ t: "సవాలు", m: "Question/Challenge", s: "Crowd" },
|
| 274 |
+
{ t: "గటక", m: "Food item", s: "Crowd" },
|
| 275 |
+
{ t: "వస్తున్నావ", m: "వస్తున్నావు", s: "Crowd" },
|
| 276 |
+
{ t: "ఊశము", m: "బద్ధకం/అలసత్వం", s: "Crowd" },
|
| 277 |
+
{ t: "వందంగా ఉంది", m: "బాగా", s: "Crowd" },
|
| 278 |
+
{ t: "రువిడ్లు", m: "Shelf", s: "Crowd" },
|
| 279 |
+
{ t: "కార్యపాలు", m: "వస్తున్నం/పోతున్నాం", s: "Crowd" },
|
| 280 |
+
{ t: "బావి", m: "నూతి", s: "Crowd" },
|
| 281 |
+
{ t: "గంప", m: "గుల్ల", s: "Crowd" },
|
| 282 |
+
{ t: "బంతి", m: "Ball", s: "Crowd" },
|
| 283 |
+
{ t: "బూరెలు", m: "భక్ష్యాలు", s: "Crowd" },
|
| 284 |
+
{ t: "అచ్చినం", m: "వచ్చాము", s: "Crowd" },
|
| 285 |
+
{ t: "పాయినం", m: "వెళ్ళాము", s: "Crowd" },
|
| 286 |
+
{ t: "సవాలు", m: "Question/Challenge", s: "Crowd" },
|
| 287 |
+
{ t: "గటక", m: "Food item", s: "Crowd" },
|
| 288 |
+
{ t: "వస్తున్నావ", m: "వస్తున్నావు", s: "Crowd" },
|
| 289 |
+
{ t: "ఊశము", m: "బద్ధకం/అలసత్వం", s: "Crowd" },
|
| 290 |
+
{ t: "వందంగా ఉంది", m: "బాగా", s: "Crowd" },
|
| 291 |
+
{ t: "రువిడ్లు", m: "Shelf", s: "Crowd" },
|
| 292 |
+
{ t: "కార్యపాలు", m: "వస్తున్నం/పోతున్నాం", s: "Crowd" },
|
| 293 |
+
{ t: "బావి", m: "నూతి", s: "Crowd" },
|
| 294 |
+
{ t: "గంప", m: "గుల్ల", s: "Crowd" },
|
| 295 |
+
{ t: "బంతి", m: "Ball", s: "Crowd" },
|
| 296 |
{ t: "తోపు", m: "Great/Top", s: "Slang" }, { t: "కేక", m: "Super", s: "Slang" },
|
| 297 |
{ t: "లొల్లి", m: "Fight/Noise", s: "General" }, { t: "శాన", m: "Very", s: "Mandalikalu" },
|
| 298 |
{ t: "పైసల్", m: "Money", s: "General" }, { t: "గత్తర", m: "Mess", s: "Slang" },
|
|
|
|
| 315 |
name: "Peddapalli", lat: 18.6146, lng: 79.3705, region: "Industrial Hub",
|
| 316 |
history: "Home to NTPC and Coal mines. Vocabulary is a mix of rural and industrial English loan words.",
|
| 317 |
words: [
|
| 318 |
+
{ t: "గుమ్ము", m: "Storage", s: "Crowd" },
|
| 319 |
+
{ t: "గట్టు", m: "దారి", s: "Crowd" },
|
| 320 |
+
{ t: "గుమ్ము", m: "Storage", s: "Crowd" },
|
| 321 |
+
{ t: "గట్టు", m: "దారి", s: "Crowd" },
|
| 322 |
{ t: "బొగ్గు", m: "Coal", s: "Mining" }, { t: "కరెంట్", m: "Power", s: "Utility" },
|
| 323 |
{ t: "క్వార్టర్", m: "Housing", s: "Industry" }, { t: "షిఫ్ట్", m: "Work Shift", s: "Labor" },
|
| 324 |
{ t: "గేట్", m: "Entrance", s: "General" }, { t: "పోరడు", m: "Boy", s: "General" },
|
|
|
|
| 342 |
name: "Warangal", lat: 17.9689, lng: 79.5941, region: "Kakatiya Rural",
|
| 343 |
history: "Historic Orugallu. Retains classical Telugu terms mixed with rural agricultural slang.",
|
| 344 |
words: [
|
| 345 |
+
{ t: "చేను", m: "Crop/చలక", s: "Crowd" },
|
| 346 |
+
{ t: "పొయ్యం రారా", m: "ఇన్నానిల్లు", s: "Crowd" },
|
| 347 |
+
{ t: "అసుంట", m: "అటు వైపు", s: "Crowd" },
|
| 348 |
+
{ t: "ఇసుంట", m: "ఇటు వైపు", s: "Crowd" },
|
| 349 |
+
{ t: "చద్దెర", m: "Bed sheet", s: "Crowd" },
|
| 350 |
+
{ t: "చేను", m: "Crop/చలక", s: "Crowd" },
|
| 351 |
+
{ t: "పొయ్యం రారా", m: "ఇన్నానిల్లు", s: "Crowd" },
|
| 352 |
+
{ t: "అసుంట", m: "అటు వైపు", s: "Crowd" },
|
| 353 |
+
{ t: "ఇసుంట", m: "ఇటు వైపు", s: "Crowd" },
|
| 354 |
+
{ t: "చద్దెర", m: "Bed sheet", s: "Crowd" },
|
| 355 |
{ t: "చెల్క", m: "Field", s: "Agri" }, { t: "గ���్డపార", m: "Crowbar", s: "Tools" },
|
| 356 |
{ t: "నాగలి", m: "Plough", s: "Agri" }, { t: "ఎడ్లు", m: "Bulls", s: "Agri" },
|
| 357 |
{ t: "పంట", m: "Crop", s: "Agri" }, { t: "ఎరువ", m: "Fertilizer", s: "Agri" },
|
|
|
|
| 374 |
name: "Jangaon", lat: 17.7226, lng: 79.1685, region: "Central Junction",
|
| 375 |
history: "A crossroads district. Famous for Jatharas and rural festivals.",
|
| 376 |
words: [
|
| 377 |
+
{ t: "ఏమైంది", m: "What happened", s: "Crowd" },
|
| 378 |
+
{ t: "ఏమైంది", m: "What happened", s: "Crowd" },
|
| 379 |
{ t: "గుట్ట", m: "Hillock", s: "Geo" }, { t: "జాతర", m: "Fair", s: "Culture" },
|
| 380 |
{ t: "బోనం", m: "Offering", s: "Ritual" }, { t: "సాక", m: "Branch", s: "Nature" },
|
| 381 |
{ t: "కోడి", m: "Chicken", s: "Food" }, { t: "మేక", m: "Goat", s: "Agri" },
|
|
|
|
| 398 |
name: "Mahabubabad", lat: 17.5956, lng: 80.0053, region: "Tribal Corridor",
|
| 399 |
history: "Strong Lambadi/Banjara tribal presence influences the local lexicon.",
|
| 400 |
words: [
|
| 401 |
+
{ t: "బొచ్చెడు", m: "చాలా (A lot)", s: "Crowd" },
|
| 402 |
+
{ t: "ఏ మయింది అన్నా", m: "What happened", s: "Crowd" },
|
| 403 |
+
{ t: "బొచ్చెడు", m: "చాలా (A lot)", s: "Crowd" },
|
| 404 |
+
{ t: "ఏ మయింది అన్నా", m: "What happened", s: "Crowd" },
|
| 405 |
{ t: "తండా", m: "Hamlet", s: "Tribal" }, { t: "బంజారా", m: "Tribe", s: "Community" },
|
| 406 |
{ t: "గూడు", m: "Nest/Hut", s: "General" }, { t: "తవ్వు", m: "Dig", s: "Action" },
|
| 407 |
{ t: "పాట", m: "Song", s: "Culture" }, { t: "ఆట", m: "Dance/Play", s: "Culture" },
|
|
|
|
| 447 |
name: "Mahabubnagar", lat: 16.7488, lng: 78.0035, region: "Palamuru",
|
| 448 |
history: "Palamuru region. Known for migration (Valasa) and distinct, rougher intonation.",
|
| 449 |
words: [
|
| 450 |
+
{ t: "వీధి", m: "Street", s: "Crowd" },
|
| 451 |
+
{ t: "జల్ది", m: "తొందరగా", s: "Crowd" },
|
| 452 |
+
{ t: "జింగిడి", m: "బర్రెల గుంపు", s: "Crowd" },
|
| 453 |
+
{ t: "బాగమ్", m: "Exhibition", s: "Crowd" },
|
| 454 |
+
{ t: "చలక", m: "Field", s: "Crowd" },
|
| 455 |
+
{ t: "ఈల పేట", m: "కత్తి పేట", s: "Crowd" },
|
| 456 |
+
{ t: "వీధి", m: "Street", s: "Crowd" },
|
| 457 |
+
{ t: "జల్ది", m: "తొందరగా", s: "Crowd" },
|
| 458 |
+
{ t: "జింగిడి", m: "బర్రెల గుంపు", s: "Crowd" },
|
| 459 |
+
{ t: "బాగమ్", m: "Exhibition", s: "Crowd" },
|
| 460 |
+
{ t: "చలక", m: "Field", s: "Crowd" },
|
| 461 |
+
{ t: "ఈల పేట", m: "కత్తి పేట", s: "Crowd" },
|
| 462 |
{ t: "పాలమూరు", m: "Mahabubnagar", s: "Place" }, { t: "వలస", m: "Migration", s: "Social" },
|
| 463 |
{ t: "కూలీ", m: "Laborer", s: "Social" }, { t: "అడ్డా", m: "Stand/Place", s: "Social" },
|
| 464 |
{ t: "అప్ప", m: "Father", s: "Seema Infl." }, { t: "అయ్య", m: "Father", s: "General" },
|
|
|
|
| 470 |
name: "Nagarkurnool", lat: 16.4856, lng: 78.3305, region: "Nallamalla Zone",
|
| 471 |
history: "Covers the Nallamalla forest. Chenchu tribal words are part of the local mix.",
|
| 472 |
words: [
|
| 473 |
+
{ t: "అంబటాలు", m: "Morning meal time", s: "Crowd" },
|
| 474 |
+
{ t: "మంకర", m: "Winter cold", s: "Crowd" },
|
| 475 |
+
{ t: "లాడు", m: "తల్లి కూతురు", s: "Crowd" },
|
| 476 |
+
{ t: "గెనిమ", m: "పొలం గట్టు", s: "Crowd" },
|
| 477 |
+
{ t: "కోంత లోలు", m: "Old name for Nagar Kurnool", s: "Crowd" },
|
| 478 |
+
{ t: "బుడ్డల నూనె", m: "పల్లి oil (Peanut oil)", s: "Crowd" },
|
| 479 |
+
{ t: "అంబటాలు", m: "Morning meal time", s: "Crowd" },
|
| 480 |
+
{ t: "మంకర", m: "Winter cold", s: "Crowd" },
|
| 481 |
+
{ t: "లాడు", m: "తల్లి కూతురు", s: "Crowd" },
|
| 482 |
+
{ t: "గెనిమ", m: "పొలం గట్టు", s: "Crowd" },
|
| 483 |
+
{ t: "కోంత లోలు", m: "Old name for Nagar Kurnool", s: "Crowd" },
|
| 484 |
+
{ t: "బుడ్డల నూనె", m: "పల్లి oil (Peanut oil)", s: "Crowd" },
|
| 485 |
{ t: "నల్ల", m: "Black", s: "General" }, { t: "మళ్ళ", m: "Again", s: "General" },
|
| 486 |
{ t: "కొండ", m: "Hill", s: "Geo" }, { t: "వాగు", m: "Stream", s: "Geo" },
|
| 487 |
{ t: "చెంచు", m: "Tribe", s: "Community" }, { t: "తేనె", m: "Honey", s: "Forest" },
|
|
|
|
| 493 |
name: "Wanaparthy", lat: 16.3621, lng: 78.0617, region: "Samsthanam",
|
| 494 |
history: "A historic Samsthanam (Estate). The dialect reflects a feudal/royal past.",
|
| 495 |
words: [
|
| 496 |
+
{ t: "చెప్పలకాయలు", m: "గొంకరకాయలు", s: "Crowd" },
|
| 497 |
+
{ t: "మలంచా", m: "చెంబు", s: "Crowd" },
|
| 498 |
+
{ t: "సొరకాయ", m: "ఆనకాయ", s: "Crowd" },
|
| 499 |
+
{ t: "పాశాల", m: "Clothes", s: "Crowd" },
|
| 500 |
+
{ t: "మట్టుగుండు", m: "Keep calm", s: "Crowd" },
|
| 501 |
+
{ t: "అంబరుంది", m: "Excellent", s: "Crowd" },
|
| 502 |
+
{ t: "చెప్పలకాయలు", m: "గొంకరకాయలు", s: "Crowd" },
|
| 503 |
+
{ t: "మలంచా", m: "చెంబు", s: "Crowd" },
|
| 504 |
+
{ t: "సొరకాయ", m: "ఆనకాయ", s: "Crowd" },
|
| 505 |
+
{ t: "పాశాల", m: "Clothes", s: "Crowd" },
|
| 506 |
+
{ t: "మట్టుగుండు", m: "Keep calm", s: "Crowd" },
|
| 507 |
+
{ t: "అంబరుంది", m: "Excellent", s: "Crowd" },
|
| 508 |
{ t: "సంస్థానం", m: "Estate", s: "History" }, { t: "రాజా", m: "King", s: "History" },
|
| 509 |
{ t: "కోట", m: "Fort", s: "History" }, { t: "బంగారు", m: "Golden", s: "General" },
|
| 510 |
{ t: "పట్టు", m: "Silk", s: "Textile" }, { t: "చీర", m: "Saree", s: "Textile" },
|
|
|
|
| 516 |
name: "Jogulamba Gadwal", lat: 16.2343, lng: 77.7289, region: "River Doab",
|
| 517 |
history: "Between Krishna and Tungabhadra rivers. Known for Handlooms and temples.",
|
| 518 |
words: [
|
| 519 |
+
{ t: "ఓల్లి", m: "No", s: "Crowd" },
|
| 520 |
+
{ t: "కూడు తింటవా", m: "తిన్నారా", s: "Crowd" },
|
| 521 |
+
{ t: "తువ్వ", m: "ఎర్ర పొలం", s: "Crowd" },
|
| 522 |
+
{ t: "పురకోస", m: "జూట్ దార", s: "Crowd" },
|
| 523 |
+
{ t: "జుముజలమ్మ", m: "దేవత", s: "Crowd" },
|
| 524 |
+
{ t: "తలుగు ఎల్లమ్మ", m: "దేవత", s: "Crowd" },
|
| 525 |
+
{ t: "తెల్వది", m: "Don\'t know", s: "Crowd" },
|
| 526 |
+
{ t: "మడసంగ", m: "నెమ్మదిగా/జాగ్రత్తగా", s: "Crowd" },
|
| 527 |
+
{ t: "రప్పున", m: "జల్ది", s: "Crowd" },
|
| 528 |
+
{ t: "మడసంగ", m: "Careful", s: "Crowd" },
|
| 529 |
+
{ t: "ఓల్లి", m: "No", s: "Crowd" },
|
| 530 |
+
{ t: "కూడు తింటవా", m: "తిన్నారా", s: "Crowd" },
|
| 531 |
+
{ t: "తువ్వ", m: "ఎర్ర పొలం", s: "Crowd" },
|
| 532 |
+
{ t: "పురకోస", m: "జూట్ దార", s: "Crowd" },
|
| 533 |
+
{ t: "జుముజలమ్మ", m: "దేవత", s: "Crowd" },
|
| 534 |
+
{ t: "తలుగు ఎల్లమ్మ", m: "దేవత", s: "Crowd" },
|
| 535 |
+
{ t: "తెల్వది", m: "Don\'t know", s: "Crowd" },
|
| 536 |
+
{ t: "మడసంగ", m: "నెమ్మదిగా/జాగ్రత్తగా", s: "Crowd" },
|
| 537 |
+
{ t: "రప్పున", m: "జల్ది", s: "Crowd" },
|
| 538 |
+
{ t: "మడసంగ", m: "Careful", s: "Crowd" },
|
| 539 |
{ t: "నడుము", m: "Waist/Middle", s: "Body" }, { t: "గడ్డ", m: "Land/Bank", s: "Geo" },
|
| 540 |
{ t: "కృష్ణ", m: "River", s: "Geo" }, { t: "తుంగభద్ర", m: "River", s: "Geo" },
|
| 541 |
{ t: "పదిహేను", m: "Fifteen", s: "Standard" }, { t: "పదహైదు", m: "Fifteen", s: "Local" },
|
|
|
|
| 547 |
name: "Narayanpet", lat: 16.7323, lng: 77.4988, region: "Karnataka Border",
|
| 548 |
history: "Strong Kannada influence due to location. Cuisine terms (Rotti) are common.",
|
| 549 |
words: [
|
| 550 |
+
{ t: "బుబ్బి", m: "అమ్మ", s: "Crowd" },
|
| 551 |
+
{ t: "పడం", m: "మట్టి", s: "Crowd" },
|
| 552 |
+
{ t: "చెముక్కలు", m: "మోకాళ్ళు", s: "Crowd" },
|
| 553 |
+
{ t: "మొర", m: "మంచం", s: "Crowd" },
|
| 554 |
+
{ t: "అబుత", m: "జుట్టు", s: "Crowd" },
|
| 555 |
+
{ t: "జేజి", m: "Fat", s: "Crowd" },
|
| 556 |
+
{ t: "��ంబలి", m: "జావ", s: "Crowd" },
|
| 557 |
+
{ t: "బుబ్బి", m: "అమ్మ", s: "Crowd" },
|
| 558 |
+
{ t: "పడం", m: "మట్టి", s: "Crowd" },
|
| 559 |
+
{ t: "చెముక్కలు", m: "మోకాళ్ళు", s: "Crowd" },
|
| 560 |
+
{ t: "మొర", m: "మంచం", s: "Crowd" },
|
| 561 |
+
{ t: "అబుత", m: "జుట్టు", s: "Crowd" },
|
| 562 |
+
{ t: "జేజి", m: "Fat", s: "Crowd" },
|
| 563 |
+
{ t: "అంబలి", m: "జావ", s: "Crowd" },
|
| 564 |
{ t: "పేట", m: "Town", s: "Suffix" }, { t: "చీర", m: "Saree", s: "Textile" },
|
| 565 |
{ t: "మగ్గ", m: "Loom", s: "Textile" }, { t: "బోర్డర్", m: "Border", s: "Geo" },
|
| 566 |
{ t: "కన్నడ", m: "Language", s: "Influence" }, { t: "రొట్టి", m: "Bread", s: "Food" },
|
|
|
|
| 572 |
name: "Nalgonda", lat: 17.0577, lng: 79.2683, region: "Southern Plains",
|
| 573 |
history: "Known for the Nalgonda movement. Dialect is direct, sharp, and iconic.",
|
| 574 |
words: [
|
| 575 |
+
{ t: "Dupa aithundhi", m: "దాహం వేస్తుంది", s: "Crowd" },
|
| 576 |
+
{ t: "సేరు", m: "1kg measuring device", s: "Crowd" },
|
| 577 |
+
{ t: "Kurdedu Biyam", m: "Amount of rice", s: "Crowd" },
|
| 578 |
+
{ t: "Anglam dundu", m: "అగ్గి పెట్టె", s: "Crowd" },
|
| 579 |
+
{ t: "సది", m: "Take the box", s: "Crowd" },
|
| 580 |
+
{ t: "తట్ట", m: "పళ్ళెం", s: "Crowd" },
|
| 581 |
+
{ t: "కోవెల", m: "గుడి", s: "Crowd" },
|
| 582 |
+
{ t: "ఊసలు", m: "Weaving technique", s: "Crowd" },
|
| 583 |
+
{ t: "బువ్వ", m: "Cooked rice", s: "Crowd" },
|
| 584 |
+
{ t: "తవాచీ", m: "Shelf with doors", s: "Crowd" },
|
| 585 |
+
{ t: "తపుకు", m: "Plate on vessel", s: "Crowd" },
|
| 586 |
+
{ t: "లడ్లు", m: "అరిసెలు", s: "Crowd" },
|
| 587 |
+
{ t: "దారి", m: "బాట", s: "Crowd" },
|
| 588 |
+
{ t: "Dupa aithundhi", m: "దాహం వేస్తుంది", s: "Crowd" },
|
| 589 |
+
{ t: "సేరు", m: "1kg measuring device", s: "Crowd" },
|
| 590 |
+
{ t: "Kurdedu Biyam", m: "Amount of rice", s: "Crowd" },
|
| 591 |
+
{ t: "Anglam dundu", m: "అగ్గి పెట్టె", s: "Crowd" },
|
| 592 |
+
{ t: "సది", m: "Take the box", s: "Crowd" },
|
| 593 |
+
{ t: "తట్ట", m: "పళ్ళెం", s: "Crowd" },
|
| 594 |
+
{ t: "కోవెల", m: "గుడి", s: "Crowd" },
|
| 595 |
+
{ t: "ఊసలు", m: "Weaving technique", s: "Crowd" },
|
| 596 |
+
{ t: "బువ్వ", m: "Cooked rice", s: "Crowd" },
|
| 597 |
+
{ t: "తవాచీ", m: "Shelf with doors", s: "Crowd" },
|
| 598 |
+
{ t: "తపుకు", m: "Plate on vessel", s: "Crowd" },
|
| 599 |
+
{ t: "లడ్లు", m: "అరిసెలు", s: "Crowd" },
|
| 600 |
+
{ t: "దారి", m: "బాట", s: "Crowd" },
|
| 601 |
{ t: "నల్ల", m: "Black", s: "General" }, { t: "కొండ", m: "Hill", s: "Geo" },
|
| 602 |
{ t: "ఫ్లోరోసిస్", m: "Disease", s: "History" }, { t: "నీళ్ళు", m: "Water", s: "General" },
|
| 603 |
{ t: "బావి", m: "Well", s: "Agri" }, { t: "ఏడ", m: "Where", s: "Grammar" },
|
|
|
|
| 632 |
name: "Medak", lat: 18.0487, lng: 78.2657, region: "Heritage West",
|
| 633 |
history: "Historical seat of power. 'Metuku' (rice grain) is the etymological root.",
|
| 634 |
words: [
|
| 635 |
+
{ t: "కీసా", m: "జేబు", s: "Crowd" },
|
| 636 |
+
{ t: "పైను", m: "ఆరు (Six)", s: "Crowd" },
|
| 637 |
+
{ t: "కీసా", m: "జేబు", s: "Crowd" },
|
| 638 |
+
{ t: "పైను", m: "ఆరు (Six)", s: "Crowd" },
|
| 639 |
{ t: "చర్చి", m: "Church", s: "Landmark" }, { t: "మెతుకు", m: "Rice Grain", s: "Etymology" },
|
| 640 |
{ t: "దుర్గం", m: "Fort", s: "History" }, { t: "కోట", m: "Fort", s: "History" },
|
| 641 |
{ t: "గడి", m: "Room", s: "Rural" }, { t: "సింహ", m: "Lion", s: "Art" },
|
|
|
|
| 658 |
name: "Siddipet", lat: 18.1018, lng: 78.8520, region: "Political Hub",
|
| 659 |
history: "A vibrant, politically active district. Home to Komuravelli Mallanna.",
|
| 660 |
words: [
|
| 661 |
+
{ t: "అంగీ", m: "Shirt", s: "Crowd" },
|
| 662 |
+
{ t: "పొయ్యిర్రు", m: "వెళ్ళారు", s: "Crowd" },
|
| 663 |
+
{ t: "మెగులుతుంది", m: "వర్షం వచ్���ి ఆగిన", s: "Crowd" },
|
| 664 |
+
{ t: "అలుకురు", m: "Pre cultivation", s: "Crowd" },
|
| 665 |
+
{ t: "పయిలం", m: "జాగ్రత్త", s: "Crowd" },
|
| 666 |
+
{ t: "తప్పెలు", m: "Rice plate", s: "Crowd" },
|
| 667 |
+
{ t: "పందిట్లు", m: "పందిరి", s: "Crowd" },
|
| 668 |
+
{ t: "రాకొచ్చింది", m: "రాదు", s: "Crowd" },
|
| 669 |
+
{ t: "పోకొచ్చింది", m: "పోదు", s: "Crowd" },
|
| 670 |
+
{ t: "కుకో", m: "కూర్చో", s: "Crowd" },
|
| 671 |
+
{ t: "ఏడారు", m: "Afternoon time", s: "Crowd" },
|
| 672 |
+
{ t: "అంగీ", m: "Shirt", s: "Crowd" },
|
| 673 |
+
{ t: "పొయ్యిర్రు", m: "వెళ్ళారు", s: "Crowd" },
|
| 674 |
+
{ t: "మెగులుతుంది", m: "వర్షం వచ్చి ఆగిన", s: "Crowd" },
|
| 675 |
+
{ t: "అలుకురు", m: "Pre cultivation", s: "Crowd" },
|
| 676 |
+
{ t: "పయిలం", m: "జాగ్రత్త", s: "Crowd" },
|
| 677 |
+
{ t: "తప్పెలు", m: "Rice plate", s: "Crowd" },
|
| 678 |
+
{ t: "పందిట్లు", m: "పందిరి", s: "Crowd" },
|
| 679 |
+
{ t: "రాకొచ్చింది", m: "రాదు", s: "Crowd" },
|
| 680 |
+
{ t: "పోకొచ్చింది", m: "పోదు", s: "Crowd" },
|
| 681 |
+
{ t: "కుకో", m: "కూర్చో", s: "Crowd" },
|
| 682 |
+
{ t: "ఏడారు", m: "Afternoon time", s: "Crowd" },
|
| 683 |
{ t: "కోటి", m: "Monkey", s: "Local" }, { t: "మల్లన్న", m: "God Name", s: "Religion" },
|
| 684 |
{ t: "పట్నం", m: "City", s: "General" }, { t: "చెరువు", m: "Lake", s: "Geo" },
|
| 685 |
{ t: "బతుకమ్మ", m: "Festival", s: "Culture" }, { t: "పూలు", m: "Flowers", s: "Nature" },
|
|
|
|
| 691 |
name: "Rangareddy", lat: 17.3457, lng: 78.5522, region: "Peri-Urban",
|
| 692 |
history: "Surrounds Hyderabad. Mix of rural farms and real estate boom vocabulary.",
|
| 693 |
words: [
|
| 694 |
+
{ t: "వీరునో", m: "తెలుగు", s: "Crowd" },
|
| 695 |
+
{ t: "తొక్కుడు", m: "మంచం", s: "Crowd" },
|
| 696 |
+
{ t: "మూర", m: "ముంగిలి", s: "Crowd" },
|
| 697 |
+
{ t: "కారం", m: "పచ్చడి", s: "Crowd" },
|
| 698 |
+
{ t: "ఈ గడ", m: "కడ", s: "Crowd" },
|
| 699 |
+
{ t: "వీరునో", m: "తెలుగు", s: "Crowd" },
|
| 700 |
+
{ t: "తొక్కుడు", m: "మంచం", s: "Crowd" },
|
| 701 |
+
{ t: "మూర", m: "ముంగిలి", s: "Crowd" },
|
| 702 |
+
{ t: "కారం", m: "పచ్చడి", s: "Crowd" },
|
| 703 |
+
{ t: "ఈ గడ", m: "కడ", s: "Crowd" },
|
| 704 |
{ t: "ఎయిర్పోర్ట్", m: "Airport", s: "Infra" }, { t: "ఫ్లైట్", m: "Plane", s: "Transport" },
|
| 705 |
{ t: "రియల్ ఎస్టేట్", m: "Land Biz", s: "Biz" }, { t: "ప్లాట్", m: "Plot", s: "Biz" },
|
| 706 |
{ t: "రేటు", m: "Price", s: "Biz" }, { t: "మచ్చ", m: "Friend", s: "Slang" },
|
|
|
|
| 734 |
name: "Hyderabad", lat: 17.3850, lng: 78.4867, region: "Capital",
|
| 735 |
history: "The historic capital. Famous for the unique Dakhni-Telugu fusion dialect.",
|
| 736 |
words: [
|
| 737 |
+
{ t: "కిటికీ", m: "Window", s: "Crowd" },
|
| 738 |
+
{ t: "అంగీ", m: "Shirt", s: "Crowd" },
|
| 739 |
+
{ t: "కుక్క", m: "Dog", s: "Crowd" },
|
| 740 |
+
{ t: "కుర్చీ", m: "Chair", s: "Crowd" },
|
| 741 |
+
{ t: "Amma buvva pettava", m: "Mother feed me", s: "Crowd" },
|
| 742 |
+
{ t: "Chaderghat", m: "Location", s: "Crowd" },
|
| 743 |
+
{ t: "తొవ్వ దారి", m: "Way/Path", s: "Crowd" },
|
| 744 |
+
{ t: "పాతాళగరిసె", m: "Tool to remove bucket", s: "Crowd" },
|
| 745 |
+
{ t: "అంబటాలు", m: "Afternoon time", s: "Crowd" },
|
| 746 |
+
{ t: "ఇన్సురాయి", m: "Stone tool", s: "Crowd" },
|
| 747 |
+
{ t: "బుక్కెట్", m: "Tool for well", s: "Crowd" },
|
| 748 |
+
{ t: "కిటికీ", m: "Window", s: "Crowd" },
|
| 749 |
+
{ t: "అంగీ", m: "Shirt", s: "Crowd" },
|
| 750 |
+
{ t: "కుక్క", m: "Dog", s: "Crowd" },
|
| 751 |
+
{ t: "కుర్చీ", m: "Chair", s: "Crowd" },
|
| 752 |
+
{ t: "Amma buvva pettava", m: "Mother feed me", s: "Crowd" },
|
| 753 |
+
{ t: "Chaderghat", m: "Location", s: "Crowd" },
|
| 754 |
+
{ t: "తొవ్వ దారి", m: "Way/Path", s: "Crowd" },
|
| 755 |
+
{ t: "పాతాళగరిసె", m: "Tool to remove bucket", s: "Crowd" },
|
| 756 |
+
{ t: "అంబటాలు", m: "Afternoon time", s: "Crowd" },
|
| 757 |
+
{ t: "ఇన్సురాయి", m: "Stone tool", s: "Crowd" },
|
| 758 |
+
{ t: "బుక్కెట్", m: "Tool for well", s: "Crowd" },
|
| 759 |
{ t: "కైకు", m: "Why", s: "Dakhni" }, { t: "నక్కో", m: "No", s: "Dakhni" },
|
| 760 |
{ t: "హౌ", m: "Yes", s: "Dakhni" }, { t: "బైగన్", m: "Useless", s: "Slang" },
|
| 761 |
{ t: "చిచ్చా", m: "Uncle", s: "Slang" }, { t: "పోట్టి", m: "Girl", s: "Slang" },
|
|
|
|
| 765 |
}
|
| 766 |
];
|
| 767 |
|
| 768 |
+
// --- 1.5. DYNAMIC DATA LOADING & MERGING ---
|
| 769 |
+
|
| 770 |
+
// AP District Coordinate Mapping
|
| 771 |
+
const AP_COORDINATES = {
|
| 772 |
+
"Alluri Sitharama Raju": { "lat": 17.7000, "lng": 81.9000, "region": "Coastal Andhra", "history": "Named after the legendary freedom fighter; a hub of tribal culture and the Rampa Rebellion." },
|
| 773 |
+
"Anakapalli": { "lat": 17.6913, "lng": 83.0039, "region": "Coastal Andhra", "history": "Historical Buddhist site (Bojjanakonda) and a major center for the jaggery trade." },
|
| 774 |
+
"Anantapur": { "lat": 14.6856, "lng": 77.6006, "region": "Rayalaseema", "history": "Ancient cultural zone with Kannada and Marathi influences; home to the Gooty Fort." },
|
| 775 |
+
"Annamayya": { "lat": 13.9744, "lng": 78.9647, "region": "Rayalaseema", "history": "Named after the saint-poet Tallapaka Annamacharya; rich in spiritual and forest heritage." },
|
| 776 |
+
"Bapatla": { "lat": 15.9045, "lng": 80.4682, "region": "Coastal Andhra", "history": "Known for its historical Suryalanka beach and prominent educational institutions since the British era." },
|
| 777 |
+
"Chittoor": { "lat": 13.2172, "lng": 79.1003, "region": "Rayalaseema", "history": "A major gateway to South India with deep links to the Vijayanagara Empire." },
|
| 778 |
+
"Dr. B.R. Ambedkar Konaseema": { "lat": 16.6360, "lng": 81.9961, "region": "Coastal Andhra", "history": "The 'Kerala of Andhra'; a lush delta region known for Vedic culture and coconut groves." },
|
| 779 |
+
"East Godavari": { "lat": 17.0005, "lng": 81.7729, "region": "Coastal Andhra", "history": "The rice bowl of AP; historically a cultural epicenter of the Telugu language." },
|
| 780 |
+
"Eluru": { "lat": 16.7107, "lng": 81.1018, "region": "Coastal Andhra", "history": "Former Buddhist center and capital of the Vengi dynasty." },
|
| 781 |
+
"Guntur": { "lat": 16.3067, "lng": 80.4365, "region": "Coastal Andhra", "history": "Ancient seat of learning (Amaravati) and a global hub for the spice trade." },
|
| 782 |
+
"Kakinada": { "lat": 16.9891, "lng": 82.2475, "region": "Coastal Andhra", "history": "Known as the 'Pensioner's Paradise'; a key port city during the Dutch and British eras." },
|
| 783 |
+
"Konaseema": { "lat": 16.5000, "lng": 82.0000, "region": "Coastal Andhra", "history": "Famous for its lush greenery and traditional Brahminical scholarship." },
|
| 784 |
+
"Krishna": { "lat": 16.1800, "lng": 81.1300, "region": "Coastal Andhra", "history": "Named after the sacred river; the heartland of the Kuchipudi dance form." },
|
| 785 |
+
"Kurnool": { "lat": 15.8281, "lng": 78.0373, "region": "Rayalaseema", "history": "The first capital of Andhra State (1953-1956) and home to the Konda Reddy Fort." },
|
| 786 |
+
"Nandyal": { "lat": 15.4811, "lng": 78.4862, "region": "Rayalaseema", "history": "Surrounded by the 'Nava Nandulu' temples and a gateway to the Nallamala forests." },
|
| 787 |
+
"NTR": { "lat": 16.5062, "lng": 80.6480, "region": "Coastal Andhra", "history": "Named after the legendary actor-politician N.T. Rama Rao; encompasses the bustling city of Vijayawada." },
|
| 788 |
+
"Palnadu": { "lat": 16.2900, "lng": 79.9100, "region": "Coastal Andhra", "history": "Famous for the historic 'Battle of Palnadu' often compared to the Mahabharata." },
|
| 789 |
+
"Parvathipuram Manyam": { "lat": 18.7781, "lng": 83.4219, "region": "Coastal Andhra", "history": "A tribal-dominated hill region with rich folk traditions and forest history." },
|
| 790 |
+
"Prakasam": { "lat": 15.5057, "lng": 80.0493, "region": "Coastal Andhra", "history": "Named after Tanguturi Prakasam Pantulu; contains ancient Buddhist sites and Motupalli port." },
|
| 791 |
+
"Sri Potti Sriramulu Nellore": { "lat": 14.4426, "lng": 79.9865, "region": "Coastal Andhra", "history": "Home to the Satish Dhawan Space Centre and historically famous for its mica mines." },
|
| 792 |
+
"Sri Sathya Sai": { "lat": 14.1670, "lng": 77.8111, "region": "Rayalaseema", "history": "Named after the spiritual leader Sathya Sai Baba; includes the spiritual hub of Puttaparthi." },
|
| 793 |
+
"Srikakulam": { "lat": 18.2949, "lng": 83.8938, "region": "Coastal Andhra", "history": "Ancient land of the Kalinga Empire with prominent sun temples and Buddhist ruins." },
|
| 794 |
+
"Tirupati": { "lat": 13.6288, "lng": 79.4192, "region": "Rayalaseema", "history": "The spiritual capital of AP; home to the world-famous Lord Venkateswara Temple." },
|
| 795 |
+
"Visakhapatnam": { "lat": 17.6868, "lng": 83.2185, "region": "Coastal Andhra", "history": "A major naval center and historical port known as the 'City of Destiny'." },
|
| 796 |
+
"Vizianagaram": { "lat": 18.1124, "lng": 83.3956, "region": "Coastal Andhra", "history": "Meaning 'City of Victory'; historically ruled by the Pusapati Rajas." },
|
| 797 |
+
"West Godavari": { "lat": 16.7110, "lng": 81.5230, "region": "Coastal Andhra", "history": "A prosperous agricultural region known for its extensive canal system and Kolleru Lake." },
|
| 798 |
+
"YSR Kadapa": { "lat": 14.4673, "lng": 78.8242, "region": "Rayalaseema", "history": "Heart of the Rayalaseema region; home to the Gandikota canyon and rich mineral deposits." }
|
| 799 |
+
};
|
| 800 |
+
|
| 801 |
+
async function loadAndMergeDynamicData() {
|
| 802 |
+
try {
|
| 803 |
+
// Load processed_dialects.json
|
| 804 |
+
const response1 = await fetch('data/processed/processed_dialects.json');
|
| 805 |
+
if (response1.ok) {
|
| 806 |
+
const dynamicDistricts = await response1.json();
|
| 807 |
+
console.log(`✓ Loaded ${dynamicDistricts.length} districts from processed_dialects.json`);
|
| 808 |
+
|
| 809 |
+
dynamicDistricts.forEach(dynamicDistrict => {
|
| 810 |
+
const existingDistrict = dialectData.find(d => d.name === dynamicDistrict.name);
|
| 811 |
+
|
| 812 |
+
if (existingDistrict) {
|
| 813 |
+
console.log(` → Enhancing ${dynamicDistrict.name} with ${dynamicDistrict.words.length} additional words`);
|
| 814 |
+
existingDistrict.words = [...existingDistrict.words, ...dynamicDistrict.words];
|
| 815 |
+
} else {
|
| 816 |
+
console.log(` → Adding new district: ${dynamicDistrict.name} with ${dynamicDistrict.words.length} words`);
|
| 817 |
+
dialectData.push(dynamicDistrict);
|
| 818 |
+
}
|
| 819 |
+
});
|
| 820 |
+
}
|
| 821 |
+
|
| 822 |
+
// Load digiwords_grouped.json
|
| 823 |
+
const response2 = await fetch('data/processed/digiwords_grouped.json');
|
| 824 |
+
if (response2.ok) {
|
| 825 |
+
const digiwords = await response2.json();
|
| 826 |
+
|
| 827 |
+
// Process both Telangana and Andhra Pradesh districts
|
| 828 |
+
['Telangana', 'Andhra Pradesh'].forEach(state => {
|
| 829 |
+
const stateDistricts = digiwords[state] || {};
|
| 830 |
+
console.log(`\n✓ Processing ${Object.keys(stateDistricts).length} districts from ${state}`);
|
| 831 |
+
|
| 832 |
+
Object.entries(stateDistricts).forEach(([districtName, wordsArray]) => {
|
| 833 |
+
const existingDistrict = dialectData.find(d => d.name === districtName);
|
| 834 |
+
|
| 835 |
+
if (existingDistrict) {
|
| 836 |
+
// Merge words into existing district
|
| 837 |
+
console.log(` → Merging ${wordsArray.length} words into ${districtName}`);
|
| 838 |
+
existingDistrict.words = [...existingDistrict.words, ...wordsArray];
|
| 839 |
+
} else {
|
| 840 |
+
// Create new district for AP (Telangana districts should already exist)
|
| 841 |
+
const coords = AP_COORDINATES[districtName];
|
| 842 |
+
if (coords) {
|
| 843 |
+
const newDistrict = {
|
| 844 |
+
name: districtName,
|
| 845 |
+
lat: coords.lat,
|
| 846 |
+
lng: coords.lng,
|
| 847 |
+
region: coords.region,
|
| 848 |
+
history: coords.history,
|
| 849 |
+
words: wordsArray
|
| 850 |
+
};
|
| 851 |
+
console.log(` → Adding new AP district: ${districtName} with ${wordsArray.length} words`);
|
| 852 |
+
dialectData.push(newDistrict);
|
| 853 |
+
} else {
|
| 854 |
+
console.warn(` ⚠ Skipping ${districtName}: No coordinates found`);
|
| 855 |
+
}
|
| 856 |
+
}
|
| 857 |
+
});
|
| 858 |
+
});
|
| 859 |
+
}
|
| 860 |
+
|
| 861 |
+
console.log(`\n✅ Total districts loaded: ${dialectData.length}`);
|
| 862 |
+
|
| 863 |
+
} catch (error) {
|
| 864 |
+
console.error('Error loading dynamic data:', error);
|
| 865 |
+
console.log('Continuing with hardcoded data only.');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 866 |
}
|
| 867 |
+
}
|
|
|
|
|
|
|
|
|
|
| 868 |
|
| 869 |
// --- 2. MAP SETUP ---
|
| 870 |
+
// Initialize map after data is loaded
|
| 871 |
+
let map;
|
| 872 |
+
|
| 873 |
+
async function initializeMap() {
|
| 874 |
+
// Load dynamic data first
|
| 875 |
+
await loadAndMergeDynamicData();
|
| 876 |
+
|
| 877 |
+
// Update district counter
|
| 878 |
+
const telanganaCount = dialectData.filter(d => !AP_COORDINATES[d.name]).length;
|
| 879 |
+
const apCount = dialectData.filter(d => AP_COORDINATES[d.name]).length;
|
| 880 |
+
document.getElementById('district-counter').textContent =
|
| 881 |
+
`Telangana: ${telanganaCount} • Andhra Pradesh: ${apCount} • Total: ${dialectData.length} Districts`;
|
| 882 |
+
|
| 883 |
+
// Center map to show both Telangana and Andhra Pradesh
|
| 884 |
+
map = L.map('map').setView([16.5, 79.8], 6.5);
|
| 885 |
+
|
| 886 |
+
L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png', {
|
| 887 |
+
attribution: '© OSM contributors'
|
| 888 |
+
}).addTo(map);
|
| 889 |
+
|
| 890 |
+
// --- 3. MARKERS & INTERACTION ---
|
| 891 |
+
const sidebarPanel = document.getElementById('info-panel');
|
| 892 |
+
|
| 893 |
+
// Red Marker Style
|
| 894 |
+
const redIcon = L.divIcon({
|
| 895 |
+
className: 'custom-marker',
|
| 896 |
+
html: '📍',
|
| 897 |
+
iconSize: [30, 30],
|
| 898 |
+
iconAnchor: [15, 30]
|
| 899 |
+
});
|
| 900 |
|
| 901 |
+
dialectData.forEach(d => {
|
| 902 |
+
const marker = L.marker([d.lat, d.lng], { icon: redIcon }).addTo(map);
|
|
|
|
| 903 |
|
| 904 |
+
// Hover Label
|
| 905 |
+
marker.bindTooltip(`<b>${d.name}</b>`, { direction: 'top', offset: [0, -5] });
|
| 906 |
|
| 907 |
+
// Click Action
|
| 908 |
+
marker.on('click', () => {
|
| 909 |
+
map.flyTo([d.lat, d.lng], 9, { duration: 1.2 });
|
| 910 |
+
updateSidebar(d);
|
| 911 |
+
});
|
| 912 |
});
|
|
|
|
| 913 |
|
| 914 |
+
function updateSidebar(data) {
|
| 915 |
+
const rows = data.words.map(w => `
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 916 |
<tr>
|
| 917 |
<td class="telugu-word">${w.t}</td>
|
| 918 |
<td>${w.m}</td>
|
| 919 |
+
<td style="color:#777; font-size:0.7rem;">${w.s}</td>
|
| 920 |
</tr>
|
| 921 |
+
`).join('');
|
|
|
|
| 922 |
|
| 923 |
+
sidebarPanel.innerHTML = `
|
| 924 |
<div style="animation:fadeIn 0.4s;">
|
| 925 |
<h2 class="district-title">${data.name}</h2>
|
| 926 |
<span class="region-tag">${data.region}</span>
|
|
|
|
| 931 |
</table>
|
| 932 |
</div>
|
| 933 |
`;
|
| 934 |
+
}
|
| 935 |
}
|
| 936 |
+
|
| 937 |
+
// Start the application
|
| 938 |
+
initializeMap();
|
| 939 |
</script>
|
| 940 |
</body>
|
| 941 |
|
requirements.txt
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
google-auth>=2.25.0
|
| 2 |
+
google-auth-oauthlib>=1.2.0
|
| 3 |
+
google-auth-httplib2>=0.2.0
|
| 4 |
+
google-api-python-client>=2.110.0
|
| 5 |
+
watchdog>=3.0.0
|
| 6 |
+
python-dotenv>=1.0.0
|
scripts/automation_runner.py
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
Automation Runner
|
| 4 |
+
Main orchestrator that runs all automation tasks:
|
| 5 |
+
- File watching
|
| 6 |
+
- Scheduled Google Sheets sync
|
| 7 |
+
- Initial conversion
|
| 8 |
+
"""
|
| 9 |
+
|
| 10 |
+
import json
|
| 11 |
+
import time
|
| 12 |
+
import signal
|
| 13 |
+
import sys
|
| 14 |
+
import threading
|
| 15 |
+
import subprocess
|
| 16 |
+
from pathlib import Path
|
| 17 |
+
from datetime import datetime
|
| 18 |
+
|
| 19 |
+
# Paths
|
| 20 |
+
BASE_DIR = Path(__file__).parent.parent
|
| 21 |
+
CONFIG_FILE = BASE_DIR / "config.json"
|
| 22 |
+
SHEETS_SYNC_SCRIPT = BASE_DIR / "scripts" / "sheets_sync.py"
|
| 23 |
+
FILE_WATCHER_SCRIPT = BASE_DIR / "scripts" / "file_watcher.py"
|
| 24 |
+
CSV_TO_JSON_SCRIPT = BASE_DIR / "scripts" / "csv_to_json.py"
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
class AutomationRunner:
|
| 28 |
+
"""Manages all automation tasks"""
|
| 29 |
+
|
| 30 |
+
def __init__(self):
|
| 31 |
+
self.config = self.load_config()
|
| 32 |
+
self.running = True
|
| 33 |
+
self.watcher_process = None
|
| 34 |
+
self.sync_thread = None
|
| 35 |
+
|
| 36 |
+
# Set up signal handlers for graceful shutdown
|
| 37 |
+
signal.signal(signal.SIGINT, self.signal_handler)
|
| 38 |
+
signal.signal(signal.SIGTERM, self.signal_handler)
|
| 39 |
+
|
| 40 |
+
def signal_handler(self, sig, frame):
|
| 41 |
+
"""Handle shutdown signals"""
|
| 42 |
+
print("\n\n🛑 Shutdown signal received...")
|
| 43 |
+
self.running = False
|
| 44 |
+
|
| 45 |
+
def load_config(self):
|
| 46 |
+
"""Load configuration"""
|
| 47 |
+
if not CONFIG_FILE.exists():
|
| 48 |
+
print(f"❌ Config file not found: {CONFIG_FILE}")
|
| 49 |
+
sys.exit(1)
|
| 50 |
+
|
| 51 |
+
with open(CONFIG_FILE, 'r') as f:
|
| 52 |
+
return json.load(f)
|
| 53 |
+
|
| 54 |
+
def run_initial_conversion(self):
|
| 55 |
+
"""Run initial CSV-to-JSON conversion"""
|
| 56 |
+
print("🔄 Running initial CSV-to-JSON conversion...")
|
| 57 |
+
try:
|
| 58 |
+
subprocess.run([sys.executable, str(CSV_TO_JSON_SCRIPT)], check=True)
|
| 59 |
+
except subprocess.CalledProcessError:
|
| 60 |
+
print("⚠️ Initial conversion failed (this is OK if CSV files don't exist yet)")
|
| 61 |
+
|
| 62 |
+
def start_file_watcher(self):
|
| 63 |
+
"""Start the file watcher in a separate process"""
|
| 64 |
+
if not self.config.get('file_watcher', {}).get('enabled', True):
|
| 65 |
+
print("⚠️ File watcher disabled in config")
|
| 66 |
+
return
|
| 67 |
+
|
| 68 |
+
print("👀 Starting file watcher...")
|
| 69 |
+
self.watcher_process = subprocess.Popen(
|
| 70 |
+
[sys.executable, str(FILE_WATCHER_SCRIPT)],
|
| 71 |
+
stdout=subprocess.PIPE,
|
| 72 |
+
stderr=subprocess.STDOUT,
|
| 73 |
+
text=True,
|
| 74 |
+
bufsize=1
|
| 75 |
+
)
|
| 76 |
+
|
| 77 |
+
# Stream output in a separate thread
|
| 78 |
+
def stream_output():
|
| 79 |
+
for line in self.watcher_process.stdout:
|
| 80 |
+
print(line, end='')
|
| 81 |
+
|
| 82 |
+
threading.Thread(target=stream_output, daemon=True).start()
|
| 83 |
+
|
| 84 |
+
def sync_sheets_once(self):
|
| 85 |
+
"""Run Google Sheets sync once"""
|
| 86 |
+
print(f"\n⏰ [{datetime.now().strftime('%H:%M:%S')}] Running Google Sheets sync...")
|
| 87 |
+
try:
|
| 88 |
+
result = subprocess.run(
|
| 89 |
+
[sys.executable, str(SHEETS_SYNC_SCRIPT)],
|
| 90 |
+
capture_output=True,
|
| 91 |
+
text=True
|
| 92 |
+
)
|
| 93 |
+
print(result.stdout)
|
| 94 |
+
if result.returncode != 0:
|
| 95 |
+
print(result.stderr)
|
| 96 |
+
except Exception as e:
|
| 97 |
+
print(f"❌ Sync error: {e}")
|
| 98 |
+
|
| 99 |
+
def start_scheduled_sync(self):
|
| 100 |
+
"""Start scheduled Google Sheets sync"""
|
| 101 |
+
sheets_config = self.config.get('google_sheets', {})
|
| 102 |
+
|
| 103 |
+
if not sheets_config.get('enabled', False):
|
| 104 |
+
print("⚠️ Google Sheets sync disabled in config")
|
| 105 |
+
return
|
| 106 |
+
|
| 107 |
+
interval_minutes = sheets_config.get('sync_interval_minutes', 5)
|
| 108 |
+
print(f"⏰ Starting scheduled sync (every {interval_minutes} minutes)...")
|
| 109 |
+
|
| 110 |
+
def sync_loop():
|
| 111 |
+
# Run initial sync
|
| 112 |
+
self.sync_sheets_once()
|
| 113 |
+
|
| 114 |
+
# Continue syncing at intervals
|
| 115 |
+
while self.running:
|
| 116 |
+
time.sleep(interval_minutes * 60)
|
| 117 |
+
if self.running:
|
| 118 |
+
self.sync_sheets_once()
|
| 119 |
+
|
| 120 |
+
self.sync_thread = threading.Thread(target=sync_loop, daemon=True)
|
| 121 |
+
self.sync_thread.start()
|
| 122 |
+
|
| 123 |
+
def run(self):
|
| 124 |
+
"""Main run loop"""
|
| 125 |
+
print("=" * 60)
|
| 126 |
+
print("🚀 Dialect Map Automation System")
|
| 127 |
+
print("=" * 60)
|
| 128 |
+
print()
|
| 129 |
+
|
| 130 |
+
# Run initial conversion
|
| 131 |
+
self.run_initial_conversion()
|
| 132 |
+
print()
|
| 133 |
+
|
| 134 |
+
# Start file watcher
|
| 135 |
+
self.start_file_watcher()
|
| 136 |
+
|
| 137 |
+
# Start scheduled sync
|
| 138 |
+
self.start_scheduled_sync()
|
| 139 |
+
|
| 140 |
+
print()
|
| 141 |
+
print("=" * 60)
|
| 142 |
+
print("✅ All automation tasks started!")
|
| 143 |
+
print("=" * 60)
|
| 144 |
+
print("\n💡 Press Ctrl+C to stop all automation\n")
|
| 145 |
+
|
| 146 |
+
# Keep running until stopped
|
| 147 |
+
try:
|
| 148 |
+
while self.running:
|
| 149 |
+
time.sleep(1)
|
| 150 |
+
except KeyboardInterrupt:
|
| 151 |
+
pass
|
| 152 |
+
|
| 153 |
+
# Cleanup
|
| 154 |
+
print("\n🧹 Cleaning up...")
|
| 155 |
+
if self.watcher_process:
|
| 156 |
+
self.watcher_process.terminate()
|
| 157 |
+
self.watcher_process.wait()
|
| 158 |
+
|
| 159 |
+
print("✅ Automation stopped gracefully\n")
|
| 160 |
+
|
| 161 |
+
|
| 162 |
+
def main():
|
| 163 |
+
"""Main entry point"""
|
| 164 |
+
runner = AutomationRunner()
|
| 165 |
+
runner.run()
|
| 166 |
+
|
| 167 |
+
|
| 168 |
+
if __name__ == "__main__":
|
| 169 |
+
main()
|
scripts/check_sheet_names.py
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
Check Sheet Names
|
| 4 |
+
Quick utility to list all sheet tab names from Google Sheets
|
| 5 |
+
"""
|
| 6 |
+
|
| 7 |
+
import json
|
| 8 |
+
from pathlib import Path
|
| 9 |
+
from google.oauth2 import service_account
|
| 10 |
+
from googleapiclient.discovery import build
|
| 11 |
+
|
| 12 |
+
# Paths
|
| 13 |
+
BASE_DIR = Path(__file__).parent.parent
|
| 14 |
+
CONFIG_FILE = BASE_DIR / "config.json"
|
| 15 |
+
CREDS_FILE = BASE_DIR / "credentials.json"
|
| 16 |
+
|
| 17 |
+
|
| 18 |
+
def get_sheet_names(spreadsheet_id, service):
|
| 19 |
+
"""Get all sheet names from a spreadsheet"""
|
| 20 |
+
try:
|
| 21 |
+
sheet_metadata = service.spreadsheets().get(spreadsheetId=spreadsheet_id).execute()
|
| 22 |
+
sheets = sheet_metadata.get('sheets', [])
|
| 23 |
+
return [sheet['properties']['title'] for sheet in sheets]
|
| 24 |
+
except Exception as e:
|
| 25 |
+
print(f"❌ Error: {e}")
|
| 26 |
+
return []
|
| 27 |
+
|
| 28 |
+
|
| 29 |
+
def main():
|
| 30 |
+
# Load config
|
| 31 |
+
with open(CONFIG_FILE, 'r') as f:
|
| 32 |
+
config = json.load(f)
|
| 33 |
+
|
| 34 |
+
# Authenticate
|
| 35 |
+
print("🔐 Authenticating with Google Sheets API...\n")
|
| 36 |
+
credentials = service_account.Credentials.from_service_account_file(
|
| 37 |
+
CREDS_FILE,
|
| 38 |
+
scopes=['https://www.googleapis.com/auth/spreadsheets.readonly']
|
| 39 |
+
)
|
| 40 |
+
service = build('sheets', 'v4', credentials=credentials)
|
| 41 |
+
|
| 42 |
+
# Check each spreadsheet
|
| 43 |
+
for sheet_config in config['google_sheets']['spreadsheets']:
|
| 44 |
+
name = sheet_config['name']
|
| 45 |
+
spreadsheet_id = sheet_config['spreadsheet_id']
|
| 46 |
+
|
| 47 |
+
print(f"📊 {name}")
|
| 48 |
+
print(f" ID: {spreadsheet_id[:20]}...")
|
| 49 |
+
|
| 50 |
+
sheet_names = get_sheet_names(spreadsheet_id, service)
|
| 51 |
+
|
| 52 |
+
if sheet_names:
|
| 53 |
+
print(f" ✅ Found {len(sheet_names)} tab(s):")
|
| 54 |
+
for tab_name in sheet_names:
|
| 55 |
+
print(f" - '{tab_name}'")
|
| 56 |
+
else:
|
| 57 |
+
print(" ❌ No tabs found or error occurred")
|
| 58 |
+
|
| 59 |
+
print()
|
| 60 |
+
|
| 61 |
+
|
| 62 |
+
if __name__ == "__main__":
|
| 63 |
+
main()
|
scripts/csv_to_json.py
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
CSV to JSON Converter
|
| 4 |
+
Converts dialect CSV files from sheets_output/ to JSON format for index.html
|
| 5 |
+
"""
|
| 6 |
+
|
| 7 |
+
import csv
|
| 8 |
+
import json
|
| 9 |
+
import os
|
| 10 |
+
from pathlib import Path
|
| 11 |
+
from collections import defaultdict
|
| 12 |
+
|
| 13 |
+
# Paths
|
| 14 |
+
BASE_DIR = Path(__file__).parent.parent
|
| 15 |
+
SHEETS_OUTPUT_DIR = BASE_DIR / "sheets_output"
|
| 16 |
+
JSON_OUTPUT_DIR = BASE_DIR / "data" / "processed"
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
def convert_processed_dialects():
|
| 20 |
+
"""Convert processed_dialects.csv to JSON format"""
|
| 21 |
+
csv_file = SHEETS_OUTPUT_DIR / "processed_dialects.csv"
|
| 22 |
+
json_file = JSON_OUTPUT_DIR / "processed_dialects.json"
|
| 23 |
+
|
| 24 |
+
if not csv_file.exists():
|
| 25 |
+
print(f"⚠️ CSV file not found: {csv_file}")
|
| 26 |
+
return False
|
| 27 |
+
|
| 28 |
+
try:
|
| 29 |
+
districts = []
|
| 30 |
+
|
| 31 |
+
with open(csv_file, 'r', encoding='utf-8') as f:
|
| 32 |
+
reader = csv.DictReader(f)
|
| 33 |
+
|
| 34 |
+
# Group words by district
|
| 35 |
+
district_words = defaultdict(lambda: {
|
| 36 |
+
'name': '',
|
| 37 |
+
'lat': 0,
|
| 38 |
+
'lng': 0,
|
| 39 |
+
'region': '',
|
| 40 |
+
'history': '',
|
| 41 |
+
'words': []
|
| 42 |
+
})
|
| 43 |
+
|
| 44 |
+
for row in reader:
|
| 45 |
+
district_name = row.get('District', '').strip()
|
| 46 |
+
if not district_name:
|
| 47 |
+
continue
|
| 48 |
+
|
| 49 |
+
# Set district metadata (from first occurrence)
|
| 50 |
+
if not district_words[district_name]['name']:
|
| 51 |
+
district_words[district_name]['name'] = district_name
|
| 52 |
+
district_words[district_name]['lat'] = float(row.get('Latitude', 0))
|
| 53 |
+
district_words[district_name]['lng'] = float(row.get('Longitude', 0))
|
| 54 |
+
district_words[district_name]['region'] = row.get('Region', '')
|
| 55 |
+
district_words[district_name]['history'] = row.get('History', '')
|
| 56 |
+
|
| 57 |
+
# Add word entry
|
| 58 |
+
word_entry = {
|
| 59 |
+
't': row.get('Telugu_Word', ''),
|
| 60 |
+
'm': row.get('Meaning', ''),
|
| 61 |
+
's': row.get('Source', '')
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
if word_entry['t']: # Only add if Telugu word exists
|
| 65 |
+
district_words[district_name]['words'].append(word_entry)
|
| 66 |
+
|
| 67 |
+
# Convert to list
|
| 68 |
+
districts = list(district_words.values())
|
| 69 |
+
|
| 70 |
+
# Write JSON
|
| 71 |
+
JSON_OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
| 72 |
+
with open(json_file, 'w', encoding='utf-8') as f:
|
| 73 |
+
json.dump(districts, f, ensure_ascii=False, indent=2)
|
| 74 |
+
|
| 75 |
+
print(f"✅ Converted {csv_file.name} → {json_file.name}")
|
| 76 |
+
print(f" {len(districts)} districts, {sum(len(d['words']) for d in districts)} words")
|
| 77 |
+
return True
|
| 78 |
+
|
| 79 |
+
except Exception as e:
|
| 80 |
+
print(f"❌ Error converting processed_dialects.csv: {e}")
|
| 81 |
+
return False
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
def convert_digiwords_grouped():
|
| 85 |
+
"""Convert digiwords_grouped.csv to JSON format"""
|
| 86 |
+
csv_file = SHEETS_OUTPUT_DIR / "digiwords_grouped.csv"
|
| 87 |
+
json_file = JSON_OUTPUT_DIR / "digiwords_grouped.json"
|
| 88 |
+
|
| 89 |
+
if not csv_file.exists():
|
| 90 |
+
print(f"⚠️ CSV file not found: {csv_file}")
|
| 91 |
+
return False
|
| 92 |
+
|
| 93 |
+
try:
|
| 94 |
+
data = {
|
| 95 |
+
"Telangana": defaultdict(list),
|
| 96 |
+
"Andhra Pradesh": defaultdict(list)
|
| 97 |
+
}
|
| 98 |
+
|
| 99 |
+
with open(csv_file, 'r', encoding='utf-8') as f:
|
| 100 |
+
reader = csv.DictReader(f)
|
| 101 |
+
|
| 102 |
+
for row in reader:
|
| 103 |
+
state = row.get('State', '').strip()
|
| 104 |
+
district = row.get('District', '').strip()
|
| 105 |
+
|
| 106 |
+
if not state or not district:
|
| 107 |
+
continue
|
| 108 |
+
|
| 109 |
+
word_entry = {
|
| 110 |
+
't': row.get('Telugu_Word', ''),
|
| 111 |
+
'm': row.get('Meaning', ''),
|
| 112 |
+
's': row.get('Source', 'Crowd')
|
| 113 |
+
}
|
| 114 |
+
|
| 115 |
+
if word_entry['t'] and state in data:
|
| 116 |
+
data[state][district].append(word_entry)
|
| 117 |
+
|
| 118 |
+
# Convert defaultdict to regular dict
|
| 119 |
+
output = {
|
| 120 |
+
state: dict(districts)
|
| 121 |
+
for state, districts in data.items()
|
| 122 |
+
}
|
| 123 |
+
|
| 124 |
+
# Write JSON
|
| 125 |
+
JSON_OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
| 126 |
+
with open(json_file, 'w', encoding='utf-8') as f:
|
| 127 |
+
json.dump(output, f, ensure_ascii=False, indent=2)
|
| 128 |
+
|
| 129 |
+
tg_count = sum(len(words) for words in output.get("Telangana", {}).values())
|
| 130 |
+
ap_count = sum(len(words) for words in output.get("Andhra Pradesh", {}).values())
|
| 131 |
+
|
| 132 |
+
print(f"✅ Converted {csv_file.name} → {json_file.name}")
|
| 133 |
+
print(f" Telangana: {len(output.get('Telangana', {}))} districts, {tg_count} words")
|
| 134 |
+
print(f" Andhra Pradesh: {len(output.get('Andhra Pradesh', {}))} districts, {ap_count} words")
|
| 135 |
+
return True
|
| 136 |
+
|
| 137 |
+
except Exception as e:
|
| 138 |
+
print(f"❌ Error converting digiwords_grouped.csv: {e}")
|
| 139 |
+
return False
|
| 140 |
+
|
| 141 |
+
|
| 142 |
+
def main():
|
| 143 |
+
"""Convert all CSV files to JSON"""
|
| 144 |
+
print("🔄 Starting CSV to JSON conversion...")
|
| 145 |
+
print(f"📂 Input: {SHEETS_OUTPUT_DIR}")
|
| 146 |
+
print(f"📂 Output: {JSON_OUTPUT_DIR}\n")
|
| 147 |
+
|
| 148 |
+
success_count = 0
|
| 149 |
+
|
| 150 |
+
if convert_processed_dialects():
|
| 151 |
+
success_count += 1
|
| 152 |
+
|
| 153 |
+
if convert_digiwords_grouped():
|
| 154 |
+
success_count += 1
|
| 155 |
+
|
| 156 |
+
print(f"\n✨ Conversion complete: {success_count}/2 files successfully converted")
|
| 157 |
+
|
| 158 |
+
|
| 159 |
+
if __name__ == "__main__":
|
| 160 |
+
main()
|
scripts/file_watcher.py
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
File Watcher
|
| 4 |
+
Monitors sheets_output/ directory and triggers CSV-to-JSON conversion on changes
|
| 5 |
+
"""
|
| 6 |
+
|
| 7 |
+
import time
|
| 8 |
+
import json
|
| 9 |
+
import subprocess
|
| 10 |
+
from pathlib import Path
|
| 11 |
+
from watchdog.observers import Observer
|
| 12 |
+
from watchdog.events import FileSystemEventHandler
|
| 13 |
+
|
| 14 |
+
# Paths
|
| 15 |
+
BASE_DIR = Path(__file__).parent.parent
|
| 16 |
+
CONFIG_FILE = BASE_DIR / "config.json"
|
| 17 |
+
CONVERTER_SCRIPT = BASE_DIR / "scripts" / "csv_to_json.py"
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
class CSVChangeHandler(FileSystemEventHandler):
|
| 21 |
+
"""Handles CSV file changes"""
|
| 22 |
+
|
| 23 |
+
def __init__(self, debounce_seconds=2):
|
| 24 |
+
self.debounce_seconds = debounce_seconds
|
| 25 |
+
self.last_modified = {}
|
| 26 |
+
|
| 27 |
+
def on_modified(self, event):
|
| 28 |
+
"""Called when a file is modified"""
|
| 29 |
+
if event.is_directory:
|
| 30 |
+
return
|
| 31 |
+
|
| 32 |
+
# Only process CSV files
|
| 33 |
+
if not event.src_path.endswith('.csv'):
|
| 34 |
+
return
|
| 35 |
+
|
| 36 |
+
# Debounce: ignore rapid consecutive changes
|
| 37 |
+
now = time.time()
|
| 38 |
+
if event.src_path in self.last_modified:
|
| 39 |
+
if now - self.last_modified[event.src_path] < self.debounce_seconds:
|
| 40 |
+
return
|
| 41 |
+
|
| 42 |
+
self.last_modified[event.src_path] = now
|
| 43 |
+
|
| 44 |
+
print(f"\n📝 Detected change: {Path(event.src_path).name}")
|
| 45 |
+
self.trigger_conversion()
|
| 46 |
+
|
| 47 |
+
def on_created(self, event):
|
| 48 |
+
"""Called when a file is created"""
|
| 49 |
+
if not event.is_directory and event.src_path.endswith('.csv'):
|
| 50 |
+
print(f"\n📄 New file: {Path(event.src_path).name}")
|
| 51 |
+
self.trigger_conversion()
|
| 52 |
+
|
| 53 |
+
def trigger_conversion(self):
|
| 54 |
+
"""Run the CSV-to-JSON converter"""
|
| 55 |
+
print("🔄 Running CSV-to-JSON conversion...")
|
| 56 |
+
|
| 57 |
+
try:
|
| 58 |
+
result = subprocess.run(
|
| 59 |
+
['python3', str(CONVERTER_SCRIPT)],
|
| 60 |
+
capture_output=True,
|
| 61 |
+
text=True,
|
| 62 |
+
cwd=str(BASE_DIR)
|
| 63 |
+
)
|
| 64 |
+
|
| 65 |
+
if result.returncode == 0:
|
| 66 |
+
print(result.stdout)
|
| 67 |
+
else:
|
| 68 |
+
print(f"❌ Conversion failed:")
|
| 69 |
+
print(result.stderr)
|
| 70 |
+
|
| 71 |
+
except Exception as e:
|
| 72 |
+
print(f"❌ Error running converter: {e}")
|
| 73 |
+
|
| 74 |
+
|
| 75 |
+
def load_config():
|
| 76 |
+
"""Load configuration"""
|
| 77 |
+
if not CONFIG_FILE.exists():
|
| 78 |
+
return {
|
| 79 |
+
'file_watcher': {
|
| 80 |
+
'enabled': True,
|
| 81 |
+
'watch_directory': 'sheets_output',
|
| 82 |
+
'debounce_seconds': 2
|
| 83 |
+
}
|
| 84 |
+
}
|
| 85 |
+
|
| 86 |
+
with open(CONFIG_FILE, 'r') as f:
|
| 87 |
+
return json.load(f)
|
| 88 |
+
|
| 89 |
+
|
| 90 |
+
def main():
|
| 91 |
+
"""Start file watcher"""
|
| 92 |
+
config = load_config()
|
| 93 |
+
watcher_config = config.get('file_watcher', {})
|
| 94 |
+
|
| 95 |
+
if not watcher_config.get('enabled', True):
|
| 96 |
+
print("⚠️ File watcher is disabled in config.json")
|
| 97 |
+
return
|
| 98 |
+
|
| 99 |
+
watch_dir = BASE_DIR / watcher_config.get('watch_directory', 'sheets_output')
|
| 100 |
+
debounce = watcher_config.get('debounce_seconds', 2)
|
| 101 |
+
|
| 102 |
+
if not watch_dir.exists():
|
| 103 |
+
print(f"❌ Watch directory not found: {watch_dir}")
|
| 104 |
+
print(f"Creating directory: {watch_dir}")
|
| 105 |
+
watch_dir.mkdir(parents=True, exist_ok=True)
|
| 106 |
+
|
| 107 |
+
print("👀 File Watcher Started")
|
| 108 |
+
print(f"📂 Watching: {watch_dir}")
|
| 109 |
+
print(f"⏱️ Debounce: {debounce} seconds")
|
| 110 |
+
print("\nWaiting for CSV file changes... (Press Ctrl+C to stop)\n")
|
| 111 |
+
|
| 112 |
+
event_handler = CSVChangeHandler(debounce_seconds=debounce)
|
| 113 |
+
observer = Observer()
|
| 114 |
+
observer.schedule(event_handler, str(watch_dir), recursive=False)
|
| 115 |
+
observer.start()
|
| 116 |
+
|
| 117 |
+
try:
|
| 118 |
+
while True:
|
| 119 |
+
time.sleep(1)
|
| 120 |
+
except KeyboardInterrupt:
|
| 121 |
+
print("\n\n👋 Stopping file watcher...")
|
| 122 |
+
observer.stop()
|
| 123 |
+
|
| 124 |
+
observer.join()
|
| 125 |
+
print("✅ File watcher stopped")
|
| 126 |
+
|
| 127 |
+
|
| 128 |
+
if __name__ == "__main__":
|
| 129 |
+
main()
|
scripts/sheets_sync.py
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
Google Sheets Sync
|
| 4 |
+
Downloads data from Google Sheets and saves as CSV files
|
| 5 |
+
"""
|
| 6 |
+
|
| 7 |
+
import json
|
| 8 |
+
import os
|
| 9 |
+
import sys
|
| 10 |
+
from pathlib import Path
|
| 11 |
+
from google.auth.transport.requests import Request
|
| 12 |
+
from google.oauth2.credentials import Credentials
|
| 13 |
+
from google.oauth2 import service_account
|
| 14 |
+
from google_auth_oauthlib.flow import InstalledAppFlow
|
| 15 |
+
from googleapiclient.discovery import build
|
| 16 |
+
from googleapiclient.errors import HttpError
|
| 17 |
+
|
| 18 |
+
# If modifying these scopes, delete the file token.json.
|
| 19 |
+
SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly']
|
| 20 |
+
|
| 21 |
+
# Paths
|
| 22 |
+
BASE_DIR = Path(__file__).parent.parent
|
| 23 |
+
CONFIG_FILE = BASE_DIR / "config.json"
|
| 24 |
+
SHEETS_OUTPUT_DIR = BASE_DIR / "sheets_output"
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
def load_config():
|
| 28 |
+
"""Load configuration from config.json"""
|
| 29 |
+
if not CONFIG_FILE.exists():
|
| 30 |
+
print(f"❌ Config file not found: {CONFIG_FILE}")
|
| 31 |
+
sys.exit(1)
|
| 32 |
+
|
| 33 |
+
with open(CONFIG_FILE, 'r') as f:
|
| 34 |
+
return json.load(f)
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
def get_credentials(config):
|
| 38 |
+
"""Get Google Sheets API credentials"""
|
| 39 |
+
creds = None
|
| 40 |
+
credentials_file = BASE_DIR / config['google_sheets']['credentials_file']
|
| 41 |
+
token_file = BASE_DIR / 'token.json'
|
| 42 |
+
|
| 43 |
+
# Check if credentials file exists
|
| 44 |
+
if not credentials_file.exists():
|
| 45 |
+
print(f"❌ Credentials file not found: {credentials_file}")
|
| 46 |
+
print("\n📝 To set up Google Sheets API:")
|
| 47 |
+
print("1. Go to https://console.cloud.google.com/")
|
| 48 |
+
print("2. Create a new project or select existing")
|
| 49 |
+
print("3. Enable Google Sheets API")
|
| 50 |
+
print("4. Create credentials (OAuth 2.0 or Service Account)")
|
| 51 |
+
print(f"5. Download credentials.json to {BASE_DIR}")
|
| 52 |
+
sys.exit(1)
|
| 53 |
+
|
| 54 |
+
# Try service account first (recommended for automation)
|
| 55 |
+
try:
|
| 56 |
+
creds = service_account.Credentials.from_service_account_file(
|
| 57 |
+
str(credentials_file), scopes=SCOPES)
|
| 58 |
+
print("✅ Using service account credentials")
|
| 59 |
+
return creds
|
| 60 |
+
except Exception:
|
| 61 |
+
pass
|
| 62 |
+
|
| 63 |
+
# Fall back to OAuth flow
|
| 64 |
+
if token_file.exists():
|
| 65 |
+
creds = Credentials.from_authorized_user_file(str(token_file), SCOPES)
|
| 66 |
+
|
| 67 |
+
# If there are no (valid) credentials available, let the user log in.
|
| 68 |
+
if not creds or not creds.valid:
|
| 69 |
+
if creds and creds.expired and creds.refresh_token:
|
| 70 |
+
creds.refresh(Request())
|
| 71 |
+
else:
|
| 72 |
+
flow = InstalledAppFlow.from_client_secrets_file(
|
| 73 |
+
str(credentials_file), SCOPES)
|
| 74 |
+
creds = flow.run_local_server(port=0)
|
| 75 |
+
|
| 76 |
+
# Save the credentials for the next run
|
| 77 |
+
with open(token_file, 'w') as token:
|
| 78 |
+
token.write(creds.to_json())
|
| 79 |
+
|
| 80 |
+
print("✅ Using OAuth credentials")
|
| 81 |
+
return creds
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
def download_sheet_as_csv(service, spreadsheet_id, sheet_name, output_filename):
|
| 85 |
+
"""Download a specific sheet as CSV"""
|
| 86 |
+
try:
|
| 87 |
+
# Get the sheet data
|
| 88 |
+
result = service.spreadsheets().values().get(
|
| 89 |
+
spreadsheetId=spreadsheet_id,
|
| 90 |
+
range=f"{sheet_name}!A:Z" # Adjust range as needed
|
| 91 |
+
).execute()
|
| 92 |
+
|
| 93 |
+
values = result.get('values', [])
|
| 94 |
+
|
| 95 |
+
if not values:
|
| 96 |
+
print(f"⚠️ No data found in sheet: {sheet_name}")
|
| 97 |
+
return False
|
| 98 |
+
|
| 99 |
+
# Write to CSV
|
| 100 |
+
output_file = SHEETS_OUTPUT_DIR / output_filename
|
| 101 |
+
SHEETS_OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
| 102 |
+
|
| 103 |
+
import csv
|
| 104 |
+
with open(output_file, 'w', newline='', encoding='utf-8') as f:
|
| 105 |
+
writer = csv.writer(f)
|
| 106 |
+
writer.writerows(values)
|
| 107 |
+
|
| 108 |
+
print(f"✅ Downloaded {sheet_name} → {output_filename}")
|
| 109 |
+
print(f" {len(values)} rows")
|
| 110 |
+
return True
|
| 111 |
+
|
| 112 |
+
except HttpError as error:
|
| 113 |
+
print(f"❌ Error downloading {sheet_name}: {error}")
|
| 114 |
+
return False
|
| 115 |
+
|
| 116 |
+
|
| 117 |
+
def sync_all_sheets():
|
| 118 |
+
"""Sync all configured sheets from Google Sheets"""
|
| 119 |
+
config = load_config()
|
| 120 |
+
|
| 121 |
+
if not config['google_sheets']['enabled']:
|
| 122 |
+
print("⚠️ Google Sheets sync is disabled in config.json")
|
| 123 |
+
return False
|
| 124 |
+
|
| 125 |
+
# Check if using new multi-spreadsheet config
|
| 126 |
+
spreadsheets = config['google_sheets'].get('spreadsheets', [])
|
| 127 |
+
|
| 128 |
+
if not spreadsheets:
|
| 129 |
+
# Fallback to old single spreadsheet config
|
| 130 |
+
spreadsheet_id = config['google_sheets'].get('spreadsheet_id', 'YOUR_SHEET_ID_HERE')
|
| 131 |
+
if spreadsheet_id == "YOUR_SHEET_ID_HERE":
|
| 132 |
+
print("❌ Please update config.json with your spreadsheet IDs")
|
| 133 |
+
print("\n📝 To find your spreadsheet ID:")
|
| 134 |
+
print("Open your Google Sheet and copy the ID from the URL:")
|
| 135 |
+
print("https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/edit")
|
| 136 |
+
return False
|
| 137 |
+
|
| 138 |
+
# Convert old format to new format for processing
|
| 139 |
+
spreadsheets = [{
|
| 140 |
+
'name': 'Main Spreadsheet',
|
| 141 |
+
'spreadsheet_id': spreadsheet_id,
|
| 142 |
+
'sheets': config['google_sheets'].get('sheets', {})
|
| 143 |
+
}]
|
| 144 |
+
|
| 145 |
+
print("🔄 Starting Google Sheets sync...")
|
| 146 |
+
print(f"📊 Syncing from {len(spreadsheets)} spreadsheet(s)\n")
|
| 147 |
+
|
| 148 |
+
try:
|
| 149 |
+
creds = get_credentials(config)
|
| 150 |
+
service = build('sheets', 'v4', credentials=creds)
|
| 151 |
+
|
| 152 |
+
total_success = 0
|
| 153 |
+
total_sheets = 0
|
| 154 |
+
|
| 155 |
+
# Process each spreadsheet
|
| 156 |
+
for spreadsheet in spreadsheets:
|
| 157 |
+
spreadsheet_id = spreadsheet.get('spreadsheet_id', '')
|
| 158 |
+
spreadsheet_name = spreadsheet.get('name', 'Unnamed')
|
| 159 |
+
sheets_config = spreadsheet.get('sheets', {})
|
| 160 |
+
|
| 161 |
+
if not spreadsheet_id or spreadsheet_id.startswith('YOUR_'):
|
| 162 |
+
print(f"⚠️ Skipping '{spreadsheet_name}': ID not configured")
|
| 163 |
+
continue
|
| 164 |
+
|
| 165 |
+
print(f"📋 {spreadsheet_name}")
|
| 166 |
+
print(f" ID: {spreadsheet_id[:20]}...")
|
| 167 |
+
|
| 168 |
+
# Download each sheet from this spreadsheet
|
| 169 |
+
for csv_name, sheet_name in sheets_config.items():
|
| 170 |
+
total_sheets += 1
|
| 171 |
+
if download_sheet_as_csv(service, spreadsheet_id, sheet_name, f"{csv_name}.csv"):
|
| 172 |
+
total_success += 1
|
| 173 |
+
|
| 174 |
+
print() # Blank line between spreadsheets
|
| 175 |
+
|
| 176 |
+
print(f"✨ Sync complete: {total_success}/{total_sheets} sheets downloaded")
|
| 177 |
+
return total_success > 0
|
| 178 |
+
|
| 179 |
+
except Exception as e:
|
| 180 |
+
print(f"❌ Error during sync: {e}")
|
| 181 |
+
return False
|
| 182 |
+
|
| 183 |
+
|
| 184 |
+
def main():
|
| 185 |
+
"""Main entry point"""
|
| 186 |
+
sync_all_sheets()
|
| 187 |
+
|
| 188 |
+
|
| 189 |
+
if __name__ == '__main__':
|
| 190 |
+
main()
|
sheets_output/digiwords_grouped.csv
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
State,District,Telugu_Word,Meaning,Source
|
| 2 |
+
Andhra Pradesh,Anantapur,దిండు,Pillows,Crowd
|
| 3 |
+
Andhra Pradesh,Annamayya,ఆ తుప్పాస్,Nonsense/Useless,Crowd
|
| 4 |
+
Andhra Pradesh,Chittoor,ముడ్దులు,అంగడి,Crowd
|
| 5 |
+
Andhra Pradesh,Chittoor,సెమిరేసినావ,Prepared,Crowd
|
| 6 |
+
Andhra Pradesh,Chittoor,వంకాయ పులగూర్,కూర,Crowd
|
| 7 |
+
Andhra Pradesh,Chittoor,ఈరి మోది,పచ్చడి,Crowd
|
| 8 |
+
Andhra Pradesh,Chittoor,అబ్బ,Grandfather,Crowd
|
| 9 |
+
Andhra Pradesh,Chittoor,జెడి,Hair knot,Crowd
|
| 10 |
+
Andhra Pradesh,East Godavari,దుకాణం,కొట్టు,Crowd
|
| 11 |
+
Andhra Pradesh,East Godavari,పైరు,బంగాళదుంప,Crowd
|
| 12 |
+
Andhra Pradesh,East Godavari,బువ్వ,Food,Crowd
|
| 13 |
+
Andhra Pradesh,East Godavari,గుడి,దేవాలయం,Crowd
|
| 14 |
+
Andhra Pradesh,East Godavari,సామానం,ఆలస్యం చేయడం,Crowd
|
| 15 |
+
Andhra Pradesh,East Godavari,బేగ రా,తొందరగా రా,Crowd
|
| 16 |
+
Andhra Pradesh,Eluru,శనగపప్పు,వేరుశనగ,Crowd
|
| 17 |
+
Andhra Pradesh,Eluru,చాలా బాగుంది,Very good,Crowd
|
| 18 |
+
Andhra Pradesh,Kadapa,కంత,రంధ్రం (Hole),Crowd
|
| 19 |
+
Andhra Pradesh,Kadapa,బాగా ఎక్కువగా,Exceedingly,Crowd
|
| 20 |
+
Andhra Pradesh,Kadapa,చాపు మాటలు,పెద్ద మాటలు,Crowd
|
| 21 |
+
Andhra Pradesh,Kadapa,బొరుగులు,మరమరాలు,Crowd
|
| 22 |
+
Andhra Pradesh,Kadapa,రామాడం,మెత్తగా చేయడం,Crowd
|
| 23 |
+
Andhra Pradesh,Kadapa,ఎనుము,బర్రె,Crowd
|
| 24 |
+
Andhra Pradesh,Kadapa,ముక్కొల్,3 వాడిముళ్ళు,Crowd
|
| 25 |
+
Andhra Pradesh,Kurnool,బుడ్డల నూనె,పల్లి oil (Peanut oil),Crowd
|
| 26 |
+
Andhra Pradesh,Nandyal,తంగాది,కొట్టుదు ఇచ్చింది మధ్యన,Crowd
|
| 27 |
+
Andhra Pradesh,Nandyal,గుడి,దేవాలయము,Crowd
|
| 28 |
+
Andhra Pradesh,Nandyal,హితాలు,బువ్వ తిన్నారా,Crowd
|
| 29 |
+
Andhra Pradesh,Nandyal,తద్దినం,పితృ దేవతల కార్యం,Crowd
|
| 30 |
+
Andhra Pradesh,Nandyal,తువాయి,ఆవు దూడ (Calf),Crowd
|
| 31 |
+
Andhra Pradesh,Nandyal,పురుకోస,Jute thread twisted,Crowd
|
| 32 |
+
Andhra Pradesh,Ongole,బయట వెళ్ళాడు,బయటకు వెళ్ళాడు,Crowd
|
| 33 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,ఎర్రగడ్డ,Onion,Crowd
|
| 34 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,తెల్ల గడ్డ,వెల్లుల్లి,Crowd
|
| 35 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,ఉల్లగడ్డ,Potato,Crowd
|
| 36 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,ఖిన్నారా,అద్దెకు రా,Crowd
|
| 37 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,ముడక,నాగలి,Crowd
|
| 38 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,కొక,చీర,Crowd
|
| 39 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,రైన,జాకెట్,Crowd
|
| 40 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,కడ్డీలు,అగరబత్తిలు,Crowd
|
| 41 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,పెద్ద నాన్న,నాన్న అన్న,Crowd
|
| 42 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,చిన్న నాన్న,నాన్న తమ్ముడు,Crowd
|
| 43 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,పెద్దమ్మ,నాన్న అన్న భార్య,Crowd
|
| 44 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,చిన్నమ్మ,నాన్న తమ్ముడు భార్య,Crowd
|
| 45 |
+
Andhra Pradesh,P.R. నియోజకవర్గం,పొద్దు పొయ్యింది,సాయంత్రం సమయం,Crowd
|
| 46 |
+
Andhra Pradesh,Rayalaseema,లోపల,Inside,Crowd
|
| 47 |
+
Andhra Pradesh,Rayalaseema,బొగాలు,Keys,Crowd
|
| 48 |
+
Andhra Pradesh,Srikakulam,డొంక,తలుపు (Door),Crowd
|
| 49 |
+
Andhra Pradesh,Srikakulam,కుంక,Pillodu,Crowd
|
| 50 |
+
Andhra Pradesh,Srikakulam,ఖాగి,వేగంగా,Crowd
|
| 51 |
+
Andhra Pradesh,Srikakulam,బాతె,చావు,Crowd
|
| 52 |
+
Andhra Pradesh,Srikakulam,అమ్మ,Mother,Crowd
|
| 53 |
+
Andhra Pradesh,Srikakulam,తెల్లారితే,వేకువన,Crowd
|
| 54 |
+
Andhra Pradesh,Tirupati,ఊరాల్,Nonsense,Crowd
|
| 55 |
+
Andhra Pradesh,Vizianagaram,ఉకుజురు,Egg Burji,Crowd
|
| 56 |
+
Andhra Pradesh,Vizianagaram,వర్ర,కారం,Crowd
|
| 57 |
+
Andhra Pradesh,Vizianagaram,బేపి,కుక్క,Crowd
|
| 58 |
+
Andhra Pradesh,Vizianagaram,పైనా,పైన,Crowd
|
| 59 |
+
Andhra Pradesh,Vizianagaram,దొడ్డ,పెద్ద అమ్మ,Crowd
|
| 60 |
+
Andhra Pradesh,Vizianagaram,జిజ బేగరా,తొందరగా రా,Crowd
|
| 61 |
+
Andhra Pradesh,Vizianagaram,బంగాళదుంప,ఆలుగడ్డ,Crowd
|
| 62 |
+
Andhra Pradesh,Vizianagaram,ఉల్లిపాయ,ఎర్రగ���్డ,Crowd
|
| 63 |
+
Andhra Pradesh,Vizianagaram,అప్ప,అక్క,Crowd
|
| 64 |
+
Andhra Pradesh,Vizianagaram,గుంత,రంధ్రం,Crowd
|
| 65 |
+
Andhra Pradesh,Vizianagaram,గెడ/బర్రె,Buffalo,Crowd
|
| 66 |
+
Andhra Pradesh,Vizianagaram,గడ్డి,చిన్న సెలయేరు,Crowd
|
| 67 |
+
Andhra Pradesh,West Godavari,రాతు తడి,Irrigation term,Crowd
|
| 68 |
+
Telangana,Adilabad,చోలోట్,మంచి (Good),Crowd
|
| 69 |
+
Telangana,Adilabad,వంచెడ్ చిబడ్,అంటు ముట్టుకోడం,Crowd
|
| 70 |
+
Telangana,Adilabad,వడోగు,దూడ (Calf),Crowd
|
| 71 |
+
Telangana,Adilabad,ముచిలి పడన్,ఎర్ర తుమ్మెద,Crowd
|
| 72 |
+
Telangana,Adilabad,సర్కార్,నాశనం,Crowd
|
| 73 |
+
Telangana,Adilabad,వజీర్,ముసలి,Crowd
|
| 74 |
+
Telangana,Adilabad,ఖైని,వదిన,Crowd
|
| 75 |
+
Telangana,Adilabad,సూన్,కోడలు,Crowd
|
| 76 |
+
Telangana,Adilabad,Poral batal,Temple term (Keslapur),Crowd
|
| 77 |
+
Telangana,Gadwal,ఓల్లి,No,Crowd
|
| 78 |
+
Telangana,Gadwal,కూడు తింటవా,తిన్నారా,Crowd
|
| 79 |
+
Telangana,Gadwal,తువ్వ,ఎర్ర పొలం,Crowd
|
| 80 |
+
Telangana,Gadwal,పురకోస,జూట్ దార,Crowd
|
| 81 |
+
Telangana,Gadwal,జుముజలమ్మ,దేవత,Crowd
|
| 82 |
+
Telangana,Gadwal,తలుగు ఎల్లమ్మ,దేవత,Crowd
|
| 83 |
+
Telangana,Gadwal,తెల్వది,Don't know,Crowd
|
| 84 |
+
Telangana,Gadwal,మడసంగ,నెమ్మదిగా/జాగ్రత్తగా,Crowd
|
| 85 |
+
Telangana,Gadwal,రప్పున,జల్ది,Crowd
|
| 86 |
+
Telangana,Gadwal,మడసంగ,Careful,Crowd
|
| 87 |
+
Telangana,Hyderabad,కిటికీ,Window,Crowd
|
| 88 |
+
Telangana,Hyderabad,అంగీ,Shirt,Crowd
|
| 89 |
+
Telangana,Hyderabad,కుక్క,Dog,Crowd
|
| 90 |
+
Telangana,Hyderabad,కుర్చీ,Chair,Crowd
|
| 91 |
+
Telangana,Hyderabad,Amma buvva pettava,Mother feed me,Crowd
|
| 92 |
+
Telangana,Hyderabad,Chaderghat,Location,Crowd
|
| 93 |
+
Telangana,Hyderabad,తొవ్వ దారి,Way/Path,Crowd
|
| 94 |
+
Telangana,Hyderabad,పాతాళగరిసె,Tool to remove bucket,Crowd
|
| 95 |
+
Telangana,Hyderabad,అంబటాలు,Afternoon time,Crowd
|
| 96 |
+
Telangana,Hyderabad,ఇన్సురాయి,Stone tool,Crowd
|
| 97 |
+
Telangana,Hyderabad,బుక్కెట్,Tool for well,Crowd
|
| 98 |
+
Telangana,Jangaon,ఏమైంది,What happened,Crowd
|
| 99 |
+
Telangana,Karimnagar,బూరెలు,భక్ష్యాలు,Crowd
|
| 100 |
+
Telangana,Karimnagar,అచ్చినం,వచ్చాము,Crowd
|
| 101 |
+
Telangana,Karimnagar,పాయినం,వెళ్ళాము,Crowd
|
| 102 |
+
Telangana,Karimnagar,సవాలు,Question/Challenge,Crowd
|
| 103 |
+
Telangana,Karimnagar,గటక,Food item,Crowd
|
| 104 |
+
Telangana,Karimnagar,వస్తున్నావ,వస్తున్నావు,Crowd
|
| 105 |
+
Telangana,Karimnagar,ఊశము,బద్ధకం/అలసత్వం,Crowd
|
| 106 |
+
Telangana,Karimnagar,వందంగా ఉంది,బాగా,Crowd
|
| 107 |
+
Telangana,Karimnagar,రువిడ్లు,Shelf,Crowd
|
| 108 |
+
Telangana,Karimnagar,కార్యపాలు,వస్తున్నం/పోతున్నాం,Crowd
|
| 109 |
+
Telangana,Karimnagar,బావి,నూతి,Crowd
|
| 110 |
+
Telangana,Karimnagar,గంప,గుల్ల,Crowd
|
| 111 |
+
Telangana,Karimnagar,బంతి,Ball,Crowd
|
| 112 |
+
Telangana,Mahabubnagar,వీధి,Street,Crowd
|
| 113 |
+
Telangana,Mahabubnagar,జల్ది,తొందరగా,Crowd
|
| 114 |
+
Telangana,Mahabubnagar,జింగిడి,బర్రెల గుంపు,Crowd
|
| 115 |
+
Telangana,Mahabubnagar,బాగమ్,Exhibition,Crowd
|
| 116 |
+
Telangana,Mahabubnagar,చలక,Field,Crowd
|
| 117 |
+
Telangana,Mahabubnagar,ఈల పేట,కత్తి పేట,Crowd
|
| 118 |
+
Telangana,Mahabubabad,బొచ్చెడు,చాలా (A lot),Crowd
|
| 119 |
+
Telangana,Mahabubabad,ఏ మయింది అన్నా,What happened,Crowd
|
| 120 |
+
Telangana,Medak,కీసా,జేబు,Crowd
|
| 121 |
+
Telangana,Medak,పైను,ఆరు (Six),Crowd
|
| 122 |
+
Telangana,Nagar Kurnool,అంబటాలు,Morning meal time,Crowd
|
| 123 |
+
Telangana,Nagar Kurnool,మంకర,Winter cold,Crowd
|
| 124 |
+
Telangana,Nagar Kurnool,లాడు,తల్లి కూతురు,Crowd
|
| 125 |
+
Telangana,Nagar Kurnool,గెనిమ,పొలం గట్టు,Crowd
|
| 126 |
+
Telangana,Nagar Kurnool,కోంత లోలు,Old name for Nagar Kurnool,Crowd
|
| 127 |
+
Telangana,Nalgonda,Dupa aithundhi,దాహం వేస్తుంది,Crowd
|
| 128 |
+
Telangana,Nalgonda,సేరు,1kg measuring device,Crowd
|
| 129 |
+
Telangana,Nalgonda,Kurdedu Biyam,Amount of rice,Crowd
|
| 130 |
+
Telangana,Nalgonda,Anglam dundu,అగ్గి పెట్టె,Crowd
|
| 131 |
+
Telangana,Nalgonda,సది,Take the box,Crowd
|
| 132 |
+
Telangana,Nalgonda,తట్ట,పళ్ళెం,Crowd
|
| 133 |
+
Telangana,Nalgonda,కోవెల,గుడి,Crowd
|
| 134 |
+
Telangana,Nalgonda,ఊసలు,Weaving technique,Crowd
|
| 135 |
+
Telangana,Nalgonda,బువ్వ,Cooked rice,Crowd
|
| 136 |
+
Telangana,Nalgonda,తవాచీ,Shelf with doors,Crowd
|
| 137 |
+
Telangana,Nalgonda,తపుకు,Plate on vessel,Crowd
|
| 138 |
+
Telangana,Nalgonda,లడ్లు,అరిసెలు,Crowd
|
| 139 |
+
Telangana,Nalgonda,దారి,బాట,Crowd
|
| 140 |
+
Telangana,Narayanpet,బుబ్బి,అమ్మ,Crowd
|
| 141 |
+
Telangana,Narayanpet,పడం,మట్టి,Crowd
|
| 142 |
+
Telangana,Narayanpet,చెముక్కలు,మోకాళ్ళు,Crowd
|
| 143 |
+
Telangana,Narayanpet,మొర,మంచం,Crowd
|
| 144 |
+
Telangana,Narayanpet,అబుత,జుట్టు,Crowd
|
| 145 |
+
Telangana,Narayanpet,జేజి,Fat,Crowd
|
| 146 |
+
Telangana,Narayanpet,అంబలి,జావ,Crowd
|
| 147 |
+
Telangana,Nizamabad,పంపేవుడు,పంపించడం,Crowd
|
| 148 |
+
Telangana,Nizamabad,Pillodu,Bindu,Crowd
|
| 149 |
+
Telangana,Nizamabad,వచ్చిండు,అచ్చిండు,Crowd
|
| 150 |
+
Telangana,Peddapally,గుమ్ము,Storage,Crowd
|
| 151 |
+
Telangana,Peddapally,గట్టు,దారి,Crowd
|
| 152 |
+
Telangana,Rangareddy,వీరునో,తెలుగు,Crowd
|
| 153 |
+
Telangana,Rangareddy,తొక్కుడు,మంచం,Crowd
|
| 154 |
+
Telangana,Rangareddy,మూర,ముంగిలి,Crowd
|
| 155 |
+
Telangana,Rangareddy,కారం,పచ్చడి,Crowd
|
| 156 |
+
Telangana,Rangareddy,ఈ గడ,కడ,Crowd
|
| 157 |
+
Telangana,Siddipet,అంగీ,Shirt,Crowd
|
| 158 |
+
Telangana,Siddipet,పొయ్యిర్రు,వెళ్ళారు,Crowd
|
| 159 |
+
Telangana,Siddipet,మెగులుతుంది,వర్షం వచ్చి ఆగిన,Crowd
|
| 160 |
+
Telangana,Siddipet,అలుకురు,Pre cultivation,Crowd
|
| 161 |
+
Telangana,Siddipet,పయిలం,జాగ్రత్త,Crowd
|
| 162 |
+
Telangana,Siddipet,తప్పెలు,Rice plate,Crowd
|
| 163 |
+
Telangana,Siddipet,పందిట్లు,పందిరి,Crowd
|
| 164 |
+
Telangana,Siddipet,రాకొచ్చింది,రాదు,Crowd
|
| 165 |
+
Telangana,Siddipet,పోకొచ్చింది,పోదు,Crowd
|
| 166 |
+
Telangana,Siddipet,కుకో,కూర్చో,Crowd
|
| 167 |
+
Telangana,Siddipet,ఏడారు,Afternoon time,Crowd
|
| 168 |
+
Telangana,Wanaparthy,చెప్పలకాయలు,గొంకరకాయలు,Crowd
|
| 169 |
+
Telangana,Wanaparthy,మలంచా,చెంబు,Crowd
|
| 170 |
+
Telangana,Wanaparthy,సొరకాయ,ఆనకాయ,Crowd
|
| 171 |
+
Telangana,Wanaparthy,పాశాల,Clothes,Crowd
|
| 172 |
+
Telangana,Wanaparthy,మట్టుగుండు,Keep calm,Crowd
|
| 173 |
+
Telangana,Wanaparthy,అంబరుంది,Excellent,Crowd
|
| 174 |
+
Telangana,Warangal,చేను,Crop/చలక,Crowd
|
| 175 |
+
Telangana,Warangal,పొయ్యం రారా,ఇన్నానిల్లు,Crowd
|
| 176 |
+
Telangana,Warangal,అసుంట,అటు వైపు,Crowd
|
| 177 |
+
Telangana,Warangal,ఇసుంట,ఇటు వైపు,Crowd
|
| 178 |
+
Telangana,Warangal,చద్దెర,Bed sheet,Crowd
|
| 179 |
+
Andhra Pradesh,Guntur,నగబు ,An ancient word for snake,Crowd
|
sheets_output/processed_dialects.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|