Wiktionary
siwiktionary
https://si.wiktionary.org/wiki/%E0%B7%80%E0%B7%92%E0%B6%9A%E0%B7%8A%E0%B7%82%E0%B6%B1%E0%B6%BB%E0%B7%92:%E0%B6%B8%E0%B7%94%E0%B6%BD%E0%B7%8A_%E0%B6%B4%E0%B7%92%E0%B6%A7%E0%B7%94%E0%B7%80
MediaWiki 1.46.0-wmf.21
case-sensitive
මාධ්යය
විශේෂ
සාකච්ඡාව
පරිශීලක
පරිශීලක සාකච්ඡාව
වික්ෂනරි
වික්ෂනරි සාකච්ඡාව
ගොනුව
ගොනුව සාකච්ඡාව
මාධ්යවිකි
මාධ්යවිකි සාකච්ඡාව
සැකිල්ල
සැකිලි සාකච්ඡාව
උදවු
උදවු සාකච්ඡාව
ප්රවර්ගය
ප්රවර්ග සාකච්ඡාව
TimedText
TimedText talk
Module
Module talk
Event
Event talk
සැකිල්ල:h
10
141659
230531
2023-11-23T19:28:18Z
en>Surjection
0
Protected "[[Template:h]]": Highly visible template/module: if it catches on, will be highly visible ([Edit=Allow only template editors and administrators] (indefinite) [Move=Allow only template editors and administrators] (indefinite))
230531
wikitext
text/x-wiki
#REDIRECT [[Template:head]]
7m8ln7vca81wmg52jbyd7dbf0lgu6j7
230532
230531
2026-03-29T16:47:36Z
Lee
19
[[:en:Template:h]] වෙතින් එක් සංශෝධනයක්
230531
wikitext
text/x-wiki
#REDIRECT [[Template:head]]
7m8ln7vca81wmg52jbyd7dbf0lgu6j7
සැකිල්ල:inc-ash-decl-noun
10
141660
230533
2025-12-28T07:25:38Z
en>WingerBot
0
use {{pagename}} in place of {{PAGENAME}}/{{SUBPAGENAME}}/{{BASEPAGENAME}} in inflection templates; use {{tcat}} for categorization; avoid [[Module:ugly hacks]] in favor of [[Module:string/templates]]; misc fixes (manually assisted)
230533
wikitext
text/x-wiki
{| class="inflection-table vsSwitcher" data-toggle-category="inflection" style="background:var(--wikt-palette-grey-0,#FEFEFE); text-align:center; border: 1px solid var(--wikt-palette-lightgrey,#CCC);"
|- style="background: var(--wikt-palette-blue-2,#d9ebff);"
! class="vsToggleElement" style="text-align: left;" colspan="3" | Declension of {{l-self|inc-ash|{{pagename}}|tr=-}} ''({{{dial}}})''
|- class="vsHide"
! style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" |
! style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | Singular
! style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | Plural
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Nominative''
|{{l|inc-ash|{{{1|}}}|{{{1|—}}}}}
|{{l|inc-ash|{{{2|}}}|{{{2|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Vocative''
|{{l|inc-ash|{{{3|}}}|{{{3|—}}}}}
|{{l|inc-ash|{{{4|}}}|{{{4|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Accusative''
|{{l|inc-ash|{{{5|}}}|{{{5|—}}}}}
|{{l|inc-ash|{{{6|}}}|{{{6|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Instrumental''
|{{l|inc-ash|{{{7|}}}|{{{7|—}}}}}
|{{l|inc-ash|{{{8|}}}|{{{8|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Dative''
|{{l|inc-ash|{{{9|}}}|{{{9|—}}}}}
|{{l|inc-ash|{{{10|}}}|{{{10|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Ablative''
|{{l|inc-ash|{{{11|}}}|{{{11|—}}}}}
|{{l|inc-ash|{{{12|}}}|{{{12|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Genitive''
|{{l|inc-ash|{{{13|}}}|{{{13|—}}}}}
|{{l|inc-ash|{{{14|}}}|{{{14|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Locative''
|{{l|inc-ash|{{{15|}}}|{{{15|—}}}}}
|{{l|inc-ash|{{{16|}}}|{{{16|—}}}}}
|- class="vsHide"
| colspan=3 style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | <small>''Note: Many of these forms may be unattested.''</small>
|}<noinclude>{{documentation}}[[Category:Templates auto-palettized by SurjectionBot]]</noinclude>
547d14lvmy2oz3l4tfzxweah6y11qbl
230534
230533
2026-03-29T16:48:03Z
Lee
19
[[:en:Template:inc-ash-decl-noun]] වෙතින් එක් සංශෝධනයක්
230533
wikitext
text/x-wiki
{| class="inflection-table vsSwitcher" data-toggle-category="inflection" style="background:var(--wikt-palette-grey-0,#FEFEFE); text-align:center; border: 1px solid var(--wikt-palette-lightgrey,#CCC);"
|- style="background: var(--wikt-palette-blue-2,#d9ebff);"
! class="vsToggleElement" style="text-align: left;" colspan="3" | Declension of {{l-self|inc-ash|{{pagename}}|tr=-}} ''({{{dial}}})''
|- class="vsHide"
! style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" |
! style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | Singular
! style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | Plural
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Nominative''
|{{l|inc-ash|{{{1|}}}|{{{1|—}}}}}
|{{l|inc-ash|{{{2|}}}|{{{2|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Vocative''
|{{l|inc-ash|{{{3|}}}|{{{3|—}}}}}
|{{l|inc-ash|{{{4|}}}|{{{4|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Accusative''
|{{l|inc-ash|{{{5|}}}|{{{5|—}}}}}
|{{l|inc-ash|{{{6|}}}|{{{6|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Instrumental''
|{{l|inc-ash|{{{7|}}}|{{{7|—}}}}}
|{{l|inc-ash|{{{8|}}}|{{{8|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Dative''
|{{l|inc-ash|{{{9|}}}|{{{9|—}}}}}
|{{l|inc-ash|{{{10|}}}|{{{10|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Ablative''
|{{l|inc-ash|{{{11|}}}|{{{11|—}}}}}
|{{l|inc-ash|{{{12|}}}|{{{12|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Genitive''
|{{l|inc-ash|{{{13|}}}|{{{13|—}}}}}
|{{l|inc-ash|{{{14|}}}|{{{14|—}}}}}
|- class="vsHide"
| style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | ''Locative''
|{{l|inc-ash|{{{15|}}}|{{{15|—}}}}}
|{{l|inc-ash|{{{16|}}}|{{{16|—}}}}}
|- class="vsHide"
| colspan=3 style="background:var(--wikt-palette-grey-blue-1,#eff7ff)" | <small>''Note: Many of these forms may be unattested.''</small>
|}<noinclude>{{documentation}}[[Category:Templates auto-palettized by SurjectionBot]]</noinclude>
547d14lvmy2oz3l4tfzxweah6y11qbl
සැකිල්ල:inc-ash-decl-noun/documentation
10
141661
230535
2020-07-12T20:39:07Z
en>AryamanA
0
230535
wikitext
text/x-wiki
{{documentation subpage}}
{{documentation needed}}<!-- Replace this with a short description of the purpose of the template, and how to use it. -->
<includeonly>
[[Category:Ashokan Prakrit noun inflection-table templates]]<!-- replace this category with the category of your choice -->
</includeonly>
8g82bhtt7fsjx19fxoj9tis9cto98p0
230536
230535
2026-03-29T16:48:32Z
Lee
19
[[:en:Template:inc-ash-decl-noun/documentation]] වෙතින් එක් සංශෝධනයක්
230535
wikitext
text/x-wiki
{{documentation subpage}}
{{documentation needed}}<!-- Replace this with a short description of the purpose of the template, and how to use it. -->
<includeonly>
[[Category:Ashokan Prakrit noun inflection-table templates]]<!-- replace this category with the category of your choice -->
</includeonly>
8g82bhtt7fsjx19fxoj9tis9cto98p0
සැකිල්ල:inc-ash-dial
10
141662
230537
2024-10-06T01:21:37Z
en>AryamanA
0
230537
wikitext
text/x-wiki
<includeonly>{{#invoke:inc-ash/dial|main}}
{{#invoke:inc-ash/dial|make_map|width=500|{{{1|{{PAGENAME}}}}}}}</includeonly><noinclude>{{documentation}}</noinclude>
k03zizhcu4p7akfnvujio7tl26iabf4
230538
230537
2026-03-29T16:49:15Z
Lee
19
[[:en:Template:inc-ash-dial]] වෙතින් එක් සංශෝධනයක්
230537
wikitext
text/x-wiki
<includeonly>{{#invoke:inc-ash/dial|main}}
{{#invoke:inc-ash/dial|make_map|width=500|{{{1|{{PAGENAME}}}}}}}</includeonly><noinclude>{{documentation}}</noinclude>
k03zizhcu4p7akfnvujio7tl26iabf4
සැකිල්ල:inc-ash-dial/uncreated
10
141663
230539
2018-02-05T23:36:33Z
en>AryamanA
0
reasons
230539
wikitext
text/x-wiki
<includeonly>* The dial-syn page "{{lang|inc-ash|{{{1}}}}}" does not exist yet.</includeonly>
mh3ois066hsquzw2sgmtb6468itkda2
230540
230539
2026-03-29T16:49:40Z
Lee
19
[[:en:Template:inc-ash-dial/uncreated]] වෙතින් එක් සංශෝධනයක්
230539
wikitext
text/x-wiki
<includeonly>* The dial-syn page "{{lang|inc-ash|{{{1}}}}}" does not exist yet.</includeonly>
mh3ois066hsquzw2sgmtb6468itkda2
සැකිල්ල:inc-ash-dial/documentation
10
141664
230541
2024-10-26T01:33:38Z
en>ExcarnateSojourner
0
categorize
230541
wikitext
text/x-wiki
{{documentation subpage}}
{{documentation needed}}<!-- Replace this with a short description of the purpose of the template, and how to use it. -->
<includeonly>
[[Category:Ashokan Prakrit templates|dial]]
</includeonly>
75t3qnbjg1e9b2kr6xqe3girb6xtx2k
230542
230541
2026-03-29T16:49:51Z
Lee
19
[[:en:Template:inc-ash-dial/documentation]] වෙතින් එක් සංශෝධනයක්
230541
wikitext
text/x-wiki
{{documentation subpage}}
{{documentation needed}}<!-- Replace this with a short description of the purpose of the template, and how to use it. -->
<includeonly>
[[Category:Ashokan Prakrit templates|dial]]
</includeonly>
75t3qnbjg1e9b2kr6xqe3girb6xtx2k
සැකිල්ල:R:inc-ash:Andersen
10
141665
230543
2025-10-25T21:46:07Z
en>AutoDooz
0
converted to Module:quote to handle parameter checking and facilitate future enhancements
230543
wikitext
text/x-wiki
{{#invoke:quote|call_template
|template=cite-book
|title=Studies in the Minor Rock Edicts of Aśoka
|last=Andersen
|first=Paul Kent
|year=1990
|publisher=Hedwig Falk
|location=Freiburg
|pageparam=2
|entry={{{1|}}}
|allowparams=1
}}<noinclude>{{refcat}}</noinclude>
qtghrq3d44rfxrh1nvjyxtjs00kejpb
230544
230543
2026-03-29T16:50:07Z
Lee
19
[[:en:Template:R:inc-ash:Andersen]] වෙතින් එක් සංශෝධනයක්
230543
wikitext
text/x-wiki
{{#invoke:quote|call_template
|template=cite-book
|title=Studies in the Minor Rock Edicts of Aśoka
|last=Andersen
|first=Paul Kent
|year=1990
|publisher=Hedwig Falk
|location=Freiburg
|pageparam=2
|entry={{{1|}}}
|allowparams=1
}}<noinclude>{{refcat}}</noinclude>
qtghrq3d44rfxrh1nvjyxtjs00kejpb
සැකිල්ල:m-g
10
141666
230545
2025-08-13T19:07:47Z
en>Surjection
0
Changed protection settings for "[[Template:m-g]]" ([Edit=Allow only template editors and administrators] (indefinite) [Move=Allow only template editors and administrators] (indefinite))
230545
wikitext
text/x-wiki
#REDIRECT [[Template:mention-gloss]]
jy84lsogceibc6hu8lrhey9paevk6a8
230546
230545
2026-03-29T16:51:35Z
Lee
19
[[:en:Template:m-g]] වෙතින් එක් සංශෝධනයක්
230545
wikitext
text/x-wiki
#REDIRECT [[Template:mention-gloss]]
jy84lsogceibc6hu8lrhey9paevk6a8
සැකිල්ල:mention-gloss
10
141667
230547
2025-08-13T19:07:57Z
en>Surjection
0
Changed protection settings for "[[Template:mention-gloss]]" ([Edit=Allow only template editors and administrators] (indefinite) [Move=Allow only template editors and administrators] (indefinite))
230547
wikitext
text/x-wiki
<onlyinclude><span class="mention-gloss-double-quote">“</span><span class="mention-gloss">{{{1}}}</span><span class="mention-gloss-double-quote">”</span></onlyinclude>{{documentation}}
e1mpg3464fwr0vp3f2ecunyzw46nuju
230548
230547
2026-03-29T16:51:51Z
Lee
19
[[:en:Template:mention-gloss]] වෙතින් එක් සංශෝධනයක්
230547
wikitext
text/x-wiki
<onlyinclude><span class="mention-gloss-double-quote">“</span><span class="mention-gloss">{{{1}}}</span><span class="mention-gloss-double-quote">”</span></onlyinclude>{{documentation}}
e1mpg3464fwr0vp3f2ecunyzw46nuju
සැකිල්ල:mention-gloss/documentation
10
141668
230549
2024-06-15T00:26:18Z
en>Theknightwho
0
230549
wikitext
text/x-wiki
{{documentation subpage}}
{{shortcut|Template:m-g|Template:mg}}
Creates a "mention gloss", like the one created by {{temp|m}} and {{temp|l}}, so that quotation marks can be customized.
<includeonly>
[[Category:Text format templates]]
</includeonly>
9udm8yknjb3ckjl97wkv6hm4ssosn6e
230550
230549
2026-03-29T16:52:16Z
Lee
19
[[:en:Template:mention-gloss/documentation]] වෙතින් එක් සංශෝධනයක්
230549
wikitext
text/x-wiki
{{documentation subpage}}
{{shortcut|Template:m-g|Template:mg}}
Creates a "mention gloss", like the one created by {{temp|m}} and {{temp|l}}, so that quotation marks can be customized.
<includeonly>
[[Category:Text format templates]]
</includeonly>
9udm8yknjb3ckjl97wkv6hm4ssosn6e
Module:inc-ash/dial
828
141669
230551
2026-01-11T08:06:59Z
en>AryamanA
0
Reverted edits by [[Special:Contributions/AryamanA|AryamanA]]. If you think this rollback is in error, please leave a message on my talk page.
230551
Scribunto
text/plain
local lang = require("Module:languages").getByCode("inc-ash")
local m_links = require("Module:links")
local iut = require("Module:inflection utilities")
local m_string_utilities = require("Module:string utilities")
local sub = mw.ustring.sub
local variety_data = require("Module:inc-ash/dial/data")
local export = {}
local variety_list = {
"Central", "East", "Northwest", "West", "South"
}
local variety_colour = {
["Central"] = "var(--wikt-palette-orange-1,#FAF5F0)",
["East"] = "var(--wikt-palette-blue-1,#F0F5FA)",
["Northwest"] = "var(--wikt-palette-green-1,#F0FAF3)",
["West"] = "var(--wikt-palette-magenta-1,#FAF0F6)",
["South"] = "var(--wikt-palette-yellow-1,#FAF9F0)",
}
local dots = {
"d2502e", "6941c7", "9fdd42", "c74dc9", "6ccb6e",
"d34280", "77d6ba", "4f286c", "d1b94e", "777ad0",
"557433", "cf8ebf", "342a29", "c7c3a2", "7f3241",
"8ab8d7", "8d6234", "5b6080", "da8573", "4e7a6e"
}
local special_note = {
-- none yet
}
-- declension
local genders = {"m", "f", "n"}
local numbers = {"sg", "pl"}
local cases = {"nom", "acc", "ins", "dat", "abl", "gen", "loc"}
local cases_full = {"nominative", "accusative", "instrumental", "dative", "ablative", "genitive", "locative"}
local persons = {"1", "2", "3"}
local persons_full = {"1st", "2nd", "3rd"}
local moods = {"pres", "imp", "potn", "impf", "aor", "fut"}
local moods_full = {"present", "imperative", "potential", "imperfect", "aorist", "future"}
local slots = {}
slots["noun"] = {
{"nom.sg", "nom|sg"}, {"nom.pl", "nom|pl"},
{"acc.sg", "acc|sg"}, {"acc.pl", "acc|pl"},
{"ins.sg", "ins|sg"}, {"ins.pl", "ins|pl"},
{"dat.sg", "dat|sg"}, {"dat.pl", "dat|pl"},
{"abl.sg", "abl|sg"}, {"abl.pl", "abl|pl"},
{"gen.sg", "gen|sg"}, {"gen.pl", "gen|pl"},
{"loc.sg", "loc|sg"}, {"loc.pl", "loc|pl"},
}
slots["adj"] = {
{"m.nom.sg", "m|nom|sg"}, {"m.nom.pl", "m|nom|pl"}, {"f.nom.sg", "f|nom|sg"}, {"f.nom.pl", "f|nom|pl"}, {"n.nom.sg", "n|nom|sg"}, {"n.nom.pl", "n|nom|pl"},
{"m.acc.sg", "m|acc|sg"}, {"m.acc.pl", "m|acc|pl"}, {"f.acc.sg", "f|acc|sg"}, {"f.acc.pl", "f|acc|pl"}, {"n.acc.sg", "n|acc|sg"}, {"n.acc.pl", "n|acc|pl"},
{"m.ins.sg", "m|ins|sg"}, {"m.ins.pl", "m|ins|pl"}, {"f.ins.sg", "f|ins|sg"}, {"f.ins.pl", "f|ins|pl"}, {"n.ins.sg", "n|ins|sg"}, {"n.ins.pl", "n|ins|pl"},
{"m.dat.sg", "m|dat|sg"}, {"m.dat.pl", "m|dat|pl"}, {"f.dat.sg", "f|dat|sg"}, {"f.dat.pl", "f|dat|pl"}, {"n.dat.sg", "n|dat|sg"}, {"n.dat.pl", "n|dat|pl"},
{"m.abl.sg", "m|abl|sg"}, {"m.abl.pl", "m|abl|pl"}, {"f.abl.sg", "f|abl|sg"}, {"f.abl.pl", "f|abl|pl"}, {"n.abl.sg", "n|abl|sg"}, {"n.abl.pl", "n|abl|pl"},
{"m.gen.sg", "m|gen|sg"}, {"m.gen.pl", "m|gen|pl"}, {"f.gen.sg", "f|gen|sg"}, {"f.gen.pl", "f|gen|pl"}, {"n.gen.sg", "n|gen|sg"}, {"n.gen.pl", "n|gen|pl"},
{"m.loc.sg", "m|loc|sg"}, {"m.loc.pl", "m|loc|pl"}, {"f.loc.sg", "f|loc|sg"}, {"f.loc.pl", "f|loc|pl"}, {"n.loc.sg", "n|loc|sg"}, {"n.loc.pl", "n|loc|pl"},
}
slots["verb"] = {
{"1sg.pres", "1|sg|pres"}, {"2sg.pres", "2|sg|pres"}, {"3sg.pres", "3|sg|pres" }, {"1pl.pres", "1|pl|pres"}, {"2pl.pres", "2|pl|pres"}, {"3pl.pres", "3|pl|pres" },
-- add middle, passive
{"1sg.imp", "1|sg|imp"}, {"2sg.imp", "2|sg|imp"}, {"3sg.imp", "3|sg|imp" }, {"1pl.imp", "1|pl|imp"}, {"2pl.imp", "2|pl|imp"}, {"3pl.imp", "3|pl|imp" },
{"1sg.potn", "1|sg|potn"}, {"2sg.potn", "2|sg|potn"}, {"3sg.potn", "3|sg|potn" }, {"1pl.potn", "1|pl|potn"}, {"2pl.potn", "2|pl|potn"}, {"3pl.potn", "3|pl|potn" },
{"1sg.impf", "1|sg|impf"}, {"2sg.impf", "2|sg|impf"}, {"3sg.impf", "3|sg|impf" }, {"1pl.impf", "1|pl|impf"}, {"2pl.impf", "2|pl|impf"}, {"3pl.impf", "3|pl|impf" },
{"1sg.aor", "1|sg|aor"}, {"2sg.aor", "2|sg|aor"}, {"3sg.aor", "3|sg|aor" }, {"1pl.aor", "1|pl|aor"}, {"2pl.aor", "2|pl|aor"}, {"3pl.aor", "3|pl|aor" },
{"1sg.fut", "1|sg|fut"}, {"2sg.fut", "2|sg|fut"}, {"3sg.fut", "3|sg|fut" }, {"1pl.fut", "1|pl|fut"}, {"2pl.fut", "2|pl|fut"}, {"3pl.fut", "3|pl|fut" },
}
-- format a link for the dialect table, including notes
function format_link(word, all_notes, alt)
notes = mw.text.split(all_notes or "", "; ")
local filtered_notes = {}
local partial = false
for _, note in ipairs(notes) do
if note == "partial" then
partial = true
else
table.insert(filtered_notes, note)
end
end
local note = table.concat(filtered_notes, "; ")
return ((partial and "<sup>?</sup>") or "") .. m_links.full_link({
term = word,
alt = alt,
lang = lang,
tr = "-",
}) .. ((note and (' <span style="font-size:60%"><i>' .. note .. '</i></span>')) or '') .. ' <small>(' .. lang:transliterate(word or alt) .. ')</small>'
end
function get_lemma(word)
return mw.ustring.match(word, "{(.*)}") or mw.ustring.match(word, "<(.*)>") or word
end
function remove_lemma_indicators(word)
return mw.ustring.gsub(mw.ustring.gsub(word, "{.*}", ""), "[<>]", "")
end
local function make_table(data, pos)
local result = ""
if pos == "adj" then
result = [=[
{| class="inflection-table vsSwitcher" data-toggle-category="declension" style="background:var(--wikt-palette-lavender, #f8f8ff); text-align:center; min-width:45em; border: 1px solid var(--border-color-base,#9e9e9e);"
|- style="background: var(--wikt-palette-lightblue, #d9ebff);"
! class="vsToggleElement" style="text-align: left;" colspan="7" | Declension of {lemma}
|- class="vsHide"
! style="background:var(--wikt-palette-lightblue, #d9ebff); width:25%" rowspan="2" |
! style="background:var(--wikt-palette-lightblue, #d9ebff)" colspan="2" | masculine
! style="background:var(--wikt-palette-lightblue, #d9ebff)" colspan="2" | feminine
! style="background:var(--wikt-palette-lightblue, #d9ebff)" colspan="2" | neuter
|- class="vsHide"
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | singular
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | plural
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | singular
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | plural
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | singular
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | plural]=]
for i, case in ipairs(cases) do
local row = '\n|- class="vsHide"'
row = row .. '\n! style="background:var(--wikt-palette-lighterblue, #ebf4ff)" | ' .. cases_full[i]
for _, gender in ipairs(genders) do
for _, number in ipairs(numbers) do
row = row .. '\n| {' .. gender .. '.' .. case .. '.' .. number .. '}'
end
end
result = result .. row
end
result = result .. "\n{notes_clause}\n|}"
elseif pos == "noun" then
result = [=[
{| class="inflection-table vsSwitcher" data-toggle-category="declension" style="background:var(--wikt-palette-lavender, #f8f8ff); text-align:center; min-width:45em; border: 1px solid var(--border-color-base,#9e9e9e);"
|- style="background: var(--wikt-palette-lightblue, #d9ebff);"
! class="vsToggleElement" style="text-align: left;" colspan="3" | Declension of {lemma}
|- class="vsHide"
! style="background:var(--wikt-palette-lightblue, #d9ebff); width:33%" |
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | singular
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | plural]=]
for i, case in ipairs(cases) do
local row = '\n|- class="vsHide"'
row = row .. '\n! style="background:var(--wikt-palette-lighterblue, #ebf4ff)" | ' .. cases_full[i]
for _, number in ipairs(numbers) do
row = row .. '\n| {' .. case .. '.' .. number .. '}'
end
result = result .. row
end
result = result .. "\n{notes_clause}\n|}"
elseif pos == "verb" then
result = [=[
{| class="inflection-table vsSwitcher" data-toggle-category="declension" style="background:var(--wikt-palette-lavender, #f8f8ff); text-align:center; min-width:45em; border: 1px solid var(--border-color-base,#9e9e9e);"
|- style="background: var(--wikt-palette-lightblue, #d9ebff);"
! class="vsToggleElement" style="text-align: left;" colspan="7" | Personal forms of {lemma}
|- class="vsHide"
! style="background:var(--wikt-palette-lightblue, #d9ebff); width:33%" rowspan="2" |
! style="background:var(--wikt-palette-lightblue, #d9ebff)" colspan="3" | singular
! style="background:var(--wikt-palette-lightblue, #d9ebff)" colspan="3" | plural
|- class="vsHide"
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 1st
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 2nd
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 3rd
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 1st
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 2nd
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 3rd]=]
for i, mood in ipairs(moods) do
local row = '\n|- class="vsHide"'
row = row .. '\n! style="background:var(--wikt-palette-lighterblue, #ebf4ff)" | ' .. moods_full[i]
for _, number in ipairs(numbers) do
for _, person in ipairs(persons) do
row = row .. '\n| {' .. person .. number .. '.' .. mood .. '}'
end
end
result = result .. row
end
result = result .. "\n{notes_clause}\n|}"
end
local notes_template = [===[
|- class="vsHide"
| colspan=3 |
<div class="hi-footnote-outer-div">
<div class="hi-footnote-inner-div">
{footnote}
</div></div>
]===]
-- footnotes
data.forms.notes_clause = data.forms.footnote ~= "" and
m_string_utilities.format(notes_template, data.forms) or ""
data.forms.desc = data.desc
data.forms.lemma = format_link(data.lemma)
result = m_string_utilities.format(result, data.forms)
return result
end
function export.inflection(frame)
local args = frame:getParent().args
local pagename = mw.loadData("Module:headword/data").pagename
local target_page = args[1] or pagename
local main_lemma = args[2] or pagename
local resource_page = "Module:inc-ash/dial/data/" .. target_page
-- get page data
if mw.title.new(resource_page).exists then
m_syndata = require(resource_page).list
else
return frame:expandTemplate{ title = "Template:inc-ash-dial/uncreated", args = { target_page } }
end
-- remove unnecessary data
m_syndata["meaning"] = nil
local pos = m_syndata["pos"] or "none"
m_syndata["pos"] = nil
if m_syndata["note"] then
note = m_syndata["note"]
m_syndata["note"] = nil
end
if pos == nil then
error("Please specify a valid pos in the resource page " .. resource_page)
end
-- slots
local props = {
lang = lang,
lemmas = {main_lemma},
slot_list = slots[pos],
include_translit = true,
create_footnote_obj = nil,
canonicalize = nil,
preprocess_forms = nil,
no_deduplicate_forms = false,
combine_metadata_during_dedup = nil,
transform_accel_obj = nil,
format_forms = nil,
generate_link = nil,
format_tr = nil,
join_spans = nil,
allow_footnote_symbols = nil,
footnotes = nil,
}
-- get forms
local data = {forms = {}}
data.forms.footnote = ""
-- local process = ""
for location, synonym_set in pairs(m_syndata) do
-- check if location is in alias list and use the proper one if so
if variety_data['aliases'][location] ~= nil then location = variety_data['aliases'][location] end
if synonym_set[1] ~= "" then
for i, synonym in ipairs(synonym_set) do
local synonym_decomp = mw.text.split(synonym, ":")
local lemma = get_lemma(synonym_decomp[1])
synonym_decomp[1] = remove_lemma_indicators(synonym_decomp[1])
if lemma == main_lemma then
local notes = mw.text.split(synonym_decomp[2] or "", "; ")
for _, gloss in ipairs(notes) do
iut.insert_form(data.forms, gloss, {form=synonym_decomp[1]})
-- process = process .. "\nInserted " .. synonym_decomp[1] .. " into " .. gloss
end
end
end
end
end
-- make table
-- if pos == "verb" then return process end
data.lemma = main_lemma
iut.show_forms(data.forms, props)
return make_table(data, pos)
end
function export.main(frame)
local args = frame:getParent().args
local pagename = mw.loadData("Module:headword/data").pagename
local target_page = args[1] or pagename
local resource_page = "Module:inc-ash/dial/data/" .. target_page
if mw.title.new(resource_page).exists then
m_syndata = require(resource_page).list
else
return frame:expandTemplate{ title = "Template:inc-ash-dial/uncreated", args = { target_page } }
end
local template = {
["Central"] = {},
["East"] = {},
["Northwest"] = {},
["West"] = {},
["South"] = {},
}
main_title = mw.ustring.gsub((target_page == pagename and pagename or '[[' .. target_page .. ']]'), "[0-9%-]", "")
text = [=[
{| class="wikitable mw-collapsible mw-collapsed" style="margin:0; text-align:center;"
|-
! style="background:var(--wikt-palette-grey-green-0,#FCFFFC); width:40em" colspan=4 | Dialectal forms of <b><span class="Brah" lang="inc-ash">]=] ..
main_title .. '</span></b> (“' .. m_syndata["meaning"] .. '”) ' .. [=[
|-
! style="background:var(--wikt-palette-blue-1,#E8ECFA)" | Variety
! style="background:var(--wikt-palette-blue-1,#E8ECFA)" | Location
! style="background:var(--wikt-palette-blue-1,#E8ECFA)" | Lemmas
! style="background:var(--wikt-palette-blue-1,#E8ECFA); text-align: left;" | Forms]=] .. [=[
<div style="float: right; clear: right; font-size:60%"><span class="plainlinks">[]=] ..
tostring(mw.uri.fullUrl("Module:inc-ash/dial/data/" .. target_page, { ["action"] = "edit" })) ..
' edit]</span></div>'
m_syndata["meaning"] = nil
local pos = m_syndata["pos"] or "none"
m_syndata["pos"] = nil
if m_syndata["note"] then
note = m_syndata["note"]
m_syndata["note"] = nil
end
local categories = ""
for location, synonym_set in pairs(m_syndata) do
-- check if location is in alias list and use the proper one if so
if variety_data['aliases'][location] ~= nil then location = variety_data['aliases'][location] end
local sc = "Brah"
if location == "Shahbazgarhi" or location == "Mansehra" then
sc = "Khar"
end
if synonym_set[1] ~= "" then
local formatted_synonyms = {}
local formatted_lemmas = {}
for i, synonym in ipairs(synonym_set) do
local synonym_decomp = mw.text.split(synonym, ":")
local word = remove_lemma_indicators(synonym_decomp[1])
local lemma = get_lemma(synonym_decomp[1], pos, sc)
if (synonym_decomp[1] ~= word) or (synonym_decomp[2] ~= nil) then
table.insert(formatted_synonyms, {
formatted = format_link(word, synonym_decomp[2], nil),
form = word,
})
end
formatted_lemmas[lemma] = format_link(lemma, nil, nil)
end
local location_data = variety_data[location]
local location_name = mw.ustring.gsub(location_data.english or location, "(%(.*%))", "<small>%1</small>")
local location_link = location_data.link or location_name
table.insert(template[location_data.group],
{ location_data.order, location_name, location_link, formatted_synonyms, formatted_lemmas })
end
end
local attested = {}
for _, variety in ipairs(variety_list) do
local sc = "Brah"
if variety == "Northwest" then
sc = "Khar"
end
local colour = variety_colour[variety]
if #template[variety] > 0 then
table.sort(template[variety], function(first, second) return first[1] < second[1] end)
for i, point_data in ipairs(template[variety]) do
local forms = {}
local lemmas = {}
local attested_point = false
for lemma_plain, lemma in pairs(point_data[5]) do
if lemma_plain == pagename then
attested_point = true
end
table.insert(lemmas, lemma)
end
for _, word in ipairs(point_data[4]) do
if word.form == pagename then
attested_point = true
end
table.insert(forms, word.formatted)
end
if attested_point then
table.insert(attested, {point_data[3], point_data[2]})
categories = categories .. "[[Category:" .. point_data[2] .. " Ashokan Prakrit]]"
end
text = text .. "\n|-"
if i == 1 then
text = text .. "\n!rowspan=" .. #template[variety] .. (special_note[variety] and " colspan=2" or "") ..
' style="background:' .. colour .. '"| ' .. (special_note[variety] or variety)
end
text = text .. ((point_data[2] and not special_note[variety]) and ('\n|style="background:' .. colour .. '"| ' ..
'[[w:' .. point_data[3] .. '|' .. point_data[2] .. ']]') or '') ..
'\n| ' .. table.concat(lemmas, ", ") ..
'\n|style="text-align: left;"| ' .. table.concat(forms, ", ")
end
end
end
if note and note ~= "" then
text = text .. '\n|-\n! style="background:var(--wikt-palette-rose-1,#FFF7FB); padding-top:5px; padding-bottom: 5px" | ' ..
"<small>Note</small>\n| colspan=2|<small><i>" .. note .. "</i></small>"
end
local res = "Attested at "
table.sort(attested, function(first, second) return first[2] < second[2] end)
for i, dialect in ipairs(attested) do
if i == #attested and i ~= 1 then
res = res .. " and "
elseif i ~= 1 then
res = res .. ", "
end
res = res .. '[[w:' .. dialect[1] .. '|' .. dialect[2] .. ']]'
end
return res .. '.\n' .. text .. '\n|}' .. categories
end
function export.make_map(frame)
local width = tonumber(frame.args["width"]) or 1200
local word = frame.args[1] or mw.loadData("Module:headword/data").pagename
local syn_data = require("Module:inc-ash/dial/data/" .. word).list
local map = [=[
<div style="margin-left: auto; margin-right:auto; width:]=] .. width .. [=[px; max-width:]=] .. width .. [=[px;">
<div><div style="height:]=] .. width * (1615/1500) .. [=[px;width:]=] .. width .. [=[px;overflow:auto;">
<div style="position:relative;top:0;left:0">
<div style="position:relative;top:0;left:0;line-height:0">[[File:India location map.svg|]=] .. width .. [=[px|link=]]</div>
]=]
local prelim_data, data, points, legend = {}, {}, {}, {}
for location, synonym_set in pairs(syn_data) do
-- check if location is in alias list and use the proper one if so
local actual_location = location
if variety_data['aliases'][location] ~= nil then actual_location = variety_data['aliases'][location] end
if location ~= "note" and location ~= "meaning" and location ~= "pos" and variety_data[actual_location].lat and synonym_set[1] ~= "" then
for _, term in ipairs(synonym_set) do
term = get_lemma(mw.text.split(term, ":")[1])
local lemma = lang:transliterate(term)
if prelim_data[term] then
prelim_data[term].count = prelim_data[term].count + 1
table.insert(prelim_data[term].locations, location)
else
prelim_data[term] = { count = 1, locations = { location }, term = remove_lemma_indicators(term), lemma = lemma }
end
end
end
end
for term, term_data in pairs(prelim_data) do
table.insert(data, { term = term_data.term, count = term_data.count, locations = term_data.locations, lemma = term_data.lemma })
end
table.sort(data, function(first, second) return first.count > second.count end)
local prev_count = data[1].count
local greyed, greyed_count = false, 0
local completed_lemmas = {}
local num_completed = 0
for _, d in ipairs(data) do
local num = -1
if completed_lemmas[d.lemma] then
num = completed_lemmas[d.lemma]
else
num = num_completed + 1
completed_lemmas[d.lemma] = num
num_completed = num_completed + 1
end
greyed = greyed or (num > 10 and d.count ~= prev_count) or num > 20
local colour = greyed and "CCCCBF" or dots[num]
for _, location in ipairs(d.locations) do
-- check if location is in alias list and use the proper one if so
local actual_location = location
if variety_data['aliases'][location] ~= nil then actual_location = variety_data['aliases'][location] end
local loc_info = variety_data[actual_location]
local top_offset, left_offset = 0, 0
if #syn_data[location] > 1 then
top_offset = math.random(-300, 300) / 100
left_offset = math.random(-300, 300) / 100
end
local top = ((37.5 - loc_info.lat) * (width*(1615/1500))/(37.5-5)) + top_offset
local left = ((loc_info.long - 67) * width/(99-67)) + left_offset
local loc_name = mw.ustring.gsub(loc_info.english or actual_location, "%((.*)%)$", "- %1")
table.insert(points,
tostring( mw.html.create( "div" )
:css( "position", "absolute" )
:css( "top", top .. "px" )
:css( "left", left .. "px" )
:css( "margin", "auto" )
:css( "transform", "translate(-50%,-50%)" ) -- http://stackoverflow.com/questions/33683602/transform-origin-equivalent-for-position-absolute
:css( "padding", "5px" )
:css( "border-radius", "100%" )
:css( "background-color", "#" .. colour )
:css( "cursor", "help" )
:css( "opacity", "0.8" )
:attr( "title", loc_name .. " (" .. loc_info.group .. ")" )))
end
if greyed then
greyed_count = greyed_count + d.count
else
table.insert(legend,
tostring( mw.html.create( "div" )
:css( "display", "inline-block" )
:css( "width", "10px" )
:css( "height", "10px" )
:css( "border-radius", "100%" )
:css( "background-color", "#" .. colour )) ..
m_links.full_link({lang = lang,
term = mw.ustring.gsub(d.term, "(.+)_[1-9]", "%1"),
alt = mw.ustring.gsub(d.term, "(.+)_([1-9])", "%1<sub>%2</sub>")}) .. " (" .. d.count .. ")")
end
prev_count = d.count
end
if greyed_count > 0 then
table.insert(legend,
tostring( mw.html.create( "div" )
:css( "display", "inline-block" )
:css( "width", "10px" )
:css( "height", "10px" )
:css( "border-radius", "100%" )
:css( "background-color", "#CCCCBF" )) ..
"other terms (" .. greyed_count .. ")")
end
map = [=[
{| class="wikitable mw-collapsible mw-collapsed" style="margin:0; text-align:center;"
|-
! style="background:var(--wikt-palette-grey-green-0,#FCFFFC); width:40em" colspan=3 | Map of dialectal forms of <b><span class="Brah" lang="inc-ash">]=] ..
word .. '</span></b> (“' .. syn_data["meaning"] .. '”) ' .. "\n|-\n|\n" .. map .. table.concat(points) .. '</div></div></div>' ..
'<div style="column-count:' .. math.ceil(width/240) .. ';-moz-column-count:' .. math.ceil(width/240) .. ';-webkit-column-count:' .. math.ceil(width/240) .. ';font-size:smaller;line-height:1.7">' ..
table.concat(legend, "<br>") .. "</div></div>" .. [=[
|}]=]
return map
end
return export
cobguhb7mmna1cmq0gd3ph1galrr9fn
230552
230551
2026-03-29T16:53:41Z
Lee
19
[[:en:Module:inc-ash/dial]] වෙතින් එක් සංශෝධනයක්
230551
Scribunto
text/plain
local lang = require("Module:languages").getByCode("inc-ash")
local m_links = require("Module:links")
local iut = require("Module:inflection utilities")
local m_string_utilities = require("Module:string utilities")
local sub = mw.ustring.sub
local variety_data = require("Module:inc-ash/dial/data")
local export = {}
local variety_list = {
"Central", "East", "Northwest", "West", "South"
}
local variety_colour = {
["Central"] = "var(--wikt-palette-orange-1,#FAF5F0)",
["East"] = "var(--wikt-palette-blue-1,#F0F5FA)",
["Northwest"] = "var(--wikt-palette-green-1,#F0FAF3)",
["West"] = "var(--wikt-palette-magenta-1,#FAF0F6)",
["South"] = "var(--wikt-palette-yellow-1,#FAF9F0)",
}
local dots = {
"d2502e", "6941c7", "9fdd42", "c74dc9", "6ccb6e",
"d34280", "77d6ba", "4f286c", "d1b94e", "777ad0",
"557433", "cf8ebf", "342a29", "c7c3a2", "7f3241",
"8ab8d7", "8d6234", "5b6080", "da8573", "4e7a6e"
}
local special_note = {
-- none yet
}
-- declension
local genders = {"m", "f", "n"}
local numbers = {"sg", "pl"}
local cases = {"nom", "acc", "ins", "dat", "abl", "gen", "loc"}
local cases_full = {"nominative", "accusative", "instrumental", "dative", "ablative", "genitive", "locative"}
local persons = {"1", "2", "3"}
local persons_full = {"1st", "2nd", "3rd"}
local moods = {"pres", "imp", "potn", "impf", "aor", "fut"}
local moods_full = {"present", "imperative", "potential", "imperfect", "aorist", "future"}
local slots = {}
slots["noun"] = {
{"nom.sg", "nom|sg"}, {"nom.pl", "nom|pl"},
{"acc.sg", "acc|sg"}, {"acc.pl", "acc|pl"},
{"ins.sg", "ins|sg"}, {"ins.pl", "ins|pl"},
{"dat.sg", "dat|sg"}, {"dat.pl", "dat|pl"},
{"abl.sg", "abl|sg"}, {"abl.pl", "abl|pl"},
{"gen.sg", "gen|sg"}, {"gen.pl", "gen|pl"},
{"loc.sg", "loc|sg"}, {"loc.pl", "loc|pl"},
}
slots["adj"] = {
{"m.nom.sg", "m|nom|sg"}, {"m.nom.pl", "m|nom|pl"}, {"f.nom.sg", "f|nom|sg"}, {"f.nom.pl", "f|nom|pl"}, {"n.nom.sg", "n|nom|sg"}, {"n.nom.pl", "n|nom|pl"},
{"m.acc.sg", "m|acc|sg"}, {"m.acc.pl", "m|acc|pl"}, {"f.acc.sg", "f|acc|sg"}, {"f.acc.pl", "f|acc|pl"}, {"n.acc.sg", "n|acc|sg"}, {"n.acc.pl", "n|acc|pl"},
{"m.ins.sg", "m|ins|sg"}, {"m.ins.pl", "m|ins|pl"}, {"f.ins.sg", "f|ins|sg"}, {"f.ins.pl", "f|ins|pl"}, {"n.ins.sg", "n|ins|sg"}, {"n.ins.pl", "n|ins|pl"},
{"m.dat.sg", "m|dat|sg"}, {"m.dat.pl", "m|dat|pl"}, {"f.dat.sg", "f|dat|sg"}, {"f.dat.pl", "f|dat|pl"}, {"n.dat.sg", "n|dat|sg"}, {"n.dat.pl", "n|dat|pl"},
{"m.abl.sg", "m|abl|sg"}, {"m.abl.pl", "m|abl|pl"}, {"f.abl.sg", "f|abl|sg"}, {"f.abl.pl", "f|abl|pl"}, {"n.abl.sg", "n|abl|sg"}, {"n.abl.pl", "n|abl|pl"},
{"m.gen.sg", "m|gen|sg"}, {"m.gen.pl", "m|gen|pl"}, {"f.gen.sg", "f|gen|sg"}, {"f.gen.pl", "f|gen|pl"}, {"n.gen.sg", "n|gen|sg"}, {"n.gen.pl", "n|gen|pl"},
{"m.loc.sg", "m|loc|sg"}, {"m.loc.pl", "m|loc|pl"}, {"f.loc.sg", "f|loc|sg"}, {"f.loc.pl", "f|loc|pl"}, {"n.loc.sg", "n|loc|sg"}, {"n.loc.pl", "n|loc|pl"},
}
slots["verb"] = {
{"1sg.pres", "1|sg|pres"}, {"2sg.pres", "2|sg|pres"}, {"3sg.pres", "3|sg|pres" }, {"1pl.pres", "1|pl|pres"}, {"2pl.pres", "2|pl|pres"}, {"3pl.pres", "3|pl|pres" },
-- add middle, passive
{"1sg.imp", "1|sg|imp"}, {"2sg.imp", "2|sg|imp"}, {"3sg.imp", "3|sg|imp" }, {"1pl.imp", "1|pl|imp"}, {"2pl.imp", "2|pl|imp"}, {"3pl.imp", "3|pl|imp" },
{"1sg.potn", "1|sg|potn"}, {"2sg.potn", "2|sg|potn"}, {"3sg.potn", "3|sg|potn" }, {"1pl.potn", "1|pl|potn"}, {"2pl.potn", "2|pl|potn"}, {"3pl.potn", "3|pl|potn" },
{"1sg.impf", "1|sg|impf"}, {"2sg.impf", "2|sg|impf"}, {"3sg.impf", "3|sg|impf" }, {"1pl.impf", "1|pl|impf"}, {"2pl.impf", "2|pl|impf"}, {"3pl.impf", "3|pl|impf" },
{"1sg.aor", "1|sg|aor"}, {"2sg.aor", "2|sg|aor"}, {"3sg.aor", "3|sg|aor" }, {"1pl.aor", "1|pl|aor"}, {"2pl.aor", "2|pl|aor"}, {"3pl.aor", "3|pl|aor" },
{"1sg.fut", "1|sg|fut"}, {"2sg.fut", "2|sg|fut"}, {"3sg.fut", "3|sg|fut" }, {"1pl.fut", "1|pl|fut"}, {"2pl.fut", "2|pl|fut"}, {"3pl.fut", "3|pl|fut" },
}
-- format a link for the dialect table, including notes
function format_link(word, all_notes, alt)
notes = mw.text.split(all_notes or "", "; ")
local filtered_notes = {}
local partial = false
for _, note in ipairs(notes) do
if note == "partial" then
partial = true
else
table.insert(filtered_notes, note)
end
end
local note = table.concat(filtered_notes, "; ")
return ((partial and "<sup>?</sup>") or "") .. m_links.full_link({
term = word,
alt = alt,
lang = lang,
tr = "-",
}) .. ((note and (' <span style="font-size:60%"><i>' .. note .. '</i></span>')) or '') .. ' <small>(' .. lang:transliterate(word or alt) .. ')</small>'
end
function get_lemma(word)
return mw.ustring.match(word, "{(.*)}") or mw.ustring.match(word, "<(.*)>") or word
end
function remove_lemma_indicators(word)
return mw.ustring.gsub(mw.ustring.gsub(word, "{.*}", ""), "[<>]", "")
end
local function make_table(data, pos)
local result = ""
if pos == "adj" then
result = [=[
{| class="inflection-table vsSwitcher" data-toggle-category="declension" style="background:var(--wikt-palette-lavender, #f8f8ff); text-align:center; min-width:45em; border: 1px solid var(--border-color-base,#9e9e9e);"
|- style="background: var(--wikt-palette-lightblue, #d9ebff);"
! class="vsToggleElement" style="text-align: left;" colspan="7" | Declension of {lemma}
|- class="vsHide"
! style="background:var(--wikt-palette-lightblue, #d9ebff); width:25%" rowspan="2" |
! style="background:var(--wikt-palette-lightblue, #d9ebff)" colspan="2" | masculine
! style="background:var(--wikt-palette-lightblue, #d9ebff)" colspan="2" | feminine
! style="background:var(--wikt-palette-lightblue, #d9ebff)" colspan="2" | neuter
|- class="vsHide"
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | singular
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | plural
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | singular
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | plural
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | singular
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | plural]=]
for i, case in ipairs(cases) do
local row = '\n|- class="vsHide"'
row = row .. '\n! style="background:var(--wikt-palette-lighterblue, #ebf4ff)" | ' .. cases_full[i]
for _, gender in ipairs(genders) do
for _, number in ipairs(numbers) do
row = row .. '\n| {' .. gender .. '.' .. case .. '.' .. number .. '}'
end
end
result = result .. row
end
result = result .. "\n{notes_clause}\n|}"
elseif pos == "noun" then
result = [=[
{| class="inflection-table vsSwitcher" data-toggle-category="declension" style="background:var(--wikt-palette-lavender, #f8f8ff); text-align:center; min-width:45em; border: 1px solid var(--border-color-base,#9e9e9e);"
|- style="background: var(--wikt-palette-lightblue, #d9ebff);"
! class="vsToggleElement" style="text-align: left;" colspan="3" | Declension of {lemma}
|- class="vsHide"
! style="background:var(--wikt-palette-lightblue, #d9ebff); width:33%" |
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | singular
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | plural]=]
for i, case in ipairs(cases) do
local row = '\n|- class="vsHide"'
row = row .. '\n! style="background:var(--wikt-palette-lighterblue, #ebf4ff)" | ' .. cases_full[i]
for _, number in ipairs(numbers) do
row = row .. '\n| {' .. case .. '.' .. number .. '}'
end
result = result .. row
end
result = result .. "\n{notes_clause}\n|}"
elseif pos == "verb" then
result = [=[
{| class="inflection-table vsSwitcher" data-toggle-category="declension" style="background:var(--wikt-palette-lavender, #f8f8ff); text-align:center; min-width:45em; border: 1px solid var(--border-color-base,#9e9e9e);"
|- style="background: var(--wikt-palette-lightblue, #d9ebff);"
! class="vsToggleElement" style="text-align: left;" colspan="7" | Personal forms of {lemma}
|- class="vsHide"
! style="background:var(--wikt-palette-lightblue, #d9ebff); width:33%" rowspan="2" |
! style="background:var(--wikt-palette-lightblue, #d9ebff)" colspan="3" | singular
! style="background:var(--wikt-palette-lightblue, #d9ebff)" colspan="3" | plural
|- class="vsHide"
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 1st
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 2nd
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 3rd
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 1st
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 2nd
! style="background:var(--wikt-palette-lightblue, #d9ebff)" | 3rd]=]
for i, mood in ipairs(moods) do
local row = '\n|- class="vsHide"'
row = row .. '\n! style="background:var(--wikt-palette-lighterblue, #ebf4ff)" | ' .. moods_full[i]
for _, number in ipairs(numbers) do
for _, person in ipairs(persons) do
row = row .. '\n| {' .. person .. number .. '.' .. mood .. '}'
end
end
result = result .. row
end
result = result .. "\n{notes_clause}\n|}"
end
local notes_template = [===[
|- class="vsHide"
| colspan=3 |
<div class="hi-footnote-outer-div">
<div class="hi-footnote-inner-div">
{footnote}
</div></div>
]===]
-- footnotes
data.forms.notes_clause = data.forms.footnote ~= "" and
m_string_utilities.format(notes_template, data.forms) or ""
data.forms.desc = data.desc
data.forms.lemma = format_link(data.lemma)
result = m_string_utilities.format(result, data.forms)
return result
end
function export.inflection(frame)
local args = frame:getParent().args
local pagename = mw.loadData("Module:headword/data").pagename
local target_page = args[1] or pagename
local main_lemma = args[2] or pagename
local resource_page = "Module:inc-ash/dial/data/" .. target_page
-- get page data
if mw.title.new(resource_page).exists then
m_syndata = require(resource_page).list
else
return frame:expandTemplate{ title = "Template:inc-ash-dial/uncreated", args = { target_page } }
end
-- remove unnecessary data
m_syndata["meaning"] = nil
local pos = m_syndata["pos"] or "none"
m_syndata["pos"] = nil
if m_syndata["note"] then
note = m_syndata["note"]
m_syndata["note"] = nil
end
if pos == nil then
error("Please specify a valid pos in the resource page " .. resource_page)
end
-- slots
local props = {
lang = lang,
lemmas = {main_lemma},
slot_list = slots[pos],
include_translit = true,
create_footnote_obj = nil,
canonicalize = nil,
preprocess_forms = nil,
no_deduplicate_forms = false,
combine_metadata_during_dedup = nil,
transform_accel_obj = nil,
format_forms = nil,
generate_link = nil,
format_tr = nil,
join_spans = nil,
allow_footnote_symbols = nil,
footnotes = nil,
}
-- get forms
local data = {forms = {}}
data.forms.footnote = ""
-- local process = ""
for location, synonym_set in pairs(m_syndata) do
-- check if location is in alias list and use the proper one if so
if variety_data['aliases'][location] ~= nil then location = variety_data['aliases'][location] end
if synonym_set[1] ~= "" then
for i, synonym in ipairs(synonym_set) do
local synonym_decomp = mw.text.split(synonym, ":")
local lemma = get_lemma(synonym_decomp[1])
synonym_decomp[1] = remove_lemma_indicators(synonym_decomp[1])
if lemma == main_lemma then
local notes = mw.text.split(synonym_decomp[2] or "", "; ")
for _, gloss in ipairs(notes) do
iut.insert_form(data.forms, gloss, {form=synonym_decomp[1]})
-- process = process .. "\nInserted " .. synonym_decomp[1] .. " into " .. gloss
end
end
end
end
end
-- make table
-- if pos == "verb" then return process end
data.lemma = main_lemma
iut.show_forms(data.forms, props)
return make_table(data, pos)
end
function export.main(frame)
local args = frame:getParent().args
local pagename = mw.loadData("Module:headword/data").pagename
local target_page = args[1] or pagename
local resource_page = "Module:inc-ash/dial/data/" .. target_page
if mw.title.new(resource_page).exists then
m_syndata = require(resource_page).list
else
return frame:expandTemplate{ title = "Template:inc-ash-dial/uncreated", args = { target_page } }
end
local template = {
["Central"] = {},
["East"] = {},
["Northwest"] = {},
["West"] = {},
["South"] = {},
}
main_title = mw.ustring.gsub((target_page == pagename and pagename or '[[' .. target_page .. ']]'), "[0-9%-]", "")
text = [=[
{| class="wikitable mw-collapsible mw-collapsed" style="margin:0; text-align:center;"
|-
! style="background:var(--wikt-palette-grey-green-0,#FCFFFC); width:40em" colspan=4 | Dialectal forms of <b><span class="Brah" lang="inc-ash">]=] ..
main_title .. '</span></b> (“' .. m_syndata["meaning"] .. '”) ' .. [=[
|-
! style="background:var(--wikt-palette-blue-1,#E8ECFA)" | Variety
! style="background:var(--wikt-palette-blue-1,#E8ECFA)" | Location
! style="background:var(--wikt-palette-blue-1,#E8ECFA)" | Lemmas
! style="background:var(--wikt-palette-blue-1,#E8ECFA); text-align: left;" | Forms]=] .. [=[
<div style="float: right; clear: right; font-size:60%"><span class="plainlinks">[]=] ..
tostring(mw.uri.fullUrl("Module:inc-ash/dial/data/" .. target_page, { ["action"] = "edit" })) ..
' edit]</span></div>'
m_syndata["meaning"] = nil
local pos = m_syndata["pos"] or "none"
m_syndata["pos"] = nil
if m_syndata["note"] then
note = m_syndata["note"]
m_syndata["note"] = nil
end
local categories = ""
for location, synonym_set in pairs(m_syndata) do
-- check if location is in alias list and use the proper one if so
if variety_data['aliases'][location] ~= nil then location = variety_data['aliases'][location] end
local sc = "Brah"
if location == "Shahbazgarhi" or location == "Mansehra" then
sc = "Khar"
end
if synonym_set[1] ~= "" then
local formatted_synonyms = {}
local formatted_lemmas = {}
for i, synonym in ipairs(synonym_set) do
local synonym_decomp = mw.text.split(synonym, ":")
local word = remove_lemma_indicators(synonym_decomp[1])
local lemma = get_lemma(synonym_decomp[1], pos, sc)
if (synonym_decomp[1] ~= word) or (synonym_decomp[2] ~= nil) then
table.insert(formatted_synonyms, {
formatted = format_link(word, synonym_decomp[2], nil),
form = word,
})
end
formatted_lemmas[lemma] = format_link(lemma, nil, nil)
end
local location_data = variety_data[location]
local location_name = mw.ustring.gsub(location_data.english or location, "(%(.*%))", "<small>%1</small>")
local location_link = location_data.link or location_name
table.insert(template[location_data.group],
{ location_data.order, location_name, location_link, formatted_synonyms, formatted_lemmas })
end
end
local attested = {}
for _, variety in ipairs(variety_list) do
local sc = "Brah"
if variety == "Northwest" then
sc = "Khar"
end
local colour = variety_colour[variety]
if #template[variety] > 0 then
table.sort(template[variety], function(first, second) return first[1] < second[1] end)
for i, point_data in ipairs(template[variety]) do
local forms = {}
local lemmas = {}
local attested_point = false
for lemma_plain, lemma in pairs(point_data[5]) do
if lemma_plain == pagename then
attested_point = true
end
table.insert(lemmas, lemma)
end
for _, word in ipairs(point_data[4]) do
if word.form == pagename then
attested_point = true
end
table.insert(forms, word.formatted)
end
if attested_point then
table.insert(attested, {point_data[3], point_data[2]})
categories = categories .. "[[Category:" .. point_data[2] .. " Ashokan Prakrit]]"
end
text = text .. "\n|-"
if i == 1 then
text = text .. "\n!rowspan=" .. #template[variety] .. (special_note[variety] and " colspan=2" or "") ..
' style="background:' .. colour .. '"| ' .. (special_note[variety] or variety)
end
text = text .. ((point_data[2] and not special_note[variety]) and ('\n|style="background:' .. colour .. '"| ' ..
'[[w:' .. point_data[3] .. '|' .. point_data[2] .. ']]') or '') ..
'\n| ' .. table.concat(lemmas, ", ") ..
'\n|style="text-align: left;"| ' .. table.concat(forms, ", ")
end
end
end
if note and note ~= "" then
text = text .. '\n|-\n! style="background:var(--wikt-palette-rose-1,#FFF7FB); padding-top:5px; padding-bottom: 5px" | ' ..
"<small>Note</small>\n| colspan=2|<small><i>" .. note .. "</i></small>"
end
local res = "Attested at "
table.sort(attested, function(first, second) return first[2] < second[2] end)
for i, dialect in ipairs(attested) do
if i == #attested and i ~= 1 then
res = res .. " and "
elseif i ~= 1 then
res = res .. ", "
end
res = res .. '[[w:' .. dialect[1] .. '|' .. dialect[2] .. ']]'
end
return res .. '.\n' .. text .. '\n|}' .. categories
end
function export.make_map(frame)
local width = tonumber(frame.args["width"]) or 1200
local word = frame.args[1] or mw.loadData("Module:headword/data").pagename
local syn_data = require("Module:inc-ash/dial/data/" .. word).list
local map = [=[
<div style="margin-left: auto; margin-right:auto; width:]=] .. width .. [=[px; max-width:]=] .. width .. [=[px;">
<div><div style="height:]=] .. width * (1615/1500) .. [=[px;width:]=] .. width .. [=[px;overflow:auto;">
<div style="position:relative;top:0;left:0">
<div style="position:relative;top:0;left:0;line-height:0">[[File:India location map.svg|]=] .. width .. [=[px|link=]]</div>
]=]
local prelim_data, data, points, legend = {}, {}, {}, {}
for location, synonym_set in pairs(syn_data) do
-- check if location is in alias list and use the proper one if so
local actual_location = location
if variety_data['aliases'][location] ~= nil then actual_location = variety_data['aliases'][location] end
if location ~= "note" and location ~= "meaning" and location ~= "pos" and variety_data[actual_location].lat and synonym_set[1] ~= "" then
for _, term in ipairs(synonym_set) do
term = get_lemma(mw.text.split(term, ":")[1])
local lemma = lang:transliterate(term)
if prelim_data[term] then
prelim_data[term].count = prelim_data[term].count + 1
table.insert(prelim_data[term].locations, location)
else
prelim_data[term] = { count = 1, locations = { location }, term = remove_lemma_indicators(term), lemma = lemma }
end
end
end
end
for term, term_data in pairs(prelim_data) do
table.insert(data, { term = term_data.term, count = term_data.count, locations = term_data.locations, lemma = term_data.lemma })
end
table.sort(data, function(first, second) return first.count > second.count end)
local prev_count = data[1].count
local greyed, greyed_count = false, 0
local completed_lemmas = {}
local num_completed = 0
for _, d in ipairs(data) do
local num = -1
if completed_lemmas[d.lemma] then
num = completed_lemmas[d.lemma]
else
num = num_completed + 1
completed_lemmas[d.lemma] = num
num_completed = num_completed + 1
end
greyed = greyed or (num > 10 and d.count ~= prev_count) or num > 20
local colour = greyed and "CCCCBF" or dots[num]
for _, location in ipairs(d.locations) do
-- check if location is in alias list and use the proper one if so
local actual_location = location
if variety_data['aliases'][location] ~= nil then actual_location = variety_data['aliases'][location] end
local loc_info = variety_data[actual_location]
local top_offset, left_offset = 0, 0
if #syn_data[location] > 1 then
top_offset = math.random(-300, 300) / 100
left_offset = math.random(-300, 300) / 100
end
local top = ((37.5 - loc_info.lat) * (width*(1615/1500))/(37.5-5)) + top_offset
local left = ((loc_info.long - 67) * width/(99-67)) + left_offset
local loc_name = mw.ustring.gsub(loc_info.english or actual_location, "%((.*)%)$", "- %1")
table.insert(points,
tostring( mw.html.create( "div" )
:css( "position", "absolute" )
:css( "top", top .. "px" )
:css( "left", left .. "px" )
:css( "margin", "auto" )
:css( "transform", "translate(-50%,-50%)" ) -- http://stackoverflow.com/questions/33683602/transform-origin-equivalent-for-position-absolute
:css( "padding", "5px" )
:css( "border-radius", "100%" )
:css( "background-color", "#" .. colour )
:css( "cursor", "help" )
:css( "opacity", "0.8" )
:attr( "title", loc_name .. " (" .. loc_info.group .. ")" )))
end
if greyed then
greyed_count = greyed_count + d.count
else
table.insert(legend,
tostring( mw.html.create( "div" )
:css( "display", "inline-block" )
:css( "width", "10px" )
:css( "height", "10px" )
:css( "border-radius", "100%" )
:css( "background-color", "#" .. colour )) ..
m_links.full_link({lang = lang,
term = mw.ustring.gsub(d.term, "(.+)_[1-9]", "%1"),
alt = mw.ustring.gsub(d.term, "(.+)_([1-9])", "%1<sub>%2</sub>")}) .. " (" .. d.count .. ")")
end
prev_count = d.count
end
if greyed_count > 0 then
table.insert(legend,
tostring( mw.html.create( "div" )
:css( "display", "inline-block" )
:css( "width", "10px" )
:css( "height", "10px" )
:css( "border-radius", "100%" )
:css( "background-color", "#CCCCBF" )) ..
"other terms (" .. greyed_count .. ")")
end
map = [=[
{| class="wikitable mw-collapsible mw-collapsed" style="margin:0; text-align:center;"
|-
! style="background:var(--wikt-palette-grey-green-0,#FCFFFC); width:40em" colspan=3 | Map of dialectal forms of <b><span class="Brah" lang="inc-ash">]=] ..
word .. '</span></b> (“' .. syn_data["meaning"] .. '”) ' .. "\n|-\n|\n" .. map .. table.concat(points) .. '</div></div></div>' ..
'<div style="column-count:' .. math.ceil(width/240) .. ';-moz-column-count:' .. math.ceil(width/240) .. ';-webkit-column-count:' .. math.ceil(width/240) .. ';font-size:smaller;line-height:1.7">' ..
table.concat(legend, "<br>") .. "</div></div>" .. [=[
|}]=]
return map
end
return export
cobguhb7mmna1cmq0gd3ph1galrr9fn
Module talk:inc-ash/dial/data
829
141670
230553
2026-03-29T16:59:27Z
Pinthura
2424
Moved page from [[en:Module:inc-ash/dial/data]]
230553
wikitext
text/x-wiki
{| class="wikitable"
! oldid || date/time || username || edit summary
|----
| 83837254 || 2025-02-03T11:37:57Z || Svartava || <nowiki></nowiki>
|----
| 83837239 || 2025-02-03T11:35:27Z || Svartava || <nowiki></nowiki>
|----
| 82260911 || 2024-10-04T06:33:27Z || AryamanA || <nowiki></nowiki>
|----
| 82126984 || 2024-10-03T09:56:07Z || AryamanA || <nowiki></nowiki>
|----
| 82126957 || 2024-10-03T09:54:27Z || AryamanA || <nowiki></nowiki>
|----
| 82126643 || 2024-10-03T09:33:19Z || AryamanA || <nowiki></nowiki>
|----
| 82126344 || 2024-10-03T08:22:06Z || AryamanA || <nowiki></nowiki>
|----
| 82126325 || 2024-10-03T08:12:11Z || AryamanA || <nowiki></nowiki>
|----
| 82123542 || 2024-10-02T23:05:04Z || AryamanA || <nowiki></nowiki>
|----
| 82122389 || 2024-10-02T21:17:54Z || AryamanA || <nowiki></nowiki>
|----
| 82122387 || 2024-10-02T21:17:47Z || AryamanA || <nowiki>+Jatinga</nowiki>
|----
| 60760871 || 2020-10-06T08:42:08Z || Kutchkutch || <nowiki></nowiki>
|----
| 60409972 || 2020-09-16T10:47:30Z || Kutchkutch || <nowiki></nowiki>
|----
| 60409970 || 2020-09-16T10:46:49Z || Kutchkutch || <nowiki></nowiki>
|----
| 60301315 || 2020-09-06T10:00:16Z || Kutchkutch || <nowiki></nowiki>
|----
| 60293687 || 2020-09-05T22:41:58Z || AryamanA || <nowiki></nowiki>
|----
| 60293662 || 2020-09-05T22:40:20Z || AryamanA || <nowiki></nowiki>
|----
| 60293647 || 2020-09-05T22:38:53Z || AryamanA || <nowiki>+dialect aliases</nowiki>
|----
| 59779130 || 2020-07-18T12:51:44Z || Kutchkutch || <nowiki></nowiki>
|----
| 59496657 || 2020-06-08T09:22:07Z || Kutchkutch || <nowiki></nowiki>
|----
| 50070803 || 2018-08-04T03:45:44Z || DerekWinters || <nowiki></nowiki>
|----
| 48959318 || 2018-02-07T05:06:52Z || AryamanA || <nowiki></nowiki>
|----
| 48959084 || 2018-02-07T04:24:55Z || AryamanA || <nowiki></nowiki>
|----
| 48959056 || 2018-02-07T04:22:29Z || AryamanA || <nowiki></nowiki>
|----
| 48959013 || 2018-02-07T04:18:53Z || AryamanA || <nowiki></nowiki>
|----
| 48958983 || 2018-02-07T04:14:38Z || AryamanA || <nowiki></nowiki>
|----
| 48958843 || 2018-02-07T03:34:24Z || AryamanA || <nowiki></nowiki>
|----
| 48938204 || 2018-02-06T02:39:20Z || AryamanA || <nowiki></nowiki>
|----
| 48937072 || 2018-02-06T00:06:46Z || AryamanA || <nowiki>lol</nowiki>
|----
| 48936211 || 2018-02-05T23:57:02Z || AryamanA || <nowiki></nowiki>
|----
| 48933921 || 2018-02-05T23:31:17Z || AryamanA || <nowiki>start</nowiki>
|}
gpow37l1lsdxr7lprw1jqirtwtekmge
Module:inc-ash/dial/data
828
141671
230554
2026-03-29T16:59:37Z
Pinthura
2424
Moved page from [[en:Module:inc-ash/dial/data]] ([[Module talk:inc-ash/dial/data|history]])
230554
Scribunto
text/plain
local variety_data = {}
variety_data['aliases'] = {
['Barabar Hill'] = 'Barabar',
['Barabar Caves'] = 'Barabar',
['Bhabru'] = 'Calcutta-Bairat',
['Kaushambi'] = 'Allahabad-Kosambi',
['Khalsi'] = 'Kalsi',
['Kosambi'] = 'Allahabad-Kosambi',
['Lauria-Nandangarh'] = 'Lauriya-Nandangarh',
['Lauria-Araraj'] = 'Lauriya-Araraj',
['Mathia'] = 'Lauriya-Nandangarh',
['Radhia'] = 'Lauriya-Araraj',
['Rummindei'] = 'Lumbini',
['Saru Maru'] = 'Panguraria',
}
-- Northwest
variety_data["Shahbazgarhi"] = {
group = "Northwest",
order = 1,
link = "Shahbaz Garhi#Ashokan_inscriptions",
lat = 34.235556,
long = 72.16,
}
variety_data["Mansehra"] = {
group = "Northwest",
order = 2,
link = "Mansehra#Maurya Dynasty",
lat = 34.333889,
long = 73.201389,
}
variety_data["Kanadahar"] = {
group = "Northwest",
order = 3,
link = "Kandahar",
lat = 31.616667,
long = 65.716667,
}
variety_data["Ranigat"] = {
group = "Northwest",
order = 4,
link = "Ranigat",
lat = 34.2306,
long = 72.4488,
}
-- Central
variety_data["Kalsi"] = {
group = "Central",
order = 1,
link = "Rock edicts of Khalsi",
lat = 30.5215481,
long = 77.8418148,
}
variety_data["Delhi-Topra"] = {
group = "Central",
order = 2,
link = "Topra_Kalan#Topra_Ashokan_Pillar",
lat = 30.1252,
long = 77.1623,
}
variety_data["Delhi-Meerut"] = {
group = "Central",
order = 3,
link = "Ashokan_Edicts_in_Delhi#Delhi-Meerut_pillar",
lat = 28.99,
long = 77.7,
}
variety_data["Rampurva"] = {
group = "Central",
order = 4,
link = "Rampurva capitals",
lat = 26.8429,
long = 84.696,
}
variety_data["Lauriya-Nandangarh"] = {
group = "Central",
order = 5,
link = "Lauria Nandangarh",
lat = 26.983333,
long = 84.4,
}
variety_data["Lauriya-Araraj"] = {
group = "Central",
order = 6,
link = "Lauriya Araraj",
lat = 26.5439379,
long = 84.6442085,
}
variety_data["Lumbini"] = {
group = "Central",
order = 7,
link = "Lumbini",
lat = 27.481389,
long = 83.275833,
}
variety_data["Nigali-Sagar"] = {
group = "Central",
order = 8,
lat = 27.533333,
long = 83.05,
}
variety_data["Sarnath"] = {
group = "Central",
order = 9,
link = "Sarnath",
lat = 25.3811,
long = 83.0214,
}
variety_data["Rupnath"] = {
group = "Central",
order = 10,
link = "List of Edicts of Ashoka",
lat = 24.583333,
long = 82.066667,
}
variety_data["Bairat"] = {
group = "Central",
order = 11,
link = "Viratnagar",
lat = 27.45,
long = 76.18,
}
variety_data["Sanchi"] = {
group = "Central",
order = 12,
link = "Sanchi",
lat = 23.480656,
long = 77.7363,
}
variety_data["Allahabad-Kosambi"] = {
group = "Central",
order = 13,
link = "Kosambi",
lat = 25.338984,
long = 81.392899,
}
variety_data["Sahasram"] = {
group = "Central",
order = 14,
link = "Sasaram",
lat = 24.95,
long = 84.03,
}
variety_data["Gujarra"] = {
group = "Central",
order = 15,
link = "Datia district",
lat = 25.57699,
long = 78.54594,
}
variety_data["Barabar"] = {
group = "Central",
order = 16,
link = "Barabar Caves",
lat = 25.005,
long = 85.063,
}
variety_data["Calcutta-Bairat"] = {
group = "Central",
order = 17,
link = "Bairat Temple",
lat = 27.417116,
long = 76.16229,
}
variety_data["Panguraria"] = {
group = "Central",
order = 18,
link = "Saru Maru",
lat = 22.729949,
long = 77.519910,
}
variety_data["Bahapur"] = {
group = "Central",
order = 19,
link = "commons:Category:Ashoka Minor Rock Edict, Bahapur, Delhi",
lat = 28.55856,
long = 77.25662,
}
variety_data["Ahraura"] = {
group = "Central",
order = 20,
link = "Ahraura",
lat = 25.02,
long = 83.02,
}
-- East
variety_data["Dhauli"] = {
group = "East",
order = 1,
link = "Dhauli",
lat = 20.192372,
long = 85.839489,
}
variety_data["Jaugada"] = {
group = "East",
order = 2,
link = "Jaugada",
lat = 19.522556,
long = 84.81225,
}
-- West
variety_data["Girnar"] = {
group = "West",
order = 1,
link = "Girnar",
lat = 21.494722,
long = 70.505556,
}
variety_data["Sopara"] = {
group = "West",
order = 2,
link = "Nala Sopara",
lat = 19.4154,
long = 72.8613,
}
-- South
variety_data["Yerragudi"] = {
group = "South",
order = 1,
link = "List of Edicts of Ashoka",
lat = 13.7863798,
long = 78.0096402,
}
variety_data["Siddapura"] = {
group = "South",
order = 2,
link = "Siddapura, Uttara Kannada",
lat = 14.347,
long = 74.894,
}
variety_data["Brahmagiri"] = {
group = "South",
order = 3,
link = "Brahmagiri",
lat = 14.813889,
long = 76.806389,
}
variety_data["Maski"] = {
group = "South",
order = 4,
link = "Maski",
lat = 15.96,
long = 76.65,
}
variety_data["Jatinga-Rameshwara"] = {
group = "South",
order = 5,
link = "commons:Category:Ashoka Minor Rock Edict, Jatinga Rameshwara",
lat = 14.84972,
long = 76.79083,
}
variety_data["Rajula-Mandagiri"] = {
group = "South",
order = 6,
link = "commons:Category:Ashoka Minor Rock Edict, Rajula Mandagiri",
lat = 15.43500,
long = 77.47166,
}
variety_data["Udegolam"] = {
group = "South",
order = 8,
link = "commons:Category:Ashoka Minor Rock Edict, Udegolam",
lat = 15.52000,
long = 76.83361,
}
variety_data["Nittur"] = {
group = "South",
order = 9,
link = "commons:Category:Ashoka Minor Rock Edict, Nittur",
lat = 15.54717,
long = 76.83270,
}
variety_data["Gavimath"] = {
group = "South",
order = 10,
link = "Palkigundu and Gavimath",
lat = 15.33729,
long = 76.16213,
}
variety_data["Palkigundu"] = {
group = "South",
order = 11,
link = "Palkigundu and Gavimath",
lat = 15.34416,
long = 76.13694,
}
return variety_data
59c5xpowmw487cxvxdt5twtst8fawhn
Module talk:inc-ash/dial/data/documentation
829
141672
230555
2026-03-29T16:59:47Z
Pinthura
2424
Moved page from [[en:Module:inc-ash/dial/data/documentation]]
230555
wikitext
text/x-wiki
{| class="wikitable"
! oldid || date/time || username || edit summary
|----
| 72943601 || 2023-05-07T21:09:11Z || AryamanA || <nowiki>Created page with "{{subpages|Module:inc-ash/dial/data}} <includeonly> [[Category:Ashokan Prakrit modules]] </includeonly>"</nowiki>
|}
dp9v9z3ikvwk16v9ehed96q1okt211f