marathi-transliterate 1.7.4 → 1.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -29,6 +29,17 @@ In everyday reality, people in Maharashtra type phonetically:
29
29
  - `chaha` → **चहा**
30
30
  - `dnyaneshwar` → **ज्ञानेश्वर**
31
31
  - `patil` → **पाटील**
32
+ - `khandeshi` → **खान्देशी**
33
+ - `khandesh` → **खान्देश**
34
+ - `ahirani` → **अहिराणी**
35
+ - `varhadi` → **वऱ्हाडी** / `varhad` → **वऱ्हाड**
36
+ - `kokani` → **कोकणी** / `malvani` → **मालवणी**
37
+ - `thecha` → **ठेचा**
38
+ - `kalna` → **कळणा**
39
+ - `shevbhaji` → **शेवभाजी**
40
+ - `bharit` → **भरीत**
41
+ - `bhandar` → **भांडार**
42
+ - `vyapari` → **व्यापारी**
32
43
 
33
44
  `marathi-transliterate` is built specifically for modern Marathi phonetic typing:
34
45
  - **Zero dependencies**: Pure JavaScript, ~15 KB.
@@ -140,6 +151,35 @@ export function MarathiInput() {
140
151
 
141
152
  ---
142
153
 
154
+ ## Regional Dialects & Cultural Words (खानदेशी, अहिराणी, वऱ्हाडी, कोकणी)
155
+
156
+ `marathi-transliterate` natively handles difficult Marathi conjuncts, regional dialect spellings, traditional foods, and business terminology without getting garbled:
157
+
158
+ | Category | Input | Output | Suggestions |
159
+ | :--- | :--- | :--- | :--- |
160
+ | **Khandesh & Ahirani** | `khandeshi` | **खान्देशी** | `['खान्देशी', 'खानदेशी', 'खांदेशी']` |
161
+ | | `khandesh` | **खान्देश** | `['खान्देश', 'खानदेश', 'खांदेश']` |
162
+ | | `ahirani` | **अहिराणी** | `['अहिराणी', 'अहिराणि']` |
163
+ | | `khandoba` | **खंडोबा** | `['खंडोबा', 'खंडेराव']` |
164
+ | **Varhad & Vidarbha** | `varhad` / `warhad` | **वऱ्हाड** | ऱ्ह conjunct (`वऱ्हाड`) |
165
+ | | `varhadi` / `warhadi`| **वऱ्हाडी** | `['वऱ्हाडी']` |
166
+ | | `vidarbha` / `vidarbhi` | **विदर्भ** / **विदर्भी** | `['विदर्भ', 'विदर्भी', 'विदर्भीय']` |
167
+ | **Kokan & Western MH** | `kokan` / `konkan` | **कोकण** | `['कोकण', 'कोकणी']` |
168
+ | | `malvan` / `malvani` | **मालवण** / **मालवणी** | `['मालवण', 'मालवणी']` |
169
+ | | `marathwada` / `marathwadi` | **मराठवाडा** / **मराठवाडी** | `['मराठवाडा', 'मराठवाडी']` |
170
+ | | `mandesh` / `mandeshi` | **मान्देश** / **मान्देशी** | `['मान्देशी', 'मानदेशी']` |
171
+ | **Traditional Foods** | `kalna` / `kalnache` | **कळणा** / **कळण्याचे** | (कळण्याची भाकर / पीठ) |
172
+ | | `shevbhaji` | **शेवभाजी** | (खानदेशी शेवभाजी) |
173
+ | | `thecha` | **ठेचा** | (मिरचीचा ठेचा) |
174
+ | | `bharit` | **भरीत** | (वांग्याचे भरीत) |
175
+ | | `puranpoli` | **पुरणपोळी** | (पुरणपोळी) |
176
+ | | `pithla` / `pithle` | **पिठलं** / **पिठले** | (पिठलं-भाकरी) |
177
+ | **Business & Trade** | `bhandar` / `kiranabhandar` | **भांडार** / **किराणा भांडार** | |
178
+ | | `vyapari` / `kharedidar` | **व्यापारी** / **खरेदीदार** | |
179
+ | | `kamgar` / `karagir` | **कामगार** / **कारागीर** | |
180
+
181
+ ---
182
+
143
183
  ## API Reference
144
184
 
145
185
  ### `transliterateWord(word: string): string`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marathi-transliterate",
3
- "version": "1.7.4",
3
+ "version": "1.7.5",
4
4
  "description": "Zero-dependency, offline-first Marathi / Devanagari phonetic transliteration library. Converts English typing to Marathi (e.g. sakhar -> साखर) seamlessly in plain JS, Node.js, and frontend frameworks.",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/dictionary.js CHANGED
@@ -1726,5 +1726,107 @@ export const MARATHI_DICTIONARY = {
1726
1726
  "jalebi": "जिलेबी",
1727
1727
  "gulabjamun": "गुलाबजाम",
1728
1728
  "biscuit": "बिस्कीट",
1729
+
1730
+ // --- Regional Dialects, Cultures & Communities (Khandesh, Ahirani, Varhad, Kokan, etc.) ---
1731
+ "khandeshi": "खान्देशी",
1732
+ "khaandeshi": "खान्देशी",
1733
+ "khandesh": "खान्देश",
1734
+ "khaandesh": "खान्देश",
1735
+ "khandeshkar": "खान्देशकर",
1736
+ "khaandeshkar": "खान्देशकर",
1737
+ "khandoba": "खंडोबा",
1738
+ "khandvi": "खांडवी",
1739
+
1740
+ "mandeshi": "मान्देशी",
1741
+ "maandeshi": "मान्देशी",
1742
+ "mandesh": "मान्देश",
1743
+ "maandesh": "मान्देश",
1744
+
1745
+ "ahirani": "अहिराणी",
1746
+ "aahirani": "अहिराणी",
1747
+ "ahir": "अहिर",
1748
+
1749
+ "varhad": "वऱ्हाड",
1750
+ "warhad": "वऱ्हाड",
1751
+ "varhadi": "वऱ्हाडी",
1752
+ "warhadi": "वऱ्हाडी",
1753
+
1754
+ "kokan": "कोकण",
1755
+ "konkan": "कोकण",
1756
+ "kokani": "कोकणी",
1757
+ "konkani": "कोकणी",
1758
+ "koknastha": "कोकणस्थ",
1759
+ "kokanastha": "कोकणस्थ",
1760
+
1761
+ "malvan": "मालवण",
1762
+ "maalvan": "मालवण",
1763
+ "malvani": "मालवणी",
1764
+ "maalvani": "मालवणी",
1765
+
1766
+ "marathwada": "मराठवाडा",
1767
+ "marathwadi": "मराठवाडी",
1768
+
1769
+ "vidarbha": "विदर्भ",
1770
+ "vidarbhi": "विदर्भी",
1771
+ "vidarbhiya": "विदर्भीय",
1772
+
1773
+ "deshastha": "देशस्थ",
1774
+ "marhati": "मऱ्हाटी",
1775
+ "marhatta": "मऱ्हाटा",
1776
+
1777
+ "kannada": "कन्नड",
1778
+ "kanadi": "कानडी",
1779
+ "marwadi": "मारवाडी",
1780
+ "marwari": "मारवाडी",
1781
+ "sindhi": "सिंधी",
1782
+ "gujarati": "गुजराती",
1783
+ "rajasthani": "राजस्थानी",
1784
+ "bengali": "बंगाली",
1785
+ "punjabi": "पंजाबी",
1786
+
1787
+ // --- Kirana, Business & Trade Terms ---
1788
+ "bhandar": "भांडार",
1789
+ "bhandare": "भंडारे",
1790
+ "vastubhandar": "वस्तुभांडार",
1791
+ "kiranabhandar": "किराणा भांडार",
1792
+ "vyapari": "व्यापारी",
1793
+ "kharedidar": "खरेदीदार",
1794
+ "karagir": "कारागीर",
1795
+ "kamgar": "कामगार",
1796
+
1797
+ // --- Khandeshi & Maharashtrian Traditional Foods & Dishes ---
1798
+ "kalna": "कळणा",
1799
+ "kaalna": "कळणा",
1800
+ "kalnache": "कळण्याचे",
1801
+ "kalnapith": "कळणा पीठ",
1802
+ "thecha": "ठेचा",
1803
+ "shevbhaji": "शेवभाजी",
1804
+ "bharit": "भरीत",
1805
+ "vangyachebharit": "वांग्याचे भरीत",
1806
+ "puranpoli": "पुरणपोळी",
1807
+ "pithla": "पिठलं",
1808
+ "pithle": "पिठले",
1809
+ "solkadhi": "सोलकढी",
1810
+ "ukadpendi": "उकडपेंडी",
1811
+ "chakli": "चकली",
1812
+ "shankarpali": "शंकरपाळी",
1813
+ "shankarpalya": "शंकरपाळ्या",
1814
+ "anarse": "अनारसे",
1815
+ "anarsa": "अनारसा",
1816
+ "vadapav": "वडापाव",
1817
+ "misalpav": "मिसळपाव",
1818
+ "basundi": "बासुंदी",
1819
+ "pedhe": "पेढे",
1820
+ "modak": "मोदक",
1821
+ "kachori": "कचोरी",
1822
+ "samosa": "समोसा",
1823
+
1824
+ // --- Common Marathi Descriptors & Colloquial Words ---
1825
+ "bhari": "भारी",
1826
+ "khup": "खूप",
1827
+ "khoop": "खूप",
1828
+ "lay": "लय",
1829
+ "chaan": "छान",
1830
+ "chan": "छान",
1729
1831
  };
1730
1832
 
package/src/index.js CHANGED
@@ -155,6 +155,31 @@ export function getSuggestions(word, options = {}) {
155
155
  add(MARATHI_DICTIONARY[clean]);
156
156
  }
157
157
 
158
+ // 1b. Priority spelling alternates for regional & cultural words
159
+ if (clean === "khandeshi" || clean === "khaandeshi") {
160
+ add("खानदेशी");
161
+ add("खांदेशी");
162
+ } else if (clean === "khandesh" || clean === "khaandesh") {
163
+ add("खानदेश");
164
+ add("खांदेश");
165
+ } else if (clean === "mandeshi" || clean === "maandeshi") {
166
+ add("मानदेशी");
167
+ add("मांदेशी");
168
+ } else if (clean === "mandesh" || clean === "maandesh") {
169
+ add("मानदेश");
170
+ add("मांदेश");
171
+ } else if (clean === "sindhi") {
172
+ add("सिन्धी");
173
+ } else if (clean === "kannada") {
174
+ add("कानडी");
175
+ } else if (clean === "kanadi") {
176
+ add("कन्नड");
177
+ } else if (clean === "vidarbha") {
178
+ add("विदर्भी");
179
+ } else if (clean === "vidarbhi") {
180
+ add("विदर्भीय");
181
+ }
182
+
158
183
  // 2. Check local/memory cache
159
184
  const cached = getCachedWord(clean);
160
185
  if (cached) {
@@ -332,6 +357,38 @@ export function getSuggestions(word, options = {}) {
332
357
  add(transiterateCompound(clean.slice(0, -5), "शेठ"));
333
358
  }
334
359
 
360
+ // 4r. Khandesh, Mandesh & Regional alternate spellings (e.g. खान्देशी, खानदेशी, खांदेशी)
361
+ if (clean.startsWith("khandesh") || clean.startsWith("khaandesh")) {
362
+ add("खान्देशी");
363
+ add("खानदेशी");
364
+ add("खांदेशी");
365
+ add("खान्देश");
366
+ add("खानदेश");
367
+ add("खांदेश");
368
+ }
369
+ if (clean.startsWith("mandesh") || clean.startsWith("maandesh")) {
370
+ add("मान्देशी");
371
+ add("मानदेशी");
372
+ add("मान्देश");
373
+ add("मानदेश");
374
+ }
375
+ if (clean.startsWith("sindh")) {
376
+ add("सिंधी");
377
+ add("सिन्धी");
378
+ }
379
+ if (clean.startsWith("ahirani") || clean.startsWith("aahirani")) {
380
+ add("अहिराणी");
381
+ add("अहिराणि");
382
+ }
383
+ if (clean.startsWith("vidarbh")) {
384
+ add("विदर्भ");
385
+ add("विदर्भी");
386
+ add("विदर्भीय");
387
+ }
388
+ if (clean.startsWith("varhad") || clean.startsWith("warhad")) {
389
+ add("वऱ्हाड");
390
+ add("वऱ्हाडी");
391
+ }
335
392
  }
336
393
 
337
394
  // Background fetch to enrich cache if online (non-blocking)