विक्षनरी
hiwiktionary
https://hi.wiktionary.org/wiki/%E0%A4%AE%E0%A5%81%E0%A4%96%E0%A4%AA%E0%A5%83%E0%A4%B7%E0%A5%8D%E0%A4%A0
MediaWiki 1.47.0-wmf.19
case-sensitive
मीडिया
विशेष
वार्ता
सदस्य
सदस्य वार्ता
विक्षनरी
विक्षनरी वार्ता
चित्र
चित्र वार्ता
मीडियाविकि
मीडियाविकि वार्ता
साँचा
साँचा वार्ता
सहायता
सहायता वार्ता
श्रेणी
श्रेणी वार्ता
TimedText
TimedText talk
मॉड्यूल
मॉड्यूल वार्ता
Event
Event talk
साँचा:वार्ता शीर्षक
10
7164
488642
470797
2026-09-12T18:13:44Z
SM7
6218
सफाई
488642
wikitext
text/x-wiki
{| class="messagebox standard-talk" id="talkheader" align="center" style="background-color: #FFFFFF;"
|-
! colspan="3" style="border: 1px solid #C0C090; background-color:#F8EABA; text-align:center;" |
{{#ifeq:{{NAMESPACE}}|User talk|
यह पृष्ठ सदस्य [[{{SUBJECTPAGENAME}}|{{PAGENAME}}]] का [[विक्षनरी:वार्ता पृष्ठ निर्देशन|वार्ता पृष्ठ]] है, जहाँ आप {{PAGENAME}} को सन्देश भेज सकते हैं और इनसे चर्चा कर सकते हैं।
|
यह पृष्ठ [[:{{SUBJECTPAGENAME}}]] {{#if: {{SUBJECTSPACE}}|पन्ने|लेख}} के सुधार पर चर्चा करने के लिए [[विक्षनरी:वार्ता पृष्ठ निर्देशन|वार्ता पृष्ठ]] है। यदि आप आप अपने सन्देश पर शीघ्र सबका ध्यान चाहते हैं, तो यहाँ सन्देश लिखने के बाद [[विक्षनरी:चौपाल|चौपाल]] पर भी सूचना छोड़ दें।
}}
|-
| style="background-color: #FFFFFF;" |
* '''[[विक्षनरी:हस्ताक्षर|कृपया अपने सन्देशों पर हस्ताक्षर करें]]''', चार टिल्ड डालकर(<code><nowiki>~~~~</nowiki></code>)।
* '''नए संदेशों को पुराने सन्देशों के नीचे डालें।''' <span class="plainlinks">[http://hi.wikipedia.org/w/index.php?title={{TALKPAGENAMEE}}&action=edit§ion=new नया विषय आरम्भ करने के लिए यहाँ क्लिक करें]</span>।
* '''विकिपीडिया पर नए हैं?''' [[विक्षनरी:नवांगन्तुकों का स्वागत|स्वागत]]! [[विक्षनरी:प्रश्न|प्रश्न पूछें, उत्तर पाएँ]]।
{{#if: {{SUBJECTSPACE}}||*'''यह लेख के विषय पर साधारण चर्चा करने के लिए [[विक्षनरी:विक्षनरी क्या नहीं है|मंच नहीं है]]।'''}}
| style="margin: 0px; background-color: #F8EABA; border: 1px solid #C0C090; " |
*[[Wikipedia:Civility|सभ्य रहें]]
*[[Wikipedia:Assume good faith|पूर्वाग्रह न रखें]]
*[[Wikipedia:No personal attacks|व्यक्तिगत आक्षेप न करें]]
*[[Wikipedia:Please do not bite the newcomers|नवांगन्तुकों का स्वागत करें]]{{#ifeq:{{{arpol|{{#if:{{SUBJECTSPACE}}|no|yes}}}}}|yes|<br />
{{!}} style="margin: 0px; background-color: #F8EABA; border: 1px solid #C0C090;" {{!}}<div class="center">'''लेखन सम्बन्धी नीतियाँ'''</div>
*[[Wikipedia:No original research|मौलिक शोध न लिखें।]]
*[[Wikipedia:Neutral point of view|दृष्टिकोण तटस्थ रखें।]]
*[[Wikipedia:Verifiability|आवश्यक तथ्य जोड़ें।]]}}{{#ifeq:{{{noarchive|}}}|<!-- nothing -->|{{#ifexist: {{FULLPAGENAME}}/Archive 1|<br />
{{!}}-
{{!}}colspan="4" style="border: 1px solid #C0C090; background-color:#F8EABA; text-align:center; padding:1px 3px 1px 3px;"{{!}}'''[[Help:Archiving a talk page|Archives]]:''' {{#ifexist: {{FULLPAGENAME}}/Archive index|[[{{FULLPAGENAME}}/Archive index|Index]], |<!-- nothing -->}}{{Archive list|nobr=yes|root={{FULLPAGENAME}}}}|<!-- nothing -->}}}}
|}<noinclude>
{{documentation}}
<!-- Add cats and interwikis to the /doc subpage, not here! -->
</noinclude>
86zu2mc4faa8ifwq1cniecdezdcbunf
साँचा:documentation
10
12762
488637
488572
2026-09-12T17:26:02Z
SM7
6218
updating...
488637
wikitext
text/x-wiki
{{#invoke:documentation|show|hr=above}}
j0s13scsii7qihzcaj44tsxynimxx68
साँचा:मुखपृष्ठ/शीर्ष
10
14811
488676
40675
2026-09-12T19:47:31Z
SM7
6218
सफाई
488676
wikitext
text/x-wiki
{| cellspacing="0" style="margin-top:23px;border:1px solid #AABBDD; background:#E9F3FF; width:100%;padding:10px;margin-top:0px;"
|- valign="top"
{| style="width:100%;margin-top:5px;"
| colspan="2"|
{| style="width: 100%; border: 0px solid; padding: 5px"
| style="text-align:center;"|{{{शीर्षक}}}
<p>{{{निचलाशीर्षक}}}</p>
| style="text-align: center" |
{{{मेन्यू१}}}
<p style="line-height: 110%"><span style="margin-left: -0.75em; white-space: nowrap;">[[Special:Prefixindex/अ|अ]] [[Special:Prefixindex/आ|आ]] [[Special:Prefixindex/इ|इ]] [[Special:Prefixindex/ई|ई]] [[Special:Prefixindex/उ|ऊ]] [[Special:Prefixindex/ए|ए]] [[Special:Prefixindex/ऐ|ऐ]] [[Special:Prefixindex/ओ|ओ]] [[Special:Prefixindex/औ|औ]] [[Special:Prefixindex/अं|अं]] [[Special:Prefixindex/अः|अः]] [[Special:Prefixindex/क|क]] [[Special:Prefixindex/ख|ख]] [[Special:Prefixindex/ग|ग]] [[Special:Prefixindex/घ|घ]] [[Special:Prefixindex/ङ|ङ]] [[Special:Prefixindex/च|च]] [[Special:Prefixindex/छ|छ]] [[Special:Prefixindex/ज|ज]] [[Special:Prefixindex/झ|झ]] [[Special:Prefixindex/ञ|ञ]] [[Special:Prefixindex/ट|ट]] [[Special:Prefixindex/ठ|ठ]] [[Special:Prefixindex/ड|ड]] [[Special:Prefixindex/ढ|ढ]] [[Special:Prefixindex/ण|ण]] [[Special:Prefixindex/त|त]] [[Special:Prefixindex/थ|थ]] [[Special:Prefixindex/द|द]] [[Special:Prefixindex/ध|ध]] </span><span style="white-space: nowrap;">[[Special:Prefixindex/न|न]] [[Special:Prefixindex/प|प]] [[Special:Prefixindex/फ|फ]] [[Special:Prefixindex/ब|ब]] [[Special:Prefixindex/भ|भ]] [[Special:Prefixindex/म|म]] [[Special:Prefixindex/य|य]] [[Special:Prefixindex/र|र]] [[Special:Prefixindex/ल|ल]] [[Special:Prefixindex/व|व]] [[Special:Prefixindex/श|श]] [[Special:Prefixindex/ष|ष]] [[Special:Prefixindex/स|स]] [[Special:Prefixindex/ह|ह]] [[Special:Prefixindex/क्ष|क्ष]] [[Special:Prefixindex/त्र|त्र]] [[Special:Prefixindex/ज्ञ|ज्ञ]]
<!-- नीचे अन्य भाषाओं की वर्णमालाओं के अक्षर जोड़े जा सकते हैं। कृपया बिना विमर्श के अन्य भाषाओं के वर्णमाला अक्षर ना जोड़ें।
[[Special:Prefixindex/ü|ü]] [[Special:Prefixindex/V|V]] [[Special:Prefixindex/v|v]] [[Special:Prefixindex/W|W]] [[Special:Prefixindex/w|w]] [[Special:Prefixindex/X|X]] [[Special:Prefixindex/x|x]] [[Special:Prefixindex/Y|Y]] [[Special:Prefixindex/y|y]] [[Special:Prefixindex/Z|Z]] [[Special:Prefixindex/z|z]] </span><span style="white-space: nowrap;">[[Spezial:Alle_Seiten/À|À]] [[Spezial:Alle_Seiten/͵α|͵α]] [[Spezial:Alle_Seiten/Є|Є]] [[Spezial:Alle_Seiten/Ա|Ա]] [[Spezial:Alle_Seiten/ב|ב]] [[Spezial:Alle_Seiten/ب|ب]] [[Spezial:Alle_Seiten/あ|あ]] [[Spezial:Alle_Seiten/가|가]]</span>--></p>
{{{मेन्यू२}}}</p>
|-
| colspan="2" style="text-align:center; padding-top:10px;" |
<inputbox>
type=search2
buttonlabel=खोजें
break=no
</inputbox>
|}
|}
<div style="background:#B2B2B2; height:1px; margin:0 0px; font-size:0">[[Image:pix.gif]]</div>
<div style="border-left:1px solid #DFDFE0; border-right:1px solid #DFDFE0; background:#C7C7C7; height:1px; margin:0 0px; font-size:0">[[Image:pix.gif]]</div>
<div style="border-left:1px solid #EDEDED; border-right:1px solid #EDEDED; background:#DFDFE0; height:1px; margin:0 1px; font-size:0">[[Image:pix.gif]]</div>
<div style="background:#F2F2F3; height:1px; margin:0 2px; font-size:0">[[Image:pix.gif]]</div>
<div style="background:#FCFCFC; height:1px; margin:0 5px; font-size:0">[[Image:pix.gif]]</div><noinclude>
</noinclude>
axsku0g6oz6ysycsd8z759xlidi9l06
अंगुर
0
123049
488682
387865
2026-09-13T06:33:58Z
Ziv
19712
([[c:GR|GR]]) [[File:Grapes05.jpg]] → [[File:Crimson seedless on the vine.jpg]] [[c:COM:FR#FR2|Criterion 2]] · More precise and not just a meaningless one word name
488682
wikitext
text/x-wiki
[[image:Crimson seedless on the vine.jpg|thumb|अंगुर]]
== संज्ञा पुल्लिंग ==
# छोटे आकार का एक रसेदार मीटा फल।
# मांस के छोटे छोटे लाल दाने जो घाव भरते समय दिखाई पड़ते हैं
# अंगुल
# अंकुर । अँखुआ
== प्रयोग ==
* अंगुर द्धै घटि होत सबनि सौं पुनि पुनि और मँगायौ । - सूरदास (सूरसागर १०, ३४२)
== मुहावरे/लोकोक्तियाँ ==
# अंगुर खट्टे होना = प्रयत्न से हासिल न होने पर अच्छी वस्तु को बुरा कहना।
# अंगुर आना = घाव के ऊपर चमड़े की पतली झिल्ली पड़ना। घाव पुरना । घाव भरना।
# अंगुर तड़कना = भरते हुए घाव पर बंधी हुई मांस की झिल्ली का फट जाना।
# अंगुर फटना = भरते हुए घाव का फिर से हरा हो जाना।
# अंगुर बँधना = घाव के ऊपर मांस की नई झिल्ली चढ़ना।
# अंगुर- भरना = घाव भरना।
== संबंधित शब्द ==
* अंगुरि - स्त्रीलिंग
== वर्णक्रम सहचर ==
{{-trans-}}
*{{bn|আঙ্গুর}}
*{{en|grape}}
*{{ne|अङ्गुर}}
*{{te|ద్రాక్ష}}
[[श्रेणी:संज्ञा]]
{{-hi-}}
== प्रकाशितकोशों से अर्थ ==
=== शब्दसागर ===
अंगुर पु संज्ञा पुं॰ दे॰ 'अंगुल'—१ । उ॰—अंगुर द्धै घटि होत सबनि सौं पुनि पुनि और मँगायौ ।—सुर, १० ।३४२ ।
अंगुर ^१ संज्ञा पुं॰ [फा॰] एक लता ओर उसके फल का नाम । द्राक्षा । दाख । विशेष—यह भारत के उत्तरपश्चिम और पंजाब तथा कश्मीर आदि प्रदेशों में बहुत लगाया जाता है । हिमालय के पश्चिमीय भागों में यह आपसे आप भी होता है । उत्तर प्रदेश के कुमाऊँ, कनावर और देहरादुन तथा आंध्र और महाराष्ट्र प्रदेश के अहमदनगर, औरंगाबाद, पुना और नासिस आदि स्थानों में भी इसकी उपज होती है । बंगाल में पानी अधिक बरसने के कारण इसकी बेल वैसी नहीं बढ़ सकती । बिहार प्रदेश में तिरहुत और दानापुर में इसकी कुछ टट्टियाँ तैयार की जाती है । अंगुर की बेल होती है जो टट्टियों पर फैलती है । इसकी पत्तियाँ कुम्हड़े वा नेनुए की पत्तियों से मिलती जुलती होती हैं । इसके फल हरे और बैगनी रंग के तथा छोटे, बड़े, गोल और लबे केई आकार के होते है । कोई नीम के फल की तरह लंबोतरे और कोई मकोय की तरह गोल होते हैं और गुच्छो में लगते है । अंगुर की मिठ्स तो प्रसिद्ध ही है । भारतवासी इसे 'द्राक्षा' और 'मृद्धीका' के नाम से जानते है । चरक और सुश्रुत मे इसका उल्लेख है । पर भारतवर्ष में इसकी खंती कम होती थी । फल प्रायः बाहर से ही मँगाए जाते थे । मुसलमान बादशाहों के समय अगुर की ओर अधिक ध्यान दिया गया । आजकल हिंदुस्तान में सबसे अधिक अंगुर काश्मीर में होती है जहाँ ये क्वार के महीने में पक्ते हैं । वहाँ इनकी शराब बनती है और सिरका भी पड़ता है । महाराष्ट्र देश में जो अंगुर लगाए जाते है उनके कई भेद है, जैसे— आबी, फकीरी, हबशी, गोलकली साहेबी इत्यादि । अफगानिस्तान, बिलुचिस्तान और सिंध में अंगुर बहुत अधिक और कई प्रकार के होते है—जैसे, हेटा, किशमिशी, कमलक, हुसैनी इत्यादि । किशमिशी में बीज नहीं होता । कंधारवाले हेटा अंगुर को चुना और सज्जीखार के साथ गरम पानी में डुबाकर 'आबजोश' और किशमिशी को धुप में सुखाकर किशमिश बनाते हैं । मुनक्का, जो दवा के काम में आता है, सुखाया हुआ अंगुर है । यह दस्तावर है और ज्वर की प्यास को कम करता है । खाँसी के लिये बी अच्छा है । 'द्राक्षारिष्ट' आदि कई आयु—
अंगुर ^२ संज्ञा पुं॰ मांस के छोटे छोटे लाल दाने जो घाव भरते समय दिखाई पड़ते हैं । दे॰ 'अंकुर' ^२ । मुहा॰—अंगुर आना = घाव के ऊपर चमड़े की पतली झिल्ली पड़ना । घाव पुरना । घाव भरना । अंगुर तड़कना = भरते हुए घाव पर बंधी हुई मांस की झिल्ली का फट जाना । अंगुर फटना = दे॰ 'अंगुर तड़कना' । अंगुर बँधना = घाव के ऊपर मांस की नई झिल्ली चढ़ना । घाव भरना । अंगुर- भरना = दे॰ 'अंगुर बँधना' ।
अंगुर ^३ संज्ञा पुं॰ [सं॰ अंकुर] अंकुर । अँखुआ ।
[[श्रेणी: हिन्दी-प्रकाशितकोशों से अर्थ-शब्दसागर]]
kbs0kp30061p0md8iatgnau4aux9orv
अङ्गुर
0
137719
488683
440852
2026-09-13T06:33:58Z
Ziv
19712
([[c:GR|GR]]) [[File:Grapes05.jpg]] → [[File:Crimson seedless on the vine.jpg]] [[c:COM:FR#FR2|Criterion 2]] · More precise and not just a meaningless one word name
488683
wikitext
text/x-wiki
== {{नेपाली}} ==
[[image:Crimson seedless on the vine.jpg|thumb|अंगुर]]
=== संज्ञा ===
# [[अंगुर]]
{{-hi-}}
== प्रकाशितकोशों से अर्थ ==
=== शब्दसागर ===
अंगुर पु संज्ञा पुं॰ दे॰ 'अंगुल'—१ । उ॰—अंगुर द्धै घटि होत सबनि सौं पुनि पुनि और मँगायौ ।—सुर, १० ।३४२ ।
अंगुर ^१ संज्ञा पुं॰ [फा॰] एक लता ओर उसके फल का नाम । द्राक्षा । दाख । विशेष—यह भारत के उत्तरपश्चिम और पंजाब तथा कश्मीर आदि प्रदेशों में बहुत लगाया जाता है । हिमालय के पश्चिमीय भागों में यह आपसे आप भी होता है । उत्तर प्रदेश के कुमाऊँ, कनावर और देहरादुन तथा आंध्र और महाराष्ट्र प्रदेश के अहमदनगर, औरंगाबाद, पुना और नासिस आदि स्थानों में भी इसकी उपज होती है । बंगाल में पानी अधिक बरसने के कारण इसकी बेल वैसी नहीं बढ़ सकती । बिहार प्रदेश में तिरहुत और दानापुर में इसकी कुछ टट्टियाँ तैयार की जाती है । अंगुर की बेल होती है जो टट्टियों पर फैलती है । इसकी पत्तियाँ कुम्हड़े वा नेनुए की पत्तियों से मिलती जुलती होती हैं । इसके फल हरे और बैगनी रंग के तथा छोटे, बड़े, गोल और लबे केई आकार के होते है । कोई नीम के फल की तरह लंबोतरे और कोई मकोय की तरह गोल होते हैं और गुच्छो में लगते है । अंगुर की मिठ्स तो प्रसिद्ध ही है । भारतवासी इसे 'द्राक्षा' और 'मृद्धीका' के नाम से जानते है । चरक और सुश्रुत मे इसका उल्लेख है । पर भारतवर्ष में इसकी खंती कम होती थी । फल प्रायः बाहर से ही मँगाए जाते थे । मुसलमान बादशाहों के समय अगुर की ओर अधिक ध्यान दिया गया । आजकल हिंदुस्तान में सबसे अधिक अंगुर काश्मीर में होती है जहाँ ये क्वार के महीने में पक्ते हैं । वहाँ इनकी शराब बनती है और सिरका भी पड़ता है । महाराष्ट्र देश में जो अंगुर लगाए जाते है उनके कई भेद है, जैसे— आबी, फकीरी, हबशी, गोलकली साहेबी इत्यादि । अफगानिस्तान, बिलुचिस्तान और सिंध में अंगुर बहुत अधिक और कई प्रकार के होते है—जैसे, हेटा, किशमिशी, कमलक, हुसैनी इत्यादि । किशमिशी में बीज नहीं होता । कंधारवाले हेटा अंगुर को चुना और सज्जीखार के साथ गरम पानी में डुबाकर 'आबजोश' और किशमिशी को धुप में सुखाकर किशमिश बनाते हैं । मुनक्का, जो दवा के काम में आता है, सुखाया हुआ अंगुर है । यह दस्तावर है और ज्वर की प्यास को कम करता है । खाँसी के लिये बी अच्छा है । 'द्राक्षारिष्ट' आदि कई आयु—
अंगुर ^२ संज्ञा पुं॰ मांस के छोटे छोटे लाल दाने जो घाव भरते समय दिखाई पड़ते हैं । दे॰ 'अंकुर' ^२ । मुहा॰—अंगुर आना = घाव के ऊपर चमड़े की पतली झिल्ली पड़ना । घाव पुरना । घाव भरना । अंगुर तड़कना = भरते हुए घाव पर बंधी हुई मांस की झिल्ली का फट जाना । अंगुर फटना = दे॰ 'अंगुर तड़कना' । अंगुर बँधना = घाव के ऊपर मांस की नई झिल्ली चढ़ना । घाव भरना । अंगुर- भरना = दे॰ 'अंगुर बँधना' ।
अंगुर ^३ संज्ञा पुं॰ [सं॰ अंकुर] अंकुर । अँखुआ ।
[[श्रेणी: हिन्दी-प्रकाशितकोशों से अर्थ-शब्दसागर]]
8ab3gbs3gut57738ht0ivntzaloe44f
घनघत
0
180243
488653
488410
2026-09-12T19:00:05Z
SM7
6218
सफाई
488653
wikitext
text/x-wiki
= {{हिन्दी}} =
== संज्ञा ==
'''घनघत''' ♀
: [अनुकरणात्मक ध्वनि से उत्पन्न]
: घंटे की "घन्-घन्" जैसी ध्वनि।
: तीव्र, गूंजती हुई ध्वनि का बिंब, जो सामान्यतः रथ, घंटे या अन्य धातु के टकराने से उत्पन्न होती है।
=== उदाहरण ===
: रथ का घर्घर, घंटों की घनघन। — *अपरा*, पृ॰ २११।
== प्रकाशित कोशों से अर्थ ==
=== शब्दसागर ===
'''घनघत''' (संज्ञा, स्त्रीलिंग) — [अनुकरणात्मक]
: घंटे की “घन् घन्” की ध्वनि।
: उ॰ — *रथ का घर्घर। घंटों की घनघन।* — *अपरा, पृ॰ २११।*
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-शब्दसागर]]
puk7kfdsx6qdetvs72uqid67vkyqcfq
पंचगत
0
215582
488678
483994
2026-09-12T19:49:52Z
SM7
6218
सफाई
488678
wikitext
text/x-wiki
= {{हिन्दी}} =
== संज्ञा ==
'''पंचगत''' {{संज्ञा पुं}} [{{सं}} पञ्चगत]
* बीजगणित (Algebra) में प्रयुक्त एक विशेष प्रकार की राशि जिसमें पाँच वर्ण (अक्षर/चर) होते हैं।
== उदाहरण ==
* यदि कोई बहुपद (polynomial) पाँच विभिन्न चरों (variables) से युक्त हो, तो उसे पंचगत कहा जा सकता है।
उदाहरण: \( ax + by + cz + dw + ez \)
== प्रकाशितकोशों से अर्थ ==
=== शब्दसागर ===
बीजगणित के अनुसार वह राशि जिसमें पाँच वर्ण हों।
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-शब्दसागर]]
qdmyrkmwqviyihukhk2dw26f82sah9l
पंचगव
0
215584
488664
483996
2026-09-12T19:43:59Z
SM7
6218
सफाई
488664
wikitext
text/x-wiki
= {{हिन्दी}} =
== संज्ञा ==
'''पंचगव''' {{संज्ञा पुं}} [{{सं}} पञ्चगव]
* पाँच गायों का समूह।
== उदाहरण ==
* यज्ञ में पंचगव की उपस्थिति शुभ मानी जाती है।
* गाँव के एक किसान के पास पंचगव थे।
== प्रकाशितकोशों से अर्थ ==
=== शब्दसागर ===
पाँच गायों का समूह। [को॰]
ius8wtqpjo7mu7rcb8r3s3ju1uwm668
पंचगव्य
0
215585
488667
483991
2026-09-12T19:44:34Z
SM7
6218
सफाई
488667
wikitext
text/x-wiki
= {{हिन्दी}} =
== संज्ञा ==
'''पंचगव्य''' {{संज्ञा पुं}} [{{सं}} पञ्चगव्य] — गाय से प्राप्त पाँच पवित्र द्रव्य:
* दूध
* दही
* घी
* गोबर
* गोमूत्र
ये सभी द्रव्य धार्मिक दृष्टि से अत्यंत पवित्र माने जाते हैं। इन्हें विशेष रूप से **पापों के प्रायश्चित**, **शुद्धिकरण**, और **धार्मिक अनुष्ठानों** में प्रयोग किया जाता है।
== विवरण ==
पंचगव्य में सम्मिलित प्रत्येक द्रव्य की पारंपरिक मात्रा निम्न प्रकार होती है:
* घी — 1 पल
* दूध — 1 पल
* गोमूत्र — 1 पल
* दही — 1 प्रसृति (पसर)
* गोबर — 3 तोले
== प्रकाशितकोशों से अर्थ ==
=== शब्दसागर ===
गाय से प्राप्त होनेवाले पाँच द्रव्य—दूध, दही, घी, गोबर और गोमूत्र, जो बहुत पवित्र माने जाते हैं और पापों के प्रायश्चित आदि में प्रयोग किए जाते हैं। पंचगव्य में प्रत्येक द्रव्य का परिमाण इस प्रकार कहा गया है—घी, दूध, गोमूत्र: एक-एक पल; दही: एक प्रसृति (पसर); गोबर: तीन तोले।
dwqs8weie9fj34u7azmltls1ez7xkzg
मॉड्यूल:languages/templates
828
303068
488657
470074
2026-09-12T19:11:50Z
SM7
6218
updating...
488657
Scribunto
text/plain
local export = {}
local concat = table.concat
local insert = table.insert
local sort = table.sort
local scripts_module = "Module:scripts"
local function get_script_by_code(...)
get_script_by_code = require(scripts_module).getByCode
return get_script_by_code(...)
end
function export.exists(frame)
return require("Module:languages").getByCode(
require("Module:parameters").process(frame.args, {
[1] = {required = true}
})[1]
) and "1" or ""
end
do
local function getByCode(frame, allow_etym)
local plain = true
local args = require("Module:parameters").process(frame.args, {
[1] = {required = true, type = allow_etym and "language" or "full language"},
[2] = {required = true},
[3] = plain,
[4] = plain,
[5] = plain,
})
local function check_empty(...)
local varargs = {...}
for i = 1, select("#", ...) do
if args[varargs[i]] then
error(("Cannot specify a value for argument %s= when using subfunction '%s' of getByCode()"):format(
varargs[i], args[2]))
end
end
end
return require("Module:language-like").templateGetByCode(args,
function(itemname)
local list
if itemname == "getWikimediaLanguages" then
list = args[1]:getWikimediaLanguages()
elseif itemname == "getScripts" then
list = args[1]:getScriptCodes()
elseif itemname == "getAncestors" then
list = args[1]:getAncestors()
end
if list then
check_empty(4, 5)
local retval = list[tonumber(args[3]) or error("Please specify the numeric index of the desired item in 3=.")]
if retval then
if type(retval) == "string" then
return retval
else
return retval:getCode()
end
else
return ""
end
end
if itemname == "transliterate" then
local sc = get_script_by_code(args[4])
return (args[1]:transliterate(args[3], sc, args[5])) or ""
elseif itemname == "makeDisplayText" then
local sc = get_script_by_code(args[4])
check_empty(5)
return (args[1]:makeDisplayText(args[3], sc)) or ""
elseif itemname == "makeEntryName" then
-- FIXME, find places that use makeEntryName and convert to stripDiacritics
local sc = get_script_by_code(args[4])
check_empty(5)
return args[1]:makeEntryName(args[3], sc) or ""
elseif itemname == "stripDiacritics" then
local sc = get_script_by_code(args[4])
check_empty(5)
return args[1]:stripDiacritics(args[3], sc) or ""
elseif itemname == "makeSortKey" then
local sc = get_script_by_code(args[4])
check_empty(5)
return (args[1]:makeSortKey(args[3], sc)) or ""
elseif itemname == "logicalToPhysical" then
check_empty(4, 5)
return args[1]:logicalToPhysical(args[3]) or ""
elseif itemname == "countCharacters" then
local sc = get_script_by_code(args[4])
check_empty(5)
return sc:countCharacters(args[3] or "")
elseif itemname == "findBestScript" then
check_empty(5)
return args[1]:findBestScript(args[3] or "", args[4]):getCode()
end
end
)
end
-- Used by the following JS:
-- * [[WT:ACCEL]]
-- * [[WT:EDIT]]
-- * [[WT:NEC]]
function export.getByCode(frame)
return getByCode(frame, false)
end
function export.getByCodeAllowEtym(frame)
return getByCode(frame, true)
end
end
function export.getByCanonicalName(frame)
return require("Module:parameters").process(frame.args, {
[1] = {required = true, type = "language", method = "name"}
})[1]:getCode() or ""
end
function export.getCanonicalName(frame)
local args = require("Module:parameters").process(
require("Module:yesno")(frame.args.parent) and frame:getParent().args or frame.args,
{
[1] = {required = true},
["return_if_invalid"] = {type = "boolean"},
}
)
local lang = require("Module:languages").getByCode(args[1], nil, true)
return lang and lang:getCanonicalName() or not args.return_if_invalid and "" or args[1]
end
function export.getFull(frame)
local args = require("Module:parameters").process(
require("Module:yesno")(frame.args.parent) and frame:getParent().args or frame.args,
{
[1] = {required = true, type = "language"},
}
)
return args[1]:getFullCode()
end
function export.getChildren(frame)
local args = require("Module:parameters").process(
require("Module:yesno")(frame.args.parent) and frame:getParent().args or frame.args,
{
[1] = {required = true, type = "language"},
}
)
local children = args[1]:getChildren()
sort(children, function(a, b)
return a:getCanonicalName() < b:getCanonicalName()
end)
local list = {}
for _, child in ipairs(children) do
insert(list, "* " .. child:makeWikipediaLink() .. ": " .. "<code>" .. child:getCode() .. "</code>")
end
return concat(list, "\n")
end
return export
qdh1xhluqselp7bdeiagt3jsbb6ur2q
साँचा:also
10
303613
488631
478026
2026-09-12T16:58:26Z
SM7
6218
updating...
488631
wikitext
text/x-wiki
<includeonly>{{safesubst:<noinclude/>#invoke:also/templates|also_t}}</includeonly><noinclude>{{documentation}}</noinclude>
syvdsuxxe4bvqib3b8ogj0mhad7zy3r
मॉड्यूल:table of contents
828
304115
488634
477685
2026-09-12T17:16:49Z
SM7
6218
updating...
488634
Scribunto
text/plain
local export = {}
local title = mw.title.getCurrentTitle()
local concat = table.concat
local html_create = mw.html.create
local insert = table.insert
local split = mw.text.split
local tostring = tostring
local function makeUrl(queryType, target)
if title and title.fullUrl and target then
return title:fullUrl(queryType and {[queryType] = target} or nil, "https")
end
end
local function link(queryType, target, display, lang_code, script_code)
local url = makeUrl(queryType, target)
if url then
local ext_link = "[" .. url .. " " .. (display or target) .. "]"
ext_link = html_create("span"):wikitext(ext_link)
ext_link = lang_code and ext_link:attr("lang", lang_code) or ext_link
ext_link = script_code and ext_link:addClass(script_code) or ext_link
return tostring(ext_link)
end
end
function export.show(frame)
local args = require("Module:parameters").process(frame.args[1] and frame.args or frame:getParent().args, {
[1] = {list = true},
["lang"] = {type = "language"},
["subcat"] = {type = "boolean"},
["top"] = true,
})
local lang, targets, displays = args.lang, args[1], {}
for i, char in ipairs(targets) do
if char:find(":") then
local target, display = char:match("([^:]+):(.+)")
if target then
targets[i] = lang and (lang:makeSortKey(target)) or target
displays[i] = display
else
error('Parameter ' .. i .. ' is badly formatted. It should contain a key to use in the link, a colon, and then the displayed text.')
end
else
targets[i] = lang and (lang:makeSortKey(char)) or char
displays[i] = char
end
end
local displays_concat, script_code = concat(displays)
if lang then
script_code = lang:findBestScript(displays_concat):getCode()
elseif displays_concat ~= "" then
script_code = require("Module:scripts").findBestScriptWithoutLang(displays_concat):getCode()
end
local subcat, queryType = args.subcat
if subcat then
queryType = "subcatfrom"
-- [[Special:WhatLinksHere/Wiktionary:Tracking/table-of-contents/subcat]]
require("Module:debug").track("table-of-contents/subcat")
else
queryType = "from"
end
local output = {}
if args.top then
local link = link(nil, args.top)
insert(output, link)
if targets and targets[1] then
insert(output, " – ")
end
end
for i, char in ipairs(targets) do
local link = link(queryType, char, displays[i], lang and lang:getCode() or nil, script_code)
insert(output, link)
end
if not lang then
insert(output, "[[श्रेणी:सदस्य:SM7/विषयसूची]]")
end
return concat(output, " ") .. require("Module:TemplateStyles")("Module:table of contents/style.css")
end
function export.full(frame)
local args = require("Module:parameters").process(frame.args[1] and frame.args or frame:getParent().args, {
[1] = {list = true},
["char2"] = true,
["lang"] = {type = "language", required = true},
["subcat"] = {type = "boolean"}
})
local lang, targets = args.lang, args[1]
local subcat, queryType = args.subcat
if subcat then
queryType = "subcatfrom"
-- [[Special:WhatLinksHere/Wiktionary:Tracking/table-of-contents/subcat]]
require("Module:debug").track("table-of-contents/subcat")
else
queryType = "from"
end
local output = html_create("table")
:attr("id", "toc")
:addClass("wikitable plainlinks categoryTOC-full vsSwitcher")
:attr("summary", "Contents")
:attr("data-toggle-category", "full table of contents")
:attr("data-toggle-show-default", "1")
:css("text-align", "center")
:tag("tr")
:tag("th")
:addClass("vsToggleElement")
:attr("colspan", #targets)
:wikitext("Contents (" .. link(nil, "Top") .. ")")
:allDone()
local row, cell
for _, vsClass in ipairs({"vsShow", "vsHide"}) do
row, cell = output:tag("tr"):addClass(vsClass), {}
local lang_code = lang:getCode()
for _, char in ipairs(targets) do
local target = lang:makeSortKey(char)
local script_code = lang:findBestScript(char):getCode()
insert(cell, link(queryType, target, char, lang_code, script_code))
end
cell = row:tag("td"):wikitext(concat(cell, " "))
:attr("colspan", #targets)
end
local char2_list = args.char2 and split(args.char2, ",") or targets
for _, char1 in ipairs(targets) do
local row = output:tag("tr")
:attr("class", "tocrow vsHide")
for _, char2 in ipairs(char2_list) do
local cell = row:tag("td")
local display = char1 .. char2
if lang:hasDottedDotlessI() then
display = display
:gsub("İ", "i")
:gsub("I", "ı")
end
display = display:ulower()
local target = lang:makeSortKey(display)
local script_code = lang:findBestScript(display):getCode()
cell = cell:wikitext(link(queryType, target, display, lang_code, script_code))
end
end
row, cell = output:tag("tr"):addClass("vsHide"), {}
for i = 0, 9 do
local display = tostring(i)
local target = lang:makeSortKey(display)
local script_code = lang:findBestScript(display):getCode()
insert(cell, link(queryType, target, display, lang_code, script_code))
end
cell = row:tag("td"):wikitext(concat(cell, " "))
:attr("colspan", #targets)
return tostring(output) .. require("Module:TemplateStyles")("Module:table of contents/style.css")
end
function export.box(frame)
local args = require("Module:parameters").process(frame.args[1] and frame.args or frame:getParent().args, {
[1] = {list = true, required = true}
})
return "{| id=\"toc\" class=\"wikitable plainlinks\" summary=\"Contents\"\n| '''Jump to:''' " .. concat(args[1], "\n|-\n| ") .. "\n|}"
end
return export
pcqfci4xupdu0y8mz4pcwszcracngxo
सदस्य:SM7/Utilities
2
304608
488622
488484
2026-09-12T13:25:19Z
SM7
6218
+ list of Module:language/data/3 subpages
488622
wikitext
text/x-wiki
{{side box
| text =
'''Quiklinks:'''
:'''हिंदी''':
* [[विक्षनरी:भाषाविज्ञान की शब्दावली|शब्दावली]]
}}
<!-- ++++++++++++++ ड्राफ़्ट एरिया +++++++++++++++++
-->
{{trans-top|absorbing all light}}
* Amharic: {{t|am|ጥቁር}}
* Arabic: {{t+|ar|أَسْوَد|m}}, {{tt|ar|سَوْدَاء|f}}, {{tt|ar|سُود|p}}
{{trans-bottom}}
<!-- ++++++++++++++++++ ++++++++++++++ लिंक एरिया +++++++++++++++++ +++++++++++++++++ -->
==[[विक्षनरी:भाषा दिशानिर्देश:भोजपुरी]]==
== विक्षनरी नामस्थान ==
* [[विक्षनरी:भाषाएँ]]
* [[विक्षनरी:नीतियाँ और दिशानिर्देश]]
* [[विक्षनरी:स्वागत]]
=== सहायता, जानकारी, या कैसे करें! ===
* [[विक्षनरी:श्रेणियाँ]] और [[विक्षनरी:श्रेणीकरण]]
=== उपकरण और औज़ार ===
* [[विक्षनरी:HotCat]]
== श्रेणियाँ ==
=== [[विक्षनरी:श्रेणीकरण]] ===
* [[:श्रेणी:मूलभूत श्रेणी]]
:* {{tl|auto cat}} → <small>([[विशेष:कड़ियाँ/साँचा:auto cat|कड़ियाँ]])</small>
:: <em>दुष्प्रयोग</em>: [[:श्रेणी:अवैध लेबल वाली श्रेणियाँ]] ({{convert num en|{{PAGESINCATEGORY:अवैध लेबल वाली श्रेणियाँ}}}})
=== रखरखाव हेतु ===
* [[विशेष:श्रेणीहीन_पृष्ठ|श्रेणीहीन पृष्ठ]]
* कड़ियाँ [[विशेष:वांछित_श्रेणियाँ|वांछित श्रेणियाँ]] एवं [[विशेष:अप्रयुक्त_श्रेणियाँ|अप्रयुक्त श्रेणियाँ]]
* [[:श्रेणी:श्रेणी पुनर्निर्देशन]]: [[:श्रेणी:ख़ाली श्रेणी पुनर्निर्देशन]] और [[:श्रेणी:ग़ैर-ख़ाली श्रेणी पुनर्निर्देशन]]
====अनिर्मित रखरखाव श्रेणियाँ (स्वचालित नाम वाली)====
* [[:श्रेणी:टूटी हुई चित्र कड़ियों वाले पृष्ठ]] ({{PAGESINCATEGORY:टूटी हुई चित्र कड़ियों वाले पृष्ठ}})
* नाम संपादन:
** [[Module:category tree/data/modules|मॉड्यूल नाम सूची एवं संपादन]]
** [[Module:category tree/data/templates|साँचा नाम सूची एवं संपादन]]
== मॉड्यूल ==
=== मॉड्यूल:languages/data/3 subpages ===
* [[मॉड्यूल:languages/data/3/a]]
* [[मॉड्यूल:languages/data/3/b]]
* [[मॉड्यूल:languages/data/3/c]]
* [[मॉड्यूल:languages/data/3/d]]
* [[मॉड्यूल:languages/data/3/e]]
* [[मॉड्यूल:languages/data/3/f]]
* [[मॉड्यूल:languages/data/3/g]]
* [[मॉड्यूल:languages/data/3/h]]
* [[मॉड्यूल:languages/data/3/i]]
* [[मॉड्यूल:languages/data/3/j]]
* [[मॉड्यूल:languages/data/3/k]]
* [[मॉड्यूल:languages/data/3/l]]
* [[मॉड्यूल:languages/data/3/m]]
* [[मॉड्यूल:languages/data/3/n]]
* [[मॉड्यूल:languages/data/3/o]]
* [[मॉड्यूल:languages/data/3/p]]
* [[मॉड्यूल:languages/data/3/q]]
* [[मॉड्यूल:languages/data/3/r]]
* [[मॉड्यूल:languages/data/3/s]]
* [[मॉड्यूल:languages/data/3/t]]
* [[मॉड्यूल:languages/data/3/u]]
* [[मॉड्यूल:languages/data/3/v]]
* [[मॉड्यूल:languages/data/3/w]]
* [[मॉड्यूल:languages/data/3/x]]
* [[मॉड्यूल:languages/data/3/y]]
* [[मॉड्यूल:languages/data/3/z]]
== साँचे ==
'''[[विक्षनरी:साँचे]]''' और '''[[:श्रेणी:साँचे]]'''
=== साँचे-0 ===
* {{tl|Pp-template}}
* {{tl|pp-template}}
* {{tl|ombox/core}}
* {{tl|Fasthelp}}
* {{tl|Welcome}}
* {{tl|Fonthelp}}
* {{tl|Fastfonthelp}}
=== साँचे-1 ===
* {{tl|lb}} का प्रयोग [[जर्मनी]] पर भाषा कोड के रूप में।
====मेरे द्वारा निर्मित (आयातित) साँचे ====
== [[User:SM7]] ==
Generated using [https://xtools.wmcloud.org/pages/hi.wiktionary.org/SM7/10 XTools] on 2026-09-06 18:14
=== साँचा ===
{| class="wikitable sortable"
! #
! Page title
! Date
! Original size
! Current size
! Links
|-
| 1
| [[:साँचा:delete/documentation]]
| [[Special:PermaLink/488249|2026-09-06 17:09]]
| {{FORMATNUM:951}}
| {{FORMATNUM:1250}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adelete%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adelete%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:delete/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=delete/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adelete%2Fdocumentation Pageviews]
|-
| 2
| [[:साँचा:label/example]]
| [[Special:PermaLink/488187|2026-09-06 14:50]]
| {{FORMATNUM:101}}
| {{FORMATNUM:101}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alabel%2Fexample Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alabel%2Fexample?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:label/example Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=label/example Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alabel%2Fexample Pageviews]
|-
| 3
| [[:साँचा:label/documentation]]
| [[Special:PermaLink/488183|2026-09-06 14:43]]
| {{FORMATNUM:10022}}
| {{FORMATNUM:10022}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alabel%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alabel%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:label/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=label/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alabel%2Fdocumentation Pageviews]
|-
| 4
| [[:साँचा:grc-pronoun form]]
| [[Special:PermaLink/488177|2026-09-06 14:34]]
| {{FORMATNUM:83}}
| {{FORMATNUM:83}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Agrc-pronoun_form Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Agrc-pronoun_form?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:grc-pronoun%20form Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=grc-pronoun_form Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Agrc-pronoun%20form Pageviews]
|-
| 5
| [[:साँचा:inflection of]]
| [[Special:PermaLink/488167|2026-09-06 09:00]]
| {{FORMATNUM:219}}
| {{FORMATNUM:219}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainflection_of Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainflection_of?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:inflection%20of Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=inflection_of Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainflection%20of Pageviews]
|-
| 6
| [[:साँचा:uses lua]]
| [[Special:PermaLink/488161|2026-09-06 08:35]]
| {{FORMATNUM:136}}
| {{FORMATNUM:136}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auses_lua Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auses_lua?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uses%20lua Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uses_lua Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auses%20lua Pageviews]
|-
| 7
| [[:साँचा:term-label/documentation]]
| [[Special:PermaLink/488157|2026-09-06 07:54]]
| {{FORMATNUM:1630}}
| {{FORMATNUM:1630}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aterm-label%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aterm-label%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:term-label/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=term-label/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aterm-label%2Fdocumentation Pageviews]
|-
| 8
| [[:साँचा:subpages]]
| [[Special:PermaLink/488025|2026-09-04 10:06]]
| {{FORMATNUM:295}}
| {{FORMATNUM:295}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asubpages Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asubpages?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:subpages Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=subpages Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asubpages Pageviews]
|-
| 9
| [[:साँचा:mbox/style.css]]
| [[Special:PermaLink/488009|2026-09-04 07:56]]
| {{FORMATNUM:4127}}
| {{FORMATNUM:4127}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ambox%2Fstyle.css Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ambox%2Fstyle.css?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:mbox/style.css Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=mbox/style.css Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ambox%2Fstyle.css Pageviews]
|-
| 10
| [[:साँचा:wikipedia/documentation]]
| [[Special:PermaLink/487897|2026-09-03 13:41]]
| {{FORMATNUM:8211}}
| {{FORMATNUM:8211}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awikipedia%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awikipedia%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:wikipedia/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=wikipedia/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awikipedia%2Fdocumentation Pageviews]
|-
| 11
| [[:साँचा:term-label]]
| [[Special:PermaLink/487886|2026-09-03 10:28]]
| {{FORMATNUM:80}}
| {{FORMATNUM:80}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aterm-label Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aterm-label?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:term-label Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=term-label Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aterm-label Pageviews]
|-
| 12
| [[:साँचा:template cat]]
| [[Special:PermaLink/487875|2026-09-03 10:06]]
| {{FORMATNUM:102}}
| {{FORMATNUM:102}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate_cat Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate_cat?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:template%20cat Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=template_cat Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate%20cat Pageviews]
|-
| 13
| [[:साँचा:bn-noun]]
| [[Special:PermaLink/487874|2026-09-03 10:04]]
| {{FORMATNUM:714}}
| {{FORMATNUM:714}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abn-noun Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abn-noun?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bn-noun Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bn-noun Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abn-noun Pageviews]
|-
| 14
| [[:साँचा:interproject-box]]
| [[Special:PermaLink/487844|2026-09-02 20:06]]
| {{FORMATNUM:982}}
| {{FORMATNUM:982}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainterproject-box Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainterproject-box?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:interproject-box Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=interproject-box Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainterproject-box Pageviews]
|-
| 15
| [[:साँचा:commons category]]
| [[Special:PermaLink/487843|2026-09-02 20:05]]
| {{FORMATNUM:316}}
| {{FORMATNUM:316}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acommons_category Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acommons_category?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:commons%20category Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=commons_category Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acommons%20category Pageviews]
|-
| 16
| [[:साँचा:pagename]]
| [[Special:PermaLink/487784|2026-09-02 17:14]]
| {{FORMATNUM:136}}
| {{FORMATNUM:136}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apagename Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apagename?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:pagename Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=pagename Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apagename Pageviews]
|-
| 17
| [[:साँचा:Babel/style.css]]
| [[Special:PermaLink/487715|2026-09-02 10:16]]
| {{FORMATNUM:6099}}
| {{FORMATNUM:6099}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3ABabel%2Fstyle.css Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3ABabel%2Fstyle.css?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Babel/style.css Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=Babel/style.css Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3ABabel%2Fstyle.css Pageviews]
|-
| 18
| [[:साँचा:catlink]]
| [[Special:PermaLink/487689|2026-09-02 03:31]]
| {{FORMATNUM:136}}
| {{FORMATNUM:136}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acatlink Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acatlink?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:catlink Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=catlink Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acatlink Pageviews]
|-
| 19
| [[:साँचा:as-prpn]]
| [[Special:PermaLink/487677|2026-09-02 02:23]]
| {{FORMATNUM:194}}
| {{FORMATNUM:194}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-prpn Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-prpn?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:as-prpn Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=as-prpn Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-prpn Pageviews]
|-
| 20
| [[:साँचा:as-prop]]
| [[Special:PermaLink/487676|2026-09-02 02:21]]
| {{FORMATNUM:904}}
| {{FORMATNUM:892}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-prop Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-prop?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:as-prop Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=as-prop Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-prop Pageviews]
|-
| 21
| [[:साँचा:as-verb]]
| [[Special:PermaLink/487675|2026-09-02 02:14]]
| {{FORMATNUM:203}}
| {{FORMATNUM:203}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-verb Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-verb?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:as-verb Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=as-verb Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-verb Pageviews]
|-
| 22
| [[:साँचा:as-adj]]
| [[Special:PermaLink/487674|2026-09-02 02:11]]
| {{FORMATNUM:355}}
| {{FORMATNUM:364}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-adj Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-adj?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:as-adj Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=as-adj Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-adj Pageviews]
|-
| 23
| [[:साँचा:as-IPA]]
| [[Special:PermaLink/487671|2026-09-01 21:02]]
| {{FORMATNUM:90}}
| {{FORMATNUM:90}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-IPA Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-IPA?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:as-IPA Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=as-IPA Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-IPA Pageviews]
|-
| 24
| [[:साँचा:root/documentation]]
| [[Special:PermaLink/487660|2026-09-01 20:31]]
| {{FORMATNUM:1118}}
| {{FORMATNUM:1118}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aroot%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aroot%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:root/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=root/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aroot%2Fdocumentation Pageviews]
|-
| 25
| [[:साँचा:head/documentation]] · (Deleted) · (Recreated)
| [https://hi.wiktionary.org/wiki/Special%3AUndelete%2F%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahead%2Fdocumentation?timestamp=20260901191103 2026-09-01 19:11]
| {{FORMATNUM:30004}}
| N/A
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahead%2Fdocumentation Log]
|-
| 26
| [[:साँचा:as-noun]]
| [[Special:PermaLink/487570|2026-09-01 16:23]]
| {{FORMATNUM:217}}
| {{FORMATNUM:217}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-noun Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-noun?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:as-noun Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=as-noun Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aas-noun Pageviews]
|-
| 27
| [[:साँचा:yesno]]
| [[Special:PermaLink/480102|2023-08-01 17:12]]
| {{FORMATNUM:340}}
| {{FORMATNUM:340}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ayesno Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ayesno?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:yesno Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=yesno Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ayesno Pageviews]
|-
| 28
| [[:साँचा:vp]]
| [[Special:PermaLink/480092|2023-07-30 22:20]]
| {{FORMATNUM:1692}}
| {{FORMATNUM:2106}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Avp Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Avp?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:vp Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=vp Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Avp Pageviews]
|-
| 29
| [[:साँचा:Shabdsagar]]
| [[Special:PermaLink/480090|2023-07-30 22:13]]
| {{FORMATNUM:1549}}
| {{FORMATNUM:1549}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AShabdsagar Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AShabdsagar?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Shabdsagar Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=Shabdsagar Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AShabdsagar Pageviews]
|-
| 30
| [[:साँचा:maintenance line]]
| [[Special:PermaLink/480089|2023-07-30 21:50]]
| {{FORMATNUM:111}}
| {{FORMATNUM:111}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amaintenance_line Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amaintenance_line?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:maintenance%20line Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=maintenance_line Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amaintenance%20line Pageviews]
|-
| 31
| [[:साँचा:rfex]]
| [[Special:PermaLink/480088|2023-07-30 21:49]]
| {{FORMATNUM:433}}
| {{FORMATNUM:688}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfex Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfex?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfex Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfex Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfex Pageviews]
|-
| 32
| [[:साँचा:rfquote]]
| [[Special:PermaLink/480087|2023-07-30 21:47]]
| {{FORMATNUM:650}}
| {{FORMATNUM:981}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfquote Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfquote?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfquote Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfquote Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfquote Pageviews]
|-
| 33
| [[:साँचा:rfi]]
| [[Special:PermaLink/480086|2023-07-30 21:46]]
| {{FORMATNUM:791}}
| {{FORMATNUM:1380}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfi Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfi?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfi Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfi Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfi Pageviews]
|-
| 34
| [[:साँचा:rfe/dowork]]
| [[Special:PermaLink/480085|2023-07-30 21:43]]
| {{FORMATNUM:761}}
| {{FORMATNUM:884}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfe%2Fdowork Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfe%2Fdowork?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfe/dowork Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfe/dowork Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfe%2Fdowork Pageviews]
|-
| 35
| [[:साँचा:rfe]]
| [[Special:PermaLink/480084|2023-07-30 21:42]]
| {{FORMATNUM:606}}
| {{FORMATNUM:606}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfe Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfe?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfe Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfe Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfe Pageviews]
|-
| 36
| [[:साँचा:rfp]]
| [[Special:PermaLink/480083|2023-07-30 21:15]]
| {{FORMATNUM:971}}
| {{FORMATNUM:1243}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfp Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfp?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfp Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfp Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfp Pageviews]
|-
| 37
| [[:साँचा:rfdef]]
| [[Special:PermaLink/480082|2023-07-30 21:13]]
| {{FORMATNUM:1024}}
| {{FORMATNUM:1523}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfdef Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfdef?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfdef Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfdef Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfdef Pageviews]
|-
| 38
| [[:साँचा:rfc]]
| [[Special:PermaLink/480081|2023-07-30 20:53]]
| {{FORMATNUM:1493}}
| {{FORMATNUM:1906}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfc Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfc?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfc Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfc Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfc Pageviews]
|-
| 39
| [[:साँचा:rfv]]
| [[Special:PermaLink/480080|2023-07-30 20:51]]
| {{FORMATNUM:2699}}
| {{FORMATNUM:3775}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfv Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfv?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfv Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfv Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfv Pageviews]
|-
| 40
| [[:साँचा:fake====]]
| [[Special:PermaLink/480071|2023-07-30 09:33]]
| {{FORMATNUM:259}}
| {{FORMATNUM:259}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Afake%3D%3D%3D%3D Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Afake%3D%3D%3D%3D?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:fake==== Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=fake%3D%3D%3D%3D Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Afake%3D%3D%3D%3D Pageviews]
|-
| 41
| [[:साँचा:form of/fulldoc]]
| [[Special:PermaLink/480057|2023-07-28 13:37]]
| {{FORMATNUM:184}}
| {{FORMATNUM:184}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aform_of%2Ffulldoc Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aform_of%2Ffulldoc?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:form%20of/fulldoc Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=form_of/fulldoc Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aform%20of%2Ffulldoc Pageviews]
|-
| 42
| [[:साँचा:clipping of/documentation]]
| [[Special:PermaLink/480056|2023-07-28 13:36]]
| {{FORMATNUM:301}}
| {{FORMATNUM:301}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aclipping_of%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aclipping_of%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:clipping%20of/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=clipping_of/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aclipping%20of%2Fdocumentation Pageviews]
|-
| 43
| [[:साँचा:clipping of]]
| [[Special:PermaLink/480049|2023-07-28 13:15]]
| {{FORMATNUM:259}}
| {{FORMATNUM:259}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aclipping_of Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aclipping_of?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:clipping%20of Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=clipping_of Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aclipping%20of Pageviews]
|-
| 44
| [[:साँचा:clipping]]
| [[Special:PermaLink/480048|2023-07-28 13:14]]
| {{FORMATNUM:166}}
| {{FORMATNUM:166}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aclipping Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aclipping?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:clipping Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=clipping Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aclipping Pageviews]
|-
| 45
| [[:साँचा:blend]]
| [[Special:PermaLink/480047|2023-07-28 13:11]]
| {{FORMATNUM:169}}
| {{FORMATNUM:216}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ablend Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ablend?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:blend Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=blend Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ablend Pageviews]
|-
| 46
| [[:साँचा:welcomeip]]
| [[Special:PermaLink/480042|2023-07-28 08:50]]
| {{FORMATNUM:3103}}
| {{FORMATNUM:3105}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awelcomeip Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awelcomeip?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:welcomeip Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=welcomeip Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awelcomeip Pageviews]
|-
| 47
| [[:साँचा:named-after]]
| [[Special:PermaLink/480041|2023-07-28 08:34]]
| {{FORMATNUM:1363}}
| {{FORMATNUM:1363}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anamed-after Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anamed-after?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:named-after Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=named-after Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anamed-after Pageviews]
|-
| 48
| [[:साँचा:unknown]]
| [[Special:PermaLink/480039|2023-07-28 08:33]]
| {{FORMATNUM:178}}
| {{FORMATNUM:178}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aunknown Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aunknown?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:unknown Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=unknown Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aunknown Pageviews]
|-
| 49
| [[:साँचा:short for]]
| [[Special:PermaLink/480038|2023-07-28 08:32]]
| {{FORMATNUM:259}}
| {{FORMATNUM:259}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ashort_for Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ashort_for?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:short%20for Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=short_for Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ashort%20for Pageviews]
|-
| 50
| [[:साँचा:root]]
| [[Special:PermaLink/480036|2023-07-28 08:26]]
| {{FORMATNUM:97}}
| {{FORMATNUM:97}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aroot Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aroot?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:root Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=root Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aroot Pageviews]
|-
| 51
| [[:साँचा:orthographic borrowing]]
| [[Special:PermaLink/480032|2023-07-28 08:22]]
| {{FORMATNUM:180}}
| {{FORMATNUM:180}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aorthographic_borrowing Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aorthographic_borrowing?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:orthographic%20borrowing Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=orthographic_borrowing Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aorthographic%20borrowing Pageviews]
|-
| 52
| [[:साँचा:learned borrowing]]
| [[Special:PermaLink/480029|2023-07-28 08:20]]
| {{FORMATNUM:180}}
| {{FORMATNUM:157}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alearned_borrowing Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alearned_borrowing?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:learned%20borrowing Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=learned_borrowing Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alearned%20borrowing Pageviews]
|-
| 53
| [[:साँचा:wikibooks]]
| [[Special:PermaLink/480028|2023-07-27 20:32]]
| {{FORMATNUM:1133}}
| {{FORMATNUM:1133}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awikibooks Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awikibooks?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:wikibooks Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=wikibooks Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awikibooks Pageviews]
|-
| 54
| [[:साँचा:wikisource]]
| [[Special:PermaLink/480022|2023-07-27 19:56]]
| {{FORMATNUM:848}}
| {{FORMATNUM:937}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awikisource Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awikisource?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:wikisource Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=wikisource Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awikisource Pageviews]
|-
| 55
| [[:साँचा:slim-wikipedia]]
| [[Special:PermaLink/480020|2023-07-27 19:49]]
| {{FORMATNUM:85}}
| {{FORMATNUM:85}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aslim-wikipedia Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aslim-wikipedia?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:slim-wikipedia Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=slim-wikipedia Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aslim-wikipedia Pageviews]
|-
| 56
| [[:साँचा:tt+]]
| [[Special:PermaLink/480006|2023-07-27 05:46]]
| {{FORMATNUM:621}}
| {{FORMATNUM:621}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Att%2B Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Att%2B?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:tt+ Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=tt%2B Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Att%2B Pageviews]
|-
| 57
| [[:साँचा:multitrans]]
| [[Special:PermaLink/480005|2023-07-27 05:36]]
| {{FORMATNUM:75}}
| {{FORMATNUM:75}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amultitrans Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amultitrans?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:multitrans Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=multitrans Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amultitrans Pageviews]
|-
| 58
| [[:साँचा:t/documentation]]
| [[Special:PermaLink/480003|2023-07-27 05:33]]
| {{FORMATNUM:6162}}
| {{FORMATNUM:6162}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3At%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3At%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:t/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=t/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3At%2Fdocumentation Pageviews]
|-
| 59
| [[:साँचा:trans-top/documentation]]
| [[Special:PermaLink/480002|2023-07-27 05:31]]
| {{FORMATNUM:5727}}
| {{FORMATNUM:5727}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atrans-top%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atrans-top%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:trans-top/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=trans-top/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atrans-top%2Fdocumentation Pageviews]
|-
| 60
| [[:साँचा:quote]]
| [[Special:PermaLink/479910|2023-07-24 11:24]]
| {{FORMATNUM:81}}
| {{FORMATNUM:81}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:quote Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=quote Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote Pageviews]
|-
| 61
| [[:साँचा:hi-interj]]
| [[Special:PermaLink/479909|2023-07-24 11:22]]
| {{FORMATNUM:91}}
| {{FORMATNUM:91}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahi-interj Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahi-interj?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:hi-interj Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=hi-interj Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahi-interj Pageviews]
|-
| 62
| [[:साँचा:was fwotd]] · (Deleted)
| [https://hi.wiktionary.org/wiki/Special%3AUndelete%2F%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awas_fwotd?timestamp=20230724112030 2023-07-24 11:20]
| {{FORMATNUM:91}}
| N/A
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Awas_fwotd Log]
|-
| 63
| [[:साँचा:pedia]]
| [[Special:PermaLink/479863|2023-07-22 19:51]]
| {{FORMATNUM:134}}
| {{FORMATNUM:134}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apedia Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apedia?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:pedia Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=pedia Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apedia Pageviews]
|-
| 64
| [[:साँचा:quote-meta/quote]]
| [[Special:PermaLink/479858|2023-07-22 19:44]]
| {{FORMATNUM:92}}
| {{FORMATNUM:92}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote-meta%2Fquote Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote-meta%2Fquote?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:quote-meta/quote Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=quote-meta/quote Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote-meta%2Fquote Pageviews]
|-
| 65
| [[:साँचा:quote-meta]]
| [[Special:PermaLink/479857|2023-07-22 19:43]]
| {{FORMATNUM:914}}
| {{FORMATNUM:914}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote-meta Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote-meta?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:quote-meta Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=quote-meta Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote-meta Pageviews]
|-
| 66
| [[:साँचा:quote-book]]
| [[Special:PermaLink/479856|2023-07-22 19:42]]
| {{FORMATNUM:2274}}
| {{FORMATNUM:2274}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote-book Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote-book?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:quote-book Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=quote-book Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aquote-book Pageviews]
|-
| 67
| [[:साँचा:ux]]
| [[Special:PermaLink/479855|2023-07-22 19:40]]
| {{FORMATNUM:73}}
| {{FORMATNUM:73}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aux Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aux?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:ux Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=ux Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aux Pageviews]
|-
| 68
| [[:साँचा:hyphenation]]
| [[Special:PermaLink/479853|2023-07-22 19:38]]
| {{FORMATNUM:209}}
| {{FORMATNUM:209}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahyphenation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahyphenation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:hyphenation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=hyphenation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahyphenation Pageviews]
|-
| 69
| [[:साँचा:rhymes]]
| [[Special:PermaLink/479852|2023-07-22 19:30]]
| {{FORMATNUM:197}}
| {{FORMATNUM:197}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arhymes Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arhymes?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rhymes Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rhymes Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arhymes Pageviews]
|-
| 70
| [[:साँचा:request box]]
| [[Special:PermaLink/479851|2023-07-22 19:28]]
| {{FORMATNUM:429}}
| {{FORMATNUM:429}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arequest_box Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arequest_box?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:request%20box Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=request_box Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arequest%20box Pageviews]
|-
| 71
| [[:साँचा:rfap]]
| [[Special:PermaLink/479850|2023-07-22 19:27]]
| {{FORMATNUM:1350}}
| {{FORMATNUM:1935}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfap Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfap?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfap Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfap Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfap Pageviews]
|-
| 72
| [[:साँचा:doublet]]
| [[Special:PermaLink/479849|2023-07-22 19:24]]
| {{FORMATNUM:186}}
| {{FORMATNUM:186}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adoublet Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adoublet?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:doublet Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=doublet Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adoublet Pageviews]
|-
| 73
| [[:साँचा:cs-proper noun]]
| [[Special:PermaLink/479845|2023-07-22 19:10]]
| {{FORMATNUM:90}}
| {{FORMATNUM:90}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acs-proper_noun Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acs-proper_noun?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:cs-proper%20noun Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=cs-proper_noun Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acs-proper%20noun Pageviews]
|-
| 74
| [[:साँचा:rfd/documentation]]
| [[Special:PermaLink/479818|2023-07-21 21:16]]
| {{FORMATNUM:2098}}
| {{FORMATNUM:2098}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfd%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfd%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfd/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfd/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfd%2Fdocumentation Pageviews]
|-
| 75
| [[:साँचा:rfd/preload$1]]
| [[Special:PermaLink/479808|2023-07-21 20:29]]
| {{FORMATNUM:2}}
| {{FORMATNUM:2}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfd%2Fpreload%241 Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfd%2Fpreload%241?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfd/preload%241 Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfd/preload%241 Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfd%2Fpreload%241 Pageviews]
|-
| 76
| [[:साँचा:rfd]]
| [[Special:PermaLink/479807|2023-07-21 03:03]]
| {{FORMATNUM:2689}}
| {{FORMATNUM:3731}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfd Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfd?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:rfd Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=rfd Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Arfd Pageviews]
|-
| 77
| [[:साँचा:attention]]
| [[Special:PermaLink/479804|2023-07-21 02:37]]
| {{FORMATNUM:102}}
| {{FORMATNUM:102}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aattention Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aattention?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:attention Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=attention Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aattention Pageviews]
|-
| 78
| [[:साँचा:tetl]]
| [[Special:PermaLink/479798|2023-07-21 02:05]]
| {{FORMATNUM:623}}
| {{FORMATNUM:623}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atetl Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atetl?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:tetl Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=tetl Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atetl Pageviews]
|-
| 79
| [[:साँचा:cognate]]
| [[Special:PermaLink/479795|2023-07-21 01:45]]
| {{FORMATNUM:139}}
| {{FORMATNUM:139}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acognate Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acognate?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:cognate Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=cognate Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acognate Pageviews]
|-
| 80
| [[:साँचा:maincat]]
| [[Special:PermaLink/479790|2023-07-21 01:35]]
| {{FORMATNUM:2944}}
| {{FORMATNUM:3157}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amaincat Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amaincat?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:maincat Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=maincat Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amaincat Pageviews]
|-
| 81
| [[:साँचा:enPRchar]]
| [[Special:PermaLink/479781|2023-07-21 00:28]]
| {{FORMATNUM:651}}
| {{FORMATNUM:711}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AenPRchar Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AenPRchar?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:enPRchar Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=enPRchar Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AenPRchar Pageviews]
|-
| 82
| [[:साँचा:enPR]]
| [[Special:PermaLink/479780|2023-07-21 00:26]]
| {{FORMATNUM:286}}
| {{FORMATNUM:286}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AenPR Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AenPR?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:enPR Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=enPR Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AenPR Pageviews]
|-
| 83
| [[:साँचा:IPAchar]]
| [[Special:PermaLink/479778|2023-07-21 00:22]]
| {{FORMATNUM:73}}
| {{FORMATNUM:135}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AIPAchar Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AIPAchar?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:IPAchar Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=IPAchar Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AIPAchar Pageviews]
|-
| 84
| [[:साँचा:cite-web]]
| [[Special:PermaLink/479746|2023-07-18 16:48]]
| {{FORMATNUM:4612}}
| {{FORMATNUM:4612}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acite-web Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acite-web?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:cite-web Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=cite-web Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acite-web Pageviews]
|-
| 85
| [[:साँचा:R:inc-hnd:Rekhta]]
| [[Special:PermaLink/479745|2023-07-18 16:46]]
| {{FORMATNUM:451}}
| {{FORMATNUM:451}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AR%3Ainc-hnd%3ARekhta Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AR%3Ainc-hnd%3ARekhta?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:R:inc-hnd:Rekhta Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=R:inc-hnd:Rekhta Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AR%3Ainc-hnd%3ARekhta Pageviews]
|-
| 86
| [[:साँचा:pediawelcome]]
| [[Special:PermaLink/479743|2023-07-18 16:35]]
| {{FORMATNUM:7578}}
| {{FORMATNUM:7578}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apediawelcome Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apediawelcome?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:pediawelcome Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=pediawelcome Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apediawelcome Pageviews]
|-
| 87
| [[:साँचा:module cat]]
| [[Special:PermaLink/479728|2023-07-17 19:53]]
| {{FORMATNUM:127}}
| {{FORMATNUM:127}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amodule_cat Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amodule_cat?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:module%20cat Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=module_cat Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amodule%20cat Pageviews]
|-
| 88
| [[:साँचा:tooltip]]
| [[Special:PermaLink/479701|2023-07-17 16:12]]
| {{FORMATNUM:200}}
| {{FORMATNUM:200}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atooltip Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atooltip?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:tooltip Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=tooltip Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atooltip Pageviews]
|-
| 89
| [[:साँचा:compound]]
| [[Special:PermaLink/479699|2023-07-17 15:47]]
| {{FORMATNUM:76}}
| {{FORMATNUM:76}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acompound Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acompound?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:compound Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=compound Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acompound Pageviews]
|-
| 90
| [[:साँचा:labels-search]]
| [[Special:PermaLink/479559|2023-07-16 19:28]]
| {{FORMATNUM:275}}
| {{FORMATNUM:275}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alabels-search Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alabels-search?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:labels-search Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=labels-search Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alabels-search Pageviews]
|-
| 91
| [[:साँचा:t-needed]]
| [[Special:PermaLink/479462|2023-07-15 17:38]]
| {{FORMATNUM:597}}
| {{FORMATNUM:597}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3At-needed Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3At-needed?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:t-needed Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=t-needed Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3At-needed Pageviews]
|-
| 92
| [[:साँचा:discussion recent months]]
| [[Special:PermaLink/479443|2023-07-15 07:01]]
| {{FORMATNUM:582}}
| {{FORMATNUM:582}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adiscussion_recent_months Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adiscussion_recent_months?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:discussion%20recent%20months Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=discussion_recent_months Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adiscussion%20recent%20months Pageviews]
|-
| 93
| [[:साँचा:empty cell]]
| [[Special:PermaLink/479401|2023-07-14 15:42]]
| {{FORMATNUM:97}}
| {{FORMATNUM:97}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aempty_cell Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aempty_cell?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:empty%20cell Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=empty_cell Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aempty%20cell Pageviews]
|-
| 94
| [[:साँचा:side box]]
| [[Special:PermaLink/479400|2023-07-14 15:41]]
| {{FORMATNUM:1281}}
| {{FORMATNUM:1281}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aside_box Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aside_box?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:side%20box Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=side_box Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aside%20box Pageviews]
|-
| 95
| [[:साँचा:tocright]]
| [[Special:PermaLink/479390|2023-07-14 13:10]]
| {{FORMATNUM:609}}
| {{FORMATNUM:617}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atocright Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atocright?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:tocright Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=tocright Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atocright Pageviews]
|-
| 96
| [[:साँचा:box-bottom]]
| [[Special:PermaLink/479369|2023-07-13 21:57]]
| {{FORMATNUM:184}}
| {{FORMATNUM:184}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abox-bottom Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abox-bottom?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:box-bottom Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=box-bottom Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abox-bottom Pageviews]
|-
| 97
| [[:साँचा:box-top]]
| [[Special:PermaLink/479368|2023-07-13 21:55]]
| {{FORMATNUM:368}}
| {{FORMATNUM:368}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abox-top Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abox-top?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:box-top Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=box-top Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abox-top Pageviews]
|-
| 98
| [[:साँचा:sandbox1]]
| [[Special:PermaLink/479293|2023-07-13 02:02]]
| {{FORMATNUM:113}}
| {{FORMATNUM:156}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asandbox1 Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asandbox1?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:sandbox1 Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=sandbox1 Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asandbox1 Pageviews]
|-
| 99
| [[:साँचा:borrowed]]
| [[Special:PermaLink/479221|2023-07-12 22:45]]
| {{FORMATNUM:136}}
| {{FORMATNUM:127}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aborrowed Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aborrowed?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:borrowed Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=borrowed Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aborrowed Pageviews]
|-
| 100
| [[:साँचा:sandbox]]
| [[Special:PermaLink/479220|2023-07-12 22:44]]
| {{FORMATNUM:89}}
| {{FORMATNUM:538}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asandbox Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asandbox?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:sandbox Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=sandbox Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asandbox Pageviews]
|-
| 101
| [[:साँचा:hi-proper noun]]
| [[Special:PermaLink/479151|2023-07-12 19:59]]
| {{FORMATNUM:90}}
| {{FORMATNUM:90}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahi-proper_noun Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahi-proper_noun?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:hi-proper%20noun Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=hi-proper_noun Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahi-proper%20noun Pageviews]
|-
| 102
| [[:साँचा:uxi]]
| [[Special:PermaLink/479139|2023-07-12 19:18]]
| {{FORMATNUM:82}}
| {{FORMATNUM:82}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auxi Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auxi?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uxi Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uxi Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auxi Pageviews]
|-
| 103
| [[:साँचा:hi-usex]]
| [[Special:PermaLink/479136|2023-07-12 19:01]]
| {{FORMATNUM:125}}
| {{FORMATNUM:198}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahi-usex Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahi-usex?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:hi-usex Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=hi-usex Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ahi-usex Pageviews]
|-
| 104
| [[:साँचा:anchor]]
| [[Special:PermaLink/479128|2023-07-12 18:13]]
| {{FORMATNUM:90}}
| {{FORMATNUM:90}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aanchor Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aanchor?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:anchor Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=anchor Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aanchor Pageviews]
|-
| 105
| [[:साँचा:glossary]]
| [[Special:PermaLink/479125|2023-07-12 17:33]]
| {{FORMATNUM:75}}
| {{FORMATNUM:75}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aglossary Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aglossary?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:glossary Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=glossary Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aglossary Pageviews]
|-
| 106
| [[:साँचा:inherited]]
| [[Special:PermaLink/479122|2023-07-12 17:30]]
| {{FORMATNUM:147}}
| {{FORMATNUM:147}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainherited Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainherited?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:inherited Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=inherited Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainherited Pageviews]
|-
| 107
| [[:साँचा:descendant]]
| [[Special:PermaLink/479116|2023-07-12 16:32]]
| {{FORMATNUM:95}}
| {{FORMATNUM:95}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adescendant Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adescendant?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:descendant Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=descendant Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adescendant Pageviews]
|-
| 108
| [[:साँचा:nb...]]
| [[Special:PermaLink/479111|2023-07-12 16:17]]
| {{FORMATNUM:484}}
| {{FORMATNUM:484}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anb... Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anb...?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:nb... Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=nb... Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anb... Pageviews]
|-
| 109
| [[:साँचा:R:sa:MW]]
| [[Special:PermaLink/479110|2023-07-12 16:14]]
| {{FORMATNUM:2973}}
| {{FORMATNUM:2973}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AR%3Asa%3AMW Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AR%3Asa%3AMW?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:R:sa:MW Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=R:sa:MW Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AR%3Asa%3AMW Pageviews]
|-
| 110
| [[:साँचा:reference template cat]]
| [[Special:PermaLink/479104|2023-07-12 15:54]]
| {{FORMATNUM:106}}
| {{FORMATNUM:106}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Areference_template_cat Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Areference_template_cat?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:reference%20template%20cat Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=reference_template_cat Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Areference%20template%20cat Pageviews]
|-
| 111
| [[:साँचा:cite-meta]]
| [[Special:PermaLink/479102|2023-07-12 15:50]]
| {{FORMATNUM:21911}}
| {{FORMATNUM:21970}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acite-meta Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acite-meta?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:cite-meta Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=cite-meta Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acite-meta Pageviews]
|-
| 112
| [[:साँचा:cite-book]]
| [[Special:PermaLink/479101|2023-07-12 15:40]]
| {{FORMATNUM:5187}}
| {{FORMATNUM:5187}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acite-book Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acite-book?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:cite-book Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=cite-book Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acite-book Pageviews]
|-
| 113
| [[:साँचा:affix]]
| [[Special:PermaLink/479087|2023-07-12 14:12]]
| {{FORMATNUM:85}}
| {{FORMATNUM:82}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aaffix Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aaffix?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:affix Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=affix Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aaffix Pageviews]
|-
| 114
| [[:साँचा:end frame]]
| [[Special:PermaLink/479026|2023-07-12 09:05]]
| {{FORMATNUM:80}}
| {{FORMATNUM:105}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aend_frame Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aend_frame?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:end%20frame Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=end_frame Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aend%20frame Pageviews]
|-
| 115
| [[:साँचा:start colorful frame]]
| [[Special:PermaLink/479025|2023-07-12 09:03]]
| {{FORMATNUM:977}}
| {{FORMATNUM:1014}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Astart_colorful_frame Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Astart_colorful_frame?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:start%20colorful%20frame Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=start_colorful_frame Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Astart%20colorful%20frame Pageviews]
|-
| 116
| [[:साँचा:title]]
| [[Special:PermaLink/479023|2023-07-12 08:51]]
| {{FORMATNUM:270}}
| {{FORMATNUM:292}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atitle Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atitle?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:title Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=title Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atitle Pageviews]
|-
| 117
| [[:साँचा:uw-editsummary]]
| [[Special:PermaLink/479019|2023-07-11 23:36]]
| {{FORMATNUM:1419}}
| {{FORMATNUM:1419}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-editsummary Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-editsummary?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-editsummary Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-editsummary Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-editsummary Pageviews]
|-
| 118
| [[:साँचा:uw-unsighned]]
| [[Special:PermaLink/479016|2023-07-11 23:22]]
| {{FORMATNUM:2123}}
| {{FORMATNUM:2123}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-unsighned Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-unsighned?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-unsighned Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-unsighned Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-unsighned Pageviews]
|-
| 119
| [[:साँचा:uw-spam]]
| [[Special:PermaLink/479015|2023-07-11 23:04]]
| {{FORMATNUM:945}}
| {{FORMATNUM:945}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-spam Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-spam?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-spam Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-spam Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-spam Pageviews]
|-
| 120
| [[:साँचा:uw-notwikipediacat]]
| [[Special:PermaLink/479008|2023-07-11 22:46]]
| {{FORMATNUM:731}}
| {{FORMATNUM:731}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-notwikipediacat Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-notwikipediacat?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-notwikipediacat Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-notwikipediacat Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-notwikipediacat Pageviews]
|-
| 121
| [[:साँचा:uw-notwikipedia]]
| [[Special:PermaLink/479007|2023-07-11 22:24]]
| {{FORMATNUM:1051}}
| {{FORMATNUM:1051}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-notwikipedia Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-notwikipedia?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-notwikipedia Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-notwikipedia Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-notwikipedia Pageviews]
|-
| 122
| [[:साँचा:uw-vand4]]
| [[Special:PermaLink/479004|2023-07-11 22:15]]
| {{FORMATNUM:603}}
| {{FORMATNUM:605}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-vand4 Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-vand4?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-vand4 Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-vand4 Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-vand4 Pageviews]
|-
| 123
| [[:साँचा:uw-vand3]]
| [[Special:PermaLink/479002|2023-07-11 22:10]]
| {{FORMATNUM:1011}}
| {{FORMATNUM:1003}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-vand3 Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-vand3?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-vand3 Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-vand3 Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-vand3 Pageviews]
|-
| 124
| [[:साँचा:uw-test2]]
| [[Special:PermaLink/479000|2023-07-11 21:54]]
| {{FORMATNUM:1112}}
| {{FORMATNUM:1100}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-test2 Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-test2?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-test2 Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-test2 Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-test2 Pageviews]
|-
| 125
| [[:साँचा:lua]]
| [[Special:PermaLink/478912|2023-07-11 18:20]]
| {{FORMATNUM:199}}
| {{FORMATNUM:199}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alua Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alua?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:lua Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=lua Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Alua Pageviews]
|-
| 126
| [[:साँचा:synonyms/documentation]]
| [[Special:PermaLink/478910|2023-07-11 18:09]]
| {{FORMATNUM:10800}}
| {{FORMATNUM:10800}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asynonyms%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asynonyms%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:synonyms/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=synonyms/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asynonyms%2Fdocumentation Pageviews]
|-
| 127
| [[:साँचा:synonyms]]
| [[Special:PermaLink/478909|2023-07-11 18:08]]
| {{FORMATNUM:69}}
| {{FORMATNUM:92}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asynonyms Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asynonyms?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:synonyms Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=synonyms Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asynonyms Pageviews]
|-
| 128
| [[:साँचा:main/documentation]]
| [[Special:PermaLink/478762|2023-07-11 13:06]]
| {{FORMATNUM:387}}
| {{FORMATNUM:410}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amain%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amain%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:main/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=main/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amain%2Fdocumentation Pageviews]
|-
| 129
| [[:साँचा:User lang-1]]
| [[Special:PermaLink/478590|2023-07-11 07:48]]
| {{FORMATNUM:969}}
| {{FORMATNUM:969}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AUser_lang-1 Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AUser_lang-1?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:User%20lang-1 Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=User_lang-1 Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3AUser%20lang-1 Pageviews]
|-
| 130
| [[:साँचा:fa-IPA]]
| [[Special:PermaLink/478569|2023-07-10 21:54]]
| {{FORMATNUM:90}}
| {{FORMATNUM:90}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Afa-IPA Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Afa-IPA?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:fa-IPA Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=fa-IPA Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Afa-IPA Pageviews]
|-
| 131
| [[:साँचा:fa-verb]]
| [[Special:PermaLink/478566|2023-07-10 21:09]]
| {{FORMATNUM:292}}
| {{FORMATNUM:364}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Afa-verb Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Afa-verb?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:fa-verb Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=fa-verb Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Afa-verb Pageviews]
|-
| 132
| [[:साँचा:main]]
| [[Special:PermaLink/478560|2023-07-10 09:36]]
| {{FORMATNUM:104}}
| {{FORMATNUM:104}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amain Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amain?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:main Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=main Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amain Pageviews]
|-
| 133
| [[:साँचा:pagetype]]
| [[Special:PermaLink/478557|2023-07-10 09:26]]
| {{FORMATNUM:1255}}
| {{FORMATNUM:1414}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apagetype Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apagetype?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:pagetype Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=pagetype Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apagetype Pageviews]
|-
| 134
| [[:साँचा:nothindi/documentation]]
| [[Special:PermaLink/478553|2023-07-10 08:56]]
| {{FORMATNUM:298}}
| {{FORMATNUM:298}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anothindi%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anothindi%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:nothindi/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=nothindi/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anothindi%2Fdocumentation Pageviews]
|-
| 135
| [[:साँचा:policy-list]]
| [[Special:PermaLink/478550|2023-07-10 08:00]]
| {{FORMATNUM:1041}}
| {{FORMATNUM:1041}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-list Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-list?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:policy-list Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=policy-list Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-list Pageviews]
|-
| 136
| [[:साँचा:nobr]]
| [[Special:PermaLink/478549|2023-07-10 07:57]]
| {{FORMATNUM:93}}
| {{FORMATNUM:93}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anobr Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anobr?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:nobr Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=nobr Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anobr Pageviews]
|-
| 137
| [[:साँचा:policy-TT]]
| [[Special:PermaLink/478547|2023-07-10 07:47]]
| {{FORMATNUM:817}}
| {{FORMATNUM:801}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-TT Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-TT?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:policy-TT Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=policy-TT Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-TT Pageviews]
|-
| 138
| [[:साँचा:SM7/lang]]
| [[Special:PermaLink/478536|2023-07-10 02:16]]
| {{FORMATNUM:148}}
| {{FORMATNUM:152}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3ASM7%2Flang Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3ASM7%2Flang?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:SM7/lang Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=SM7/lang Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3ASM7%2Flang Pageviews]
|-
| 139
| [[:साँचा:uw-test1]]
| [[Special:PermaLink/478535|2023-07-10 01:58]]
| {{FORMATNUM:1011}}
| {{FORMATNUM:1003}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-test1 Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-test1?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-test1 Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-test1 Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-test1 Pageviews]
|-
| 140
| [[:साँचा:uw-directly]]
| [[Special:PermaLink/478534|2023-07-10 01:48]]
| {{FORMATNUM:1447}}
| {{FORMATNUM:1449}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-directly Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-directly?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-directly Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-directly Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-directly Pageviews]
|-
| 141
| [[:साँचा:alternative spelling of]]
| [[Special:PermaLink/478533|2023-07-10 01:32]]
| {{FORMATNUM:368}}
| {{FORMATNUM:368}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aalternative_spelling_of Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aalternative_spelling_of?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:alternative%20spelling%20of Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=alternative_spelling_of Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aalternative%20spelling%20of Pageviews]
|-
| 142
| [[:साँचा:misspelling of]]
| [[Special:PermaLink/478532|2023-07-10 01:31]]
| {{FORMATNUM:265}}
| {{FORMATNUM:265}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amisspelling_of Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amisspelling_of?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:misspelling%20of Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=misspelling_of Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amisspelling%20of Pageviews]
|-
| 143
| [[:साँचा:template redirect/documentation]]
| [[Special:PermaLink/478303|2023-07-09 11:49]]
| {{FORMATNUM:317}}
| {{FORMATNUM:235}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate_redirect%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate_redirect%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:template%20redirect/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=template_redirect/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate%20redirect%2Fdocumentation Pageviews]
|-
| 144
| [[:साँचा:template redirect]]
| [[Special:PermaLink/478302|2023-07-09 11:48]]
| {{FORMATNUM:145}}
| {{FORMATNUM:139}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate_redirect Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate_redirect?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:template%20redirect Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=template_redirect Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate%20redirect Pageviews]
|-
| 145
| [[:साँचा:movecat/documentation]]
| [[Special:PermaLink/478293|2023-07-09 11:40]]
| {{FORMATNUM:326}}
| {{FORMATNUM:235}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amovecat%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amovecat%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:movecat/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=movecat/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amovecat%2Fdocumentation Pageviews]
|-
| 146
| [[:साँचा:template redirect-hi/documentation]]
| [[Special:PermaLink/478286|2023-07-09 11:24]]
| {{FORMATNUM:1338}}
| {{FORMATNUM:1293}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate_redirect-hi%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate_redirect-hi%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:template%20redirect-hi/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=template_redirect-hi/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate%20redirect-hi%2Fdocumentation Pageviews]
|-
| 147
| [[:साँचा:template redirect-hi]]
| [[Special:PermaLink/478285|2023-07-09 11:17]]
| {{FORMATNUM:179}}
| {{FORMATNUM:173}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate_redirect-hi Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate_redirect-hi?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:template%20redirect-hi Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=template_redirect-hi Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atemplate%20redirect-hi Pageviews]
|-
| 148
| [[:साँचा:uw-asdfg]]
| [[Special:PermaLink/478283|2023-07-09 11:02]]
| {{FORMATNUM:2217}}
| {{FORMATNUM:2260}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-asdfg Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-asdfg?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:uw-asdfg Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=uw-asdfg Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Auw-asdfg Pageviews]
|-
| 149
| [[:साँचा:तटस्थ]]
| [[Special:PermaLink/478266|2023-07-08 22:01]]
| {{FORMATNUM:122}}
| {{FORMATNUM:85}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3A%E0%A4%A4%E0%A4%9F%E0%A4%B8%E0%A5%8D%E0%A4%A5 Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3A%E0%A4%A4%E0%A4%9F%E0%A4%B8%E0%A5%8D%E0%A4%A5?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:%E0%A4%A4%E0%A4%9F%E0%A4%B8%E0%A5%8D%E0%A4%A5 Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=%E0%A4%A4%E0%A4%9F%E0%A4%B8%E0%A5%8D%E0%A4%A5 Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3A%E0%A4%A4%E0%A4%9F%E0%A4%B8%E0%A5%8D%E0%A4%A5 Pageviews]
|-
| 150
| [[:साँचा:abstain]]
| [[Special:PermaLink/478265|2023-07-08 21:54]]
| {{FORMATNUM:164}}
| {{FORMATNUM:164}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aabstain Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aabstain?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:abstain Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=abstain Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aabstain Pageviews]
|-
| 151
| [[:साँचा:obsoletepage]]
| [[Special:PermaLink/478185|2023-07-08 18:52]]
| {{FORMATNUM:875}}
| {{FORMATNUM:875}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aobsoletepage Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aobsoletepage?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:obsoletepage Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=obsoletepage Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aobsoletepage Pageviews]
|-
| 152
| [[:साँचा:policy-box]]
| [[Special:PermaLink/478184|2023-07-08 18:46]]
| {{FORMATNUM:529}}
| {{FORMATNUM:529}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-box Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-box?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:policy-box Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=policy-box Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-box Pageviews]
|-
| 153
| [[:साँचा:inactive]]
| [[Special:PermaLink/478183|2023-07-08 18:45]]
| {{FORMATNUM:788}}
| {{FORMATNUM:788}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainactive Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainactive?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:inactive Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=inactive Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ainactive Pageviews]
|-
| 154
| [[:साँचा:policy-DP]]
| [[Special:PermaLink/478179|2023-07-08 18:29]]
| {{FORMATNUM:1255}}
| {{FORMATNUM:1255}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-DP Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-DP?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:policy-DP Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=policy-DP Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy-DP Pageviews]
|-
| 155
| [[:साँचा:policy]]
| [[Special:PermaLink/478177|2023-07-08 12:07]]
| {{FORMATNUM:1150}}
| {{FORMATNUM:1150}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:policy Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=policy Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Apolicy Pageviews]
|-
| 156
| [[:साँचा:no deprecated lang param usage]]
| [[Special:PermaLink/478013|2023-07-07 22:35]]
| {{FORMATNUM:52}}
| {{FORMATNUM:52}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ano_deprecated_lang_param_usage Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ano_deprecated_lang_param_usage?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:no%20deprecated%20lang%20param%20usage Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=no_deprecated_lang_param_usage Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Ano%20deprecated%20lang%20param%20usage Pageviews]
|-
| 157
| [[:साँचा:bho-z/documentation]]
| [[Special:PermaLink/477955|2023-07-07 16:38]]
| {{FORMATNUM:238}}
| {{FORMATNUM:238}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-z%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-z%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-z/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-z/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-z%2Fdocumentation Pageviews]
|-
| 158
| [[:साँचा:bho-l/documentation]]
| [[Special:PermaLink/477954|2023-07-07 16:30]]
| {{FORMATNUM:238}}
| {{FORMATNUM:238}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-l%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-l%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-l/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-l/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-l%2Fdocumentation Pageviews]
|-
| 159
| [[:साँचा:bho-IPA/documentation]]
| [[Special:PermaLink/477953|2023-07-07 16:27]]
| {{FORMATNUM:598}}
| {{FORMATNUM:598}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-IPA%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-IPA%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-IPA/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-IPA/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-IPA%2Fdocumentation Pageviews]
|-
| 160
| [[:साँचा:bho-conj-v/documentation]]
| [[Special:PermaLink/477952|2023-07-07 16:22]]
| {{FORMATNUM:301}}
| {{FORMATNUM:301}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj-v%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj-v%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-conj-v/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-conj-v/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj-v%2Fdocumentation Pageviews]
|-
| 161
| [[:साँचा:bho-conj/documentation]]
| [[Special:PermaLink/477951|2023-07-07 16:21]]
| {{FORMATNUM:301}}
| {{FORMATNUM:301}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-conj/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-conj/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj%2Fdocumentation Pageviews]
|-
| 162
| [[:साँचा:bho-adj/documentation]]
| [[Special:PermaLink/477949|2023-07-07 16:19]]
| {{FORMATNUM:292}}
| {{FORMATNUM:292}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-adj%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-adj%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-adj/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-adj/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-adj%2Fdocumentation Pageviews]
|-
| 163
| [[:साँचा:bho-verb/documentation]]
| [[Special:PermaLink/477948|2023-07-07 16:19]]
| {{FORMATNUM:361}}
| {{FORMATNUM:361}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-verb%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-verb%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-verb/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-verb/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-verb%2Fdocumentation Pageviews]
|-
| 164
| [[:साँचा:documentation needed]]
| [[Special:PermaLink/477946|2023-07-07 16:14]]
| {{FORMATNUM:894}}
| {{FORMATNUM:983}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adocumentation_needed Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adocumentation_needed?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:documentation%20needed Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=documentation_needed Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adocumentation%20needed Pageviews]
|-
| 165
| [[:साँचा:bho-noun/documentation]]
| [[Special:PermaLink/477945|2023-07-07 16:00]]
| {{FORMATNUM:292}}
| {{FORMATNUM:292}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-noun%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-noun%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-noun/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-noun/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-noun%2Fdocumentation Pageviews]
|-
| 166
| [[:साँचा:bho-z]]
| [[Special:PermaLink/477912|2023-07-07 03:55]]
| {{FORMATNUM:97}}
| {{FORMATNUM:97}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-z Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-z?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-z Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-z Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-z Pageviews]
|-
| 167
| [[:साँचा:bho-adj]]
| [[Special:PermaLink/477911|2023-07-07 03:54]]
| {{FORMATNUM:107}}
| {{FORMATNUM:115}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-adj Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-adj?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-adj Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-adj Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-adj Pageviews]
|-
| 168
| [[:साँचा:bho-proper noun/documentation]]
| [[Special:PermaLink/477899|2023-07-07 02:43]]
| {{FORMATNUM:1548}}
| {{FORMATNUM:2050}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-proper_noun%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-proper_noun%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-proper%20noun/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-proper_noun/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-proper%20noun%2Fdocumentation Pageviews]
|-
| 169
| [[:साँचा:bho-proper noun]]
| [[Special:PermaLink/477897|2023-07-07 02:32]]
| {{FORMATNUM:91}}
| {{FORMATNUM:125}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-proper_noun Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-proper_noun?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-proper%20noun Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-proper_noun Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-proper%20noun Pageviews]
|-
| 170
| [[:साँचा:place]]
| [[Special:PermaLink/477894|2023-07-07 02:24]]
| {{FORMATNUM:89}}
| {{FORMATNUM:89}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aplace Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aplace?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:place Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=place Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aplace Pageviews]
|-
| 171
| [[:साँचा:alter]]
| [[Special:PermaLink/477873|2023-07-07 00:13]]
| {{FORMATNUM:103}}
| {{FORMATNUM:103}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aalter Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aalter?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:alter Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=alter Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aalter Pageviews]
|-
| 172
| [[:साँचा:convert num en]]
| [[Special:PermaLink/477865|2023-07-06 23:54]]
| {{FORMATNUM:110}}
| {{FORMATNUM:110}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aconvert_num_en Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aconvert_num_en?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:convert%20num%20en Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=convert_num_en Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aconvert%20num%20en Pageviews]
|-
| 173
| [[:साँचा:center]]
| [[Special:PermaLink/477846|2023-07-06 22:37]]
| {{FORMATNUM:274}}
| {{FORMATNUM:274}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acenter Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acenter?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:center Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=center Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acenter Pageviews]
|-
| 174
| [[:साँचा:sisterlinks]]
| [[Special:PermaLink/477794|2023-07-06 13:48]]
| {{FORMATNUM:712}}
| {{FORMATNUM:712}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asisterlinks Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asisterlinks?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:sisterlinks Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=sisterlinks Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Asisterlinks Pageviews]
|-
| 175
| [[:साँचा:poscatboiler/documentation]]
| [[Special:PermaLink/477785|2023-07-06 12:01]]
| {{FORMATNUM:2044}}
| {{FORMATNUM:2044}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aposcatboiler%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aposcatboiler%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:poscatboiler/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=poscatboiler/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aposcatboiler%2Fdocumentation Pageviews]
|-
| 176
| [[:साँचा:cattoc]]
| [[Special:PermaLink/477683|2023-07-05 17:47]]
| {{FORMATNUM:76}}
| {{FORMATNUM:76}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acattoc Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acattoc?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:cattoc Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=cattoc Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Acattoc Pageviews]
|-
| 177
| [[:साँचा:topic cat/documentation]]
| [[Special:PermaLink/477664|2023-07-05 14:22]]
| {{FORMATNUM:3631}}
| {{FORMATNUM:3631}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atopic_cat%2Fdocumentation Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atopic_cat%2Fdocumentation?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:topic%20cat/documentation Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=topic_cat/documentation Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Atopic%20cat%2Fdocumentation Pageviews]
|-
| 178
| [[:साँचा:documentation/preloadModule]]
| [[Special:PermaLink/477523|2023-07-05 07:37]]
| {{FORMATNUM:403}}
| {{FORMATNUM:403}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adocumentation%2FpreloadModule Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adocumentation%2FpreloadModule?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:documentation/preloadModule Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=documentation/preloadModule Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adocumentation%2FpreloadModule Pageviews]
|-
| 179
| [[:साँचा:documentation/preloadTemplate]]
| [[Special:PermaLink/477522|2023-07-05 07:35]]
| {{FORMATNUM:362}}
| {{FORMATNUM:362}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adocumentation%2FpreloadTemplate Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adocumentation%2FpreloadTemplate?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:documentation/preloadTemplate Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=documentation/preloadTemplate Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adocumentation%2FpreloadTemplate Pageviews]
|-
| 180
| [[:साँचा:nothindi]]
| [[Special:PermaLink/477519|2023-07-05 06:40]]
| {{FORMATNUM:413}}
| {{FORMATNUM:1681}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anothindi Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anothindi?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:nothindi Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=nothindi Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anothindi Pageviews]
|-
| 181
| [[:साँचा:derived]]
| [[Special:PermaLink/477493|2023-07-04 22:26]]
| {{FORMATNUM:143}}
| {{FORMATNUM:143}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aderived Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aderived?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:derived Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=derived Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Aderived Pageviews]
|-
| 182
| [[:साँचा:non-gloss definition]]
| [[Special:PermaLink/477487|2023-07-04 22:21]]
| {{FORMATNUM:147}}
| {{FORMATNUM:147}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anon-gloss_definition Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anon-gloss_definition?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:non-gloss%20definition Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=non-gloss_definition Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Anon-gloss%20definition Pageviews]
|-
| 183
| [[:साँचा:bho-conj-v]]
| [[Special:PermaLink/477483|2023-07-04 20:44]]
| {{FORMATNUM:3963}}
| {{FORMATNUM:4461}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj-v Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj-v?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-conj-v Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-conj-v Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj-v Pageviews]
|-
| 184
| [[:साँचा:bho-IPA]]
| [[Special:PermaLink/477482|2023-07-04 20:44]]
| {{FORMATNUM:91}}
| {{FORMATNUM:91}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-IPA Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-IPA?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-IPA Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-IPA Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-IPA Pageviews]
|-
| 185
| [[:साँचा:bho-verb]]
| [[Special:PermaLink/477480|2023-07-04 20:40]]
| {{FORMATNUM:102}}
| {{FORMATNUM:121}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-verb Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-verb?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-verb Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-verb Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-verb Pageviews]
|-
| 186
| [[:साँचा:xlit]]
| [[Special:PermaLink/477477|2023-07-04 20:35]]
| {{FORMATNUM:210}}
| {{FORMATNUM:210}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Axlit Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Axlit?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:xlit Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=xlit Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Axlit Pageviews]
|-
| 187
| [[:साँचा:bho-l]]
| [[Special:PermaLink/477475|2023-07-04 20:32]]
| {{FORMATNUM:241}}
| {{FORMATNUM:241}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-l Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-l?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-l Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-l Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-l Pageviews]
|-
| 188
| [[:साँचा:bho-conj]]
| [[Special:PermaLink/477474|2023-07-04 20:30]]
| {{FORMATNUM:3816}}
| {{FORMATNUM:3816}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-conj Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-conj Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-conj Pageviews]
|-
| 189
| [[:साँचा:movecat]]
| [[Special:PermaLink/477472|2023-07-04 20:26]]
| {{FORMATNUM:1641}}
| {{FORMATNUM:1911}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amovecat Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amovecat?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:movecat Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=movecat Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Amovecat Pageviews]
|-
| 190
| [[:साँचा:bho-noun]]
| [[Special:PermaLink/477411|2023-07-04 17:11]]
| {{FORMATNUM:102}}
| {{FORMATNUM:121}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-noun Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-noun?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:bho-noun Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=bho-noun Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Abho-noun Pageviews]
|-
| 191
| [[:साँचा:delete]]
| [[Special:PermaLink/477193|2023-05-23 17:58]]
| {{FORMATNUM:64}}
| {{FORMATNUM:1891}}
| [https://hi.wiktionary.org/wiki/Special:Log?page=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adelete Log] · [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adelete?action=history History] · [https://xtools.wmcloud.org/pageinfo/hi.wiktionary.org/%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:delete Page History] · [https://xtools.wmcloud.org/topedits?project=hi.wiktionary.org&username=SM7&namespace=10&page=delete Top Edits] · [https://pageviews.wmcloud.org/?project=hi.wiktionary.org&pages=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE%3Adelete Pageviews]
|}
== विशेष ==
* [[Special:ProtectedPages]]
==गैजेट==
* [[MediaWiki:Gadget-VisibilityToggles.js]] इंस्टाल करना है {{done}}
==मीडियाविकि==
* [[मीडियाविकि:Scribunto-doc-page-show]] सुधार योग्य
== हटाने योग्य ==
* [[सदस्य वार्ता:Yeshrajbc]]
* [[सदस्य_वार्ता:Ululjulul]] और इनके बनाये पृष्ठ: [https://hi.wiktionary.org/wiki/%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF_%E0%A4%B5%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%A4%E0%A4%BE:Ululjulul योगदान]
* [[विशेष:कड़ियाँ/साँचा:Documentation]] से जुड़े कई सारे फालतू साँचे जिन्हें हिंदी विकिपीडिया से अंधाधुंध आयात या कॉपी किया गया है।
==TODO==
* {{tl|-}} <small>([[विशेष:कड़ियाँ/साँचा:-|कड़ियाँ]])</small> का प्रयोग हटाना है।
* {{tl|विकिपीडिया}} के सभी प्रयोगों की जाँच।
* {tl|उच्चारण}} के प्रयोग हटाने हैं. यह अनुरोध साँचे की तरह बनाया गया है।
by1zn85dc6edbi0uvwudnk6mxvh9oij
मॉड्यूल:documentation
828
304609
488628
477517
2026-09-12T16:44:37Z
SM7
6218
updating...
488628
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local frame_module = "Module:frame"
local fun_is_callable_module = "Module:fun/isCallable"
local languages_module = "Module:languages"
local links_module = "Module:links"
local load_module = "Module:load"
local module_categorization_module = "Module:module categorization"
local number_list_show_module = "Module:number list/show"
local chemical_element_list_show_module = "Module:chemical element list/show"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local scripts_module = "Module:scripts"
local string_endswith_module = "Module:string/endswith"
local string_gline_module = "Module:string/gline"
local string_startswith_module = "Module:string/startswith"
local string_utilities_module = "Module:string utilities"
local template_parser_module = "Module:template parser"
local title_exists_module = "Module:title/exists"
local title_new_title_module = "Module:title/newTitle"
local concat = table.concat
local error = error
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local insert = table.insert
local ipairs = ipairs
local list_to_text = mw.text.listToText
local new_message = mw.message.new
local pcall = pcall
local require = require
local tonumber = tonumber
local tostring = tostring
local type = type
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function categorize_module(...)
categorize_module = require(module_categorization_module).categorize_module
return categorize_module(...)
end
local function debug_track(...)
debug_track = require(debug_track_module)
return debug_track(...)
end
local function endswith(...)
endswith = require(string_endswith_module)
return endswith(...)
end
local function expand_template(...)
expand_template = require(frame_module).expandTemplate
return expand_template(...)
end
local function find_templates(...)
find_templates = require(template_parser_module).find_templates
return find_templates(...)
end
local function full_link(...)
full_link = require(links_module).full_link
return full_link(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function get_pagetype(...)
get_pagetype = require(pages_module).get_pagetype
return get_pagetype(...)
end
local function get_script(...)
get_script = require(scripts_module).getByCode
return get_script(...)
end
local function gline(...)
gline = require(string_gline_module)
return gline(...)
end
local function is_callable(...)
is_callable = require(fun_is_callable_module)
return is_callable(...)
end
local function is_documentation(...)
is_documentation = require(pages_module).is_documentation
return is_documentation(...)
end
local function is_sandbox(...)
is_sandbox = require(pages_module).is_sandbox
return is_sandbox(...)
end
local function new_title(...)
new_title = require(title_new_title_module)
return new_title(...)
end
local function number_list_show_table(...)
number_list_show_table = require(number_list_show_module).table
return number_list_show_table(...)
end
local function chemical_element_list_show_table(...)
chemical_element_list_show_table = require(chemical_element_list_show_module).table
return chemical_element_list_show_table(...)
end
local function preprocess(...)
preprocess = require(frame_module).preprocess
return preprocess(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function safe_load_data(...)
safe_load_data = require(load_module).safe_load_data
return safe_load_data(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function startswith(...)
startswith = require(string_startswith_module)
return startswith(...)
end
local function title_exists(...)
title_exists = require(title_exists_module)
return title_exists(...)
end
local function ugsub(...)
ugsub = require(string_utilities_module).gsub
return ugsub(...)
end
local function umatch(...)
umatch = require(string_utilities_module).match
return umatch(...)
end
local skins = {
["common"] = "",
["vector"] = "Vector",
["monobook"] = "Monobook",
["cologneblue"] = "Cologne Blue",
["modern"] = "Modern",
}
local function track(page)
debug_track("documentation/" .. page)
return true
end
local function compare_pages(page1, page2, text)
return "[" .. tostring(
full_url("Special:ComparePages", { page1 = page1, page2 = page2 }))
.. " " .. text .. "]"
end
-- Avoid transcluding [[Module:languages/cache]] everywhere.
local lang_cache = setmetatable({}, {
__index = function(self, k)
return require("Module:languages/cache")[k]
end
})
local function zh_link(word)
return full_link {
lang = lang_cache.zh,
term = word
}
end
local function make_languages_data_documentation(_title, cats, division)
local doc_template, module_cat
if endswith(division, "/extra") then
division = division:sub(1, -7)
doc_template = "language extradata documentation"
module_cat = "Language extra data modules"
else
doc_template = "language data documentation"
module_cat = "Language data modules"
end
local sort_key
if division == "exceptional" then
sort_key = "x"
else
sort_key = division:gsub("/", "")
end
insert(cats, module_cat .. "|" .. sort_key)
return {
title = doc_template
}
end
local function make_Unicode_data_documentation(title, _cats)
local subpage, first_three_of_code_point
= title.fullText:match("^Module:Unicode data/([^/]+)/(%x%x%x)$")
if subpage == "names" or subpage == "images" or subpage == "emoji images" then
local low, high =
tonumber(first_three_of_code_point .. "000", 16),
tonumber(first_three_of_code_point .. "FFF", 16)
local text, text_type
if subpage == "names" then
text_type = "titles of images"
elseif subpage == "images" then
text_type = "titles of images"
elseif subpage == "emoji images" then
text_type = "emoji-style images"
end
text = string.format(
"This data module contains the " .. text_type .. " of " ..
"[[Appendix:Unicode|Unicode]] code points within the range U+%04X to U+%04X.",
low, high)
if subpage == "images" and safe_load_data("Module:Unicode data/emoji images/" .. first_three_of_code_point) then
text = text ..
" This list includes the text variants of emojis. For the list of emoji variants of those characters, see [[Module:Unicode data/emoji images/" ..
first_three_of_code_point .. "]]."
elseif subpage == "emoji images" then
text = text ..
" For text-style images, see [[Module:Unicode data/images/" .. first_three_of_code_point .. "]]."
end
return text
end
end
local function insert_lang_data_module_cats(cats, langcode, overall_data_module_cat)
local lang = lang_cache[langcode]
if lang then
local langname
if lang._fullCode then
langname = lang_cache[lang._fullCode]:getCanonicalName()
else
langname = lang:getCanonicalName()
end
insert(cats, overall_data_module_cat .. "|" .. langname)
insert(cats, langname .. " modules")
insert(cats, langname .. " data modules")
return lang, langname
end
end
--[=[
This provides categories and documentation for various data modules, so that [[Category:Uncategorized modules]] isn't
unnecessarily cluttered. It is a list of tables, each of which have the following possible fields:
`regex` (required): A Lua pattern to match the module's title. If it matches, the data in this entry will be used.
Any captures in the pattern can by referenced in the `cat` field using %1 for the first capture, %2 for the
second, etc. (often used for creating the sortkey for the category). In addition, the captures are passed to the
`process` function as the third and subsequent parameters.
`process` (optional): This may be a function or a string. If it is a function, it is called as follows:
`process(TITLE, CATS, CAPTURE1, CAPTURE2, ...)`
where:
* TITLE is a title object describing the module's title; see
[https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Title_objects].
* CATS is an list of categories that the module will be added to.
* CAPTURE1, CAPTURE2, ... contain any captures in the `regex` field.
The return value of `process` should either be a string (which will be used as the module's documentation), or a
table specifying the name of a template to expand to get the documentation, along with the arguments to that
template. In the latter format, the template name (bare, without the "Template:" prefix) should be in the `title`
field, and any arguments should be in `args; in this case, the template name will be listed above the generated
documentation as the source of the documentation, along with an edit button to edit the template's contents.
If, however, the return value of the `process` function is a string, any template invocations will be expanded
using frame:preprocess(), and [[Module:documentation]] will be listed as the source of the documentation.
If `process` itself is a string rather than a function, it should name a submodule under
[[Module:documentation/functions/]] which returns a function, of the same type as described above. This submodule
will be specified as the source of the documentation (unless it returns a table naming a template to expand to get
the documentation, as described above).
If `process` is omitted entirely, the module will have no documentation.
`cat` (optional): A string naming the category into which the module should be placed, or a list of such strings.
Captures specified in `regex` may be referenced in this string using %1 for the first capture, %2 for the second,
etc. It is also possible to add categories in the `process` function by inserting them into the passed-in CATS
list (the second parameter).
]=]
local module_regex = {
{
regex = "^Module:languages/data/(3/%l/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(3/%l)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:scripts/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:data tables/data..?.?.?$",
cat = "Reference module sharded data tables",
},
{
regex = "^Module:zh/data/dial%-pron/.+$",
cat = "Chinese dialectal pronunciation data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/dial%-syn/.+$",
cat = "Chinese dialect synonyms data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/glyph%-data/.+$",
cat = "Chinese historical character forms data modules",
process = function(title, _cats)
local character = title.fullText:match("^Module:zh/data/glyph%-data/(.+)")
if character then
return ("This module contains data on historical forms of the Chinese character %s.")
:format(zh_link(character))
end
end,
},
{
regex = "^Module:zh/data/ltc%-pron/(.+)$",
cat = "Middle Chinese pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-BS/(.+)$",
cat = "Old Chinese (Baxter-Sagart) pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-ZS/(.+)$",
cat = "Old Chinese (Zhengzhang) pronunciation data modules|%1",
process = "zh data",
},
{
-- capture rest of zh/data submodules
regex = "^Module:zh/data/(.+)$",
cat = "Chinese data modules|%1",
},
{
regex = "^Module:mul/guoxue%-data/cjk%-?(.*)$",
process = "guoxue-data",
},
{
regex = "^Module:Unicode data/(.+)$",
cat = "Unicode data modules|%1",
process = make_Unicode_data_documentation,
},
{
regex = "^Module:number list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Number data modules")
if lang then
return ("This module contains data on various types of numbers in %s.\n%s")
:format(lang:makeCategoryLink(), number_list_show_table() or "")
end
end,
},
{
regex = "^Module:chemical element list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Chemical element data modules")
if lang then
return ("This module contains data on chemical elements in %s.\n%s")
:format(lang:makeCategoryLink(), chemical_element_list_show_table() or "")
end
end,
},
{
regex = "^Module:accel/(.+)$",
process = function(title, cats)
local lang_code = title.subpageText
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|accel")
insert(cats, ("Accel submodules|%s"):format(lang:getCanonicalName()))
return ("This module contains new entry creation rules for %s; see [[WT:ACCEL]] for an overview, and [[Module:accel]] for information on creating new rules.")
:format(lang:makeCategoryLink())
end
end,
},
{
regex = "^Module:inc%-ash/dial/data/(.+)$",
cat = "Ashokan Prakrit modules|%1",
process = function(title, _cats)
local word = title.fullText:match("^Module:inc%-ash/dial/data/(.+)$")
if word then
local lang = lang_cache["inc-ash"]
return ("This module contains data on the pronunciation of %s in dialects of %s.")
:format(full_link({ term = word, lang = lang }, "term"),
lang:makeCategoryLink())
end
end,
},
{
regex = "^.+%-translit$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "translit",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-sortkey$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "sortkey",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-stripdiacritics$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "strip diacritics",
title_without_namespace = title.text,
}
end,
},
{
regex = "^Module:form of/lang%-data/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Language-specific form-of modules")
if lang then
-- FIXME, display more info.
return "This module contains language-specific form-of data (tags, shortcuts, base lemma params. etc.) for " ..
langname .. "."
end
end
},
{
regex = "^Module:labels/data/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Language-specific label data modules")
if lang then
return {
title = "label language-specific data documentation",
args = { [1] = lang_code },
}
end
end
},
{
regex = "^Module:category tree/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Category tree data modules/lang")
if lang then
return "This module handles generating the descriptions and categorization for " ..
langname .. " category pages "
.. "of the format \"" .. langname .. " LABEL\" where LABEL can be any text. Examples are "
.. "[[:Category:Bulgarian conjugation 2.1 verbs]] and [[:Category:Russian velar-stem neuter-form nouns]]. "
.. "This module is part of the category tree system, which is a general framework for generating the "
.. "descriptions and categorization of category pages.\n\n"
.. "For more information, see [[Module:category tree/lang/documentation]].\n\n"
.. "'''NOTE:''' If you add a new language-specific module, you must add the language code to the "
.. "list at the top of [[Module:category tree/lang]] in order for the module to be recognized."
end
end
},
{
regex = "^Module:category tree/topic/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/topic| ")
return {
title = "topic cat data submodule documentation"
}
end
},
{
regex = "^Module:category tree/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/grammar| ")
return {
title = "category tree data submodule documentation"
}
end
},
{
regex = "^Module:ja/data/(.+)$",
cat = "Japanese data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/feature/Kettunen1940 ([0-9]+)$",
cat = "Finnish dialectal data atlas modules|%1",
process = function(_title, _cats, shard)
return "This module contains shard " .. shard .. " of the online version of Lauri Kettunen's 1940 work " ..
"''Suomen murteet III A. Murrekartasto'' (\"Finnish dialects III A: Dialect atlas\"). " ..
"It was imported and converted from urn:nbn:fi:csc-kata20151130145346403821, published by the " ..
"''Kotimaisten kielten keskus'' under the CC BY 4.0 license."
end
},
{
regex = "^Module:fi%-dialects/data/feature/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/word/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:Swadesh/data/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
return "This module contains the [[Swadesh list]] of basic vocabulary in " .. langname .. "."
end
end
},
{
regex = "^Module:Swadesh/data/([%l-]+)/([^/]*)$",
process = function(_title, cats, lang_code, variety)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
local prefix = "This module contains the [[Swadesh list]] of basic vocabulary in the "
local etym_lang = get_lang(variety, nil, "allow etym")
if etym_lang then
return ("%s %s variety of %s."):format(prefix, etym_lang:getCanonicalName(), langname)
end
local script = get_script(variety)
if script then
return ("%s %s %s script."):format(prefix, langname, script:getCanonicalName(lang))
end
return ("%s %s variety of %s."):format(prefix, variety, langname)
end
end
},
{
regex = "^Module:typing%-aids",
process = function(title, cats)
local data_suffix = title.fullText:match("^Module:typing%-aids/data/(.+)$")
local sortkey
if data_suffix then
if data_suffix:find "^[%l-]+$" then
local lang = get_lang(data_suffix)
if lang then
sortkey = lang:getCanonicalName()
insert(cats, sortkey .. " data modules")
end
elseif data_suffix:find "^%u%l%l%l$" then
local script = get_script(data_suffix)
if script then
-- FIXME: no lang to pass here
sortkey = script:getCanonicalName()
insert(cats, script:getCategoryName())
end
end
insert(cats, "Character insertion data modules|" .. (sortkey or data_suffix))
end
end,
},
{
regex = "^Module:R:([%l-]+):(.+)$",
process = function(_title, cats, lang_code, refname)
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|" .. refname)
insert(cats, ("Reference modules|%s"):format(lang:getCanonicalName()))
return "This module implements the reference template {{temp|R:" .. lang_code .. ":" .. refname .. "}}."
end
end,
},
{
regex = "^Module:Quotations/([%l-]+)/?(.*)",
process = "Quotation",
},
{
regex = "^Module:affix/lang%-data/([%l-]+)",
process = "affix lang-data",
},
{
regex = "^Module:dialect synonyms/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules| ")
return "This module contains data on specific varieties of " .. langname .. ", for use by " ..
"{{tl|dialect synonyms}}. The actual synonyms themselves are contained in submodules.\n\n" ..
"==== Language data module structure ====\n" ..
"* <code>export.title</code> — optional; table title template (e.g. \"Regional synonyms of %s\").\n" ..
"* <code>export.columns</code> — optional; list of column headers for location hierarchy (e.g. {\"Dialect group\", \"Dialect\", \"Location\"}).\n" ..
"* <code>export.notes</code> — optional; table of note keys to text.\n" ..
"* <code>export.sources</code> — optional; table of source keys to text.\n" ..
"* <code>export.note_aliases</code> — optional; alias map for notes.\n" ..
"* <code>export.varieties</code> — required; nested table of variety nodes. Each node must have <code>name</code>; list part holds children. Node keys can include <code>text_display</code>, <code>color</code>, <code>code</code>, <code>wikidata</code>, <code>lat</code>, <code>long</code>, and language-specific keys (e.g. <code>persian</code>, <code>armenian</code>, <code>chinese</code>).\n\n" ..
expand_template({ title = 'dial syn', args = { lang_code, ["demo mode"] = "y" } })
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)$",
process = function(_title, cats, lang_code, term)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term } }))
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)/([^/]+)$",
process = function(_title, cats, lang_code, term, id)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term, id = id } }))
end
end,
},
{
regex = "^Module:bibliography/data/([%l-]+)$",
process = function(title, cats, lang_code)
if lang_code == "preload" then
return 'Used as a base model for other languages when the button "create new language submodule" is clicked.'
end
local page = require(title.fullText).bib_page
if not page then
page = lang_cache[lang_code]:getCanonicalName()
if page then
insert(cats, page .. " modules")
end
end
insert(cats, "Reference modules")
return "This module holds bibliographical data for " ..
page .. ". For the formatted bibliography see '''[[Appendix:Bibliography/" .. page .. "]]'''."
end,
},
}
function export.show(frame)
local boolean_default_false = { type = "boolean", default = false }
local args = process_params(frame.args, {
["hr"] = true,
["for"] = true,
["from"] = true,
["allowondoc"] = boolean_default_false, -- Don't throw an error if used on a documentation subpage.
["notsubpage"] = boolean_default_false,
["nodoc"] = boolean_default_false,
["nolinks"] = boolean_default_false, -- suppress all "Useful links"
["nosandbox"] = boolean_default_false, -- supress sandbox
})
local output = {'\n<div class="documentation" style="display:block; clear:both">\n'}
local function ins(txt)
insert(output, txt)
end
local cats = {}
local function inscat(cat)
insert(cats, cat)
end
local nodoc = args.nodoc
if (not args.hr) or (args.hr == "above") then
ins("----\n")
end
local title = args["for"] and new_title(args["for"]) or get_current_title()
local doc_title = args.from ~= "-" and new_title(args.from or title.fullText .. '/documentation') or nil
local contentModel = title.contentModel
local pagetype, is_script_or_stylesheet = get_pagetype(title)
local preload, fallback_docs, doc_content, old_doc_title, user_name, skin_name, needs_doc
local doc_content_source = "Module:documentation"
local auto_generated_cat_source
local cats_auto_generated = false
if not args.allowondoc and is_documentation(title) then
-- TODO: merge with {{documentation subpage}}, and choose behaviour based on the page type.
error("This template should not be used on a documentation page. Please use [[Template:documentation subpage]].")
elseif is_sandbox(title) then
local sandbox_ns = title.nsText
preload = ("Template:documentation/preload%s%sSandbox"):format(
sandbox_ns == "Module" and sandbox_ns or "Template",
title.rootText:match("^[Uu]ser:(.+)") and "User" or ""
)
elseif pagetype:match("%f[%w]gadget%f[%W]") then
preload = "Template:documentation/preloadGadget"
elseif pagetype:match("%f[%w]script%f[%W]") then -- .js
if title.nsText == "MediaWiki" then
preload = "Template:documentation/preloadMediaWikiJavaScript"
else
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
end
is_script_or_stylesheet = true
elseif pagetype:match("%f[%w]stylesheet%f[%W]") then -- .css
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
is_script_or_stylesheet = true
elseif contentModel == "Scribunto" then -- Exclude pages in Module: which aren't Scribunto.
preload = "Template:documentation/preloadModule"
elseif pagetype:match("%f[%w]template%f[%W]") or pagetype:match("%f[%w]project%f[%W]") then
preload = "Template:documentation/preloadTemplate"
end
if doc_title and doc_title.isRedirect then
old_doc_title = doc_title
doc_title = doc_title.redirectTarget
end
ins("<dl class=\"plainlinks\" style=\"font-size: smaller;\">")
local function get_module_doc_and_cats(categories_only)
cats_auto_generated = true
local automatic_cats = nil
if user_name then
fallback_docs = "documentation/fallback/user module"
automatic_cats = { "User sandbox modules" }
else
for _, data in ipairs(module_regex) do
local captures = { umatch(title.fullText, data.regex) }
if #captures > 0 then
local cat, process_function
if is_callable(data.process) then
process_function = data.process
elseif type(data.process) == "string" then
doc_content_source = "Module:documentation/functions/" .. data.process
process_function = require(doc_content_source)
end
if process_function then
doc_content = process_function(title, cats, unpack(captures))
end
if type(doc_content) == "table" then
doc_content_source = doc_content.title and "Template:" .. doc_content.title or doc_content_source
doc_content = expand_template(doc_content)
elseif doc_content ~= nil then
doc_content = preprocess(doc_content)
end
cat = data.cat
if cat then
if type(cat) == "string" then
cat = { cat }
end
for _, c in ipairs(cat) do
insert(cats, (ugsub(title.fullText, data.regex, c)))
end
end
break
end
end
end
if title.subpageText == "templates" then
inscat("Template interface modules")
end
if automatic_cats then
for _, c in ipairs(automatic_cats) do
inscat(c)
end
end
if #cats == 0 then
local auto_cats = categorize_module {
return_raw = true,
noerror = true,
}
if #auto_cats > 0 then
auto_generated_cat_source = "Module:module categorization"
end
for _, category in ipairs(auto_cats) do
inscat(category)
end
end
-- meaning module is not in user’s sandbox or one of many datamodule boring series
needs_doc = not categories_only and not (automatic_cats or doc_content or fallback_docs)
end
-- Override automatic documentation, if present.
if doc_title and doc_title.exists then
local cats_auto_generated_text = ""
if contentModel == "Scribunto" then
local doc_page_content = doc_title.content
-- Track then do nothing if there are uses of includeonly. The
-- pattern is slightly too permissive, but any false-positives are
-- obvious typos that should be corrected.
if doc_page_content:lower():match("</?includeonly%f[%s/>][^>]*>") then
track("module-includeonly")
else
-- Check for uses of {{module cat}}. find_templates treats the
-- input as transcluded by default (i.e. it parses the wikitext
-- which will be transcluded through to the module page).
local module_cat
for template in find_templates(doc_page_content) do
if template:get_name() == "module cat" then
module_cat = true
break
end
end
if not module_cat then
get_module_doc_and_cats("categories only")
auto_generated_cat_source = auto_generated_cat_source or doc_content_source
cats_auto_generated_text = " Categories were auto-generated by [[" ..
auto_generated_cat_source .. "]]. <sup>[[" ..
new_title(auto_generated_cat_source):fullUrl { action = "edit" } .. " edit]]</sup>"
end
end
end
ins(
"<dd><i style=\"font-size: larger;\">The following " ..
"[[Help:Documenting templates and modules|documentation]] is located at [[" ..
doc_title.fullText .. "]]. " .. "<sup>[[" .. doc_title:fullUrl { action = "edit" } .. " edit]]</sup>" ..
cats_auto_generated_text .. "</i></dd>")
else
if contentModel == "Scribunto" then
get_module_doc_and_cats(false)
elseif title.nsText == "Template" then
--inscat("Uncategorized templates")
needs_doc = not (fallback_docs or nodoc)
elseif user_name and is_script_or_stylesheet then
skin_name = skins[title.text:sub(#title.rootText + 1):match("^/(%l+)%.[jc]ss?$")]
if skin_name then
fallback_docs = "documentation/fallback/user " .. contentModel
end
end
if doc_content then
ins(
"<dd><i style=\"font-size: larger;\">The following " ..
"[[Help:Documenting templates and modules|documentation]] is " ..
"generated by [[" .. doc_content_source .. "]]. <sup>[[" ..
new_title(doc_content_source):fullUrl { action = "edit" } ..
" edit]]</sup> </i></dd>")
elseif not nodoc then
if doc_title then
ins(
"<dd><i style=\"font-size: larger;\">This " .. pagetype ..
" lacks a [[Help:Documenting templates and modules|documentation subpage]]. " ..
(fallback_docs and "You may " or "Please ") ..
"[" .. doc_title:fullUrl { action = "edit", preload = preload }
.. " create it].</i></dd>\n")
else
ins(
"<dd><i style=\"font-size: larger; color: var(--wikt-palette-red-9,#FF0000);\">Unable to auto-generate " ..
"documentation for this " .. pagetype .. ".</i></dd>\n")
end
end
end
if startswith(title.fullText, "MediaWiki:Gadget-") then
local is_gadget = false
for line in gline(new_title("MediaWiki:Gadgets-definition").content) do
local gadget, items = line:match("^%*%s*(%a[%w_-]*)%[.-%]|(.+)$")
if not gadget then
gadget, items = line:match("^%*%s*(%a[%w_-]*)|(.+)$")
end
if gadget then
items = split(items, "|")
for i, item in ipairs(items) do
if title.fullText == ("MediaWiki:Gadget-" .. item) then
is_gadget = true
ins("<dd> ''This script is a part of the <code>")
ins(gadget)
ins("</code> gadget ([")
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(" edit definitions])'' <dl>")
ins("<dd> ''Description ([")
ins(tostring(full_url("MediaWiki:Gadget-" .. gadget, { action = "edit" })))
ins(" edit])'': ")
ins(preprocess(new_message('Gadget-' .. gadget):plain()))
ins(" </dd>")
table.remove(items, i)
if #items > 0 then
for j, item in ipairs(items) do
items[j] = '[[MediaWiki:Gadget-' .. item .. '|' .. item .. ']]'
end
ins("<dd> ''Other parts'': ")
ins(list_to_text(items))
ins("</dd>")
end
ins("</dl></dd>")
break
end
end
end
end
if not is_gadget then
ins("<dd> ''This script is not a part of any [")
ins(tostring(full_url("Special:Gadgets", { uselang = "en" })))
ins(' gadget] ([')
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(' edit definitions]).</dd>')
-- else
-- inscat("Wiktionary gadgets")
end
end
if old_doc_title then
ins("<dd> ''Redirected from'' [")
ins(old_doc_title:fullUrl { redirect = "no" })
ins(" ")
ins(old_doc_title.fullText)
ins("] ([")
ins(old_doc_title:fullUrl { action = "edit" })
ins(" edit]).</dd>\n")
end
if not args.nolinks then
local links = {}
local function inslinks(txt)
insert(links, txt)
end
if title.isSubpage and not args.notsubpage then
inslinks("[[:" .. title.nsText .. ":" .. title.rootText .. "|root page]]")
inslinks("[[Special:PrefixIndex/" .. title.nsText .. ":" .. title.rootText .. "/|root page’s subpages]]")
else
inslinks("[[Special:PrefixIndex/" .. title.fullText .. "/|subpage list]]")
end
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidetrans = true, hideredirs = true })) ..
" links]")
if contentModel ~= "Scribunto" then
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hidetrans = true })) ..
" redirects]")
end
if is_script_or_stylesheet then
if user_name then
inslinks("[[Special:MyPage" .. title.text:sub(#title.rootText + 1) .. "|your own]]")
end
else
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hideredirs = true })) ..
" transclusions]")
end
if contentModel == "Scribunto" then
local is_testcases = title.isSubpage and title.subpageText == "testcases"
local without_subpage = title.nsText .. ":" .. title.baseText
if is_testcases then
inslinks("[[:" .. without_subpage .. "|tested module]]")
else
inslinks("[[" .. title.fullText .. "/testcases|testcases]]")
end
if user_name then
inslinks("[[User:" .. user_name .. "|user page]]")
inslinks("[[User talk:" .. user_name .. "|user talk page]]")
inslinks("[[Special:PrefixIndex/User:" .. user_name .. "/|userspace]]")
-- If sandbox module, add a link to the module that this is a sandbox of.
-- Exclude user sandbox modules like [[User:Dine2016/sandbox]].
elseif title.text:find("^sandbox%d*/") or title.text:find("/sandbox%d*%f[/%z]") then
inscat("Sandbox modules")
-- Sandbox modules don’t really need documentation.
needs_doc = false
-- Don't track user sandbox modules.
local text_title = new_title(title.text)
if not (text_title and text_title.nsText == "User") then
local diff
local sandbox_of = title.text:match("^(.*)/sandbox%d*%f[/%z]")
if sandbox_of then
track("sandbox to be moved")
else
sandbox_of = title.text:match("^sandbox%d*/(.*)$")
end
if not sandbox_of then
error(("Internal error: Something wrong, couldn't extract sandbox-of module from title '%s'")
:format(title.text))
end
sandbox_of = title.nsText .. ":" .. sandbox_of
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
end
-- If not a sandbox module, add link to sandbox module.
-- Sometimes there are multiple sandboxes for a single module:
-- [[Module:sandbox/sa-pronunc]], [[Module:sandbox2/sa-pronunc]].
else
local sandbox_title
local user_prefix, user_rest = title.text:match("^(User:.-/)(.*)$")
if not user_prefix then
user_prefix = ""
user_rest = title.text
end
sandbox_title = title.nsText .. ":" .. user_prefix .. "sandbox/" .. user_rest
local sandbox_link = "[[:" .. sandbox_title .. "|sandbox]]"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks(sandbox_link .. (diff or ""))
end
end
if title.nsText == "Template" then
-- Error search: all(any namespace), hastemplate (show pages using the template), insource (show source code), incategory (any/specific error) -- [[mw:Help:CirrusSearch]], [[w:Help:Searching/Regex]]
-- apparently same with/without: &profile=advanced&fulltext=1
local errorq = 'searchengineselect=mediawiki&search=all: hastemplate:\"' ..
title.rootText .. '\" insource:\"' .. title.rootText .. '\" incategory:'
local eincategory =
"Pages_with_module_errors|ParserFunction_errors|DisplayTitle_errors|Pages_with_ISBN_errors|Pages_with_ISSN_errors|Pages_with_reference_errors|Pages_with_syntax_highlighting_errors|Pages_with_TemplateStyles_errors"
inslinks(
'[' .. tostring(full_url('Special:Search', errorq .. eincategory)) .. ' errors]'
.. ' (' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'ParserFunction_errors')) .. ' parser]'
.. '/' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'Pages_with_module_errors')) .. ' module]'
.. ')'
)
if title.isSubpage and title.text:find("/sandbox%d*%f[/%z]") then -- This is a sandbox template.
-- At the moment there are no user sandbox templates with subpage
-- “/sandbox”.
inscat("Sandbox templates")
-- Sandbox templates don’t really need documentation.
needs_doc = false
-- Will behave badly if “/sandbox” occurs twice in title!
local sandbox_of = title.fullText:gsub("/sandbox%d*%f[/%z]", "")
local diff
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
-- This is a template that can have a sandbox.
elseif not args.nosandbox then -- unless we tell it not to
local sandbox_title = title.fullText .. "/sandbox"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks("[[:" .. sandbox_title .. "|sandbox]]" .. (diff or ""))
end
end
if #links > 0 then
ins("<dd> ''Useful links'': " .. concat(links, " • ") .. "</dd>")
end
end
ins("</dl>\n")
-- Show error from [[Module:category tree/topic cat/data]] on its submodules'
-- documentation to, for instance, warn about duplicate labels.
if startswith(title.fullText, "Module:category tree/topic/") then
local ok, err = pcall(require, "Module:category tree/topic/data")
if not ok then
ins('<span class="error">' .. err .. '</span>\n\n')
end
end
if doc_title and doc_title.exists then
-- Override automatic documentation, if present.
doc_content = expand_template { title = doc_title.fullText }
elseif not doc_content and fallback_docs then
doc_content = expand_template {
title = fallback_docs,
args = {
['user'] = user_name,
['page'] = title.fullText,
['skin name'] = skin_name,
},
}
end
if doc_content then
ins(doc_content)
end
ins(('\n<%s style="clear: both;" />'):format(args.hr == "below" and "hr" or "br"))
if cats_auto_generated and not cats[1] and (not doc_content or not doc_content:find("%[%[Category:")) then
if contentModel == "Scribunto" then
inscat("Uncategorized modules")
-- elseif title.nsText == "Template" then
-- inscat("Uncategorized templates")
end
end
if needs_doc then
inscat("Templates and modules needing documentation")
end
for _, cat in ipairs(cats) do
ins("[[Category:" .. cat .. "]]")
end
ins("</div>\n")
return concat(output)
end
function export.module_auto_doc_table()
local parts = {}
local function ins(text)
insert(parts, text)
end
ins('{|class="wikitable"')
ins("! Regex !! Category !! Handling modules")
for _, spec in ipairs(module_regex) do
local cat_text
local cats = spec.cat
if cats then
local cat_parts = {}
if type(cats) == "string" then
cats = { cats }
end
for _, cat in ipairs(cats) do
insert(cat_parts, ("<code>%s</code>"):format((cat:gsub("|", "|"))))
end
cat_text = concat(cat_parts, ", ")
else
cat_text = "''(unspecified)''"
end
ins("|-")
ins(("| <code>%s</code> || %s || %s"):format(spec.regex, cat_text,
is_callable(spec.process) and "''(handled internally)''" or
type(spec.process) == "string" and ("[[Module:documentation/functions/%s]]"):format(spec.process) or
"''(no documentation generator)''"))
end
ins("|}")
return concat(parts, "\n")
end
return export
253fq7far0wytzcegrzxxw4iim4lltp
488639
488628
2026-09-12T18:05:07Z
SM7
6218
localization...
488639
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local frame_module = "Module:frame"
local fun_is_callable_module = "Module:fun/isCallable"
local languages_module = "Module:languages"
local links_module = "Module:links"
local load_module = "Module:load"
local module_categorization_module = "Module:module categorization"
local number_list_show_module = "Module:number list/show"
local chemical_element_list_show_module = "Module:chemical element list/show"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local scripts_module = "Module:scripts"
local string_endswith_module = "Module:string/endswith"
local string_gline_module = "Module:string/gline"
local string_startswith_module = "Module:string/startswith"
local string_utilities_module = "Module:string utilities"
local template_parser_module = "Module:template parser"
local title_exists_module = "Module:title/exists"
local title_new_title_module = "Module:title/newTitle"
local concat = table.concat
local error = error
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local insert = table.insert
local ipairs = ipairs
local list_to_text = mw.text.listToText
local new_message = mw.message.new
local pcall = pcall
local require = require
local tonumber = tonumber
local tostring = tostring
local type = type
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function categorize_module(...)
categorize_module = require(module_categorization_module).categorize_module
return categorize_module(...)
end
local function debug_track(...)
debug_track = require(debug_track_module)
return debug_track(...)
end
local function endswith(...)
endswith = require(string_endswith_module)
return endswith(...)
end
local function expand_template(...)
expand_template = require(frame_module).expandTemplate
return expand_template(...)
end
local function find_templates(...)
find_templates = require(template_parser_module).find_templates
return find_templates(...)
end
local function full_link(...)
full_link = require(links_module).full_link
return full_link(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function get_pagetype(...)
get_pagetype = require(pages_module).get_pagetype
return get_pagetype(...)
end
local function get_script(...)
get_script = require(scripts_module).getByCode
return get_script(...)
end
local function gline(...)
gline = require(string_gline_module)
return gline(...)
end
local function is_callable(...)
is_callable = require(fun_is_callable_module)
return is_callable(...)
end
local function is_documentation(...)
is_documentation = require(pages_module).is_documentation
return is_documentation(...)
end
local function is_sandbox(...)
is_sandbox = require(pages_module).is_sandbox
return is_sandbox(...)
end
local function new_title(...)
new_title = require(title_new_title_module)
return new_title(...)
end
local function number_list_show_table(...)
number_list_show_table = require(number_list_show_module).table
return number_list_show_table(...)
end
local function chemical_element_list_show_table(...)
chemical_element_list_show_table = require(chemical_element_list_show_module).table
return chemical_element_list_show_table(...)
end
local function preprocess(...)
preprocess = require(frame_module).preprocess
return preprocess(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function safe_load_data(...)
safe_load_data = require(load_module).safe_load_data
return safe_load_data(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function startswith(...)
startswith = require(string_startswith_module)
return startswith(...)
end
local function title_exists(...)
title_exists = require(title_exists_module)
return title_exists(...)
end
local function ugsub(...)
ugsub = require(string_utilities_module).gsub
return ugsub(...)
end
local function umatch(...)
umatch = require(string_utilities_module).match
return umatch(...)
end
local skins = {
["common"] = "",
["vector"] = "Vector",
["monobook"] = "Monobook",
["cologneblue"] = "Cologne Blue",
["modern"] = "Modern",
}
local function track(page)
debug_track("documentation/" .. page)
return true
end
local function compare_pages(page1, page2, text)
return "[" .. tostring(
full_url("Special:ComparePages", { page1 = page1, page2 = page2 }))
.. " " .. text .. "]"
end
-- Avoid transcluding [[Module:languages/cache]] everywhere.
local lang_cache = setmetatable({}, {
__index = function(self, k)
return require("Module:languages/cache")[k]
end
})
local function zh_link(word)
return full_link {
lang = lang_cache.zh,
term = word
}
end
local function make_languages_data_documentation(_title, cats, division)
local doc_template, module_cat
if endswith(division, "/extra") then
division = division:sub(1, -7)
doc_template = "language extradata documentation"
module_cat = "Language extra data modules"
else
doc_template = "language data documentation"
module_cat = "Language data modules"
end
local sort_key
if division == "exceptional" then
sort_key = "x"
else
sort_key = division:gsub("/", "")
end
insert(cats, module_cat .. "|" .. sort_key)
return {
title = doc_template
}
end
local function make_Unicode_data_documentation(title, _cats)
local subpage, first_three_of_code_point
= title.fullText:match("^Module:Unicode data/([^/]+)/(%x%x%x)$")
if subpage == "names" or subpage == "images" or subpage == "emoji images" then
local low, high =
tonumber(first_three_of_code_point .. "000", 16),
tonumber(first_three_of_code_point .. "FFF", 16)
local text, text_type
if subpage == "names" then
text_type = "titles of images"
elseif subpage == "images" then
text_type = "titles of images"
elseif subpage == "emoji images" then
text_type = "emoji-style images"
end
text = string.format(
"This data module contains the " .. text_type .. " of " ..
"[[Appendix:Unicode|Unicode]] code points within the range U+%04X to U+%04X.",
low, high)
if subpage == "images" and safe_load_data("Module:Unicode data/emoji images/" .. first_three_of_code_point) then
text = text ..
" This list includes the text variants of emojis. For the list of emoji variants of those characters, see [[Module:Unicode data/emoji images/" ..
first_three_of_code_point .. "]]."
elseif subpage == "emoji images" then
text = text ..
" For text-style images, see [[Module:Unicode data/images/" .. first_three_of_code_point .. "]]."
end
return text
end
end
local function insert_lang_data_module_cats(cats, langcode, overall_data_module_cat)
local lang = lang_cache[langcode]
if lang then
local langname
if lang._fullCode then
langname = lang_cache[lang._fullCode]:getCanonicalName()
else
langname = lang:getCanonicalName()
end
insert(cats, overall_data_module_cat .. "|" .. langname)
insert(cats, langname .. " modules")
insert(cats, langname .. " data modules")
return lang, langname
end
end
--[=[
This provides categories and documentation for various data modules, so that [[Category:Uncategorized modules]] isn't
unnecessarily cluttered. It is a list of tables, each of which have the following possible fields:
`regex` (required): A Lua pattern to match the module's title. If it matches, the data in this entry will be used.
Any captures in the pattern can by referenced in the `cat` field using %1 for the first capture, %2 for the
second, etc. (often used for creating the sortkey for the category). In addition, the captures are passed to the
`process` function as the third and subsequent parameters.
`process` (optional): This may be a function or a string. If it is a function, it is called as follows:
`process(TITLE, CATS, CAPTURE1, CAPTURE2, ...)`
where:
* TITLE is a title object describing the module's title; see
[https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Title_objects].
* CATS is an list of categories that the module will be added to.
* CAPTURE1, CAPTURE2, ... contain any captures in the `regex` field.
The return value of `process` should either be a string (which will be used as the module's documentation), or a
table specifying the name of a template to expand to get the documentation, along with the arguments to that
template. In the latter format, the template name (bare, without the "Template:" prefix) should be in the `title`
field, and any arguments should be in `args; in this case, the template name will be listed above the generated
documentation as the source of the documentation, along with an edit button to edit the template's contents.
If, however, the return value of the `process` function is a string, any template invocations will be expanded
using frame:preprocess(), and [[Module:documentation]] will be listed as the source of the documentation.
If `process` itself is a string rather than a function, it should name a submodule under
[[Module:documentation/functions/]] which returns a function, of the same type as described above. This submodule
will be specified as the source of the documentation (unless it returns a table naming a template to expand to get
the documentation, as described above).
If `process` is omitted entirely, the module will have no documentation.
`cat` (optional): A string naming the category into which the module should be placed, or a list of such strings.
Captures specified in `regex` may be referenced in this string using %1 for the first capture, %2 for the second,
etc. It is also possible to add categories in the `process` function by inserting them into the passed-in CATS
list (the second parameter).
]=]
local module_regex = {
{
regex = "^Module:languages/data/(3/%l/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(3/%l)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:scripts/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:data tables/data..?.?.?$",
cat = "Reference module sharded data tables",
},
{
regex = "^Module:zh/data/dial%-pron/.+$",
cat = "Chinese dialectal pronunciation data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/dial%-syn/.+$",
cat = "Chinese dialect synonyms data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/glyph%-data/.+$",
cat = "Chinese historical character forms data modules",
process = function(title, _cats)
local character = title.fullText:match("^Module:zh/data/glyph%-data/(.+)")
if character then
return ("This module contains data on historical forms of the Chinese character %s.")
:format(zh_link(character))
end
end,
},
{
regex = "^Module:zh/data/ltc%-pron/(.+)$",
cat = "Middle Chinese pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-BS/(.+)$",
cat = "Old Chinese (Baxter-Sagart) pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-ZS/(.+)$",
cat = "Old Chinese (Zhengzhang) pronunciation data modules|%1",
process = "zh data",
},
{
-- capture rest of zh/data submodules
regex = "^Module:zh/data/(.+)$",
cat = "Chinese data modules|%1",
},
{
regex = "^Module:mul/guoxue%-data/cjk%-?(.*)$",
process = "guoxue-data",
},
{
regex = "^Module:Unicode data/(.+)$",
cat = "Unicode data modules|%1",
process = make_Unicode_data_documentation,
},
{
regex = "^Module:number list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Number data modules")
if lang then
return ("This module contains data on various types of numbers in %s.\n%s")
:format(lang:makeCategoryLink(), number_list_show_table() or "")
end
end,
},
{
regex = "^Module:chemical element list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Chemical element data modules")
if lang then
return ("This module contains data on chemical elements in %s.\n%s")
:format(lang:makeCategoryLink(), chemical_element_list_show_table() or "")
end
end,
},
{
regex = "^Module:accel/(.+)$",
process = function(title, cats)
local lang_code = title.subpageText
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|accel")
insert(cats, ("Accel submodules|%s"):format(lang:getCanonicalName()))
return ("This module contains new entry creation rules for %s; see [[WT:ACCEL]] for an overview, and [[Module:accel]] for information on creating new rules.")
:format(lang:makeCategoryLink())
end
end,
},
{
regex = "^Module:inc%-ash/dial/data/(.+)$",
cat = "Ashokan Prakrit modules|%1",
process = function(title, _cats)
local word = title.fullText:match("^Module:inc%-ash/dial/data/(.+)$")
if word then
local lang = lang_cache["inc-ash"]
return ("This module contains data on the pronunciation of %s in dialects of %s.")
:format(full_link({ term = word, lang = lang }, "term"),
lang:makeCategoryLink())
end
end,
},
{
regex = "^.+%-translit$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "translit",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-sortkey$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "sortkey",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-stripdiacritics$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "strip diacritics",
title_without_namespace = title.text,
}
end,
},
{
regex = "^Module:form of/lang%-data/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Language-specific form-of modules")
if lang then
-- FIXME, display more info.
return "This module contains language-specific form-of data (tags, shortcuts, base lemma params. etc.) for " ..
langname .. "."
end
end
},
{
regex = "^Module:labels/data/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Language-specific label data modules")
if lang then
return {
title = "label language-specific data documentation",
args = { [1] = lang_code },
}
end
end
},
{
regex = "^Module:category tree/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Category tree data modules/lang")
if lang then
return "This module handles generating the descriptions and categorization for " ..
langname .. " category pages "
.. "of the format \"" .. langname .. " LABEL\" where LABEL can be any text. Examples are "
.. "[[:Category:Bulgarian conjugation 2.1 verbs]] and [[:Category:Russian velar-stem neuter-form nouns]]. "
.. "This module is part of the category tree system, which is a general framework for generating the "
.. "descriptions and categorization of category pages.\n\n"
.. "For more information, see [[Module:category tree/lang/documentation]].\n\n"
.. "'''NOTE:''' If you add a new language-specific module, you must add the language code to the "
.. "list at the top of [[Module:category tree/lang]] in order for the module to be recognized."
end
end
},
{
regex = "^Module:category tree/topic/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/topic| ")
return {
title = "topic cat data submodule documentation"
}
end
},
{
regex = "^Module:category tree/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/grammar| ")
return {
title = "category tree data submodule documentation"
}
end
},
{
regex = "^Module:ja/data/(.+)$",
cat = "Japanese data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/feature/Kettunen1940 ([0-9]+)$",
cat = "Finnish dialectal data atlas modules|%1",
process = function(_title, _cats, shard)
return "This module contains shard " .. shard .. " of the online version of Lauri Kettunen's 1940 work " ..
"''Suomen murteet III A. Murrekartasto'' (\"Finnish dialects III A: Dialect atlas\"). " ..
"It was imported and converted from urn:nbn:fi:csc-kata20151130145346403821, published by the " ..
"''Kotimaisten kielten keskus'' under the CC BY 4.0 license."
end
},
{
regex = "^Module:fi%-dialects/data/feature/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/word/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:Swadesh/data/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
return "This module contains the [[Swadesh list]] of basic vocabulary in " .. langname .. "."
end
end
},
{
regex = "^Module:Swadesh/data/([%l-]+)/([^/]*)$",
process = function(_title, cats, lang_code, variety)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
local prefix = "This module contains the [[Swadesh list]] of basic vocabulary in the "
local etym_lang = get_lang(variety, nil, "allow etym")
if etym_lang then
return ("%s %s variety of %s."):format(prefix, etym_lang:getCanonicalName(), langname)
end
local script = get_script(variety)
if script then
return ("%s %s %s script."):format(prefix, langname, script:getCanonicalName(lang))
end
return ("%s %s variety of %s."):format(prefix, variety, langname)
end
end
},
{
regex = "^Module:typing%-aids",
process = function(title, cats)
local data_suffix = title.fullText:match("^Module:typing%-aids/data/(.+)$")
local sortkey
if data_suffix then
if data_suffix:find "^[%l-]+$" then
local lang = get_lang(data_suffix)
if lang then
sortkey = lang:getCanonicalName()
insert(cats, sortkey .. " data modules")
end
elseif data_suffix:find "^%u%l%l%l$" then
local script = get_script(data_suffix)
if script then
-- FIXME: no lang to pass here
sortkey = script:getCanonicalName()
insert(cats, script:getCategoryName())
end
end
insert(cats, "Character insertion data modules|" .. (sortkey or data_suffix))
end
end,
},
{
regex = "^Module:R:([%l-]+):(.+)$",
process = function(_title, cats, lang_code, refname)
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|" .. refname)
insert(cats, ("Reference modules|%s"):format(lang:getCanonicalName()))
return "This module implements the reference template {{temp|R:" .. lang_code .. ":" .. refname .. "}}."
end
end,
},
{
regex = "^Module:Quotations/([%l-]+)/?(.*)",
process = "Quotation",
},
{
regex = "^Module:affix/lang%-data/([%l-]+)",
process = "affix lang-data",
},
{
regex = "^Module:dialect synonyms/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules| ")
return "This module contains data on specific varieties of " .. langname .. ", for use by " ..
"{{tl|dialect synonyms}}. The actual synonyms themselves are contained in submodules.\n\n" ..
"==== Language data module structure ====\n" ..
"* <code>export.title</code> — optional; table title template (e.g. \"Regional synonyms of %s\").\n" ..
"* <code>export.columns</code> — optional; list of column headers for location hierarchy (e.g. {\"Dialect group\", \"Dialect\", \"Location\"}).\n" ..
"* <code>export.notes</code> — optional; table of note keys to text.\n" ..
"* <code>export.sources</code> — optional; table of source keys to text.\n" ..
"* <code>export.note_aliases</code> — optional; alias map for notes.\n" ..
"* <code>export.varieties</code> — required; nested table of variety nodes. Each node must have <code>name</code>; list part holds children. Node keys can include <code>text_display</code>, <code>color</code>, <code>code</code>, <code>wikidata</code>, <code>lat</code>, <code>long</code>, and language-specific keys (e.g. <code>persian</code>, <code>armenian</code>, <code>chinese</code>).\n\n" ..
expand_template({ title = 'dial syn', args = { lang_code, ["demo mode"] = "y" } })
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)$",
process = function(_title, cats, lang_code, term)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term } }))
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)/([^/]+)$",
process = function(_title, cats, lang_code, term, id)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term, id = id } }))
end
end,
},
{
regex = "^Module:bibliography/data/([%l-]+)$",
process = function(title, cats, lang_code)
if lang_code == "preload" then
return 'Used as a base model for other languages when the button "create new language submodule" is clicked.'
end
local page = require(title.fullText).bib_page
if not page then
page = lang_cache[lang_code]:getCanonicalName()
if page then
insert(cats, page .. " modules")
end
end
insert(cats, "Reference modules")
return "This module holds bibliographical data for " ..
page .. ". For the formatted bibliography see '''[[Appendix:Bibliography/" .. page .. "]]'''."
end,
},
}
function export.show(frame)
local boolean_default_false = { type = "boolean", default = false }
local args = process_params(frame.args, {
["hr"] = true,
["for"] = true,
["from"] = true,
["allowondoc"] = boolean_default_false, -- Don't throw an error if used on a documentation subpage.
["notsubpage"] = boolean_default_false,
["nodoc"] = boolean_default_false,
["nolinks"] = boolean_default_false, -- suppress all "Useful links"
["nosandbox"] = boolean_default_false, -- supress sandbox
})
local output = {'\n<div class="documentation" style="display:block; clear:both">\n'}
local function ins(txt)
insert(output, txt)
end
local cats = {}
local function inscat(cat)
insert(cats, cat)
end
local nodoc = args.nodoc
if (not args.hr) or (args.hr == "above") then
ins("----\n")
end
local title = args["for"] and new_title(args["for"]) or get_current_title()
local doc_title = args.from ~= "-" and new_title(args.from or title.fullText .. '/documentation') or nil
local contentModel = title.contentModel
local pagetype, is_script_or_stylesheet = get_pagetype(title)
local preload, fallback_docs, doc_content, old_doc_title, user_name, skin_name, needs_doc
local doc_content_source = "Module:documentation"
local auto_generated_cat_source
local cats_auto_generated = false
if not args.allowondoc and is_documentation(title) then
-- TODO: merge with {{documentation subpage}}, and choose behaviour based on the page type.
error("This template should not be used on a documentation page. Please use [[Template:documentation subpage]].")
elseif is_sandbox(title) then
local sandbox_ns = title.nsText
preload = ("Template:documentation/preload%s%sSandbox"):format(
sandbox_ns == "Module" and sandbox_ns or "Template",
title.rootText:match("^[Uu]ser:(.+)") and "User" or ""
)
elseif pagetype:match("%f[%w]gadget%f[%W]") then
preload = "Template:documentation/preloadGadget"
elseif pagetype:match("%f[%w]script%f[%W]") then -- .js
if title.nsText == "MediaWiki" then
preload = "Template:documentation/preloadMediaWikiJavaScript"
else
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
end
is_script_or_stylesheet = true
elseif pagetype:match("%f[%w]stylesheet%f[%W]") then -- .css
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
is_script_or_stylesheet = true
elseif contentModel == "Scribunto" then -- Exclude pages in Module: which aren't Scribunto.
preload = "Template:documentation/preloadModule"
elseif pagetype:match("%f[%w]template%f[%W]") or pagetype:match("%f[%w]project%f[%W]") then
preload = "Template:documentation/preloadTemplate"
end
if doc_title and doc_title.isRedirect then
old_doc_title = doc_title
doc_title = doc_title.redirectTarget
end
ins("<dl class=\"plainlinks\" style=\"font-size: smaller;\">")
local function get_module_doc_and_cats(categories_only)
cats_auto_generated = true
local automatic_cats = nil
if user_name then
fallback_docs = "documentation/fallback/user module"
automatic_cats = { "User sandbox modules" }
else
for _, data in ipairs(module_regex) do
local captures = { umatch(title.fullText, data.regex) }
if #captures > 0 then
local cat, process_function
if is_callable(data.process) then
process_function = data.process
elseif type(data.process) == "string" then
doc_content_source = "Module:documentation/functions/" .. data.process
process_function = require(doc_content_source)
end
if process_function then
doc_content = process_function(title, cats, unpack(captures))
end
if type(doc_content) == "table" then
doc_content_source = doc_content.title and "Template:" .. doc_content.title or doc_content_source
doc_content = expand_template(doc_content)
elseif doc_content ~= nil then
doc_content = preprocess(doc_content)
end
cat = data.cat
if cat then
if type(cat) == "string" then
cat = { cat }
end
for _, c in ipairs(cat) do
insert(cats, (ugsub(title.fullText, data.regex, c)))
end
end
break
end
end
end
if title.subpageText == "templates" then
inscat("Template interface modules")
end
if automatic_cats then
for _, c in ipairs(automatic_cats) do
inscat(c)
end
end
if #cats == 0 then
local auto_cats = categorize_module {
return_raw = true,
noerror = true,
}
if #auto_cats > 0 then
auto_generated_cat_source = "Module:module categorization"
end
for _, category in ipairs(auto_cats) do
inscat(category)
end
end
-- meaning module is not in user’s sandbox or one of many datamodule boring series
needs_doc = not categories_only and not (automatic_cats or doc_content or fallback_docs)
end
-- Override automatic documentation, if present.
if doc_title and doc_title.exists then
local cats_auto_generated_text = ""
if contentModel == "Scribunto" then
local doc_page_content = doc_title.content
-- Track then do nothing if there are uses of includeonly. The
-- pattern is slightly too permissive, but any false-positives are
-- obvious typos that should be corrected.
if doc_page_content:lower():match("</?includeonly%f[%s/>][^>]*>") then
track("module-includeonly")
else
-- Check for uses of {{module cat}}. find_templates treats the
-- input as transcluded by default (i.e. it parses the wikitext
-- which will be transcluded through to the module page).
local module_cat
for template in find_templates(doc_page_content) do
if template:get_name() == "module cat" then
module_cat = true
break
end
end
if not module_cat then
get_module_doc_and_cats("categories only")
auto_generated_cat_source = auto_generated_cat_source or doc_content_source
cats_auto_generated_text = " Categories were auto-generated by [[" ..
auto_generated_cat_source .. "]]. <sup>[[" ..
new_title(auto_generated_cat_source):fullUrl { action = "edit" } .. " edit]]</sup>"
end
end
end
ins(
"<dd><i style=\"font-size: larger;\">यह " ..
"[[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|दस्तावेज़ीकरण]] [[" ..
doc_title.fullText .. "]] पर स्थित है। " .. "<sup>[[" .. doc_title:fullUrl { action = "edit" } .. " संपादित करें]]</sup>" ..
cats_auto_generated_text .. "</i></dd>")
else
if contentModel == "Scribunto" then
get_module_doc_and_cats(false)
elseif title.nsText == "साँचा" then
--inscat("Uncategorized templates")
needs_doc = not (fallback_docs or nodoc)
elseif user_name and is_script_or_stylesheet then
skin_name = skins[title.text:sub(#title.rootText + 1):match("^/(%l+)%.[jc]ss?$")]
if skin_name then
fallback_docs = "documentation/fallback/user " .. contentModel
end
end
if doc_content then
ins(
"<dd><i style=\"font-size: larger;\">The following " ..
"[[Help:Documenting templates and modules|documentation]] is " ..
"generated by [[" .. doc_content_source .. "]]. <sup>[[" ..
new_title(doc_content_source):fullUrl { action = "edit" } ..
" edit]]</sup> </i></dd>")
elseif not nodoc then
if doc_title then
ins(
"<dd><i style=\"font-size: larger;\">इस " .. pagetype ..
" को [[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|विवरणउपपृष्ठ]] की आवश्यकता है। " ..
(fallback_docs and "You may " or "कृपया ") ..
"[" .. doc_title:fullUrl { action = "edit", preload = preload }
.. " निर्मित करें]</i></dd>\n")
else
ins(
"<dd><i style=\"font-size: larger; color: var(--wikt-palette-red-9,#FF0000);\">Unable to auto-generate " ..
"documentation for this " .. pagetype .. ".</i></dd>\n")
end
end
end
if startswith(title.fullText, "MediaWiki:Gadget-") then
local is_gadget = false
for line in gline(new_title("MediaWiki:Gadgets-definition").content) do
local gadget, items = line:match("^%*%s*(%a[%w_-]*)%[.-%]|(.+)$")
if not gadget then
gadget, items = line:match("^%*%s*(%a[%w_-]*)|(.+)$")
end
if gadget then
items = split(items, "|")
for i, item in ipairs(items) do
if title.fullText == ("MediaWiki:Gadget-" .. item) then
is_gadget = true
ins("<dd> ''This script is a part of the <code>")
ins(gadget)
ins("</code> gadget ([")
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(" edit definitions])'' <dl>")
ins("<dd> ''Description ([")
ins(tostring(full_url("MediaWiki:Gadget-" .. gadget, { action = "edit" })))
ins(" edit])'': ")
ins(preprocess(new_message('Gadget-' .. gadget):plain()))
ins(" </dd>")
table.remove(items, i)
if #items > 0 then
for j, item in ipairs(items) do
items[j] = '[[MediaWiki:Gadget-' .. item .. '|' .. item .. ']]'
end
ins("<dd> ''Other parts'': ")
ins(list_to_text(items))
ins("</dd>")
end
ins("</dl></dd>")
break
end
end
end
end
if not is_gadget then
ins("<dd> ''This script is not a part of any [")
ins(tostring(full_url("Special:Gadgets", { uselang = "en" })))
ins(' gadget] ([')
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(' edit definitions]).</dd>')
-- else
-- inscat("Wiktionary gadgets")
end
end
if old_doc_title then
ins("<dd> ''Redirected from'' [")
ins(old_doc_title:fullUrl { redirect = "no" })
ins(" ")
ins(old_doc_title.fullText)
ins("] ([")
ins(old_doc_title:fullUrl { action = "edit" })
ins(" edit]).</dd>\n")
end
if not args.nolinks then
local links = {}
local function inslinks(txt)
insert(links, txt)
end
if title.isSubpage and not args.notsubpage then
inslinks("[[:" .. title.nsText .. ":" .. title.rootText .. "|root page]]")
inslinks("[[Special:PrefixIndex/" .. title.nsText .. ":" .. title.rootText .. "/|root page’s subpages]]")
else
inslinks("[[Special:PrefixIndex/" .. title.fullText .. "/|subpage list]]")
end
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidetrans = true, hideredirs = true })) ..
" links]")
if contentModel ~= "Scribunto" then
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hidetrans = true })) ..
" redirects]")
end
if is_script_or_stylesheet then
if user_name then
inslinks("[[Special:MyPage" .. title.text:sub(#title.rootText + 1) .. "|your own]]")
end
else
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hideredirs = true })) ..
" transclusions]")
end
if contentModel == "Scribunto" then
local is_testcases = title.isSubpage and title.subpageText == "testcases"
local without_subpage = title.nsText .. ":" .. title.baseText
if is_testcases then
inslinks("[[:" .. without_subpage .. "|tested module]]")
else
inslinks("[[" .. title.fullText .. "/testcases|testcases]]")
end
if user_name then
inslinks("[[User:" .. user_name .. "|user page]]")
inslinks("[[User talk:" .. user_name .. "|user talk page]]")
inslinks("[[Special:PrefixIndex/User:" .. user_name .. "/|userspace]]")
-- If sandbox module, add a link to the module that this is a sandbox of.
-- Exclude user sandbox modules like [[User:Dine2016/sandbox]].
elseif title.text:find("^sandbox%d*/") or title.text:find("/sandbox%d*%f[/%z]") then
inscat("Sandbox modules")
-- Sandbox modules don’t really need documentation.
needs_doc = false
-- Don't track user sandbox modules.
local text_title = new_title(title.text)
if not (text_title and text_title.nsText == "सदस्य") then
local diff
local sandbox_of = title.text:match("^(.*)/sandbox%d*%f[/%z]")
if sandbox_of then
track("sandbox to be moved")
else
sandbox_of = title.text:match("^sandbox%d*/(.*)$")
end
if not sandbox_of then
error(("Internal error: Something wrong, couldn't extract sandbox-of module from title '%s'")
:format(title.text))
end
sandbox_of = title.nsText .. ":" .. sandbox_of
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
end
-- If not a sandbox module, add link to sandbox module.
-- Sometimes there are multiple sandboxes for a single module:
-- [[Module:sandbox/sa-pronunc]], [[Module:sandbox2/sa-pronunc]].
else
local sandbox_title
local user_prefix, user_rest = title.text:match("^(सदस्य:.-/)(.*)$")
if not user_prefix then
user_prefix = ""
user_rest = title.text
end
sandbox_title = title.nsText .. ":" .. user_prefix .. "sandbox/" .. user_rest
local sandbox_link = "[[:" .. sandbox_title .. "|sandbox]]"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks(sandbox_link .. (diff or ""))
end
end
if title.nsText == "साँचा" then
-- Error search: all(any namespace), hastemplate (show pages using the template), insource (show source code), incategory (any/specific error) -- [[mw:Help:CirrusSearch]], [[w:Help:Searching/Regex]]
-- apparently same with/without: &profile=advanced&fulltext=1
local errorq = 'searchengineselect=mediawiki&search=all: hastemplate:\"' ..
title.rootText .. '\" insource:\"' .. title.rootText .. '\" incategory:'
local eincategory =
"Pages_with_module_errors|ParserFunction_errors|DisplayTitle_errors|Pages_with_ISBN_errors|Pages_with_ISSN_errors|Pages_with_reference_errors|Pages_with_syntax_highlighting_errors|Pages_with_TemplateStyles_errors"
inslinks(
'[' .. tostring(full_url('Special:Search', errorq .. eincategory)) .. ' errors]'
.. ' (' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'ParserFunction_errors')) .. ' parser]'
.. '/' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'Pages_with_module_errors')) .. ' module]'
.. ')'
)
if title.isSubpage and title.text:find("/sandbox%d*%f[/%z]") then -- This is a sandbox template.
-- At the moment there are no user sandbox templates with subpage
-- “/sandbox”.
inscat("Sandbox templates")
-- Sandbox templates don’t really need documentation.
needs_doc = false
-- Will behave badly if “/sandbox” occurs twice in title!
local sandbox_of = title.fullText:gsub("/sandbox%d*%f[/%z]", "")
local diff
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
-- This is a template that can have a sandbox.
elseif not args.nosandbox then -- unless we tell it not to
local sandbox_title = title.fullText .. "/sandbox"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks("[[:" .. sandbox_title .. "|sandbox]]" .. (diff or ""))
end
end
if #links > 0 then
ins("<dd> ''Useful links'': " .. concat(links, " • ") .. "</dd>")
end
end
ins("</dl>\n")
-- Show error from [[Module:category tree/topic cat/data]] on its submodules'
-- documentation to, for instance, warn about duplicate labels.
if startswith(title.fullText, "Module:category tree/topic/") then
local ok, err = pcall(require, "Module:category tree/topic/data")
if not ok then
ins('<span class="error">' .. err .. '</span>\n\n')
end
end
if doc_title and doc_title.exists then
-- Override automatic documentation, if present.
doc_content = expand_template { title = doc_title.fullText }
elseif not doc_content and fallback_docs then
doc_content = expand_template {
title = fallback_docs,
args = {
['user'] = user_name,
['page'] = title.fullText,
['skin name'] = skin_name,
},
}
end
if doc_content then
ins(doc_content)
end
ins(('\n<%s style="clear: both;" />'):format(args.hr == "below" and "hr" or "br"))
if cats_auto_generated and not cats[1] and (not doc_content or not doc_content:find("%[%[Category:")) then
if contentModel == "Scribunto" then
inscat("Uncategorized modules")
-- elseif title.nsText == "Template" then
-- inscat("Uncategorized templates")
end
end
if needs_doc then
inscat("Templates and modules needing documentation")
end
for _, cat in ipairs(cats) do
ins("[[Category:" .. cat .. "]]")
end
ins("</div>\n")
return concat(output)
end
function export.module_auto_doc_table()
local parts = {}
local function ins(text)
insert(parts, text)
end
ins('{|class="wikitable"')
ins("! Regex !! Category !! Handling modules")
for _, spec in ipairs(module_regex) do
local cat_text
local cats = spec.cat
if cats then
local cat_parts = {}
if type(cats) == "string" then
cats = { cats }
end
for _, cat in ipairs(cats) do
insert(cat_parts, ("<code>%s</code>"):format((cat:gsub("|", "|"))))
end
cat_text = concat(cat_parts, ", ")
else
cat_text = "''(unspecified)''"
end
ins("|-")
ins(("| <code>%s</code> || %s || %s"):format(spec.regex, cat_text,
is_callable(spec.process) and "''(handled internally)''" or
type(spec.process) == "string" and ("[[Module:documentation/functions/%s]]"):format(spec.process) or
"''(no documentation generator)''"))
end
ins("|}")
return concat(parts, "\n")
end
return export
daa6lnksz2xwp69l4blcczvpo1ua9qs
488641
488639
2026-09-12T18:11:12Z
SM7
6218
localization...
488641
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local frame_module = "Module:frame"
local fun_is_callable_module = "Module:fun/isCallable"
local languages_module = "Module:languages"
local links_module = "Module:links"
local load_module = "Module:load"
local module_categorization_module = "Module:module categorization"
local number_list_show_module = "Module:number list/show"
local chemical_element_list_show_module = "Module:chemical element list/show"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local scripts_module = "Module:scripts"
local string_endswith_module = "Module:string/endswith"
local string_gline_module = "Module:string/gline"
local string_startswith_module = "Module:string/startswith"
local string_utilities_module = "Module:string utilities"
local template_parser_module = "Module:template parser"
local title_exists_module = "Module:title/exists"
local title_new_title_module = "Module:title/newTitle"
local concat = table.concat
local error = error
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local insert = table.insert
local ipairs = ipairs
local list_to_text = mw.text.listToText
local new_message = mw.message.new
local pcall = pcall
local require = require
local tonumber = tonumber
local tostring = tostring
local type = type
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function categorize_module(...)
categorize_module = require(module_categorization_module).categorize_module
return categorize_module(...)
end
local function debug_track(...)
debug_track = require(debug_track_module)
return debug_track(...)
end
local function endswith(...)
endswith = require(string_endswith_module)
return endswith(...)
end
local function expand_template(...)
expand_template = require(frame_module).expandTemplate
return expand_template(...)
end
local function find_templates(...)
find_templates = require(template_parser_module).find_templates
return find_templates(...)
end
local function full_link(...)
full_link = require(links_module).full_link
return full_link(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function get_pagetype(...)
get_pagetype = require(pages_module).get_pagetype
return get_pagetype(...)
end
local function get_script(...)
get_script = require(scripts_module).getByCode
return get_script(...)
end
local function gline(...)
gline = require(string_gline_module)
return gline(...)
end
local function is_callable(...)
is_callable = require(fun_is_callable_module)
return is_callable(...)
end
local function is_documentation(...)
is_documentation = require(pages_module).is_documentation
return is_documentation(...)
end
local function is_sandbox(...)
is_sandbox = require(pages_module).is_sandbox
return is_sandbox(...)
end
local function new_title(...)
new_title = require(title_new_title_module)
return new_title(...)
end
local function number_list_show_table(...)
number_list_show_table = require(number_list_show_module).table
return number_list_show_table(...)
end
local function chemical_element_list_show_table(...)
chemical_element_list_show_table = require(chemical_element_list_show_module).table
return chemical_element_list_show_table(...)
end
local function preprocess(...)
preprocess = require(frame_module).preprocess
return preprocess(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function safe_load_data(...)
safe_load_data = require(load_module).safe_load_data
return safe_load_data(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function startswith(...)
startswith = require(string_startswith_module)
return startswith(...)
end
local function title_exists(...)
title_exists = require(title_exists_module)
return title_exists(...)
end
local function ugsub(...)
ugsub = require(string_utilities_module).gsub
return ugsub(...)
end
local function umatch(...)
umatch = require(string_utilities_module).match
return umatch(...)
end
local skins = {
["common"] = "",
["vector"] = "Vector",
["monobook"] = "Monobook",
["cologneblue"] = "Cologne Blue",
["modern"] = "Modern",
}
local function track(page)
debug_track("documentation/" .. page)
return true
end
local function compare_pages(page1, page2, text)
return "[" .. tostring(
full_url("Special:ComparePages", { page1 = page1, page2 = page2 }))
.. " " .. text .. "]"
end
-- Avoid transcluding [[Module:languages/cache]] everywhere.
local lang_cache = setmetatable({}, {
__index = function(self, k)
return require("Module:languages/cache")[k]
end
})
local function zh_link(word)
return full_link {
lang = lang_cache.zh,
term = word
}
end
local function make_languages_data_documentation(_title, cats, division)
local doc_template, module_cat
if endswith(division, "/extra") then
division = division:sub(1, -7)
doc_template = "language extradata documentation"
module_cat = "Language extra data modules"
else
doc_template = "language data documentation"
module_cat = "Language data modules"
end
local sort_key
if division == "exceptional" then
sort_key = "x"
else
sort_key = division:gsub("/", "")
end
insert(cats, module_cat .. "|" .. sort_key)
return {
title = doc_template
}
end
local function make_Unicode_data_documentation(title, _cats)
local subpage, first_three_of_code_point
= title.fullText:match("^Module:Unicode data/([^/]+)/(%x%x%x)$")
if subpage == "names" or subpage == "images" or subpage == "emoji images" then
local low, high =
tonumber(first_three_of_code_point .. "000", 16),
tonumber(first_three_of_code_point .. "FFF", 16)
local text, text_type
if subpage == "names" then
text_type = "titles of images"
elseif subpage == "images" then
text_type = "titles of images"
elseif subpage == "emoji images" then
text_type = "emoji-style images"
end
text = string.format(
"This data module contains the " .. text_type .. " of " ..
"[[Appendix:Unicode|Unicode]] code points within the range U+%04X to U+%04X.",
low, high)
if subpage == "images" and safe_load_data("Module:Unicode data/emoji images/" .. first_three_of_code_point) then
text = text ..
" This list includes the text variants of emojis. For the list of emoji variants of those characters, see [[Module:Unicode data/emoji images/" ..
first_three_of_code_point .. "]]."
elseif subpage == "emoji images" then
text = text ..
" For text-style images, see [[Module:Unicode data/images/" .. first_three_of_code_point .. "]]."
end
return text
end
end
local function insert_lang_data_module_cats(cats, langcode, overall_data_module_cat)
local lang = lang_cache[langcode]
if lang then
local langname
if lang._fullCode then
langname = lang_cache[lang._fullCode]:getCanonicalName()
else
langname = lang:getCanonicalName()
end
insert(cats, overall_data_module_cat .. "|" .. langname)
insert(cats, langname .. " modules")
insert(cats, langname .. " data modules")
return lang, langname
end
end
--[=[
This provides categories and documentation for various data modules, so that [[Category:Uncategorized modules]] isn't
unnecessarily cluttered. It is a list of tables, each of which have the following possible fields:
`regex` (required): A Lua pattern to match the module's title. If it matches, the data in this entry will be used.
Any captures in the pattern can by referenced in the `cat` field using %1 for the first capture, %2 for the
second, etc. (often used for creating the sortkey for the category). In addition, the captures are passed to the
`process` function as the third and subsequent parameters.
`process` (optional): This may be a function or a string. If it is a function, it is called as follows:
`process(TITLE, CATS, CAPTURE1, CAPTURE2, ...)`
where:
* TITLE is a title object describing the module's title; see
[https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Title_objects].
* CATS is an list of categories that the module will be added to.
* CAPTURE1, CAPTURE2, ... contain any captures in the `regex` field.
The return value of `process` should either be a string (which will be used as the module's documentation), or a
table specifying the name of a template to expand to get the documentation, along with the arguments to that
template. In the latter format, the template name (bare, without the "Template:" prefix) should be in the `title`
field, and any arguments should be in `args; in this case, the template name will be listed above the generated
documentation as the source of the documentation, along with an edit button to edit the template's contents.
If, however, the return value of the `process` function is a string, any template invocations will be expanded
using frame:preprocess(), and [[Module:documentation]] will be listed as the source of the documentation.
If `process` itself is a string rather than a function, it should name a submodule under
[[Module:documentation/functions/]] which returns a function, of the same type as described above. This submodule
will be specified as the source of the documentation (unless it returns a table naming a template to expand to get
the documentation, as described above).
If `process` is omitted entirely, the module will have no documentation.
`cat` (optional): A string naming the category into which the module should be placed, or a list of such strings.
Captures specified in `regex` may be referenced in this string using %1 for the first capture, %2 for the second,
etc. It is also possible to add categories in the `process` function by inserting them into the passed-in CATS
list (the second parameter).
]=]
local module_regex = {
{
regex = "^Module:languages/data/(3/%l/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(3/%l)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:scripts/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:data tables/data..?.?.?$",
cat = "Reference module sharded data tables",
},
{
regex = "^Module:zh/data/dial%-pron/.+$",
cat = "Chinese dialectal pronunciation data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/dial%-syn/.+$",
cat = "Chinese dialect synonyms data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/glyph%-data/.+$",
cat = "Chinese historical character forms data modules",
process = function(title, _cats)
local character = title.fullText:match("^Module:zh/data/glyph%-data/(.+)")
if character then
return ("This module contains data on historical forms of the Chinese character %s.")
:format(zh_link(character))
end
end,
},
{
regex = "^Module:zh/data/ltc%-pron/(.+)$",
cat = "Middle Chinese pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-BS/(.+)$",
cat = "Old Chinese (Baxter-Sagart) pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-ZS/(.+)$",
cat = "Old Chinese (Zhengzhang) pronunciation data modules|%1",
process = "zh data",
},
{
-- capture rest of zh/data submodules
regex = "^Module:zh/data/(.+)$",
cat = "Chinese data modules|%1",
},
{
regex = "^Module:mul/guoxue%-data/cjk%-?(.*)$",
process = "guoxue-data",
},
{
regex = "^Module:Unicode data/(.+)$",
cat = "Unicode data modules|%1",
process = make_Unicode_data_documentation,
},
{
regex = "^Module:number list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Number data modules")
if lang then
return ("This module contains data on various types of numbers in %s.\n%s")
:format(lang:makeCategoryLink(), number_list_show_table() or "")
end
end,
},
{
regex = "^Module:chemical element list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Chemical element data modules")
if lang then
return ("This module contains data on chemical elements in %s.\n%s")
:format(lang:makeCategoryLink(), chemical_element_list_show_table() or "")
end
end,
},
{
regex = "^Module:accel/(.+)$",
process = function(title, cats)
local lang_code = title.subpageText
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|accel")
insert(cats, ("Accel submodules|%s"):format(lang:getCanonicalName()))
return ("This module contains new entry creation rules for %s; see [[WT:ACCEL]] for an overview, and [[Module:accel]] for information on creating new rules.")
:format(lang:makeCategoryLink())
end
end,
},
{
regex = "^Module:inc%-ash/dial/data/(.+)$",
cat = "Ashokan Prakrit modules|%1",
process = function(title, _cats)
local word = title.fullText:match("^Module:inc%-ash/dial/data/(.+)$")
if word then
local lang = lang_cache["inc-ash"]
return ("This module contains data on the pronunciation of %s in dialects of %s.")
:format(full_link({ term = word, lang = lang }, "term"),
lang:makeCategoryLink())
end
end,
},
{
regex = "^.+%-translit$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "translit",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-sortkey$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "sortkey",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-stripdiacritics$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "strip diacritics",
title_without_namespace = title.text,
}
end,
},
{
regex = "^Module:form of/lang%-data/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Language-specific form-of modules")
if lang then
-- FIXME, display more info.
return "This module contains language-specific form-of data (tags, shortcuts, base lemma params. etc.) for " ..
langname .. "."
end
end
},
{
regex = "^Module:labels/data/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Language-specific label data modules")
if lang then
return {
title = "label language-specific data documentation",
args = { [1] = lang_code },
}
end
end
},
{
regex = "^Module:category tree/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Category tree data modules/lang")
if lang then
return "This module handles generating the descriptions and categorization for " ..
langname .. " category pages "
.. "of the format \"" .. langname .. " LABEL\" where LABEL can be any text. Examples are "
.. "[[:Category:Bulgarian conjugation 2.1 verbs]] and [[:Category:Russian velar-stem neuter-form nouns]]. "
.. "This module is part of the category tree system, which is a general framework for generating the "
.. "descriptions and categorization of category pages.\n\n"
.. "For more information, see [[Module:category tree/lang/documentation]].\n\n"
.. "'''NOTE:''' If you add a new language-specific module, you must add the language code to the "
.. "list at the top of [[Module:category tree/lang]] in order for the module to be recognized."
end
end
},
{
regex = "^Module:category tree/topic/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/topic| ")
return {
title = "topic cat data submodule documentation"
}
end
},
{
regex = "^Module:category tree/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/grammar| ")
return {
title = "category tree data submodule documentation"
}
end
},
{
regex = "^Module:ja/data/(.+)$",
cat = "Japanese data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/feature/Kettunen1940 ([0-9]+)$",
cat = "Finnish dialectal data atlas modules|%1",
process = function(_title, _cats, shard)
return "This module contains shard " .. shard .. " of the online version of Lauri Kettunen's 1940 work " ..
"''Suomen murteet III A. Murrekartasto'' (\"Finnish dialects III A: Dialect atlas\"). " ..
"It was imported and converted from urn:nbn:fi:csc-kata20151130145346403821, published by the " ..
"''Kotimaisten kielten keskus'' under the CC BY 4.0 license."
end
},
{
regex = "^Module:fi%-dialects/data/feature/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/word/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:Swadesh/data/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
return "This module contains the [[Swadesh list]] of basic vocabulary in " .. langname .. "."
end
end
},
{
regex = "^Module:Swadesh/data/([%l-]+)/([^/]*)$",
process = function(_title, cats, lang_code, variety)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
local prefix = "This module contains the [[Swadesh list]] of basic vocabulary in the "
local etym_lang = get_lang(variety, nil, "allow etym")
if etym_lang then
return ("%s %s variety of %s."):format(prefix, etym_lang:getCanonicalName(), langname)
end
local script = get_script(variety)
if script then
return ("%s %s %s script."):format(prefix, langname, script:getCanonicalName(lang))
end
return ("%s %s variety of %s."):format(prefix, variety, langname)
end
end
},
{
regex = "^Module:typing%-aids",
process = function(title, cats)
local data_suffix = title.fullText:match("^Module:typing%-aids/data/(.+)$")
local sortkey
if data_suffix then
if data_suffix:find "^[%l-]+$" then
local lang = get_lang(data_suffix)
if lang then
sortkey = lang:getCanonicalName()
insert(cats, sortkey .. " data modules")
end
elseif data_suffix:find "^%u%l%l%l$" then
local script = get_script(data_suffix)
if script then
-- FIXME: no lang to pass here
sortkey = script:getCanonicalName()
insert(cats, script:getCategoryName())
end
end
insert(cats, "Character insertion data modules|" .. (sortkey or data_suffix))
end
end,
},
{
regex = "^Module:R:([%l-]+):(.+)$",
process = function(_title, cats, lang_code, refname)
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|" .. refname)
insert(cats, ("Reference modules|%s"):format(lang:getCanonicalName()))
return "This module implements the reference template {{temp|R:" .. lang_code .. ":" .. refname .. "}}."
end
end,
},
{
regex = "^Module:Quotations/([%l-]+)/?(.*)",
process = "Quotation",
},
{
regex = "^Module:affix/lang%-data/([%l-]+)",
process = "affix lang-data",
},
{
regex = "^Module:dialect synonyms/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules| ")
return "This module contains data on specific varieties of " .. langname .. ", for use by " ..
"{{tl|dialect synonyms}}. The actual synonyms themselves are contained in submodules.\n\n" ..
"==== Language data module structure ====\n" ..
"* <code>export.title</code> — optional; table title template (e.g. \"Regional synonyms of %s\").\n" ..
"* <code>export.columns</code> — optional; list of column headers for location hierarchy (e.g. {\"Dialect group\", \"Dialect\", \"Location\"}).\n" ..
"* <code>export.notes</code> — optional; table of note keys to text.\n" ..
"* <code>export.sources</code> — optional; table of source keys to text.\n" ..
"* <code>export.note_aliases</code> — optional; alias map for notes.\n" ..
"* <code>export.varieties</code> — required; nested table of variety nodes. Each node must have <code>name</code>; list part holds children. Node keys can include <code>text_display</code>, <code>color</code>, <code>code</code>, <code>wikidata</code>, <code>lat</code>, <code>long</code>, and language-specific keys (e.g. <code>persian</code>, <code>armenian</code>, <code>chinese</code>).\n\n" ..
expand_template({ title = 'dial syn', args = { lang_code, ["demo mode"] = "y" } })
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)$",
process = function(_title, cats, lang_code, term)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term } }))
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)/([^/]+)$",
process = function(_title, cats, lang_code, term, id)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term, id = id } }))
end
end,
},
{
regex = "^Module:bibliography/data/([%l-]+)$",
process = function(title, cats, lang_code)
if lang_code == "preload" then
return 'Used as a base model for other languages when the button "create new language submodule" is clicked.'
end
local page = require(title.fullText).bib_page
if not page then
page = lang_cache[lang_code]:getCanonicalName()
if page then
insert(cats, page .. " modules")
end
end
insert(cats, "Reference modules")
return "This module holds bibliographical data for " ..
page .. ". For the formatted bibliography see '''[[Appendix:Bibliography/" .. page .. "]]'''."
end,
},
}
function export.show(frame)
local boolean_default_false = { type = "boolean", default = false }
local args = process_params(frame.args, {
["hr"] = true,
["for"] = true,
["from"] = true,
["allowondoc"] = boolean_default_false, -- Don't throw an error if used on a documentation subpage.
["notsubpage"] = boolean_default_false,
["nodoc"] = boolean_default_false,
["nolinks"] = boolean_default_false, -- suppress all "Useful links"
["nosandbox"] = boolean_default_false, -- supress sandbox
})
local output = {'\n<div class="documentation" style="display:block; clear:both">\n'}
local function ins(txt)
insert(output, txt)
end
local cats = {}
local function inscat(cat)
insert(cats, cat)
end
local nodoc = args.nodoc
if (not args.hr) or (args.hr == "above") then
ins("----\n")
end
local title = args["for"] and new_title(args["for"]) or get_current_title()
local doc_title = args.from ~= "-" and new_title(args.from or title.fullText .. '/documentation') or nil
local contentModel = title.contentModel
local pagetype, is_script_or_stylesheet = get_pagetype(title)
local preload, fallback_docs, doc_content, old_doc_title, user_name, skin_name, needs_doc
local doc_content_source = "Module:documentation"
local auto_generated_cat_source
local cats_auto_generated = false
if not args.allowondoc and is_documentation(title) then
-- TODO: merge with {{documentation subpage}}, and choose behaviour based on the page type.
error("This template should not be used on a documentation page. Please use [[Template:documentation subpage]].")
elseif is_sandbox(title) then
local sandbox_ns = title.nsText
preload = ("Template:documentation/preload%s%sSandbox"):format(
sandbox_ns == "Module" and sandbox_ns or "Template",
title.rootText:match("^[Uu]ser:(.+)") and "User" or ""
)
elseif pagetype:match("%f[%w]gadget%f[%W]") then
preload = "Template:documentation/preloadGadget"
elseif pagetype:match("%f[%w]script%f[%W]") then -- .js
if title.nsText == "MediaWiki" then
preload = "Template:documentation/preloadMediaWikiJavaScript"
else
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
end
is_script_or_stylesheet = true
elseif pagetype:match("%f[%w]stylesheet%f[%W]") then -- .css
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
is_script_or_stylesheet = true
elseif contentModel == "Scribunto" then -- Exclude pages in Module: which aren't Scribunto.
preload = "Template:documentation/preloadModule"
elseif pagetype:match("%f[%w]template%f[%W]") or pagetype:match("%f[%w]project%f[%W]") then
preload = "Template:documentation/preloadTemplate"
end
if doc_title and doc_title.isRedirect then
old_doc_title = doc_title
doc_title = doc_title.redirectTarget
end
ins("<dl class=\"plainlinks\" style=\"font-size: smaller;\">")
local function get_module_doc_and_cats(categories_only)
cats_auto_generated = true
local automatic_cats = nil
if user_name then
fallback_docs = "documentation/fallback/user module"
automatic_cats = { "User sandbox modules" }
else
for _, data in ipairs(module_regex) do
local captures = { umatch(title.fullText, data.regex) }
if #captures > 0 then
local cat, process_function
if is_callable(data.process) then
process_function = data.process
elseif type(data.process) == "string" then
doc_content_source = "Module:documentation/functions/" .. data.process
process_function = require(doc_content_source)
end
if process_function then
doc_content = process_function(title, cats, unpack(captures))
end
if type(doc_content) == "table" then
doc_content_source = doc_content.title and "Template:" .. doc_content.title or doc_content_source
doc_content = expand_template(doc_content)
elseif doc_content ~= nil then
doc_content = preprocess(doc_content)
end
cat = data.cat
if cat then
if type(cat) == "string" then
cat = { cat }
end
for _, c in ipairs(cat) do
insert(cats, (ugsub(title.fullText, data.regex, c)))
end
end
break
end
end
end
if title.subpageText == "templates" then
inscat("Template interface modules")
end
if automatic_cats then
for _, c in ipairs(automatic_cats) do
inscat(c)
end
end
if #cats == 0 then
local auto_cats = categorize_module {
return_raw = true,
noerror = true,
}
if #auto_cats > 0 then
auto_generated_cat_source = "Module:module categorization"
end
for _, category in ipairs(auto_cats) do
inscat(category)
end
end
-- meaning module is not in user’s sandbox or one of many datamodule boring series
needs_doc = not categories_only and not (automatic_cats or doc_content or fallback_docs)
end
-- Override automatic documentation, if present.
if doc_title and doc_title.exists then
local cats_auto_generated_text = ""
if contentModel == "Scribunto" then
local doc_page_content = doc_title.content
-- Track then do nothing if there are uses of includeonly. The
-- pattern is slightly too permissive, but any false-positives are
-- obvious typos that should be corrected.
if doc_page_content:lower():match("</?includeonly%f[%s/>][^>]*>") then
track("module-includeonly")
else
-- Check for uses of {{module cat}}. find_templates treats the
-- input as transcluded by default (i.e. it parses the wikitext
-- which will be transcluded through to the module page).
local module_cat
for template in find_templates(doc_page_content) do
if template:get_name() == "module cat" then
module_cat = true
break
end
end
if not module_cat then
get_module_doc_and_cats("categories only")
auto_generated_cat_source = auto_generated_cat_source or doc_content_source
cats_auto_generated_text = " Categories were auto-generated by [[" ..
auto_generated_cat_source .. "]]. <sup>[[" ..
new_title(auto_generated_cat_source):fullUrl { action = "edit" } .. " edit]]</sup>"
end
end
end
ins(
"<dd><i style=\"font-size: larger;\">यह " ..
"[[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|विवरणपृष्ठ]] [[" ..
doc_title.fullText .. "]] पर स्थित है। " .. "<sup>[[" .. doc_title:fullUrl { action = "edit" } .. " संपादित करें]]</sup>" ..
cats_auto_generated_text .. "</i></dd>")
else
if contentModel == "Scribunto" then
get_module_doc_and_cats(false)
elseif title.nsText == "साँचा" then
--inscat("Uncategorized templates")
needs_doc = not (fallback_docs or nodoc)
elseif user_name and is_script_or_stylesheet then
skin_name = skins[title.text:sub(#title.rootText + 1):match("^/(%l+)%.[jc]ss?$")]
if skin_name then
fallback_docs = "documentation/fallback/user " .. contentModel
end
end
if doc_content then
ins(
"<dd><i style=\"font-size: larger;\">The following " ..
"[[Help:Documenting templates and modules|documentation]] is " ..
"generated by [[" .. doc_content_source .. "]]. <sup>[[" ..
new_title(doc_content_source):fullUrl { action = "edit" } ..
" edit]]</sup> </i></dd>")
elseif not nodoc then
if doc_title then
ins(
"<dd><i style=\"font-size: larger;\">इस " .. pagetype ..
" को [[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|विवरणउपपृष्ठ]] की आवश्यकता है। " ..
(fallback_docs and "You may " or "कृपया ") ..
"[" .. doc_title:fullUrl { action = "edit", preload = preload }
.. " निर्मित करें]।</i></dd>\n")
else
ins(
"<dd><i style=\"font-size: larger; color: var(--wikt-palette-red-9,#FF0000);\">Unable to auto-generate " ..
"documentation for this " .. pagetype .. ".</i></dd>\n")
end
end
end
if startswith(title.fullText, "MediaWiki:Gadget-") then
local is_gadget = false
for line in gline(new_title("MediaWiki:Gadgets-definition").content) do
local gadget, items = line:match("^%*%s*(%a[%w_-]*)%[.-%]|(.+)$")
if not gadget then
gadget, items = line:match("^%*%s*(%a[%w_-]*)|(.+)$")
end
if gadget then
items = split(items, "|")
for i, item in ipairs(items) do
if title.fullText == ("MediaWiki:Gadget-" .. item) then
is_gadget = true
ins("<dd> ''This script is a part of the <code>")
ins(gadget)
ins("</code> gadget ([")
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(" edit definitions])'' <dl>")
ins("<dd> ''Description ([")
ins(tostring(full_url("MediaWiki:Gadget-" .. gadget, { action = "edit" })))
ins(" edit])'': ")
ins(preprocess(new_message('Gadget-' .. gadget):plain()))
ins(" </dd>")
table.remove(items, i)
if #items > 0 then
for j, item in ipairs(items) do
items[j] = '[[MediaWiki:Gadget-' .. item .. '|' .. item .. ']]'
end
ins("<dd> ''Other parts'': ")
ins(list_to_text(items))
ins("</dd>")
end
ins("</dl></dd>")
break
end
end
end
end
if not is_gadget then
ins("<dd> ''This script is not a part of any [")
ins(tostring(full_url("Special:Gadgets", { uselang = "en" })))
ins(' gadget] ([')
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(' edit definitions]).</dd>')
-- else
-- inscat("Wiktionary gadgets")
end
end
if old_doc_title then
ins("<dd> ''Redirected from'' [")
ins(old_doc_title:fullUrl { redirect = "no" })
ins(" ")
ins(old_doc_title.fullText)
ins("] ([")
ins(old_doc_title:fullUrl { action = "edit" })
ins(" edit]).</dd>\n")
end
if not args.nolinks then
local links = {}
local function inslinks(txt)
insert(links, txt)
end
if title.isSubpage and not args.notsubpage then
inslinks("[[:" .. title.nsText .. ":" .. title.rootText .. "|root page]]")
inslinks("[[Special:PrefixIndex/" .. title.nsText .. ":" .. title.rootText .. "/|root page’s subpages]]")
else
inslinks("[[Special:PrefixIndex/" .. title.fullText .. "/|subpage list]]")
end
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidetrans = true, hideredirs = true })) ..
" links]")
if contentModel ~= "Scribunto" then
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hidetrans = true })) ..
" redirects]")
end
if is_script_or_stylesheet then
if user_name then
inslinks("[[Special:MyPage" .. title.text:sub(#title.rootText + 1) .. "|your own]]")
end
else
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hideredirs = true })) ..
" transclusions]")
end
if contentModel == "Scribunto" then
local is_testcases = title.isSubpage and title.subpageText == "testcases"
local without_subpage = title.nsText .. ":" .. title.baseText
if is_testcases then
inslinks("[[:" .. without_subpage .. "|tested module]]")
else
inslinks("[[" .. title.fullText .. "/testcases|testcases]]")
end
if user_name then
inslinks("[[User:" .. user_name .. "|user page]]")
inslinks("[[User talk:" .. user_name .. "|user talk page]]")
inslinks("[[Special:PrefixIndex/User:" .. user_name .. "/|userspace]]")
-- If sandbox module, add a link to the module that this is a sandbox of.
-- Exclude user sandbox modules like [[User:Dine2016/sandbox]].
elseif title.text:find("^sandbox%d*/") or title.text:find("/sandbox%d*%f[/%z]") then
inscat("Sandbox modules")
-- Sandbox modules don’t really need documentation.
needs_doc = false
-- Don't track user sandbox modules.
local text_title = new_title(title.text)
if not (text_title and text_title.nsText == "सदस्य") then
local diff
local sandbox_of = title.text:match("^(.*)/sandbox%d*%f[/%z]")
if sandbox_of then
track("sandbox to be moved")
else
sandbox_of = title.text:match("^sandbox%d*/(.*)$")
end
if not sandbox_of then
error(("Internal error: Something wrong, couldn't extract sandbox-of module from title '%s'")
:format(title.text))
end
sandbox_of = title.nsText .. ":" .. sandbox_of
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
end
-- If not a sandbox module, add link to sandbox module.
-- Sometimes there are multiple sandboxes for a single module:
-- [[Module:sandbox/sa-pronunc]], [[Module:sandbox2/sa-pronunc]].
else
local sandbox_title
local user_prefix, user_rest = title.text:match("^(सदस्य:.-/)(.*)$")
if not user_prefix then
user_prefix = ""
user_rest = title.text
end
sandbox_title = title.nsText .. ":" .. user_prefix .. "sandbox/" .. user_rest
local sandbox_link = "[[:" .. sandbox_title .. "|sandbox]]"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks(sandbox_link .. (diff or ""))
end
end
if title.nsText == "साँचा" then
-- Error search: all(any namespace), hastemplate (show pages using the template), insource (show source code), incategory (any/specific error) -- [[mw:Help:CirrusSearch]], [[w:Help:Searching/Regex]]
-- apparently same with/without: &profile=advanced&fulltext=1
local errorq = 'searchengineselect=mediawiki&search=all: hastemplate:\"' ..
title.rootText .. '\" insource:\"' .. title.rootText .. '\" incategory:'
local eincategory =
"Pages_with_module_errors|ParserFunction_errors|DisplayTitle_errors|Pages_with_ISBN_errors|Pages_with_ISSN_errors|Pages_with_reference_errors|Pages_with_syntax_highlighting_errors|Pages_with_TemplateStyles_errors"
inslinks(
'[' .. tostring(full_url('Special:Search', errorq .. eincategory)) .. ' errors]'
.. ' (' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'ParserFunction_errors')) .. ' parser]'
.. '/' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'Pages_with_module_errors')) .. ' module]'
.. ')'
)
if title.isSubpage and title.text:find("/sandbox%d*%f[/%z]") then -- This is a sandbox template.
-- At the moment there are no user sandbox templates with subpage
-- “/sandbox”.
inscat("Sandbox templates")
-- Sandbox templates don’t really need documentation.
needs_doc = false
-- Will behave badly if “/sandbox” occurs twice in title!
local sandbox_of = title.fullText:gsub("/sandbox%d*%f[/%z]", "")
local diff
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
-- This is a template that can have a sandbox.
elseif not args.nosandbox then -- unless we tell it not to
local sandbox_title = title.fullText .. "/sandbox"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks("[[:" .. sandbox_title .. "|sandbox]]" .. (diff or ""))
end
end
if #links > 0 then
ins("<dd> ''Useful links'': " .. concat(links, " • ") .. "</dd>")
end
end
ins("</dl>\n")
-- Show error from [[Module:category tree/topic cat/data]] on its submodules'
-- documentation to, for instance, warn about duplicate labels.
if startswith(title.fullText, "Module:category tree/topic/") then
local ok, err = pcall(require, "Module:category tree/topic/data")
if not ok then
ins('<span class="error">' .. err .. '</span>\n\n')
end
end
if doc_title and doc_title.exists then
-- Override automatic documentation, if present.
doc_content = expand_template { title = doc_title.fullText }
elseif not doc_content and fallback_docs then
doc_content = expand_template {
title = fallback_docs,
args = {
['user'] = user_name,
['page'] = title.fullText,
['skin name'] = skin_name,
},
}
end
if doc_content then
ins(doc_content)
end
ins(('\n<%s style="clear: both;" />'):format(args.hr == "below" and "hr" or "br"))
if cats_auto_generated and not cats[1] and (not doc_content or not doc_content:find("%[%[Category:")) then
if contentModel == "Scribunto" then
inscat("Uncategorized modules")
-- elseif title.nsText == "Template" then
-- inscat("Uncategorized templates")
end
end
if needs_doc then
inscat("Templates and modules needing documentation")
end
for _, cat in ipairs(cats) do
ins("[[Category:" .. cat .. "]]")
end
ins("</div>\n")
return concat(output)
end
function export.module_auto_doc_table()
local parts = {}
local function ins(text)
insert(parts, text)
end
ins('{|class="wikitable"')
ins("! Regex !! Category !! Handling modules")
for _, spec in ipairs(module_regex) do
local cat_text
local cats = spec.cat
if cats then
local cat_parts = {}
if type(cats) == "string" then
cats = { cats }
end
for _, cat in ipairs(cats) do
insert(cat_parts, ("<code>%s</code>"):format((cat:gsub("|", "|"))))
end
cat_text = concat(cat_parts, ", ")
else
cat_text = "''(unspecified)''"
end
ins("|-")
ins(("| <code>%s</code> || %s || %s"):format(spec.regex, cat_text,
is_callable(spec.process) and "''(handled internally)''" or
type(spec.process) == "string" and ("[[Module:documentation/functions/%s]]"):format(spec.process) or
"''(no documentation generator)''"))
end
ins("|}")
return concat(parts, "\n")
end
return export
1i883u0ar9njiihqwansihn74l7z3dg
488647
488641
2026-09-12T18:32:49Z
SM7
6218
localization...
488647
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local frame_module = "Module:frame"
local fun_is_callable_module = "Module:fun/isCallable"
local languages_module = "Module:languages"
local links_module = "Module:links"
local load_module = "Module:load"
local module_categorization_module = "Module:module categorization"
local number_list_show_module = "Module:number list/show"
local chemical_element_list_show_module = "Module:chemical element list/show"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local scripts_module = "Module:scripts"
local string_endswith_module = "Module:string/endswith"
local string_gline_module = "Module:string/gline"
local string_startswith_module = "Module:string/startswith"
local string_utilities_module = "Module:string utilities"
local template_parser_module = "Module:template parser"
local title_exists_module = "Module:title/exists"
local title_new_title_module = "Module:title/newTitle"
local concat = table.concat
local error = error
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local insert = table.insert
local ipairs = ipairs
local list_to_text = mw.text.listToText
local new_message = mw.message.new
local pcall = pcall
local require = require
local tonumber = tonumber
local tostring = tostring
local type = type
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function categorize_module(...)
categorize_module = require(module_categorization_module).categorize_module
return categorize_module(...)
end
local function debug_track(...)
debug_track = require(debug_track_module)
return debug_track(...)
end
local function endswith(...)
endswith = require(string_endswith_module)
return endswith(...)
end
local function expand_template(...)
expand_template = require(frame_module).expandTemplate
return expand_template(...)
end
local function find_templates(...)
find_templates = require(template_parser_module).find_templates
return find_templates(...)
end
local function full_link(...)
full_link = require(links_module).full_link
return full_link(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function get_pagetype(...)
get_pagetype = require(pages_module).get_pagetype
return get_pagetype(...)
end
local function get_script(...)
get_script = require(scripts_module).getByCode
return get_script(...)
end
local function gline(...)
gline = require(string_gline_module)
return gline(...)
end
local function is_callable(...)
is_callable = require(fun_is_callable_module)
return is_callable(...)
end
local function is_documentation(...)
is_documentation = require(pages_module).is_documentation
return is_documentation(...)
end
local function is_sandbox(...)
is_sandbox = require(pages_module).is_sandbox
return is_sandbox(...)
end
local function new_title(...)
new_title = require(title_new_title_module)
return new_title(...)
end
local function number_list_show_table(...)
number_list_show_table = require(number_list_show_module).table
return number_list_show_table(...)
end
local function chemical_element_list_show_table(...)
chemical_element_list_show_table = require(chemical_element_list_show_module).table
return chemical_element_list_show_table(...)
end
local function preprocess(...)
preprocess = require(frame_module).preprocess
return preprocess(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function safe_load_data(...)
safe_load_data = require(load_module).safe_load_data
return safe_load_data(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function startswith(...)
startswith = require(string_startswith_module)
return startswith(...)
end
local function title_exists(...)
title_exists = require(title_exists_module)
return title_exists(...)
end
local function ugsub(...)
ugsub = require(string_utilities_module).gsub
return ugsub(...)
end
local function umatch(...)
umatch = require(string_utilities_module).match
return umatch(...)
end
local skins = {
["common"] = "",
["vector"] = "Vector",
["monobook"] = "Monobook",
["cologneblue"] = "Cologne Blue",
["modern"] = "Modern",
}
local function track(page)
debug_track("documentation/" .. page)
return true
end
local function compare_pages(page1, page2, text)
return "[" .. tostring(
full_url("Special:ComparePages", { page1 = page1, page2 = page2 }))
.. " " .. text .. "]"
end
-- Avoid transcluding [[Module:languages/cache]] everywhere.
local lang_cache = setmetatable({}, {
__index = function(self, k)
return require("Module:languages/cache")[k]
end
})
local function zh_link(word)
return full_link {
lang = lang_cache.zh,
term = word
}
end
local function make_languages_data_documentation(_title, cats, division)
local doc_template, module_cat
if endswith(division, "/extra") then
division = division:sub(1, -7)
doc_template = "language extradata documentation"
module_cat = "Language extra data modules"
else
doc_template = "language data documentation"
module_cat = "Language data modules"
end
local sort_key
if division == "exceptional" then
sort_key = "x"
else
sort_key = division:gsub("/", "")
end
insert(cats, module_cat .. "|" .. sort_key)
return {
title = doc_template
}
end
local function make_Unicode_data_documentation(title, _cats)
local subpage, first_three_of_code_point
= title.fullText:match("^Module:Unicode data/([^/]+)/(%x%x%x)$")
if subpage == "names" or subpage == "images" or subpage == "emoji images" then
local low, high =
tonumber(first_three_of_code_point .. "000", 16),
tonumber(first_three_of_code_point .. "FFF", 16)
local text, text_type
if subpage == "names" then
text_type = "titles of images"
elseif subpage == "images" then
text_type = "titles of images"
elseif subpage == "emoji images" then
text_type = "emoji-style images"
end
text = string.format(
"This data module contains the " .. text_type .. " of " ..
"[[Appendix:Unicode|Unicode]] code points within the range U+%04X to U+%04X.",
low, high)
if subpage == "images" and safe_load_data("Module:Unicode data/emoji images/" .. first_three_of_code_point) then
text = text ..
" This list includes the text variants of emojis. For the list of emoji variants of those characters, see [[Module:Unicode data/emoji images/" ..
first_three_of_code_point .. "]]."
elseif subpage == "emoji images" then
text = text ..
" For text-style images, see [[Module:Unicode data/images/" .. first_three_of_code_point .. "]]."
end
return text
end
end
local function insert_lang_data_module_cats(cats, langcode, overall_data_module_cat)
local lang = lang_cache[langcode]
if lang then
local langname
if lang._fullCode then
langname = lang_cache[lang._fullCode]:getCanonicalName()
else
langname = lang:getCanonicalName()
end
insert(cats, overall_data_module_cat .. "|" .. langname)
insert(cats, langname .. " मॉड्यूल")
insert(cats, langname .. " डेटा मॉड्यूल")
return lang, langname
end
end
--[=[
This provides categories and documentation for various data modules, so that [[Category:Uncategorized modules]] isn't
unnecessarily cluttered. It is a list of tables, each of which have the following possible fields:
`regex` (required): A Lua pattern to match the module's title. If it matches, the data in this entry will be used.
Any captures in the pattern can by referenced in the `cat` field using %1 for the first capture, %2 for the
second, etc. (often used for creating the sortkey for the category). In addition, the captures are passed to the
`process` function as the third and subsequent parameters.
`process` (optional): This may be a function or a string. If it is a function, it is called as follows:
`process(TITLE, CATS, CAPTURE1, CAPTURE2, ...)`
where:
* TITLE is a title object describing the module's title; see
[https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Title_objects].
* CATS is an list of categories that the module will be added to.
* CAPTURE1, CAPTURE2, ... contain any captures in the `regex` field.
The return value of `process` should either be a string (which will be used as the module's documentation), or a
table specifying the name of a template to expand to get the documentation, along with the arguments to that
template. In the latter format, the template name (bare, without the "Template:" prefix) should be in the `title`
field, and any arguments should be in `args; in this case, the template name will be listed above the generated
documentation as the source of the documentation, along with an edit button to edit the template's contents.
If, however, the return value of the `process` function is a string, any template invocations will be expanded
using frame:preprocess(), and [[Module:documentation]] will be listed as the source of the documentation.
If `process` itself is a string rather than a function, it should name a submodule under
[[Module:documentation/functions/]] which returns a function, of the same type as described above. This submodule
will be specified as the source of the documentation (unless it returns a table naming a template to expand to get
the documentation, as described above).
If `process` is omitted entirely, the module will have no documentation.
`cat` (optional): A string naming the category into which the module should be placed, or a list of such strings.
Captures specified in `regex` may be referenced in this string using %1 for the first capture, %2 for the second,
etc. It is also possible to add categories in the `process` function by inserting them into the passed-in CATS
list (the second parameter).
]=]
local module_regex = {
{
regex = "^Module:languages/data/(3/%l/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(3/%l)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:scripts/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:data tables/data..?.?.?$",
cat = "Reference module sharded data tables",
},
{
regex = "^Module:zh/data/dial%-pron/.+$",
cat = "Chinese dialectal pronunciation data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/dial%-syn/.+$",
cat = "Chinese dialect synonyms data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/glyph%-data/.+$",
cat = "Chinese historical character forms data modules",
process = function(title, _cats)
local character = title.fullText:match("^Module:zh/data/glyph%-data/(.+)")
if character then
return ("This module contains data on historical forms of the Chinese character %s.")
:format(zh_link(character))
end
end,
},
{
regex = "^Module:zh/data/ltc%-pron/(.+)$",
cat = "Middle Chinese pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-BS/(.+)$",
cat = "Old Chinese (Baxter-Sagart) pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-ZS/(.+)$",
cat = "Old Chinese (Zhengzhang) pronunciation data modules|%1",
process = "zh data",
},
{
-- capture rest of zh/data submodules
regex = "^Module:zh/data/(.+)$",
cat = "Chinese data modules|%1",
},
{
regex = "^Module:mul/guoxue%-data/cjk%-?(.*)$",
process = "guoxue-data",
},
{
regex = "^Module:Unicode data/(.+)$",
cat = "Unicode data modules|%1",
process = make_Unicode_data_documentation,
},
{
regex = "^Module:number list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Number data modules")
if lang then
return ("This module contains data on various types of numbers in %s.\n%s")
:format(lang:makeCategoryLink(), number_list_show_table() or "")
end
end,
},
{
regex = "^Module:chemical element list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Chemical element data modules")
if lang then
return ("This module contains data on chemical elements in %s.\n%s")
:format(lang:makeCategoryLink(), chemical_element_list_show_table() or "")
end
end,
},
{
regex = "^Module:accel/(.+)$",
process = function(title, cats)
local lang_code = title.subpageText
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|accel")
insert(cats, ("Accel submodules|%s"):format(lang:getCanonicalName()))
return ("This module contains new entry creation rules for %s; see [[WT:ACCEL]] for an overview, and [[Module:accel]] for information on creating new rules.")
:format(lang:makeCategoryLink())
end
end,
},
{
regex = "^Module:inc%-ash/dial/data/(.+)$",
cat = "Ashokan Prakrit modules|%1",
process = function(title, _cats)
local word = title.fullText:match("^Module:inc%-ash/dial/data/(.+)$")
if word then
local lang = lang_cache["inc-ash"]
return ("This module contains data on the pronunciation of %s in dialects of %s.")
:format(full_link({ term = word, lang = lang }, "term"),
lang:makeCategoryLink())
end
end,
},
{
regex = "^.+%-translit$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "translit",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-sortkey$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "sortkey",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-stripdiacritics$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "strip diacritics",
title_without_namespace = title.text,
}
end,
},
{
regex = "^Module:form of/lang%-data/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Language-specific form-of modules")
if lang then
-- FIXME, display more info.
return "This module contains language-specific form-of data (tags, shortcuts, base lemma params. etc.) for " ..
langname .. "."
end
end
},
{
regex = "^Module:labels/data/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Language-specific label data modules")
if lang then
return {
title = "label language-specific data documentation",
args = { [1] = lang_code },
}
end
end
},
{
regex = "^Module:category tree/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Category tree data modules/lang")
if lang then
return "This module handles generating the descriptions and categorization for " ..
langname .. " category pages "
.. "of the format \"" .. langname .. " LABEL\" where LABEL can be any text. Examples are "
.. "[[:Category:Bulgarian conjugation 2.1 verbs]] and [[:Category:Russian velar-stem neuter-form nouns]]. "
.. "This module is part of the category tree system, which is a general framework for generating the "
.. "descriptions and categorization of category pages.\n\n"
.. "For more information, see [[Module:category tree/lang/documentation]].\n\n"
.. "'''NOTE:''' If you add a new language-specific module, you must add the language code to the "
.. "list at the top of [[Module:category tree/lang]] in order for the module to be recognized."
end
end
},
{
regex = "^Module:category tree/topic/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/topic| ")
return {
title = "topic cat data submodule documentation"
}
end
},
{
regex = "^Module:category tree/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/grammar| ")
return {
title = "category tree data submodule documentation"
}
end
},
{
regex = "^Module:ja/data/(.+)$",
cat = "Japanese data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/feature/Kettunen1940 ([0-9]+)$",
cat = "Finnish dialectal data atlas modules|%1",
process = function(_title, _cats, shard)
return "This module contains shard " .. shard .. " of the online version of Lauri Kettunen's 1940 work " ..
"''Suomen murteet III A. Murrekartasto'' (\"Finnish dialects III A: Dialect atlas\"). " ..
"It was imported and converted from urn:nbn:fi:csc-kata20151130145346403821, published by the " ..
"''Kotimaisten kielten keskus'' under the CC BY 4.0 license."
end
},
{
regex = "^Module:fi%-dialects/data/feature/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/word/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:Swadesh/data/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
return "This module contains the [[Swadesh list]] of basic vocabulary in " .. langname .. "."
end
end
},
{
regex = "^Module:Swadesh/data/([%l-]+)/([^/]*)$",
process = function(_title, cats, lang_code, variety)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
local prefix = "This module contains the [[Swadesh list]] of basic vocabulary in the "
local etym_lang = get_lang(variety, nil, "allow etym")
if etym_lang then
return ("%s %s variety of %s."):format(prefix, etym_lang:getCanonicalName(), langname)
end
local script = get_script(variety)
if script then
return ("%s %s %s script."):format(prefix, langname, script:getCanonicalName(lang))
end
return ("%s %s variety of %s."):format(prefix, variety, langname)
end
end
},
{
regex = "^Module:typing%-aids",
process = function(title, cats)
local data_suffix = title.fullText:match("^Module:typing%-aids/data/(.+)$")
local sortkey
if data_suffix then
if data_suffix:find "^[%l-]+$" then
local lang = get_lang(data_suffix)
if lang then
sortkey = lang:getCanonicalName()
insert(cats, sortkey .. " data modules")
end
elseif data_suffix:find "^%u%l%l%l$" then
local script = get_script(data_suffix)
if script then
-- FIXME: no lang to pass here
sortkey = script:getCanonicalName()
insert(cats, script:getCategoryName())
end
end
insert(cats, "Character insertion data modules|" .. (sortkey or data_suffix))
end
end,
},
{
regex = "^Module:R:([%l-]+):(.+)$",
process = function(_title, cats, lang_code, refname)
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|" .. refname)
insert(cats, ("Reference modules|%s"):format(lang:getCanonicalName()))
return "This module implements the reference template {{temp|R:" .. lang_code .. ":" .. refname .. "}}."
end
end,
},
{
regex = "^Module:Quotations/([%l-]+)/?(.*)",
process = "Quotation",
},
{
regex = "^Module:affix/lang%-data/([%l-]+)",
process = "affix lang-data",
},
{
regex = "^Module:dialect synonyms/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules| ")
return "This module contains data on specific varieties of " .. langname .. ", for use by " ..
"{{tl|dialect synonyms}}. The actual synonyms themselves are contained in submodules.\n\n" ..
"==== Language data module structure ====\n" ..
"* <code>export.title</code> — optional; table title template (e.g. \"Regional synonyms of %s\").\n" ..
"* <code>export.columns</code> — optional; list of column headers for location hierarchy (e.g. {\"Dialect group\", \"Dialect\", \"Location\"}).\n" ..
"* <code>export.notes</code> — optional; table of note keys to text.\n" ..
"* <code>export.sources</code> — optional; table of source keys to text.\n" ..
"* <code>export.note_aliases</code> — optional; alias map for notes.\n" ..
"* <code>export.varieties</code> — required; nested table of variety nodes. Each node must have <code>name</code>; list part holds children. Node keys can include <code>text_display</code>, <code>color</code>, <code>code</code>, <code>wikidata</code>, <code>lat</code>, <code>long</code>, and language-specific keys (e.g. <code>persian</code>, <code>armenian</code>, <code>chinese</code>).\n\n" ..
expand_template({ title = 'dial syn', args = { lang_code, ["demo mode"] = "y" } })
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)$",
process = function(_title, cats, lang_code, term)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term } }))
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)/([^/]+)$",
process = function(_title, cats, lang_code, term, id)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term, id = id } }))
end
end,
},
{
regex = "^मॉड्यूल:bibliography/data/([%l-]+)$",
process = function(title, cats, lang_code)
if lang_code == "preload" then
return 'Used as a base model for other languages when the button "create new language submodule" is clicked.'
end
local page = require(title.fullText).bib_page
if not page then
page = lang_cache[lang_code]:getCanonicalName()
if page then
insert(cats, page .. " मॉड्यूल")
end
end
insert(cats, "Reference modules")
return "This module holds bibliographical data for " ..
page .. ". For the formatted bibliography see '''[[विक्षनरी:परिशिष्ट:Bibliography/" .. page .. "]]'''."
end,
},
}
function export.show(frame)
local boolean_default_false = { type = "boolean", default = false }
local args = process_params(frame.args, {
["hr"] = true,
["for"] = true,
["from"] = true,
["allowondoc"] = boolean_default_false, -- Don't throw an error if used on a documentation subpage.
["notsubpage"] = boolean_default_false,
["nodoc"] = boolean_default_false,
["nolinks"] = boolean_default_false, -- suppress all "Useful links"
["nosandbox"] = boolean_default_false, -- supress sandbox
})
local output = {'\n<div class="documentation" style="display:block; clear:both">\n'}
local function ins(txt)
insert(output, txt)
end
local cats = {}
local function inscat(cat)
insert(cats, cat)
end
local nodoc = args.nodoc
if (not args.hr) or (args.hr == "above") then
ins("----\n")
end
local title = args["for"] and new_title(args["for"]) or get_current_title()
local doc_title = args.from ~= "-" and new_title(args.from or title.fullText .. '/documentation') or nil
local contentModel = title.contentModel
local pagetype, is_script_or_stylesheet = get_pagetype(title)
local preload, fallback_docs, doc_content, old_doc_title, user_name, skin_name, needs_doc
local doc_content_source = "Module:documentation"
local auto_generated_cat_source
local cats_auto_generated = false
if not args.allowondoc and is_documentation(title) then
-- TODO: merge with {{documentation subpage}}, and choose behaviour based on the page type.
error("This template should not be used on a documentation page. Please use [[Template:documentation subpage]].")
elseif is_sandbox(title) then
local sandbox_ns = title.nsText
preload = ("Template:documentation/preload%s%sSandbox"):format(
sandbox_ns == "मॉड्यूल" and sandbox_ns or "साँचा",
title.rootText:match("^[Uu]ser:(.+)") and "User" or ""
)
elseif pagetype:match("%f[%w]gadget%f[%W]") then
preload = "Template:documentation/preloadGadget"
elseif pagetype:match("%f[%w]script%f[%W]") then -- .js
if title.nsText == "MediaWiki" then
preload = "Template:documentation/preloadMediaWikiJavaScript"
else
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
end
is_script_or_stylesheet = true
elseif pagetype:match("%f[%w]stylesheet%f[%W]") then -- .css
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
is_script_or_stylesheet = true
elseif contentModel == "Scribunto" then -- Exclude pages in Module: which aren't Scribunto.
preload = "Template:documentation/preloadModule"
elseif pagetype:match("%f[%w]template%f[%W]") or pagetype:match("%f[%w]project%f[%W]") then
preload = "Template:documentation/preloadTemplate"
end
if doc_title and doc_title.isRedirect then
old_doc_title = doc_title
doc_title = doc_title.redirectTarget
end
ins("<dl class=\"plainlinks\" style=\"font-size: smaller;\">")
local function get_module_doc_and_cats(categories_only)
cats_auto_generated = true
local automatic_cats = nil
if user_name then
fallback_docs = "documentation/fallback/user module"
automatic_cats = { "User sandbox modules" }
else
for _, data in ipairs(module_regex) do
local captures = { umatch(title.fullText, data.regex) }
if #captures > 0 then
local cat, process_function
if is_callable(data.process) then
process_function = data.process
elseif type(data.process) == "string" then
doc_content_source = "Module:documentation/functions/" .. data.process
process_function = require(doc_content_source)
end
if process_function then
doc_content = process_function(title, cats, unpack(captures))
end
if type(doc_content) == "table" then
doc_content_source = doc_content.title and "Template:" .. doc_content.title or doc_content_source
doc_content = expand_template(doc_content)
elseif doc_content ~= nil then
doc_content = preprocess(doc_content)
end
cat = data.cat
if cat then
if type(cat) == "string" then
cat = { cat }
end
for _, c in ipairs(cat) do
insert(cats, (ugsub(title.fullText, data.regex, c)))
end
end
break
end
end
end
if title.subpageText == "templates" then
inscat("Template interface modules")
end
if automatic_cats then
for _, c in ipairs(automatic_cats) do
inscat(c)
end
end
if #cats == 0 then
local auto_cats = categorize_module {
return_raw = true,
noerror = true,
}
if #auto_cats > 0 then
auto_generated_cat_source = "Module:module categorization"
end
for _, category in ipairs(auto_cats) do
inscat(category)
end
end
-- meaning module is not in user’s sandbox or one of many datamodule boring series
needs_doc = not categories_only and not (automatic_cats or doc_content or fallback_docs)
end
-- Override automatic documentation, if present.
if doc_title and doc_title.exists then
local cats_auto_generated_text = ""
if contentModel == "Scribunto" then
local doc_page_content = doc_title.content
-- Track then do nothing if there are uses of includeonly. The
-- pattern is slightly too permissive, but any false-positives are
-- obvious typos that should be corrected.
if doc_page_content:lower():match("</?includeonly%f[%s/>][^>]*>") then
track("module-includeonly")
else
-- Check for uses of {{module cat}}. find_templates treats the
-- input as transcluded by default (i.e. it parses the wikitext
-- which will be transcluded through to the module page).
local module_cat
for template in find_templates(doc_page_content) do
if template:get_name() == "module cat" then
module_cat = true
break
end
end
if not module_cat then
get_module_doc_and_cats("categories only")
auto_generated_cat_source = auto_generated_cat_source or doc_content_source
cats_auto_generated_text = " Categories were auto-generated by [[" ..
auto_generated_cat_source .. "]]. <sup>[[" ..
new_title(auto_generated_cat_source):fullUrl { action = "edit" } .. " edit]]</sup>"
end
end
end
ins(
"<dd><i style=\"font-size: larger;\">यह " ..
"[[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|विवरणपृष्ठ]] [[" ..
doc_title.fullText .. "]] पर स्थित है। " .. "<sup>[[" .. doc_title:fullUrl { action = "edit" } .. " संपादित करें]]</sup>" ..
cats_auto_generated_text .. "</i></dd>")
else
if contentModel == "Scribunto" then
get_module_doc_and_cats(false)
elseif title.nsText == "साँचा" then
--inscat("Uncategorized templates")
needs_doc = not (fallback_docs or nodoc)
elseif user_name and is_script_or_stylesheet then
skin_name = skins[title.text:sub(#title.rootText + 1):match("^/(%l+)%.[jc]ss?$")]
if skin_name then
fallback_docs = "documentation/fallback/user " .. contentModel
end
end
if doc_content then
ins(
"<dd><i style=\"font-size: larger;\">The following " ..
"[[Help:Documenting templates and modules|documentation]] is " ..
"generated by [[" .. doc_content_source .. "]]. <sup>[[" ..
new_title(doc_content_source):fullUrl { action = "edit" } ..
" edit]]</sup> </i></dd>")
elseif not nodoc then
if doc_title then
ins(
"<dd><i style=\"font-size: larger;\">इस " .. pagetype ..
" को [[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|विवरणउपपृष्ठ]] की आवश्यकता है। " ..
(fallback_docs and "You may " or "कृपया ") ..
"[" .. doc_title:fullUrl { action = "edit", preload = preload }
.. " निर्मित करें]।</i></dd>\n")
else
ins(
"<dd><i style=\"font-size: larger; color: var(--wikt-palette-red-9,#FF0000);\">Unable to auto-generate " ..
"documentation for this " .. pagetype .. ".</i></dd>\n")
end
end
end
if startswith(title.fullText, "MediaWiki:Gadget-") then
local is_gadget = false
for line in gline(new_title("MediaWiki:Gadgets-definition").content) do
local gadget, items = line:match("^%*%s*(%a[%w_-]*)%[.-%]|(.+)$")
if not gadget then
gadget, items = line:match("^%*%s*(%a[%w_-]*)|(.+)$")
end
if gadget then
items = split(items, "|")
for i, item in ipairs(items) do
if title.fullText == ("MediaWiki:Gadget-" .. item) then
is_gadget = true
ins("<dd> ''This script is a part of the <code>")
ins(gadget)
ins("</code> gadget ([")
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(" edit definitions])'' <dl>")
ins("<dd> ''Description ([")
ins(tostring(full_url("MediaWiki:Gadget-" .. gadget, { action = "edit" })))
ins(" edit])'': ")
ins(preprocess(new_message('Gadget-' .. gadget):plain()))
ins(" </dd>")
table.remove(items, i)
if #items > 0 then
for j, item in ipairs(items) do
items[j] = '[[MediaWiki:Gadget-' .. item .. '|' .. item .. ']]'
end
ins("<dd> ''Other parts'': ")
ins(list_to_text(items))
ins("</dd>")
end
ins("</dl></dd>")
break
end
end
end
end
if not is_gadget then
ins("<dd> ''This script is not a part of any [")
ins(tostring(full_url("Special:Gadgets", { uselang = "en" })))
ins(' gadget] ([')
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(' edit definitions]).</dd>')
-- else
-- inscat("Wiktionary gadgets")
end
end
if old_doc_title then
ins("<dd> ''Redirected from'' [")
ins(old_doc_title:fullUrl { redirect = "no" })
ins(" ")
ins(old_doc_title.fullText)
ins("] ([")
ins(old_doc_title:fullUrl { action = "edit" })
ins(" edit]).</dd>\n")
end
if not args.nolinks then
local links = {}
local function inslinks(txt)
insert(links, txt)
end
if title.isSubpage and not args.notsubpage then
inslinks("[[:" .. title.nsText .. ":" .. title.rootText .. "|root page]]")
inslinks("[[Special:PrefixIndex/" .. title.nsText .. ":" .. title.rootText .. "/|root page’s subpages]]")
else
inslinks("[[Special:PrefixIndex/" .. title.fullText .. "/|subpage list]]")
end
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidetrans = true, hideredirs = true })) ..
" links]")
if contentModel ~= "Scribunto" then
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hidetrans = true })) ..
" redirects]")
end
if is_script_or_stylesheet then
if user_name then
inslinks("[[Special:MyPage" .. title.text:sub(#title.rootText + 1) .. "|your own]]")
end
else
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hideredirs = true })) ..
" transclusions]")
end
if contentModel == "Scribunto" then
local is_testcases = title.isSubpage and title.subpageText == "testcases"
local without_subpage = title.nsText .. ":" .. title.baseText
if is_testcases then
inslinks("[[:" .. without_subpage .. "|tested module]]")
else
inslinks("[[" .. title.fullText .. "/testcases|testcases]]")
end
if user_name then
inslinks("[[User:" .. user_name .. "|user page]]")
inslinks("[[User talk:" .. user_name .. "|user talk page]]")
inslinks("[[Special:PrefixIndex/User:" .. user_name .. "/|userspace]]")
-- If sandbox module, add a link to the module that this is a sandbox of.
-- Exclude user sandbox modules like [[User:Dine2016/sandbox]].
elseif title.text:find("^sandbox%d*/") or title.text:find("/sandbox%d*%f[/%z]") then
inscat("Sandbox modules")
-- Sandbox modules don’t really need documentation.
needs_doc = false
-- Don't track user sandbox modules.
local text_title = new_title(title.text)
if not (text_title and text_title.nsText == "सदस्य") then
local diff
local sandbox_of = title.text:match("^(.*)/sandbox%d*%f[/%z]")
if sandbox_of then
track("sandbox to be moved")
else
sandbox_of = title.text:match("^sandbox%d*/(.*)$")
end
if not sandbox_of then
error(("Internal error: Something wrong, couldn't extract sandbox-of module from title '%s'")
:format(title.text))
end
sandbox_of = title.nsText .. ":" .. sandbox_of
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
end
-- If not a sandbox module, add link to sandbox module.
-- Sometimes there are multiple sandboxes for a single module:
-- [[Module:sandbox/sa-pronunc]], [[Module:sandbox2/sa-pronunc]].
else
local sandbox_title
local user_prefix, user_rest = title.text:match("^(सदस्य:.-/)(.*)$")
if not user_prefix then
user_prefix = ""
user_rest = title.text
end
sandbox_title = title.nsText .. ":" .. user_prefix .. "sandbox/" .. user_rest
local sandbox_link = "[[:" .. sandbox_title .. "|sandbox]]"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks(sandbox_link .. (diff or ""))
end
end
if title.nsText == "साँचा" then
-- Error search: all(any namespace), hastemplate (show pages using the template), insource (show source code), incategory (any/specific error) -- [[mw:Help:CirrusSearch]], [[w:Help:Searching/Regex]]
-- apparently same with/without: &profile=advanced&fulltext=1
local errorq = 'searchengineselect=mediawiki&search=all: hastemplate:\"' ..
title.rootText .. '\" insource:\"' .. title.rootText .. '\" incategory:'
local eincategory =
"Pages_with_module_errors|ParserFunction_errors|DisplayTitle_errors|Pages_with_ISBN_errors|Pages_with_ISSN_errors|Pages_with_reference_errors|Pages_with_syntax_highlighting_errors|Pages_with_TemplateStyles_errors"
inslinks(
'[' .. tostring(full_url('Special:Search', errorq .. eincategory)) .. ' errors]'
.. ' (' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'ParserFunction_errors')) .. ' parser]'
.. '/' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'Pages_with_module_errors')) .. ' module]'
.. ')'
)
if title.isSubpage and title.text:find("/sandbox%d*%f[/%z]") then -- This is a sandbox template.
-- At the moment there are no user sandbox templates with subpage
-- “/sandbox”.
inscat("Sandbox templates")
-- Sandbox templates don’t really need documentation.
needs_doc = false
-- Will behave badly if “/sandbox” occurs twice in title!
local sandbox_of = title.fullText:gsub("/sandbox%d*%f[/%z]", "")
local diff
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
-- This is a template that can have a sandbox.
elseif not args.nosandbox then -- unless we tell it not to
local sandbox_title = title.fullText .. "/sandbox"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks("[[:" .. sandbox_title .. "|sandbox]]" .. (diff or ""))
end
end
if #links > 0 then
ins("<dd> ''Useful links'': " .. concat(links, " • ") .. "</dd>")
end
end
ins("</dl>\n")
-- Show error from [[Module:category tree/topic cat/data]] on its submodules'
-- documentation to, for instance, warn about duplicate labels.
if startswith(title.fullText, "Module:category tree/topic/") then
local ok, err = pcall(require, "Module:category tree/topic/data")
if not ok then
ins('<span class="error">' .. err .. '</span>\n\n')
end
end
if doc_title and doc_title.exists then
-- Override automatic documentation, if present.
doc_content = expand_template { title = doc_title.fullText }
elseif not doc_content and fallback_docs then
doc_content = expand_template {
title = fallback_docs,
args = {
['user'] = user_name,
['page'] = title.fullText,
['skin name'] = skin_name,
},
}
end
if doc_content then
ins(doc_content)
end
ins(('\n<%s style="clear: both;" />'):format(args.hr == "below" and "hr" or "br"))
if cats_auto_generated and not cats[1] and (not doc_content or not doc_content:find("%[%[Category:")) then
if contentModel == "Scribunto" then
inscat("Uncategorized modules")
-- elseif title.nsText == "Template" then
-- inscat("Uncategorized templates")
end
end
if needs_doc then
inscat("Templates and modules needing documentation")
end
for _, cat in ipairs(cats) do
ins("[[Category:" .. cat .. "]]")
end
ins("</div>\n")
return concat(output)
end
function export.module_auto_doc_table()
local parts = {}
local function ins(text)
insert(parts, text)
end
ins('{|class="wikitable"')
ins("! Regex !! Category !! Handling modules")
for _, spec in ipairs(module_regex) do
local cat_text
local cats = spec.cat
if cats then
local cat_parts = {}
if type(cats) == "string" then
cats = { cats }
end
for _, cat in ipairs(cats) do
insert(cat_parts, ("<code>%s</code>"):format((cat:gsub("|", "|"))))
end
cat_text = concat(cat_parts, ", ")
else
cat_text = "''(unspecified)''"
end
ins("|-")
ins(("| <code>%s</code> || %s || %s"):format(spec.regex, cat_text,
is_callable(spec.process) and "''(handled internally)''" or
type(spec.process) == "string" and ("[[Module:documentation/functions/%s]]"):format(spec.process) or
"''(no documentation generator)''"))
end
ins("|}")
return concat(parts, "\n")
end
return export
brfiszowoo9oybgz55megyt57w9ww1z
488651
488647
2026-09-12T18:44:18Z
SM7
6218
localization...
488651
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local frame_module = "Module:frame"
local fun_is_callable_module = "Module:fun/isCallable"
local languages_module = "Module:languages"
local links_module = "Module:links"
local load_module = "Module:load"
local module_categorization_module = "Module:module categorization"
local number_list_show_module = "Module:number list/show"
local chemical_element_list_show_module = "Module:chemical element list/show"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local scripts_module = "Module:scripts"
local string_endswith_module = "Module:string/endswith"
local string_gline_module = "Module:string/gline"
local string_startswith_module = "Module:string/startswith"
local string_utilities_module = "Module:string utilities"
local template_parser_module = "Module:template parser"
local title_exists_module = "Module:title/exists"
local title_new_title_module = "Module:title/newTitle"
local concat = table.concat
local error = error
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local insert = table.insert
local ipairs = ipairs
local list_to_text = mw.text.listToText
local new_message = mw.message.new
local pcall = pcall
local require = require
local tonumber = tonumber
local tostring = tostring
local type = type
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function categorize_module(...)
categorize_module = require(module_categorization_module).categorize_module
return categorize_module(...)
end
local function debug_track(...)
debug_track = require(debug_track_module)
return debug_track(...)
end
local function endswith(...)
endswith = require(string_endswith_module)
return endswith(...)
end
local function expand_template(...)
expand_template = require(frame_module).expandTemplate
return expand_template(...)
end
local function find_templates(...)
find_templates = require(template_parser_module).find_templates
return find_templates(...)
end
local function full_link(...)
full_link = require(links_module).full_link
return full_link(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function get_pagetype(...)
get_pagetype = require(pages_module).get_pagetype
return get_pagetype(...)
end
local function get_script(...)
get_script = require(scripts_module).getByCode
return get_script(...)
end
local function gline(...)
gline = require(string_gline_module)
return gline(...)
end
local function is_callable(...)
is_callable = require(fun_is_callable_module)
return is_callable(...)
end
local function is_documentation(...)
is_documentation = require(pages_module).is_documentation
return is_documentation(...)
end
local function is_sandbox(...)
is_sandbox = require(pages_module).is_sandbox
return is_sandbox(...)
end
local function new_title(...)
new_title = require(title_new_title_module)
return new_title(...)
end
local function number_list_show_table(...)
number_list_show_table = require(number_list_show_module).table
return number_list_show_table(...)
end
local function chemical_element_list_show_table(...)
chemical_element_list_show_table = require(chemical_element_list_show_module).table
return chemical_element_list_show_table(...)
end
local function preprocess(...)
preprocess = require(frame_module).preprocess
return preprocess(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function safe_load_data(...)
safe_load_data = require(load_module).safe_load_data
return safe_load_data(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function startswith(...)
startswith = require(string_startswith_module)
return startswith(...)
end
local function title_exists(...)
title_exists = require(title_exists_module)
return title_exists(...)
end
local function ugsub(...)
ugsub = require(string_utilities_module).gsub
return ugsub(...)
end
local function umatch(...)
umatch = require(string_utilities_module).match
return umatch(...)
end
local skins = {
["common"] = "",
["vector"] = "Vector",
["monobook"] = "Monobook",
["cologneblue"] = "Cologne Blue",
["modern"] = "Modern",
}
local function track(page)
debug_track("documentation/" .. page)
return true
end
local function compare_pages(page1, page2, text)
return "[" .. tostring(
full_url("Special:ComparePages", { page1 = page1, page2 = page2 }))
.. " " .. text .. "]"
end
-- Avoid transcluding [[Module:languages/cache]] everywhere.
local lang_cache = setmetatable({}, {
__index = function(self, k)
return require("Module:languages/cache")[k]
end
})
local function zh_link(word)
return full_link {
lang = lang_cache.zh,
term = word
}
end
local function make_languages_data_documentation(_title, cats, division)
local doc_template, module_cat
if endswith(division, "/extra") then
division = division:sub(1, -7)
doc_template = "language extradata documentation"
module_cat = "Language extra data modules"
else
doc_template = "language data documentation"
module_cat = "Language data modules"
end
local sort_key
if division == "exceptional" then
sort_key = "x"
else
sort_key = division:gsub("/", "")
end
insert(cats, module_cat .. "|" .. sort_key)
return {
title = doc_template
}
end
local function make_Unicode_data_documentation(title, _cats)
local subpage, first_three_of_code_point
= title.fullText:match("^Module:Unicode data/([^/]+)/(%x%x%x)$")
if subpage == "names" or subpage == "images" or subpage == "emoji images" then
local low, high =
tonumber(first_three_of_code_point .. "000", 16),
tonumber(first_three_of_code_point .. "FFF", 16)
local text, text_type
if subpage == "names" then
text_type = "titles of images"
elseif subpage == "images" then
text_type = "titles of images"
elseif subpage == "emoji images" then
text_type = "emoji-style images"
end
text = string.format(
"This data module contains the " .. text_type .. " of " ..
"[[Appendix:Unicode|Unicode]] code points within the range U+%04X to U+%04X.",
low, high)
if subpage == "images" and safe_load_data("Module:Unicode data/emoji images/" .. first_three_of_code_point) then
text = text ..
" This list includes the text variants of emojis. For the list of emoji variants of those characters, see [[Module:Unicode data/emoji images/" ..
first_three_of_code_point .. "]]."
elseif subpage == "emoji images" then
text = text ..
" For text-style images, see [[Module:Unicode data/images/" .. first_three_of_code_point .. "]]."
end
return text
end
end
local function insert_lang_data_module_cats(cats, langcode, overall_data_module_cat)
local lang = lang_cache[langcode]
if lang then
local langname
if lang._fullCode then
langname = lang_cache[lang._fullCode]:getCanonicalName()
else
langname = lang:getCanonicalName()
end
insert(cats, overall_data_module_cat .. "|" .. langname)
insert(cats, langname .. " मॉड्यूल")
insert(cats, langname .. " डेटा मॉड्यूल")
return lang, langname
end
end
--[=[
This provides categories and documentation for various data modules, so that [[Category:Uncategorized modules]] isn't
unnecessarily cluttered. It is a list of tables, each of which have the following possible fields:
`regex` (required): A Lua pattern to match the module's title. If it matches, the data in this entry will be used.
Any captures in the pattern can by referenced in the `cat` field using %1 for the first capture, %2 for the
second, etc. (often used for creating the sortkey for the category). In addition, the captures are passed to the
`process` function as the third and subsequent parameters.
`process` (optional): This may be a function or a string. If it is a function, it is called as follows:
`process(TITLE, CATS, CAPTURE1, CAPTURE2, ...)`
where:
* TITLE is a title object describing the module's title; see
[https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Title_objects].
* CATS is an list of categories that the module will be added to.
* CAPTURE1, CAPTURE2, ... contain any captures in the `regex` field.
The return value of `process` should either be a string (which will be used as the module's documentation), or a
table specifying the name of a template to expand to get the documentation, along with the arguments to that
template. In the latter format, the template name (bare, without the "Template:" prefix) should be in the `title`
field, and any arguments should be in `args; in this case, the template name will be listed above the generated
documentation as the source of the documentation, along with an edit button to edit the template's contents.
If, however, the return value of the `process` function is a string, any template invocations will be expanded
using frame:preprocess(), and [[Module:documentation]] will be listed as the source of the documentation.
If `process` itself is a string rather than a function, it should name a submodule under
[[Module:documentation/functions/]] which returns a function, of the same type as described above. This submodule
will be specified as the source of the documentation (unless it returns a table naming a template to expand to get
the documentation, as described above).
If `process` is omitted entirely, the module will have no documentation.
`cat` (optional): A string naming the category into which the module should be placed, or a list of such strings.
Captures specified in `regex` may be referenced in this string using %1 for the first capture, %2 for the second,
etc. It is also possible to add categories in the `process` function by inserting them into the passed-in CATS
list (the second parameter).
]=]
local module_regex = {
{
regex = "^Module:languages/data/(3/%l/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(3/%l)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:scripts/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:data tables/data..?.?.?$",
cat = "Reference module sharded data tables",
},
{
regex = "^Module:zh/data/dial%-pron/.+$",
cat = "Chinese dialectal pronunciation data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/dial%-syn/.+$",
cat = "Chinese dialect synonyms data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/glyph%-data/.+$",
cat = "Chinese historical character forms data modules",
process = function(title, _cats)
local character = title.fullText:match("^Module:zh/data/glyph%-data/(.+)")
if character then
return ("This module contains data on historical forms of the Chinese character %s.")
:format(zh_link(character))
end
end,
},
{
regex = "^Module:zh/data/ltc%-pron/(.+)$",
cat = "Middle Chinese pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-BS/(.+)$",
cat = "Old Chinese (Baxter-Sagart) pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-ZS/(.+)$",
cat = "Old Chinese (Zhengzhang) pronunciation data modules|%1",
process = "zh data",
},
{
-- capture rest of zh/data submodules
regex = "^Module:zh/data/(.+)$",
cat = "Chinese data modules|%1",
},
{
regex = "^Module:mul/guoxue%-data/cjk%-?(.*)$",
process = "guoxue-data",
},
{
regex = "^Module:Unicode data/(.+)$",
cat = "Unicode data modules|%1",
process = make_Unicode_data_documentation,
},
{
regex = "^Module:number list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Number data modules")
if lang then
return ("This module contains data on various types of numbers in %s.\n%s")
:format(lang:makeCategoryLink(), number_list_show_table() or "")
end
end,
},
{
regex = "^Module:chemical element list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Chemical element data modules")
if lang then
return ("This module contains data on chemical elements in %s.\n%s")
:format(lang:makeCategoryLink(), chemical_element_list_show_table() or "")
end
end,
},
{
regex = "^Module:accel/(.+)$",
process = function(title, cats)
local lang_code = title.subpageText
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|accel")
insert(cats, ("Accel submodules|%s"):format(lang:getCanonicalName()))
return ("This module contains new entry creation rules for %s; see [[WT:ACCEL]] for an overview, and [[Module:accel]] for information on creating new rules.")
:format(lang:makeCategoryLink())
end
end,
},
{
regex = "^Module:inc%-ash/dial/data/(.+)$",
cat = "Ashokan Prakrit modules|%1",
process = function(title, _cats)
local word = title.fullText:match("^Module:inc%-ash/dial/data/(.+)$")
if word then
local lang = lang_cache["inc-ash"]
return ("This module contains data on the pronunciation of %s in dialects of %s.")
:format(full_link({ term = word, lang = lang }, "term"),
lang:makeCategoryLink())
end
end,
},
{
regex = "^.+%-translit$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "translit",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-sortkey$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "sortkey",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-stripdiacritics$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "strip diacritics",
title_without_namespace = title.text,
}
end,
},
{
regex = "^Module:form of/lang%-data/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Language-specific form-of modules")
if lang then
-- FIXME, display more info.
return "This module contains language-specific form-of data (tags, shortcuts, base lemma params. etc.) for " ..
langname .. "."
end
end
},
{
regex = "^Module:labels/data/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Language-specific label data modules")
if lang then
return {
title = "label language-specific data documentation",
args = { [1] = lang_code },
}
end
end
},
{
regex = "^Module:category tree/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Category tree data modules/lang")
if lang then
return "This module handles generating the descriptions and categorization for " ..
langname .. " category pages "
.. "of the format \"" .. langname .. " LABEL\" where LABEL can be any text. Examples are "
.. "[[:Category:Bulgarian conjugation 2.1 verbs]] and [[:Category:Russian velar-stem neuter-form nouns]]. "
.. "This module is part of the category tree system, which is a general framework for generating the "
.. "descriptions and categorization of category pages.\n\n"
.. "For more information, see [[Module:category tree/lang/documentation]].\n\n"
.. "'''NOTE:''' If you add a new language-specific module, you must add the language code to the "
.. "list at the top of [[Module:category tree/lang]] in order for the module to be recognized."
end
end
},
{
regex = "^Module:category tree/topic/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/topic| ")
return {
title = "topic cat data submodule documentation"
}
end
},
{
regex = "^Module:category tree/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/grammar| ")
return {
title = "category tree data submodule documentation"
}
end
},
{
regex = "^Module:ja/data/(.+)$",
cat = "Japanese data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/feature/Kettunen1940 ([0-9]+)$",
cat = "Finnish dialectal data atlas modules|%1",
process = function(_title, _cats, shard)
return "This module contains shard " .. shard .. " of the online version of Lauri Kettunen's 1940 work " ..
"''Suomen murteet III A. Murrekartasto'' (\"Finnish dialects III A: Dialect atlas\"). " ..
"It was imported and converted from urn:nbn:fi:csc-kata20151130145346403821, published by the " ..
"''Kotimaisten kielten keskus'' under the CC BY 4.0 license."
end
},
{
regex = "^Module:fi%-dialects/data/feature/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/word/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:Swadesh/data/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
return "This module contains the [[Swadesh list]] of basic vocabulary in " .. langname .. "."
end
end
},
{
regex = "^Module:Swadesh/data/([%l-]+)/([^/]*)$",
process = function(_title, cats, lang_code, variety)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
local prefix = "This module contains the [[Swadesh list]] of basic vocabulary in the "
local etym_lang = get_lang(variety, nil, "allow etym")
if etym_lang then
return ("%s %s variety of %s."):format(prefix, etym_lang:getCanonicalName(), langname)
end
local script = get_script(variety)
if script then
return ("%s %s %s script."):format(prefix, langname, script:getCanonicalName(lang))
end
return ("%s %s variety of %s."):format(prefix, variety, langname)
end
end
},
{
regex = "^Module:typing%-aids",
process = function(title, cats)
local data_suffix = title.fullText:match("^Module:typing%-aids/data/(.+)$")
local sortkey
if data_suffix then
if data_suffix:find "^[%l-]+$" then
local lang = get_lang(data_suffix)
if lang then
sortkey = lang:getCanonicalName()
insert(cats, sortkey .. " data modules")
end
elseif data_suffix:find "^%u%l%l%l$" then
local script = get_script(data_suffix)
if script then
-- FIXME: no lang to pass here
sortkey = script:getCanonicalName()
insert(cats, script:getCategoryName())
end
end
insert(cats, "Character insertion data modules|" .. (sortkey or data_suffix))
end
end,
},
{
regex = "^Module:R:([%l-]+):(.+)$",
process = function(_title, cats, lang_code, refname)
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|" .. refname)
insert(cats, ("Reference modules|%s"):format(lang:getCanonicalName()))
return "This module implements the reference template {{temp|R:" .. lang_code .. ":" .. refname .. "}}."
end
end,
},
{
regex = "^Module:Quotations/([%l-]+)/?(.*)",
process = "Quotation",
},
{
regex = "^Module:affix/lang%-data/([%l-]+)",
process = "affix lang-data",
},
{
regex = "^Module:dialect synonyms/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules| ")
return "This module contains data on specific varieties of " .. langname .. ", for use by " ..
"{{tl|dialect synonyms}}. The actual synonyms themselves are contained in submodules.\n\n" ..
"==== Language data module structure ====\n" ..
"* <code>export.title</code> — optional; table title template (e.g. \"Regional synonyms of %s\").\n" ..
"* <code>export.columns</code> — optional; list of column headers for location hierarchy (e.g. {\"Dialect group\", \"Dialect\", \"Location\"}).\n" ..
"* <code>export.notes</code> — optional; table of note keys to text.\n" ..
"* <code>export.sources</code> — optional; table of source keys to text.\n" ..
"* <code>export.note_aliases</code> — optional; alias map for notes.\n" ..
"* <code>export.varieties</code> — required; nested table of variety nodes. Each node must have <code>name</code>; list part holds children. Node keys can include <code>text_display</code>, <code>color</code>, <code>code</code>, <code>wikidata</code>, <code>lat</code>, <code>long</code>, and language-specific keys (e.g. <code>persian</code>, <code>armenian</code>, <code>chinese</code>).\n\n" ..
expand_template({ title = 'dial syn', args = { lang_code, ["demo mode"] = "y" } })
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)$",
process = function(_title, cats, lang_code, term)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term } }))
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)/([^/]+)$",
process = function(_title, cats, lang_code, term, id)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term, id = id } }))
end
end,
},
{
regex = "^मॉड्यूल:bibliography/data/([%l-]+)$",
process = function(title, cats, lang_code)
if lang_code == "preload" then
return 'Used as a base model for other languages when the button "create new language submodule" is clicked.'
end
local page = require(title.fullText).bib_page
if not page then
page = lang_cache[lang_code]:getCanonicalName()
if page then
insert(cats, page .. " मॉड्यूल")
end
end
insert(cats, "Reference modules")
return "This module holds bibliographical data for " ..
page .. ". For the formatted bibliography see '''[[विक्षनरी:परिशिष्ट:Bibliography/" .. page .. "]]'''."
end,
},
}
function export.show(frame)
local boolean_default_false = { type = "boolean", default = false }
local args = process_params(frame.args, {
["hr"] = true,
["for"] = true,
["from"] = true,
["allowondoc"] = boolean_default_false, -- Don't throw an error if used on a documentation subpage.
["notsubpage"] = boolean_default_false,
["nodoc"] = boolean_default_false,
["nolinks"] = boolean_default_false, -- suppress all "Useful links"
["nosandbox"] = boolean_default_false, -- supress sandbox
})
local output = {'\n<div class="documentation" style="display:block; clear:both">\n'}
local function ins(txt)
insert(output, txt)
end
local cats = {}
local function inscat(cat)
insert(cats, cat)
end
local nodoc = args.nodoc
if (not args.hr) or (args.hr == "above") then
ins("----\n")
end
local title = args["for"] and new_title(args["for"]) or get_current_title()
local doc_title = args.from ~= "-" and new_title(args.from or title.fullText .. '/documentation') or nil
local contentModel = title.contentModel
local pagetype, is_script_or_stylesheet = get_pagetype(title)
local preload, fallback_docs, doc_content, old_doc_title, user_name, skin_name, needs_doc
local doc_content_source = "Module:documentation"
local auto_generated_cat_source
local cats_auto_generated = false
if not args.allowondoc and is_documentation(title) then
-- TODO: merge with {{documentation subpage}}, and choose behaviour based on the page type.
error("This template should not be used on a documentation page. Please use [[Template:documentation subpage]].")
elseif is_sandbox(title) then
local sandbox_ns = title.nsText
preload = ("Template:documentation/preload%s%sSandbox"):format(
sandbox_ns == "मॉड्यूल" and sandbox_ns or "साँचा",
title.rootText:match("^[Uu]ser:(.+)") and "User" or ""
)
elseif pagetype:match("%f[%w]gadget%f[%W]") then
preload = "Template:documentation/preloadGadget"
elseif pagetype:match("%f[%w]script%f[%W]") then -- .js
if title.nsText == "MediaWiki" then
preload = "Template:documentation/preloadMediaWikiJavaScript"
else
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
end
is_script_or_stylesheet = true
elseif pagetype:match("%f[%w]stylesheet%f[%W]") then -- .css
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
is_script_or_stylesheet = true
elseif contentModel == "Scribunto" then -- Exclude pages in Module: which aren't Scribunto.
preload = "Template:documentation/preloadModule"
elseif pagetype:match("%f[%w]template%f[%W]") or pagetype:match("%f[%w]project%f[%W]") then
preload = "Template:documentation/preloadTemplate"
end
if doc_title and doc_title.isRedirect then
old_doc_title = doc_title
doc_title = doc_title.redirectTarget
end
ins("<dl class=\"plainlinks\" style=\"font-size: smaller;\">")
local function get_module_doc_and_cats(categories_only)
cats_auto_generated = true
local automatic_cats = nil
if user_name then
fallback_docs = "documentation/fallback/user module"
automatic_cats = { "User sandbox modules" }
else
for _, data in ipairs(module_regex) do
local captures = { umatch(title.fullText, data.regex) }
if #captures > 0 then
local cat, process_function
if is_callable(data.process) then
process_function = data.process
elseif type(data.process) == "string" then
doc_content_source = "Module:documentation/functions/" .. data.process
process_function = require(doc_content_source)
end
if process_function then
doc_content = process_function(title, cats, unpack(captures))
end
if type(doc_content) == "table" then
doc_content_source = doc_content.title and "Template:" .. doc_content.title or doc_content_source
doc_content = expand_template(doc_content)
elseif doc_content ~= nil then
doc_content = preprocess(doc_content)
end
cat = data.cat
if cat then
if type(cat) == "string" then
cat = { cat }
end
for _, c in ipairs(cat) do
insert(cats, (ugsub(title.fullText, data.regex, c)))
end
end
break
end
end
end
if title.subpageText == "templates" then
inscat("Template interface modules")
end
if automatic_cats then
for _, c in ipairs(automatic_cats) do
inscat(c)
end
end
if #cats == 0 then
local auto_cats = categorize_module {
return_raw = true,
noerror = true,
}
if #auto_cats > 0 then
auto_generated_cat_source = "Module:module categorization"
end
for _, category in ipairs(auto_cats) do
inscat(category)
end
end
-- meaning module is not in user’s sandbox or one of many datamodule boring series
needs_doc = not categories_only and not (automatic_cats or doc_content or fallback_docs)
end
-- Override automatic documentation, if present.
if doc_title and doc_title.exists then
local cats_auto_generated_text = ""
if contentModel == "Scribunto" then
local doc_page_content = doc_title.content
-- Track then do nothing if there are uses of includeonly. The
-- pattern is slightly too permissive, but any false-positives are
-- obvious typos that should be corrected.
if doc_page_content:lower():match("</?includeonly%f[%s/>][^>]*>") then
track("module-includeonly")
else
-- Check for uses of {{module cat}}. find_templates treats the
-- input as transcluded by default (i.e. it parses the wikitext
-- which will be transcluded through to the module page).
local module_cat
for template in find_templates(doc_page_content) do
if template:get_name() == "module cat" then
module_cat = true
break
end
end
if not module_cat then
get_module_doc_and_cats("categories only")
auto_generated_cat_source = auto_generated_cat_source or doc_content_source
cats_auto_generated_text = " Categories were auto-generated by [[" ..
auto_generated_cat_source .. "]]. <sup>[[" ..
new_title(auto_generated_cat_source):fullUrl { action = "edit" } .. " edit]]</sup>"
end
end
end
ins(
"<dd><i style=\"font-size: larger;\">यह " ..
"[[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|विवरणपृष्ठ]] [[" ..
doc_title.fullText .. "]] पर स्थित है। " .. "<sup>[[" .. doc_title:fullUrl { action = "edit" } .. " संपादित करें]]</sup>" ..
cats_auto_generated_text .. "</i></dd>")
else
if contentModel == "Scribunto" then
get_module_doc_and_cats(false)
elseif title.nsText == "साँचा" then
--inscat("Uncategorized templates")
needs_doc = not (fallback_docs or nodoc)
elseif user_name and is_script_or_stylesheet then
skin_name = skins[title.text:sub(#title.rootText + 1):match("^/(%l+)%.[jc]ss?$")]
if skin_name then
fallback_docs = "documentation/fallback/user " .. contentModel
end
end
if doc_content then
ins(
"<dd><i style=\"font-size: larger;\">The following " ..
"[[Help:Documenting templates and modules|documentation]] is " ..
"generated by [[" .. doc_content_source .. "]]. <sup>[[" ..
new_title(doc_content_source):fullUrl { action = "edit" } ..
" edit]]</sup> </i></dd>")
elseif not nodoc then
if doc_title then
ins(
"<dd><i style=\"font-size: larger;\">इस " .. pagetype ..
" को [[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|विवरणउपपृष्ठ]] की आवश्यकता है। " ..
(fallback_docs and "You may " or "कृपया ") ..
"[" .. doc_title:fullUrl { action = "edit", preload = preload }
.. " निर्मित करें]।</i></dd>\n")
else
ins(
"<dd><i style=\"font-size: larger; color: var(--wikt-palette-red-9,#FF0000);\">Unable to auto-generate " ..
"documentation for this " .. pagetype .. ".</i></dd>\n")
end
end
end
if startswith(title.fullText, "MediaWiki:Gadget-") then
local is_gadget = false
for line in gline(new_title("MediaWiki:Gadgets-definition").content) do
local gadget, items = line:match("^%*%s*(%a[%w_-]*)%[.-%]|(.+)$")
if not gadget then
gadget, items = line:match("^%*%s*(%a[%w_-]*)|(.+)$")
end
if gadget then
items = split(items, "|")
for i, item in ipairs(items) do
if title.fullText == ("MediaWiki:Gadget-" .. item) then
is_gadget = true
ins("<dd> ''This script is a part of the <code>")
ins(gadget)
ins("</code> gadget ([")
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(" edit definitions])'' <dl>")
ins("<dd> ''Description ([")
ins(tostring(full_url("MediaWiki:Gadget-" .. gadget, { action = "edit" })))
ins(" edit])'': ")
ins(preprocess(new_message('Gadget-' .. gadget):plain()))
ins(" </dd>")
table.remove(items, i)
if #items > 0 then
for j, item in ipairs(items) do
items[j] = '[[MediaWiki:Gadget-' .. item .. '|' .. item .. ']]'
end
ins("<dd> ''Other parts'': ")
ins(list_to_text(items))
ins("</dd>")
end
ins("</dl></dd>")
break
end
end
end
end
if not is_gadget then
ins("<dd> ''This script is not a part of any [")
ins(tostring(full_url("Special:Gadgets", { uselang = "en" })))
ins(' gadget] ([')
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(' edit definitions]).</dd>')
-- else
-- inscat("Wiktionary gadgets")
end
end
if old_doc_title then
ins("<dd> ''Redirected from'' [")
ins(old_doc_title:fullUrl { redirect = "no" })
ins(" ")
ins(old_doc_title.fullText)
ins("] ([")
ins(old_doc_title:fullUrl { action = "edit" })
ins(" edit]).</dd>\n")
end
if not args.nolinks then
local links = {}
local function inslinks(txt)
insert(links, txt)
end
if title.isSubpage and not args.notsubpage then
inslinks("[[:" .. title.nsText .. ":" .. title.rootText .. "|मूल पृष्ठ (रूट पेज)]]")
inslinks("[[Special:PrefixIndex/" .. title.nsText .. ":" .. title.rootText .. "/|root page’s subpages]]")
else
inslinks("[[Special:PrefixIndex/" .. title.fullText .. "/|उपपृष्ठ सूची]]")
end
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidetrans = true, hideredirs = true })) ..
" कड़ियाँ]")
if contentModel ~= "Scribunto" then
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hidetrans = true })) ..
" पुनर्प्रेषण]")
end
if is_script_or_stylesheet then
if user_name then
inslinks("[[Special:MyPage" .. title.text:sub(#title.rootText + 1) .. "|your own]]")
end
else
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hideredirs = true })) ..
" ट्रांसक्लूजन]")
end
if contentModel == "Scribunto" then
local is_testcases = title.isSubpage and title.subpageText == "testcases"
local without_subpage = title.nsText .. ":" .. title.baseText
if is_testcases then
inslinks("[[:" .. without_subpage .. "|tested module]]")
else
inslinks("[[" .. title.fullText .. "/testcases|testcases]]")
end
if user_name then
inslinks("[[User:" .. user_name .. "|user page]]")
inslinks("[[User talk:" .. user_name .. "|user talk page]]")
inslinks("[[Special:PrefixIndex/User:" .. user_name .. "/|userspace]]")
-- If sandbox module, add a link to the module that this is a sandbox of.
-- Exclude user sandbox modules like [[User:Dine2016/sandbox]].
elseif title.text:find("^sandbox%d*/") or title.text:find("/sandbox%d*%f[/%z]") then
inscat("Sandbox modules")
-- Sandbox modules don’t really need documentation.
needs_doc = false
-- Don't track user sandbox modules.
local text_title = new_title(title.text)
if not (text_title and text_title.nsText == "सदस्य") then
local diff
local sandbox_of = title.text:match("^(.*)/sandbox%d*%f[/%z]")
if sandbox_of then
track("sandbox to be moved")
else
sandbox_of = title.text:match("^sandbox%d*/(.*)$")
end
if not sandbox_of then
error(("Internal error: Something wrong, couldn't extract sandbox-of module from title '%s'")
:format(title.text))
end
sandbox_of = title.nsText .. ":" .. sandbox_of
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
end
-- If not a sandbox module, add link to sandbox module.
-- Sometimes there are multiple sandboxes for a single module:
-- [[Module:sandbox/sa-pronunc]], [[Module:sandbox2/sa-pronunc]].
else
local sandbox_title
local user_prefix, user_rest = title.text:match("^(सदस्य:.-/)(.*)$")
if not user_prefix then
user_prefix = ""
user_rest = title.text
end
sandbox_title = title.nsText .. ":" .. user_prefix .. "sandbox/" .. user_rest
local sandbox_link = "[[:" .. sandbox_title .. "|sandbox]]"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks(sandbox_link .. (diff or ""))
end
end
if title.nsText == "साँचा" then
-- Error search: all(any namespace), hastemplate (show pages using the template), insource (show source code), incategory (any/specific error) -- [[mw:Help:CirrusSearch]], [[w:Help:Searching/Regex]]
-- apparently same with/without: &profile=advanced&fulltext=1
local errorq = 'searchengineselect=mediawiki&search=all: hastemplate:\"' ..
title.rootText .. '\" insource:\"' .. title.rootText .. '\" incategory:'
local eincategory =
"Pages_with_module_errors|ParserFunction_errors|DisplayTitle_errors|Pages_with_ISBN_errors|Pages_with_ISSN_errors|Pages_with_reference_errors|Pages_with_syntax_highlighting_errors|Pages_with_TemplateStyles_errors"
inslinks(
'[' .. tostring(full_url('Special:Search', errorq .. eincategory)) .. ' errors]'
.. ' (' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'ParserFunction_errors')) .. ' parser]'
.. '/' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'Pages_with_module_errors')) .. ' module]'
.. ')'
)
if title.isSubpage and title.text:find("/sandbox%d*%f[/%z]") then -- This is a sandbox template.
-- At the moment there are no user sandbox templates with subpage
-- “/sandbox”.
inscat("Sandbox templates")
-- Sandbox templates don’t really need documentation.
needs_doc = false
-- Will behave badly if “/sandbox” occurs twice in title!
local sandbox_of = title.fullText:gsub("/sandbox%d*%f[/%z]", "")
local diff
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
-- This is a template that can have a sandbox.
elseif not args.nosandbox then -- unless we tell it not to
local sandbox_title = title.fullText .. "/sandbox"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks("[[:" .. sandbox_title .. "|sandbox]]" .. (diff or ""))
end
end
if #links > 0 then
ins("<dd> ''Useful links'': " .. concat(links, " • ") .. "</dd>")
end
end
ins("</dl>\n")
-- Show error from [[Module:category tree/topic cat/data]] on its submodules'
-- documentation to, for instance, warn about duplicate labels.
if startswith(title.fullText, "Module:category tree/topic/") then
local ok, err = pcall(require, "Module:category tree/topic/data")
if not ok then
ins('<span class="error">' .. err .. '</span>\n\n')
end
end
if doc_title and doc_title.exists then
-- Override automatic documentation, if present.
doc_content = expand_template { title = doc_title.fullText }
elseif not doc_content and fallback_docs then
doc_content = expand_template {
title = fallback_docs,
args = {
['user'] = user_name,
['page'] = title.fullText,
['skin name'] = skin_name,
},
}
end
if doc_content then
ins(doc_content)
end
ins(('\n<%s style="clear: both;" />'):format(args.hr == "below" and "hr" or "br"))
if cats_auto_generated and not cats[1] and (not doc_content or not doc_content:find("%[%[Category:")) then
if contentModel == "Scribunto" then
inscat("Uncategorized modules")
-- elseif title.nsText == "Template" then
-- inscat("Uncategorized templates")
end
end
if needs_doc then
inscat("Templates and modules needing documentation")
end
for _, cat in ipairs(cats) do
ins("[[Category:" .. cat .. "]]")
end
ins("</div>\n")
return concat(output)
end
function export.module_auto_doc_table()
local parts = {}
local function ins(text)
insert(parts, text)
end
ins('{|class="wikitable"')
ins("! Regex !! Category !! Handling modules")
for _, spec in ipairs(module_regex) do
local cat_text
local cats = spec.cat
if cats then
local cat_parts = {}
if type(cats) == "string" then
cats = { cats }
end
for _, cat in ipairs(cats) do
insert(cat_parts, ("<code>%s</code>"):format((cat:gsub("|", "|"))))
end
cat_text = concat(cat_parts, ", ")
else
cat_text = "''(unspecified)''"
end
ins("|-")
ins(("| <code>%s</code> || %s || %s"):format(spec.regex, cat_text,
is_callable(spec.process) and "''(handled internally)''" or
type(spec.process) == "string" and ("[[Module:documentation/functions/%s]]"):format(spec.process) or
"''(no documentation generator)''"))
end
ins("|}")
return concat(parts, "\n")
end
return export
ne9q8lkj5dogflaqy4dfmd1e4zbbyjh
488652
488651
2026-09-12T18:45:26Z
SM7
6218
localization...
488652
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local frame_module = "Module:frame"
local fun_is_callable_module = "Module:fun/isCallable"
local languages_module = "Module:languages"
local links_module = "Module:links"
local load_module = "Module:load"
local module_categorization_module = "Module:module categorization"
local number_list_show_module = "Module:number list/show"
local chemical_element_list_show_module = "Module:chemical element list/show"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local scripts_module = "Module:scripts"
local string_endswith_module = "Module:string/endswith"
local string_gline_module = "Module:string/gline"
local string_startswith_module = "Module:string/startswith"
local string_utilities_module = "Module:string utilities"
local template_parser_module = "Module:template parser"
local title_exists_module = "Module:title/exists"
local title_new_title_module = "Module:title/newTitle"
local concat = table.concat
local error = error
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local insert = table.insert
local ipairs = ipairs
local list_to_text = mw.text.listToText
local new_message = mw.message.new
local pcall = pcall
local require = require
local tonumber = tonumber
local tostring = tostring
local type = type
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function categorize_module(...)
categorize_module = require(module_categorization_module).categorize_module
return categorize_module(...)
end
local function debug_track(...)
debug_track = require(debug_track_module)
return debug_track(...)
end
local function endswith(...)
endswith = require(string_endswith_module)
return endswith(...)
end
local function expand_template(...)
expand_template = require(frame_module).expandTemplate
return expand_template(...)
end
local function find_templates(...)
find_templates = require(template_parser_module).find_templates
return find_templates(...)
end
local function full_link(...)
full_link = require(links_module).full_link
return full_link(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function get_pagetype(...)
get_pagetype = require(pages_module).get_pagetype
return get_pagetype(...)
end
local function get_script(...)
get_script = require(scripts_module).getByCode
return get_script(...)
end
local function gline(...)
gline = require(string_gline_module)
return gline(...)
end
local function is_callable(...)
is_callable = require(fun_is_callable_module)
return is_callable(...)
end
local function is_documentation(...)
is_documentation = require(pages_module).is_documentation
return is_documentation(...)
end
local function is_sandbox(...)
is_sandbox = require(pages_module).is_sandbox
return is_sandbox(...)
end
local function new_title(...)
new_title = require(title_new_title_module)
return new_title(...)
end
local function number_list_show_table(...)
number_list_show_table = require(number_list_show_module).table
return number_list_show_table(...)
end
local function chemical_element_list_show_table(...)
chemical_element_list_show_table = require(chemical_element_list_show_module).table
return chemical_element_list_show_table(...)
end
local function preprocess(...)
preprocess = require(frame_module).preprocess
return preprocess(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function safe_load_data(...)
safe_load_data = require(load_module).safe_load_data
return safe_load_data(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function startswith(...)
startswith = require(string_startswith_module)
return startswith(...)
end
local function title_exists(...)
title_exists = require(title_exists_module)
return title_exists(...)
end
local function ugsub(...)
ugsub = require(string_utilities_module).gsub
return ugsub(...)
end
local function umatch(...)
umatch = require(string_utilities_module).match
return umatch(...)
end
local skins = {
["common"] = "",
["vector"] = "Vector",
["monobook"] = "Monobook",
["cologneblue"] = "Cologne Blue",
["modern"] = "Modern",
}
local function track(page)
debug_track("documentation/" .. page)
return true
end
local function compare_pages(page1, page2, text)
return "[" .. tostring(
full_url("Special:ComparePages", { page1 = page1, page2 = page2 }))
.. " " .. text .. "]"
end
-- Avoid transcluding [[Module:languages/cache]] everywhere.
local lang_cache = setmetatable({}, {
__index = function(self, k)
return require("Module:languages/cache")[k]
end
})
local function zh_link(word)
return full_link {
lang = lang_cache.zh,
term = word
}
end
local function make_languages_data_documentation(_title, cats, division)
local doc_template, module_cat
if endswith(division, "/extra") then
division = division:sub(1, -7)
doc_template = "language extradata documentation"
module_cat = "Language extra data modules"
else
doc_template = "language data documentation"
module_cat = "Language data modules"
end
local sort_key
if division == "exceptional" then
sort_key = "x"
else
sort_key = division:gsub("/", "")
end
insert(cats, module_cat .. "|" .. sort_key)
return {
title = doc_template
}
end
local function make_Unicode_data_documentation(title, _cats)
local subpage, first_three_of_code_point
= title.fullText:match("^Module:Unicode data/([^/]+)/(%x%x%x)$")
if subpage == "names" or subpage == "images" or subpage == "emoji images" then
local low, high =
tonumber(first_three_of_code_point .. "000", 16),
tonumber(first_three_of_code_point .. "FFF", 16)
local text, text_type
if subpage == "names" then
text_type = "titles of images"
elseif subpage == "images" then
text_type = "titles of images"
elseif subpage == "emoji images" then
text_type = "emoji-style images"
end
text = string.format(
"This data module contains the " .. text_type .. " of " ..
"[[Appendix:Unicode|Unicode]] code points within the range U+%04X to U+%04X.",
low, high)
if subpage == "images" and safe_load_data("Module:Unicode data/emoji images/" .. first_three_of_code_point) then
text = text ..
" This list includes the text variants of emojis. For the list of emoji variants of those characters, see [[Module:Unicode data/emoji images/" ..
first_three_of_code_point .. "]]."
elseif subpage == "emoji images" then
text = text ..
" For text-style images, see [[Module:Unicode data/images/" .. first_three_of_code_point .. "]]."
end
return text
end
end
local function insert_lang_data_module_cats(cats, langcode, overall_data_module_cat)
local lang = lang_cache[langcode]
if lang then
local langname
if lang._fullCode then
langname = lang_cache[lang._fullCode]:getCanonicalName()
else
langname = lang:getCanonicalName()
end
insert(cats, overall_data_module_cat .. "|" .. langname)
insert(cats, langname .. " मॉड्यूल")
insert(cats, langname .. " डेटा मॉड्यूल")
return lang, langname
end
end
--[=[
This provides categories and documentation for various data modules, so that [[Category:Uncategorized modules]] isn't
unnecessarily cluttered. It is a list of tables, each of which have the following possible fields:
`regex` (required): A Lua pattern to match the module's title. If it matches, the data in this entry will be used.
Any captures in the pattern can by referenced in the `cat` field using %1 for the first capture, %2 for the
second, etc. (often used for creating the sortkey for the category). In addition, the captures are passed to the
`process` function as the third and subsequent parameters.
`process` (optional): This may be a function or a string. If it is a function, it is called as follows:
`process(TITLE, CATS, CAPTURE1, CAPTURE2, ...)`
where:
* TITLE is a title object describing the module's title; see
[https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Title_objects].
* CATS is an list of categories that the module will be added to.
* CAPTURE1, CAPTURE2, ... contain any captures in the `regex` field.
The return value of `process` should either be a string (which will be used as the module's documentation), or a
table specifying the name of a template to expand to get the documentation, along with the arguments to that
template. In the latter format, the template name (bare, without the "Template:" prefix) should be in the `title`
field, and any arguments should be in `args; in this case, the template name will be listed above the generated
documentation as the source of the documentation, along with an edit button to edit the template's contents.
If, however, the return value of the `process` function is a string, any template invocations will be expanded
using frame:preprocess(), and [[Module:documentation]] will be listed as the source of the documentation.
If `process` itself is a string rather than a function, it should name a submodule under
[[Module:documentation/functions/]] which returns a function, of the same type as described above. This submodule
will be specified as the source of the documentation (unless it returns a table naming a template to expand to get
the documentation, as described above).
If `process` is omitted entirely, the module will have no documentation.
`cat` (optional): A string naming the category into which the module should be placed, or a list of such strings.
Captures specified in `regex` may be referenced in this string using %1 for the first capture, %2 for the second,
etc. It is also possible to add categories in the `process` function by inserting them into the passed-in CATS
list (the second parameter).
]=]
local module_regex = {
{
regex = "^Module:languages/data/(3/%l/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(3/%l)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:scripts/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:data tables/data..?.?.?$",
cat = "Reference module sharded data tables",
},
{
regex = "^Module:zh/data/dial%-pron/.+$",
cat = "Chinese dialectal pronunciation data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/dial%-syn/.+$",
cat = "Chinese dialect synonyms data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/glyph%-data/.+$",
cat = "Chinese historical character forms data modules",
process = function(title, _cats)
local character = title.fullText:match("^Module:zh/data/glyph%-data/(.+)")
if character then
return ("This module contains data on historical forms of the Chinese character %s.")
:format(zh_link(character))
end
end,
},
{
regex = "^Module:zh/data/ltc%-pron/(.+)$",
cat = "Middle Chinese pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-BS/(.+)$",
cat = "Old Chinese (Baxter-Sagart) pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-ZS/(.+)$",
cat = "Old Chinese (Zhengzhang) pronunciation data modules|%1",
process = "zh data",
},
{
-- capture rest of zh/data submodules
regex = "^Module:zh/data/(.+)$",
cat = "Chinese data modules|%1",
},
{
regex = "^Module:mul/guoxue%-data/cjk%-?(.*)$",
process = "guoxue-data",
},
{
regex = "^Module:Unicode data/(.+)$",
cat = "Unicode data modules|%1",
process = make_Unicode_data_documentation,
},
{
regex = "^Module:number list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Number data modules")
if lang then
return ("This module contains data on various types of numbers in %s.\n%s")
:format(lang:makeCategoryLink(), number_list_show_table() or "")
end
end,
},
{
regex = "^Module:chemical element list/data/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Chemical element data modules")
if lang then
return ("This module contains data on chemical elements in %s.\n%s")
:format(lang:makeCategoryLink(), chemical_element_list_show_table() or "")
end
end,
},
{
regex = "^Module:accel/(.+)$",
process = function(title, cats)
local lang_code = title.subpageText
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|accel")
insert(cats, ("Accel submodules|%s"):format(lang:getCanonicalName()))
return ("This module contains new entry creation rules for %s; see [[WT:ACCEL]] for an overview, and [[Module:accel]] for information on creating new rules.")
:format(lang:makeCategoryLink())
end
end,
},
{
regex = "^Module:inc%-ash/dial/data/(.+)$",
cat = "Ashokan Prakrit modules|%1",
process = function(title, _cats)
local word = title.fullText:match("^Module:inc%-ash/dial/data/(.+)$")
if word then
local lang = lang_cache["inc-ash"]
return ("This module contains data on the pronunciation of %s in dialects of %s.")
:format(full_link({ term = word, lang = lang }, "term"),
lang:makeCategoryLink())
end
end,
},
{
regex = "^.+%-translit$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "translit",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-sortkey$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "sortkey",
title_without_namespace = title.text,
}
end,
},
{
regex = "^.+%-stripdiacritics$",
process = function(title, _cats)
return require("Module:documentation/translit-like").documentation {
operation = "strip diacritics",
title_without_namespace = title.text,
}
end,
},
{
regex = "^Module:form of/lang%-data/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Language-specific form-of modules")
if lang then
-- FIXME, display more info.
return "This module contains language-specific form-of data (tags, shortcuts, base lemma params. etc.) for " ..
langname .. "."
end
end
},
{
regex = "^Module:labels/data/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Language-specific label data modules")
if lang then
return {
title = "label language-specific data documentation",
args = { [1] = lang_code },
}
end
end
},
{
regex = "^Module:category tree/lang/(.+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Category tree data modules/lang")
if lang then
return "This module handles generating the descriptions and categorization for " ..
langname .. " category pages "
.. "of the format \"" .. langname .. " LABEL\" where LABEL can be any text. Examples are "
.. "[[:Category:Bulgarian conjugation 2.1 verbs]] and [[:Category:Russian velar-stem neuter-form nouns]]. "
.. "This module is part of the category tree system, which is a general framework for generating the "
.. "descriptions and categorization of category pages.\n\n"
.. "For more information, see [[Module:category tree/lang/documentation]].\n\n"
.. "'''NOTE:''' If you add a new language-specific module, you must add the language code to the "
.. "list at the top of [[Module:category tree/lang]] in order for the module to be recognized."
end
end
},
{
regex = "^Module:category tree/topic/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/topic| ")
return {
title = "topic cat data submodule documentation"
}
end
},
{
regex = "^Module:category tree/(.+)$",
process = function(_title, cats, _submodule)
insert(cats, "Category tree data modules/grammar| ")
return {
title = "category tree data submodule documentation"
}
end
},
{
regex = "^Module:ja/data/(.+)$",
cat = "Japanese data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/feature/Kettunen1940 ([0-9]+)$",
cat = "Finnish dialectal data atlas modules|%1",
process = function(_title, _cats, shard)
return "This module contains shard " .. shard .. " of the online version of Lauri Kettunen's 1940 work " ..
"''Suomen murteet III A. Murrekartasto'' (\"Finnish dialects III A: Dialect atlas\"). " ..
"It was imported and converted from urn:nbn:fi:csc-kata20151130145346403821, published by the " ..
"''Kotimaisten kielten keskus'' under the CC BY 4.0 license."
end
},
{
regex = "^Module:fi%-dialects/data/feature/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/word/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:Swadesh/data/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
return "This module contains the [[Swadesh list]] of basic vocabulary in " .. langname .. "."
end
end
},
{
regex = "^Module:Swadesh/data/([%l-]+)/([^/]*)$",
process = function(_title, cats, lang_code, variety)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
local prefix = "This module contains the [[Swadesh list]] of basic vocabulary in the "
local etym_lang = get_lang(variety, nil, "allow etym")
if etym_lang then
return ("%s %s variety of %s."):format(prefix, etym_lang:getCanonicalName(), langname)
end
local script = get_script(variety)
if script then
return ("%s %s %s script."):format(prefix, langname, script:getCanonicalName(lang))
end
return ("%s %s variety of %s."):format(prefix, variety, langname)
end
end
},
{
regex = "^Module:typing%-aids",
process = function(title, cats)
local data_suffix = title.fullText:match("^Module:typing%-aids/data/(.+)$")
local sortkey
if data_suffix then
if data_suffix:find "^[%l-]+$" then
local lang = get_lang(data_suffix)
if lang then
sortkey = lang:getCanonicalName()
insert(cats, sortkey .. " data modules")
end
elseif data_suffix:find "^%u%l%l%l$" then
local script = get_script(data_suffix)
if script then
-- FIXME: no lang to pass here
sortkey = script:getCanonicalName()
insert(cats, script:getCategoryName())
end
end
insert(cats, "Character insertion data modules|" .. (sortkey or data_suffix))
end
end,
},
{
regex = "^Module:R:([%l-]+):(.+)$",
process = function(_title, cats, lang_code, refname)
local lang = lang_cache[lang_code]
if lang then
insert(cats, lang:getCanonicalName() .. " modules|" .. refname)
insert(cats, ("Reference modules|%s"):format(lang:getCanonicalName()))
return "This module implements the reference template {{temp|R:" .. lang_code .. ":" .. refname .. "}}."
end
end,
},
{
regex = "^Module:Quotations/([%l-]+)/?(.*)",
process = "Quotation",
},
{
regex = "^Module:affix/lang%-data/([%l-]+)",
process = "affix lang-data",
},
{
regex = "^Module:dialect synonyms/([%l-]+)$",
process = function(_title, cats, lang_code)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules| ")
return "This module contains data on specific varieties of " .. langname .. ", for use by " ..
"{{tl|dialect synonyms}}. The actual synonyms themselves are contained in submodules.\n\n" ..
"==== Language data module structure ====\n" ..
"* <code>export.title</code> — optional; table title template (e.g. \"Regional synonyms of %s\").\n" ..
"* <code>export.columns</code> — optional; list of column headers for location hierarchy (e.g. {\"Dialect group\", \"Dialect\", \"Location\"}).\n" ..
"* <code>export.notes</code> — optional; table of note keys to text.\n" ..
"* <code>export.sources</code> — optional; table of source keys to text.\n" ..
"* <code>export.note_aliases</code> — optional; alias map for notes.\n" ..
"* <code>export.varieties</code> — required; nested table of variety nodes. Each node must have <code>name</code>; list part holds children. Node keys can include <code>text_display</code>, <code>color</code>, <code>code</code>, <code>wikidata</code>, <code>lat</code>, <code>long</code>, and language-specific keys (e.g. <code>persian</code>, <code>armenian</code>, <code>chinese</code>).\n\n" ..
expand_template({ title = 'dial syn', args = { lang_code, ["demo mode"] = "y" } })
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)$",
process = function(_title, cats, lang_code, term)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term } }))
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/([^/]+)/([^/]+)$",
process = function(_title, cats, lang_code, term, id)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
insert(cats, "Dialect synonyms data modules|" .. langname)
insert(cats, langname .. " dialect synonyms data modules|" .. term)
return ("%s\n\n%s"):format(
"==== Term/sense module structure ====\n" ..
"* <code>export.title</code> — optional; custom table title (e.g. \"Realization of 'strong R' between vowels\"). Overrides the language default.\n" ..
"* <code>export.meaning</code> — optional; meaning/gloss (alternative to <code>gloss</code>).\n" ..
"* <code>export.gloss</code> — optional; short meaning for the table.\n" ..
"* <code>export.note</code> — optional; single note key or string, or list of note keys.\n" ..
"* <code>export.notes</code> — optional; list of note keys.\n" ..
"* <code>export.source</code> / <code>export.sources</code> — optional; source keys.\n" ..
"* <code>export.last_column</code> — optional; label for the data column (default \"Words\"; e.g. \"Realization\").\n" ..
"* <code>export.syns</code> — required; table mapping variety/location names (keys from the language data module) to a list of term entries. Each entry can be a string or a table (e.g. <code>{ ipa = \"[ɽ]\" }</code> or <code>{ term = \"word\" }</code>).\n\n" ..
"Example (custom title and data column, IPA realizations):\n" ..
"<pre>\nlocal export = {}\n\nexport.title = \"Realization of 'strong R' between vowels\"\n" ..
"export.meaning = \"\"\nexport.note = \"realization of 'strong R' between vowels\"\n" ..
"export.last_column = \"Realization\"\n\nexport.syns = {\n\t[\"ALERS-158\"] = { { ipa = \"[ɽ]\" } },\n\t[\"ALERS-175\"] = { { ipa = \"[x]\" } },\n}\n\nreturn export\n</pre>\n\n",
expand_template({ title = 'dial syn', args = { lang_code, term, id = id } }))
end
end,
},
{
regex = "^मॉड्यूल:bibliography/data/([%l-]+)$",
process = function(title, cats, lang_code)
if lang_code == "preload" then
return 'Used as a base model for other languages when the button "create new language submodule" is clicked.'
end
local page = require(title.fullText).bib_page
if not page then
page = lang_cache[lang_code]:getCanonicalName()
if page then
insert(cats, page .. " मॉड्यूल")
end
end
insert(cats, "Reference modules")
return "This module holds bibliographical data for " ..
page .. ". For the formatted bibliography see '''[[विक्षनरी:परिशिष्ट:Bibliography/" .. page .. "]]'''."
end,
},
}
function export.show(frame)
local boolean_default_false = { type = "boolean", default = false }
local args = process_params(frame.args, {
["hr"] = true,
["for"] = true,
["from"] = true,
["allowondoc"] = boolean_default_false, -- Don't throw an error if used on a documentation subpage.
["notsubpage"] = boolean_default_false,
["nodoc"] = boolean_default_false,
["nolinks"] = boolean_default_false, -- suppress all "Useful links"
["nosandbox"] = boolean_default_false, -- supress sandbox
})
local output = {'\n<div class="documentation" style="display:block; clear:both">\n'}
local function ins(txt)
insert(output, txt)
end
local cats = {}
local function inscat(cat)
insert(cats, cat)
end
local nodoc = args.nodoc
if (not args.hr) or (args.hr == "above") then
ins("----\n")
end
local title = args["for"] and new_title(args["for"]) or get_current_title()
local doc_title = args.from ~= "-" and new_title(args.from or title.fullText .. '/documentation') or nil
local contentModel = title.contentModel
local pagetype, is_script_or_stylesheet = get_pagetype(title)
local preload, fallback_docs, doc_content, old_doc_title, user_name, skin_name, needs_doc
local doc_content_source = "Module:documentation"
local auto_generated_cat_source
local cats_auto_generated = false
if not args.allowondoc and is_documentation(title) then
-- TODO: merge with {{documentation subpage}}, and choose behaviour based on the page type.
error("This template should not be used on a documentation page. Please use [[Template:documentation subpage]].")
elseif is_sandbox(title) then
local sandbox_ns = title.nsText
preload = ("Template:documentation/preload%s%sSandbox"):format(
sandbox_ns == "मॉड्यूल" and sandbox_ns or "साँचा",
title.rootText:match("^[Uu]ser:(.+)") and "User" or ""
)
elseif pagetype:match("%f[%w]gadget%f[%W]") then
preload = "Template:documentation/preloadGadget"
elseif pagetype:match("%f[%w]script%f[%W]") then -- .js
if title.nsText == "MediaWiki" then
preload = "Template:documentation/preloadMediaWikiJavaScript"
else
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
end
is_script_or_stylesheet = true
elseif pagetype:match("%f[%w]stylesheet%f[%W]") then -- .css
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
is_script_or_stylesheet = true
elseif contentModel == "Scribunto" then -- Exclude pages in Module: which aren't Scribunto.
preload = "Template:documentation/preloadModule"
elseif pagetype:match("%f[%w]template%f[%W]") or pagetype:match("%f[%w]project%f[%W]") then
preload = "Template:documentation/preloadTemplate"
end
if doc_title and doc_title.isRedirect then
old_doc_title = doc_title
doc_title = doc_title.redirectTarget
end
ins("<dl class=\"plainlinks\" style=\"font-size: smaller;\">")
local function get_module_doc_and_cats(categories_only)
cats_auto_generated = true
local automatic_cats = nil
if user_name then
fallback_docs = "documentation/fallback/user module"
automatic_cats = { "User sandbox modules" }
else
for _, data in ipairs(module_regex) do
local captures = { umatch(title.fullText, data.regex) }
if #captures > 0 then
local cat, process_function
if is_callable(data.process) then
process_function = data.process
elseif type(data.process) == "string" then
doc_content_source = "Module:documentation/functions/" .. data.process
process_function = require(doc_content_source)
end
if process_function then
doc_content = process_function(title, cats, unpack(captures))
end
if type(doc_content) == "table" then
doc_content_source = doc_content.title and "Template:" .. doc_content.title or doc_content_source
doc_content = expand_template(doc_content)
elseif doc_content ~= nil then
doc_content = preprocess(doc_content)
end
cat = data.cat
if cat then
if type(cat) == "string" then
cat = { cat }
end
for _, c in ipairs(cat) do
insert(cats, (ugsub(title.fullText, data.regex, c)))
end
end
break
end
end
end
if title.subpageText == "templates" then
inscat("Template interface modules")
end
if automatic_cats then
for _, c in ipairs(automatic_cats) do
inscat(c)
end
end
if #cats == 0 then
local auto_cats = categorize_module {
return_raw = true,
noerror = true,
}
if #auto_cats > 0 then
auto_generated_cat_source = "Module:module categorization"
end
for _, category in ipairs(auto_cats) do
inscat(category)
end
end
-- meaning module is not in user’s sandbox or one of many datamodule boring series
needs_doc = not categories_only and not (automatic_cats or doc_content or fallback_docs)
end
-- Override automatic documentation, if present.
if doc_title and doc_title.exists then
local cats_auto_generated_text = ""
if contentModel == "Scribunto" then
local doc_page_content = doc_title.content
-- Track then do nothing if there are uses of includeonly. The
-- pattern is slightly too permissive, but any false-positives are
-- obvious typos that should be corrected.
if doc_page_content:lower():match("</?includeonly%f[%s/>][^>]*>") then
track("module-includeonly")
else
-- Check for uses of {{module cat}}. find_templates treats the
-- input as transcluded by default (i.e. it parses the wikitext
-- which will be transcluded through to the module page).
local module_cat
for template in find_templates(doc_page_content) do
if template:get_name() == "module cat" then
module_cat = true
break
end
end
if not module_cat then
get_module_doc_and_cats("categories only")
auto_generated_cat_source = auto_generated_cat_source or doc_content_source
cats_auto_generated_text = " Categories were auto-generated by [[" ..
auto_generated_cat_source .. "]]. <sup>[[" ..
new_title(auto_generated_cat_source):fullUrl { action = "edit" } .. " edit]]</sup>"
end
end
end
ins(
"<dd><i style=\"font-size: larger;\">यह " ..
"[[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|विवरणपृष्ठ]] [[" ..
doc_title.fullText .. "]] पर स्थित है। " .. "<sup>[[" .. doc_title:fullUrl { action = "edit" } .. " संपादित करें]]</sup>" ..
cats_auto_generated_text .. "</i></dd>")
else
if contentModel == "Scribunto" then
get_module_doc_and_cats(false)
elseif title.nsText == "साँचा" then
--inscat("Uncategorized templates")
needs_doc = not (fallback_docs or nodoc)
elseif user_name and is_script_or_stylesheet then
skin_name = skins[title.text:sub(#title.rootText + 1):match("^/(%l+)%.[jc]ss?$")]
if skin_name then
fallback_docs = "documentation/fallback/user " .. contentModel
end
end
if doc_content then
ins(
"<dd><i style=\"font-size: larger;\">The following " ..
"[[Help:Documenting templates and modules|documentation]] is " ..
"generated by [[" .. doc_content_source .. "]]. <sup>[[" ..
new_title(doc_content_source):fullUrl { action = "edit" } ..
" edit]]</sup> </i></dd>")
elseif not nodoc then
if doc_title then
ins(
"<dd><i style=\"font-size: larger;\">इस " .. pagetype ..
" को [[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|विवरणउपपृष्ठ]] की आवश्यकता है। " ..
(fallback_docs and "You may " or "कृपया ") ..
"[" .. doc_title:fullUrl { action = "edit", preload = preload }
.. " निर्मित करें]।</i></dd>\n")
else
ins(
"<dd><i style=\"font-size: larger; color: var(--wikt-palette-red-9,#FF0000);\">Unable to auto-generate " ..
"documentation for this " .. pagetype .. ".</i></dd>\n")
end
end
end
if startswith(title.fullText, "MediaWiki:Gadget-") then
local is_gadget = false
for line in gline(new_title("MediaWiki:Gadgets-definition").content) do
local gadget, items = line:match("^%*%s*(%a[%w_-]*)%[.-%]|(.+)$")
if not gadget then
gadget, items = line:match("^%*%s*(%a[%w_-]*)|(.+)$")
end
if gadget then
items = split(items, "|")
for i, item in ipairs(items) do
if title.fullText == ("MediaWiki:Gadget-" .. item) then
is_gadget = true
ins("<dd> ''This script is a part of the <code>")
ins(gadget)
ins("</code> gadget ([")
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(" edit definitions])'' <dl>")
ins("<dd> ''Description ([")
ins(tostring(full_url("MediaWiki:Gadget-" .. gadget, { action = "edit" })))
ins(" edit])'': ")
ins(preprocess(new_message('Gadget-' .. gadget):plain()))
ins(" </dd>")
table.remove(items, i)
if #items > 0 then
for j, item in ipairs(items) do
items[j] = '[[MediaWiki:Gadget-' .. item .. '|' .. item .. ']]'
end
ins("<dd> ''Other parts'': ")
ins(list_to_text(items))
ins("</dd>")
end
ins("</dl></dd>")
break
end
end
end
end
if not is_gadget then
ins("<dd> ''This script is not a part of any [")
ins(tostring(full_url("Special:Gadgets", { uselang = "en" })))
ins(' gadget] ([')
ins(tostring(full_url("MediaWiki:Gadgets-definition", { action = "edit" })))
ins(' edit definitions]).</dd>')
-- else
-- inscat("Wiktionary gadgets")
end
end
if old_doc_title then
ins("<dd> ''Redirected from'' [")
ins(old_doc_title:fullUrl { redirect = "no" })
ins(" ")
ins(old_doc_title.fullText)
ins("] ([")
ins(old_doc_title:fullUrl { action = "edit" })
ins(" edit]).</dd>\n")
end
if not args.nolinks then
local links = {}
local function inslinks(txt)
insert(links, txt)
end
if title.isSubpage and not args.notsubpage then
inslinks("[[:" .. title.nsText .. ":" .. title.rootText .. "|मूल पृष्ठ (रूट पेज)]]")
inslinks("[[Special:PrefixIndex/" .. title.nsText .. ":" .. title.rootText .. "/|root page’s subpages]]")
else
inslinks("[[Special:PrefixIndex/" .. title.fullText .. "/|उपपृष्ठ सूची]]")
end
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidetrans = true, hideredirs = true })) ..
" कड़ियाँ]")
if contentModel ~= "Scribunto" then
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hidetrans = true })) ..
" पुनर्प्रेषण]")
end
if is_script_or_stylesheet then
if user_name then
inslinks("[[Special:MyPage" .. title.text:sub(#title.rootText + 1) .. "|your own]]")
end
else
inslinks(
"[" ..
tostring(full_url("Special:WhatLinksHere/" .. title.fullText, { hidelinks = true, hideredirs = true })) ..
" ट्रांसक्लूजन]")
end
if contentModel == "Scribunto" then
local is_testcases = title.isSubpage and title.subpageText == "testcases"
local without_subpage = title.nsText .. ":" .. title.baseText
if is_testcases then
inslinks("[[:" .. without_subpage .. "|tested module]]")
else
inslinks("[[" .. title.fullText .. "/testcases|testcases]]")
end
if user_name then
inslinks("[[User:" .. user_name .. "|user page]]")
inslinks("[[User talk:" .. user_name .. "|user talk page]]")
inslinks("[[Special:PrefixIndex/User:" .. user_name .. "/|userspace]]")
-- If sandbox module, add a link to the module that this is a sandbox of.
-- Exclude user sandbox modules like [[User:Dine2016/sandbox]].
elseif title.text:find("^sandbox%d*/") or title.text:find("/sandbox%d*%f[/%z]") then
inscat("Sandbox modules")
-- Sandbox modules don’t really need documentation.
needs_doc = false
-- Don't track user sandbox modules.
local text_title = new_title(title.text)
if not (text_title and text_title.nsText == "सदस्य") then
local diff
local sandbox_of = title.text:match("^(.*)/sandbox%d*%f[/%z]")
if sandbox_of then
track("sandbox to be moved")
else
sandbox_of = title.text:match("^sandbox%d*/(.*)$")
end
if not sandbox_of then
error(("Internal error: Something wrong, couldn't extract sandbox-of module from title '%s'")
:format(title.text))
end
sandbox_of = title.nsText .. ":" .. sandbox_of
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
end
-- If not a sandbox module, add link to sandbox module.
-- Sometimes there are multiple sandboxes for a single module:
-- [[Module:sandbox/sa-pronunc]], [[Module:sandbox2/sa-pronunc]].
else
local sandbox_title
local user_prefix, user_rest = title.text:match("^(सदस्य:.-/)(.*)$")
if not user_prefix then
user_prefix = ""
user_rest = title.text
end
sandbox_title = title.nsText .. ":" .. user_prefix .. "sandbox/" .. user_rest
local sandbox_link = "[[:" .. sandbox_title .. "|sandbox]]"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks(sandbox_link .. (diff or ""))
end
end
if title.nsText == "साँचा" then
-- Error search: all(any namespace), hastemplate (show pages using the template), insource (show source code), incategory (any/specific error) -- [[mw:Help:CirrusSearch]], [[w:Help:Searching/Regex]]
-- apparently same with/without: &profile=advanced&fulltext=1
local errorq = 'searchengineselect=mediawiki&search=all: hastemplate:\"' ..
title.rootText .. '\" insource:\"' .. title.rootText .. '\" incategory:'
local eincategory =
"Pages_with_module_errors|ParserFunction_errors|DisplayTitle_errors|Pages_with_ISBN_errors|Pages_with_ISSN_errors|Pages_with_reference_errors|Pages_with_syntax_highlighting_errors|Pages_with_TemplateStyles_errors"
inslinks(
'[' .. tostring(full_url('Special:Search', errorq .. eincategory)) .. ' errors]'
.. ' (' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'ParserFunction_errors')) .. ' parser]'
.. '/' ..
'[' .. tostring(full_url('Special:Search', errorq .. 'Pages_with_module_errors')) .. ' module]'
.. ')'
)
if title.isSubpage and title.text:find("/sandbox%d*%f[/%z]") then -- This is a sandbox template.
-- At the moment there are no user sandbox templates with subpage
-- “/sandbox”.
inscat("Sandbox templates")
-- Sandbox templates don’t really need documentation.
needs_doc = false
-- Will behave badly if “/sandbox” occurs twice in title!
local sandbox_of = title.fullText:gsub("/sandbox%d*%f[/%z]", "")
local diff
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
inslinks("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
-- This is a template that can have a sandbox.
elseif not args.nosandbox then -- unless we tell it not to
local sandbox_title = title.fullText .. "/sandbox"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
inslinks("[[:" .. sandbox_title .. "|sandbox]]" .. (diff or ""))
end
end
if #links > 0 then
ins("<dd> ''उपयोगी कड़ियाँ'': " .. concat(links, " • ") .. "</dd>")
end
end
ins("</dl>\n")
-- Show error from [[Module:category tree/topic cat/data]] on its submodules'
-- documentation to, for instance, warn about duplicate labels.
if startswith(title.fullText, "Module:category tree/topic/") then
local ok, err = pcall(require, "Module:category tree/topic/data")
if not ok then
ins('<span class="error">' .. err .. '</span>\n\n')
end
end
if doc_title and doc_title.exists then
-- Override automatic documentation, if present.
doc_content = expand_template { title = doc_title.fullText }
elseif not doc_content and fallback_docs then
doc_content = expand_template {
title = fallback_docs,
args = {
['user'] = user_name,
['page'] = title.fullText,
['skin name'] = skin_name,
},
}
end
if doc_content then
ins(doc_content)
end
ins(('\n<%s style="clear: both;" />'):format(args.hr == "below" and "hr" or "br"))
if cats_auto_generated and not cats[1] and (not doc_content or not doc_content:find("%[%[Category:")) then
if contentModel == "Scribunto" then
inscat("Uncategorized modules")
-- elseif title.nsText == "Template" then
-- inscat("Uncategorized templates")
end
end
if needs_doc then
inscat("Templates and modules needing documentation")
end
for _, cat in ipairs(cats) do
ins("[[Category:" .. cat .. "]]")
end
ins("</div>\n")
return concat(output)
end
function export.module_auto_doc_table()
local parts = {}
local function ins(text)
insert(parts, text)
end
ins('{|class="wikitable"')
ins("! Regex !! Category !! Handling modules")
for _, spec in ipairs(module_regex) do
local cat_text
local cats = spec.cat
if cats then
local cat_parts = {}
if type(cats) == "string" then
cats = { cats }
end
for _, cat in ipairs(cats) do
insert(cat_parts, ("<code>%s</code>"):format((cat:gsub("|", "|"))))
end
cat_text = concat(cat_parts, ", ")
else
cat_text = "''(unspecified)''"
end
ins("|-")
ins(("| <code>%s</code> || %s || %s"):format(spec.regex, cat_text,
is_callable(spec.process) and "''(handled internally)''" or
type(spec.process) == "string" and ("[[Module:documentation/functions/%s]]"):format(spec.process) or
"''(no documentation generator)''"))
end
ins("|}")
return concat(parts, "\n")
end
return export
ewtravjybfkarepi0fz0pfmr9z08eml
साँचा:cattoc
10
304691
488633
477684
2026-09-12T17:13:03Z
SM7
6218
updating...
488633
wikitext
text/x-wiki
{{#invoke:table of contents|show}}<noinclude>
{{documentation}}
</noinclude>
hfyokt5fd3omnmy5ufslj228jypofzw
मॉड्यूल:languages/data/3/a
828
304706
488623
477731
2026-09-12T13:26:15Z
SM7
6218
updating...
488623
Scribunto
text/plain
local m_langdata = require("Module:languages/data")
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end
local c = m_langdata.chars
local p = m_langdata.puaChars
local s = m_langdata.shared
local m = {}
m["aaa"] = {
"Ghotuo",
35463,
"alv-yek",
"Latn",
}
m["aab"] = {
"Alumu-Tesu",
35034,
"nic-alu",
"Latn",
}
m["aac"] = {
"Ari",
1811224,
"ngf-gsu",
"Latn",
}
m["aad"] = {
"Amal",
56708,
"paa-sep",
"Latn",
}
-- "aae" is treated as "sq", see [[WT:LT]]
m["aaf"] = {
"Aranadan",
3507928,
"dra-mal",
"Mlym",
-- Mlym translit in [[Module:scripts/data]] (NOTE: not present before, presumably an accidental omission)
}
m["aag"] = {
"Ambrak",
4741706,
"paa-pal",
"Latn",
}
m["aah"] = {
"Abu'",
4670715,
"paa-ara",
"Latn",
}
m["aai"] = {
"Arifama-Miniafia",
4790560,
"poz-ocw",
"Latn",
}
m["aak"] = {
"Ankave",
3446690,
"ngf-ata",
"Latn",
}
m["aal"] = {
"Afade",
56434,
"cdc-cbm",
"Latn",
}
m["aan"] = {
"Anambé",
3507873,
"tup-gua",
"Latn",
}
m["aap"] = {
"Arára (Pará)",
56807,
"sai-pek",
"Latn",
}
m["aaq"] = {
"Penobscot",
3515185,
"alg-abp",
"Latn",
}
m["aas"] = {
"Aasax",
56620,
"cus-sou",
"Latn",
}
-- "aat" is treated as "sq", see [[WT:LT]]
m["aau"] = {
"Abau",
3073568,
"paa-sep",
"Latn",
}
m["aaw"] = {
"Solong",
7558834,
"poz-ocw",
"Latn",
}
m["aax"] = {
"Upper Mandobo",
12636156,
"ngf-dum",
"Latn",
}
m["aaz"] = {
"Amarasi",
4740192,
"poz-tim",
"Latn",
}
m["aba"] = {
"Abé",
34833,
"alv-lag",
"Latn",
}
m["abb"] = {
"Bankon",
34860,
"bnt-bsa",
"Latn",
}
m["abc"] = {
"Ambala Ayta",
3448896,
"phi",
"Latn",
}
m["abd"] = {
"Camarines Norte Agta",
3399682,
"phi",
"Latn",
}
m["abe"] = {
"Abenaki",
17502788,
"alg-abp",
"Latn",
}
m["abf"] = {
"Abai Sungai",
4663287,
"poz-san",
"Latn",
}
m["abg"] = {
"Abaga",
3507954,
"ngf-kya",
"Latn",
}
m["abh"] = {
"Tajiki Arabic",
56833,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["abi"] = {
"Abidji",
34781,
"alv-lag",
"Latn",
}
m["abj"] = {
"Aka-Bea",
2356391,
"qfa-ads",
"Latn",
}
m["abl"] = {
"Abung",
49215,
"poz-lgx",
"Latn",
}
m["abm"] = {
"Abanyom",
7502,
"nic-eko",
"Latn",
}
m["abn"] = {
"Abua",
34835,
"nic-cde",
"Latn",
}
m["abo"] = {
"Abon",
35121,
"nic-tvn",
"Latn",
}
m["abp"] = {
"Abenlen Ayta",
3436621,
"phi",
"Latn",
}
m["abq"] = {
"Abaza",
27567,
"cau-abz",
"Cyrl, Latn",
translit = {
Cyrl = "abq-translit"
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"]
},
strip_diacritics = {
Cyrl = s["cau-Cyrl-stripdiacritics"],
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {
"гъв", "гъь", "гӏв", "джв", "джь", "къв", "къь", "кӏв", "кӏь", "хъв", "хӏв", "чӏв", -- 3 chars
"гв", "гъ", "гь", "гӏ", "дж", "дз", "ё", "жв", "жь", "кв", "къ", "кь", "кӏ", "ль", "лӏ", "пӏ", "тл", "тш", "тӏ", "фӏ", "хв", "хъ", "хь", "хӏ", "цӏ", "чв", "чӏ", "шв", "шӏ" -- 2 chars
},
to = {
"г" .. p[3], "г" .. p[4], "г" .. p[7], "д" .. p[2], "д" .. p[3], "к" .. p[3], "к" .. p[4], "к" .. p[7], "к" .. p[8], "х" .. p[3], "х" .. p[6], "ч" .. p[3],
"г" .. p[1], "г" .. p[2], "г" .. p[5], "г" .. p[6], "д" .. p[1], "д" .. p[4], "е" .. p[1], "ж" .. p[1], "ж" .. p[2], "к" .. p[1], "к" .. p[2], "к" .. p[5], "к" .. p[6], "л" .. p[1], "л" .. p[2], "п" .. p[1], "т" .. p[1], "т" .. p[2], "т" .. p[3], "ф" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[4], "х" .. p[5], "ц" .. p[1], "ч" .. p[1], "ч" .. p[2], "ш" .. p[1], "ш" .. p[2]
}
},
},
}
-- "abr" Abron is treated as "ak" Akan, see [[WT:LT]]
m["abs"] = {
"Ambonese Malay",
3124354,
"crp",
"Latn",
ancestors = "ms",
}
m["abt"] = {
"Ambulas",
3508015,
"paa-nnd",
"Latn",
}
m["abu"] = {
"Abure",
34767,
"alv-ptn",
"Latn",
}
m["abv"] = {
"Baharna Arabic",
56576,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["abw"] = {
"Pal",
7126121,
"ngf-omo",
"Latn",
}
m["abx"] = {
"Inabaknon",
2820163,
"poz-sbj",
"Latn",
}
m["aby"] = {
"Aneme Wake",
3508107,
"ngf-yar",
"Latn",
}
m["abz"] = {
"Abui",
2822110,
"paa-alp",
"Latn",
}
m["aca"] = {
"Achagua",
2822982,
"awd",
"Latn",
}
m["acb"] = {
"Áncá",
11130787,
"nic-mom",
"Latn",
}
m["acd"] = {
"Gikyode",
35256,
"alv-gng",
"Latn",
}
m["ace"] = {
"Acehnese",
27683,
"cmc",
"Latn, Arab",
standard_chars = {
Latn = "AaBbCcDdEeÉéÈèËëFfGgHhIiJjKkLlMmNnOoÔôÖöPpQqRrSsTtUuVvWwXxYyZz", -- current orthography (not yet add Arab)
c.punc
},
}
m["ach"] = {
"Acholi",
34926,
"sdv-los",
"Latn",
}
m["aci"] = {
"Aka-Cari",
2670418,
"qfa-adn",
"Latn",
}
m["ack"] = {
"Aka-Kora",
3433680,
"qfa-adn",
"Latn",
}
m["acl"] = {
"Akar-Bale",
3436825,
"qfa-ads",
"Latn",
}
m["acm"] = {
"Iraqi Arabic",
56232,
"sem-arb",
"Arab, Hebr",
strip_diacritics = {
Arab = "ar-stripdiacritics",
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["acn"] = {
"Achang",
56582,
"tbq-brm",
"Latn",
}
m["acp"] = {
"Eastern Acipa",
5329945,
"nic-kmk",
"Latn",
}
m["acr"] = {
"Achi",
34774,
"myn",
"Latn",
}
m["acs"] = {
"Acroá",
2829146,
"sai-cje",
"Latn",
}
m["acu"] = {
"Achuar",
2823170,
"sai-jiv",
"Latn",
}
m["acv"] = {
"Achumawi",
56661,
"nai-pal",
"Latn",
}
m["acw"] = {
"Hijazi Arabic",
56608,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["acx"] = {
"Omani Arabic",
56630,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["acy"] = {
"Cypriot Arabic",
56416,
"sem-arb",
"Latn, Grek",
ancestors = "acm",
strip_diacritics = {
Latn = {remove_diacritics = c.grave .. c.acute .. c.breve},
},
-- Grek display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
standard_chars = {
Latn = "AaBbCcDdΔδEeFfGgĠġĊċIiJjKkLlMmNnOoPpΘθRrSsTtUuVvWwXxYyZzŞş",
c.punc
},
}
m["acz"] = {
"Acheron",
34769,
"alv-tal",
"Latn",
}
m["ada"] = {
"Adangme",
35141,
"alv-gda",
"Latn",
}
m["adb"] = {
"Atauran",
125421255,
"poz-cet",
"Latn",
}
m["add"] = {
"Dzodinka",
35266,
"nic-nka",
"Latn",
}
m["ade"] = {
"Adele",
27740,
"alv-ntg",
"Latn",
}
m["adf"] = {
"Dhofari Arabic",
56565,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["adg"] = {
"Andegerebinha",
3508123,
"aus-rnd",
"Latn",
}
m["adh"] = {
"Adhola",
1971400,
"sdv-los",
"Latn",
}
m["adi"] = {
"Adi",
56440,
"sit-tan",
"Latn",
}
m["adj"] = {
"Adioukrou",
34738,
"alv-lag",
"Latn",
}
m["adl"] = {
"Galo",
2857892,
"sit-tan",
"Latn",
}
m["adn"] = {
"Adang",
3398276,
"paa-alp",
"Latn",
}
m["ado"] = {
"Abu",
56659,
"paa-por",
"Latn",
}
m["adp"] = {
"Adap",
3512402,
"sit-tib",
"Tibt",
ancestors = "dz",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["adq"] = {
"Adangbe",
34730,
"alv-gda",
"Latn",
ancestors = "ada",
}
m["adr"] = {
"Adonara",
4684505,
"poz-cet",
"Latn",
}
m["ads"] = {
"Adamorobe Sign Language",
27709,
"sgn",
"Latn", -- when documented
}
m["adt"] = {
"Adnyamathanha",
2225391,
"aus-psw",
"Latn",
}
m["adu"] = {
"Aduge",
34734,
"alv-nwd",
"Latn",
ancestors = "opa",
}
m["adw"] = {
"Amondawa",
12626847,
"tup-gua",
"Latn",
}
m["ady"] = {
"West Circassian",
27776,
"cau-cir",
"Cyrl, Latn, Arab",
translit = {
Cyrl = "cau-cir-translit",
Arab = "ar-translit",
},
override_translit = true,
display_text = {
Cyrl = s["cau-Cyrl-displaytext"]
},
strip_diacritics = {
Cyrl = s["cau-Cyrl-stripdiacritics"],
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {
"кхъу", "къӏу", -- 4 chars
"гъу", "джу", "дзу", "жъу", "къу", "кхъ", "къӏ", "кӏу", "кӏь", "лъу", "лӏу", "пӏу", "сӏу", "тӏу", "фӏу", "хъу", "цӏу", "чъу", "чӏу", "шъу", "шӏу", "щӏу", -- 3 chars
"гу", "гъ", "гь", "дж", "дз", "ё", "жъ", "жь", "ку", "къ", "кь", "кӏ", "лъ", "ль", "лӏ", "пӏ", "сӏ", "тӏ", "фӏ", "ху", "хъ", "хь", "цу", "цӏ", "чу", "чъ", "чӏ", "шъ", "шӏ", "щӏ", "ӏу", "ӏь" -- 2 chars
},
to = {
"к" .. p[5], "к" .. p[7],
"г" .. p[3], "д" .. p[2], "д" .. p[4], "ж" .. p[2], "к" .. p[3], "к" .. p[4], "к" .. p[6], "к" .. p[10], "к" .. p[11], "л" .. p[2], "л" .. p[5], "п" .. p[2], "с" .. p[2], "т" .. p[2], "ф" .. p[2], "х" .. p[3], "ц" .. p[3], "ч" .. p[3], "ч" .. p[5], "ш" .. p[2], "ш" .. p[4], "щ" .. p[2],
"г" .. p[1], "г" .. p[2], "г" .. p[4], "д" .. p[1], "д" .. p[3], "е" .. p[1], "ж" .. p[1], "ж" .. p[3], "к" .. p[1], "к" .. p[2], "к" .. p[8], "к" .. p[9], "л" .. p[1], "л" .. p[3], "л" .. p[4], "п" .. p[1], "с" .. p[1], "т" .. p[1], "ф" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[4], "ц" .. p[1], "ц" .. p[2], "ч" .. p[1], "ч" .. p[2], "ч" .. p[4], "ш" .. p[1], "ш" .. p[3], "щ" .. p[1], "ӏ" .. p[1], "ӏ" .. p[2]
}
},
},
}
m["adz"] = {
"Adzera",
3327445,
"poz-ocw",
"Latn",
}
m["aea"] = {
"Areba",
3509129,
"aus-pam",
"Latn",
}
m["aeb"] = {
"Tunisian Arabic",
56240,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["aed"] = {
"Argentine Sign Language",
3322073,
"sgn",
"Latn", -- when documented
}
m["aee"] = {
"Northeast Pashayi",
12642198,
"inc-pas",
"Arab, Latn",
}
m["aek"] = {
"Haeke",
5638166,
"poz-cln",
"Latn",
}
m["ael"] = {
"Ambele",
34818,
"nic-grf",
"Latn",
}
m["aem"] = {
"Arem",
3507920,
"mkh-vie",
"Latn",
}
m["aen"] = {
"Armenian Sign Language",
3446604,
"sgn",
}
m["aeq"] = {
"Aer",
3246741,
"inc-wes",
"Arab",
}
m["aer"] = {
"Eastern Arrernte",
10728232,
"aus-rnd",
"Latn",
}
m["aes"] = {
"Alsea",
2395641,
nil,
"Latn",
}
m["aeu"] = {
"Akeu",
4700657,
"tbq-sil",
"Latn",
}
m["aew"] = {
"Ambakich",
56642,
"paa-eke",
"Latn",
}
m["aey"] = {
"Amele",
3508025,
"ngf-gum",
"Latn",
}
m["aez"] = {
"Aeka",
16110528,
"ngf-oro",
"Latn",
}
m["afb"] = {
"Gulf Arabic",
56385,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["afd"] = {
"Andai",
4753480,
"paa-arf",
"Latn",
}
m["afe"] = {
"Putukwam",
3914930,
"nic-ben",
"Latn",
}
m["afg"] = {
"Afghan Sign Language",
4689093,
"sgn",
}
m["afh"] = {
"Afrihili",
384707,
"art",
"Latn",
type = "appendix-constructed",
}
m["afi"] = {
"Akrukay",
57003,
"paa-tam",
"Latn",
}
m["afk"] = {
"Nanubae",
6964416,
"paa-arf",
"Latn",
}
m["afn"] = {
"Defaka",
35174,
"nic",
"Latn",
}
m["afo"] = {
"Eloyi",
3914066,
"nic-plt",
"Latn",
}
m["afp"] = {
"Tapei",
16887371,
"paa-arf",
"Latn",
}
m["afs"] = {
"Afro-Seminole Creole",
27867,
"crp",
"Latn",
ancestors = "en",
}
m["aft"] = {
"Afitti",
3400829,
"sdv-nyi",
"Latn",
}
m["afu"] = {
"Awutu",
34847,
"alv-gng",
"Latn",
}
m["afz"] = {
"Obokuitai",
7075258,
"paa-clp",
"Latn",
}
m["aga"] = {
"Aguano",
3331203,
nil,
"Latn",
}
m["agb"] = {
"Legbo",
35584,
"nic-uce",
"Latn",
}
m["agc"] = {
"Agatu",
34732,
"alv-ido",
"Latn",
}
m["agd"] = {
"Agarabi",
3399642,
"ngf-gau",
"Latn",
}
m["age"] = {
"Angal",
10951553,
"ngf-ank",
"Latn",
}
m["agf"] = {
"Arguni",
12473346,
"poz-cet",
"Latn",
}
m["agg"] = {
"Angor",
3508100,
"paa-sng",
"Latn",
}
m["agh"] = {
"Ngelima",
7022266,
"bnt-bta",
"Latn",
}
m["agj"] = {
"Argobba",
29292,
"sem-eth",
"Ethi",
}
m["agk"] = {
"Isarog Agta",
6078982,
"phi",
"Latn",
}
m["agl"] = {
"Fembe",
372927,
"ngf-est",
"Latn",
}
m["agm"] = {
"Angaataha",
3508001,
"ngf-ang",
"Latn",
}
m["agn"] = {
"Agutaynen",
3399717,
"phi-kal",
"Latn",
}
m["ago"] = {
"Tainae",
7676186,
"ngf-taa",
"Latn",
}
m["agq"] = {
"Aghem",
34737,
"nic-rnw",
"Latn",
}
m["agr"] = {
"Aguaruna",
1526530,
"sai-jiv",
"Latn",
}
m["ags"] = {
"Esimbi",
35260,
"nic-bds",
"Latn",
}
m["agt"] = {
"Central Cagayan Agta",
5017296,
"phi",
"Latn",
}
m["agu"] = {
"Aguacateca",
35091,
"myn",
"Latn",
}
m["agv"] = {
"Remontado Agta",
3508085,
"phi",
"Latn",
}
m["agw"] = {
"Kahua",
3191906,
"poz-sls",
"Latn",
}
m["agx"] = {
"Aghul",
36498,
"cau-esm",
"Cyrl",
translit = "cau-nec-translit",
override_translit = true,
display_text = s["cau-Cyrl-displaytext"],
strip_diacritics = s["cau-Cyrl-stripdiacritics"],
sort_key = {
from = {"аь", "гъ", "гь", "гӏ", "дж", "ё", "къ", "кь", "кӏ", "оь", "пӏ", "тӏ", "уь", "хъ", "хь", "хӏ", "цӏ", "чӏ"},
to = {"а" .. p[1], "г" .. p[1], "г" .. p[2], "г" .. p[3], "д" .. p[1], "е" .. p[1], "к" .. p[1], "к" .. p[2], "к" .. p[3], "о" .. p[1], "п" .. p[1], "т" .. p[1], "у" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[3], "ц" .. p[1], "ч" .. p[1]}
},
}
m["agy"] = {
"Southern Alta",
7569611,
"phi",
"Latn",
}
m["agz"] = {
"Mount Iriga Agta",
6921432,
"phi",
"Latn",
}
m["aha"] = {
"Ahanta",
34729,
"alv-ctn",
"Latn",
}
m["ahb"] = {
"Axamb",
2874710,
"poz-vnc",
"Latn",
}
m["ahg"] = {
"Qimant",
35663,
"cus-cen",
"Latn",
}
m["ahh"] = {
"Aghu",
3436645,
"ngf-awy",
"Latn",
}
m["ahi"] = {
"Tiagba",
3400073,
"kro-aiz",
"Latn",
}
m["ahk"] = {
"Akha",
56643,
"tbq-han",
"Latn, Mymr, Thai",
sort_key = {
Thai = {
from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"},
to = {"", "", "%2%1"}
},
},
}
m["ahl"] = {
"Igo",
35412,
"alv-ktg",
"Latn",
}
m["ahm"] = {
"Mobu",
35967,
"kro-aiz",
"Latn",
}
m["ahn"] = {
"Àhàn",
34723,
"alv-aah",
"Latn",
}
m["aho"] = {
"Ahom",
34778,
"tai-swe",
"Ahom",
translit = "Ahom-translit",
}
m["ahp"] = {
"Apro",
34810,
"alv-kwa",
"Latn",
}
m["ahr"] = {
"Ahirani",
15549890,
"raj",
"Deva",
translit = "mr-translit",
}
m["ahs"] = {
"Ashe",
34823,
"nic-plc",
"Latn",
}
m["aht"] = {
"Ahtna",
21058,
"ath-nor",
"Latn",
}
m["aia"] = {
"Arosi",
2863483,
"poz-sls",
"Latn",
}
m["aib"] = {
"Äynu",
27927,
"qfa-mix",
"Arab, Latn",
ancestors = "ug, fa"
}
m["aic"] = {
"Ainbai",
3332149,
"paa-bew",
"Latn",
}
m["aid"] = {
"Alngith",
3279409,
"aus-pmn",
"Latn",
}
m["aie"] = {
"Amara",
2841180,
"poz-ocw",
"Latn",
}
m["aif"] = {
"Agi",
3331491,
"paa-wpa",
"Latn",
}
m["aig"] = {
"Antigua and Barbuda Creole English",
3244184,
"crp",
"Latn",
ancestors = "en",
}
m["aih"] = {
"Ai-Cham",
2827749,
"qfa-kms",
"Latn, Hani",
sort_key = {
Hani = "Hani-sortkey"
},
}
m["aii"] = {
"Assyrian Neo-Aramaic",
29440,
"sem-nna",
"Syrc",
translit = "aii-translit",
strip_diacritics = "Syrc-stripdiacritics",
}
m["aij"] = {
"Lishanid Noshan",
3436467,
"sem-nna",
"Hebr",
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["aik"] = {
"Ake",
34808,
"nic-pls",
"Latn",
}
m["ail"] = {
"Aimele",
3327418,
"ngf-bos",
"Latn",
}
m["aim"] = {
"Aimol",
4697175,
"tbq-kuk",
"Latn, Beng",
}
m["ain"] = {
"Ainu",
27969,
"qfa-ain",
"Kana, Latn, Cyrl",
sort_key = {
Kana = "Kana-sortkey"
},
}
m["aio"] = {
"Aiton",
3399725,
"tai-swe",
"Mymr",
translit = "aio-phk-translit",
display_text = s["aio-displaytext"],
strip_diacritics = s["aio-stripdiacritics"],
}
m["aip"] = {
"Burumakok",
5000984,
"ngf-wok",
"Latn",
}
m["air"] = {
"Airoran",
3321131,
"paa-saa",
"Latn",
}
m["ait"] = {
"Arikem",
3446679,
"tup",
"Latn",
}
m["aiw"] = {
"Aari",
7495,
"omv-aro",
"Latn",
}
m["aix"] = {
"Aighon",
3504287,
"poz-ocw",
"Latn",
}
m["aiy"] = {
"Ali",
34814,
"gba-eas",
"Latn",
}
m["aja"] = {
"Aja (East Africa)",
3237491,
"csu-bkr",
"Latn",
}
m["ajg"] = {
"Aja (West Africa)",
35035,
"alv-gbe",
"Latn",
}
m["aji"] = {
"Ajië",
2828867,
"poz-cln",
"Latn",
}
m["ajn"] = {
"Andajin",
16111302,
"aus-wor",
"Latn",
}
m["ajp"] = {
"South Levantine Arabic",
55633582,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["ajs"] = {
"Algerian Jewish Sign Language",
5555709,
"sgn",
}
-- m["ajt"] Judeo-Tunisian Arabic now included in Tunisian Arabic
-- m["aju"] Judeo-Moroccan Arabic now included in Moroccan Arabic
m["ajw"] = {
"Ajawa",
56645,
"cdc-wst",
"Latn",
}
m["ajz"] = {
"Amri Karbi",
3508092,
"tbq-kuk",
"Latn",
ancestors = "mjw",
}
m["akb"] = {
"Angkola Batak",
2640686,
"btk",
"Latn, Batk",
}
m["akc"] = {
"Mpur",
3327139,
"qfa-iso", -- Papuan; based on Palmer (2018), Ethnologue and Glottolog
"Latn",
}
m["akd"] = {
"Ukpet-Ehom",
36618,
"nic-ucr",
"Latn",
}
m["ake"] = {
"Akawaio",
28059,
"sai-pem",
"Latn",
}
m["akf"] = {
"Akpa",
34801,
"alv-ido",
"Latn",
}
m["akg"] = {
"Anakalangu",
4750964,
"poz-cet",
"Latn",
}
m["akh"] = {
"Angal Heneng",
10950354,
"ngf-ank",
"Latn",
}
m["aki"] = {
"Aiome",
56735,
"paa-aia",
"Latn",
}
m["akj"] = {
"Jeru",
2919121,
"qfa-adn",
"Latn, Deva",
}
m["akk"] = {
"Akkadian",
35518,
"sem-eas",
"Xsux, Latn",
}
m["akl"] = {
"Aklanon",
8773,
"phi",
"Latn",
}
m["akm"] = {
"Aka-Bo",
35361,
"qfa-adn",
"Latn",
}
m["ako"] = {
"Akurio",
56650,
"sai-tar",
"Latn",
}
m["akp"] = {
"Siwu",
36470,
"alv-ntg",
"Latn",
}
m["akq"] = {
"Ak",
56654,
"paa-sep",
"Latn",
}
m["akr"] = {
"Araki",
2699882,
"poz-vnn",
"Latn",
}
m["aks"] = {
"Akaselem",
34817,
"nic-grm",
"Latn",
}
m["akt"] = {
"Akolet",
3330162,
"poz-ocw",
"Latn",
}
m["aku"] = {
"Akum",
34799,
"nic-ykb",
"Latn",
}
m["akv"] = {
"Akhvakh",
56423,
"cau-and",
"Cyrl",
translit = "cau-nec-translit",
override_translit = true,
display_text = s["cau-Cyrl-displaytext"],
strip_diacritics = s["cau-Cyrl-stripdiacritics"],
}
m["akw"] = {
"Akwa",
34802,
"bnt-mbo",
"Latn",
}
m["akx"] = {
"Aka-Kede",
3436816,
"qfa-adc",
"Latn",
}
m["aky"] = {
"Aka-Kol",
3436784,
"qfa-adc",
"Latn",
}
m["akz"] = {
"Alabama",
1815020,
"nai-mus",
"Latn",
}
m["ala"] = {
"Alago",
34813,
"alv-ido",
"Latn",
}
m["alc"] = {
"Kawésqar",
56544,
"aqa",
"Latn",
}
m["ald"] = {
"Alladian",
34837,
"alv-lag",
"Latn",
}
m["ale"] = {
"Aleut",
27210,
"esx",
"Latn, Cyrl",
}
m["alf"] = {
"Alege",
34815,
"nic-ben",
"Latn",
}
m["alh"] = {
"Alawa",
2147917,
"aus-gun",
"Latn",
}
m["ali"] = {
"Amaimon",
3327427,
"ngf-mad",
"Latn",
}
m["alj"] = {
"Alangan",
3327423,
"phi",
"Latn",
}
m["alk"] = {
"Alak",
2714690,
"mkh",
"Latn",
}
m["all"] = {
"Allar",
3393634,
"dra-mal",
"Mlym",
-- Mlym translit in [[Module:scripts/data]] (NOTE: not present before, presumably an accidental omission)
}
-- "aln" is treated as "sq", see [[WT:LT]]
m["alm"] = {
"Amblong",
11022615,
"poz-vnn",
"Latn",
}
m["alo"] = {
"Larike-Wakasihu",
3217929,
"poz-cma",
"Latn",
}
m["alp"] = {
"Alune",
3327367,
"poz-cet",
"Latn",
}
m["alq"] = {
"Algonquin",
28092,
"alg",
"Latn, Cans",
ancestors = "oj",
}
m["alr"] = {
"Alutor",
28213,
"qfa-ckn",
"Cyrl",
strip_diacritics = {
from = {"['’]"},
to = {"ʼ"}
},
sort_key = {
from = {"вʼ", "гʼ", "ғ", "ә", "ё", "ӄ", "ӈ"},
to = {"в" .. p[1], "г" .. p[1], "г" .. p[2], "е" .. p[1], "е" .. p[2], "к" .. p[1], "н" .. p[1]}
},
}
m["alt"] = {
"Southern Altai",
1991779,
"trk-kkp",
"Cyrl",
translit = "Altai-translit",
sort_key = {
from = {"ј", "ё", "ҥ", "ӧ", "ӱ"},
to = {"д" .. p[1], "е" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1]}
},
}
m["alu"] = {
"'Are'are",
5160,
"poz-sls",
"Latn",
}
m["alw"] = {
"Alaba",
56652,
"cus-hec",
"Latn",
}
m["alx"] = {
"Amol",
3504260,
"paa-pal",
"Latn",
}
m["aly"] = {
"Alyawarr",
3327389,
"aus-rnd",
"Latn",
}
m["alz"] = {
"Alur",
56507,
"sdv-los",
"Latn",
}
m["ama"] = {
"Amanayé",
3508053,
"tup-gua",
"Latn",
}
m["amb"] = {
"Ambo",
3450142,
"nic-tvn",
"Latn",
}
m["amc"] = {
"Amahuaca",
2669150,
"sai-pan",
"Latn",
}
m["ame"] = {
"Yanesha'",
3088540,
"awd",
"Latn",
}
m["amf"] = {
"Hamer-Banna",
35764,
"omv-aro",
"Latn, Ethi",
sort_key = "amf-utilities"
}
m["amg"] = {
"Amurdag",
3360016,
"aus-wdj",
"Latn",
}
m["ami"] = {
"Amis",
35132,
"map",
"Latn",
}
m["amj"] = {
"Amdang",
28335,
"ssa-fur",
"Latn",
}
m["amk"] = {
"Ambai",
1875885,
"poz-hce",
"Latn",
}
m["aml"] = {
"War-Jaintia",
56321,
"aav-khs",
"Latn",
}
m["amm"] = {
"Ama",
3446626,
"paa-lma",
"Latn",
}
m["amn"] = {
"Amanab",
3327399,
"paa-war",
"Latn",
}
m["amo"] = {
"Amo",
34826,
"nic-kne",
"Latn",
}
m["amp"] = {
"Alamblak",
56688,
"paa-sep",
"Latn",
}
m["amq"] = {
"Amahai",
3327384,
"poz-cma",
"Latn",
}
m["amr"] = {
"Amarakaeri",
35128,
"sai-har",
"Latn",
}
m["ams"] = {
"Southern Amami Ōshima",
2840986,
"jpx-nry",
"Jpan",
translit = s["jpx-translit"],
display_text = s["jpx-displaytext"],
strip_diacritics = s["jpx-stripdiacritics"],
sort_key = s["jpx-sortkey"],
}
m["amt"] = {
"Amto",
56517,
"paa-amu",
"Latn",
}
m["amu"] = {
"Guerrero Amuzgo",
3501942,
"omq",
"Latn",
}
m["amv"] = {
"Ambelau",
2669214,
"poz-cma",
"Latn",
}
m["amw"] = {
"Western Neo-Aramaic",
34226,
"sem-arw",
"Armi, Syrc, Latn",
strip_diacritics = {
Syrc = "Syrc-stripdiacritics"
},
}
m["amx"] = {
"Anmatyerre",
10412317,
"aus-rnd",
"Latn",
}
m["amy"] = {
"Ami",
10408315,
"aus-dal",
"Latn",
}
m["amz"] = {
"Atampaya",
3446651,
"aus-pam",
"Latn",
}
m["ana"] = {
"Andaqui",
2846078,
nil,
"Latn",
}
m["anb"] = {
"Andoa",
2846171,
"sai-zap",
"Latn",
}
m["anc"] = {
"Ngas",
35999,
"cdc-wst",
"Latn",
}
m["and"] = {
"Ansus",
3513300,
"poz-hce",
"Latn",
}
m["ane"] = {
"Xârâcùù",
3571097,
"poz-cln",
"Latn",
}
m["anf"] = {
"Animere",
34783,
"alv-ktg",
"Latn",
}
m["ang"] = {
"Old English",
42365,
"gmw-ang",
"Latn, Runr",
translit = {
Runr = "Runr-translit"
},
strip_diacritics = {
Latn = {
remove_diacritics = c.acute .. c.circ .. c.macron .. c.breve .. c.dotabove .. c.diaer .. c.dotbelow,
from = {"[Ƿƿ]"},
to = {{
["Ƿ"] = "W", ["ƿ"] = "w",
}},
},
},
sort_key = {
Latn = {
remove_diacritics = c.acute .. c.circ .. c.macron .. c.breve .. c.dotabove .. c.diaer .. c.dotbelow,
from = {"[æƀꝺðꝼᵹȝłœꞃꞅꞇþꝥꝧƿ]"},
to = {{
["æ"] = "ae", ["ƀ"] = "b", ["ꝺ"] = "d", ["ð"] = "d" .. p[1], ["ꝼ"] = "f",
["ᵹ"] = "g", ["ȝ"] = "g" .. p[1], ["ł"] = "l", ["œ"] = "oe", ["ꞃ"] = "r",
["ꞅ"] = "s", ["ꞇ"] = "t", ["þ"] = "t" .. p[1], ["ꝥ"] = "t" .. p[1],
["ꝧ"] = "t" .. p[1], ["ƿ"] = "w",
}},
},
},
standard_chars = {
Latn = "AaÆæBbCcDdÐðEeFfGgHhIiLlMmNnOoŒœPpRrSsTtÞþUuWwXxYy",
c.punc,
},
}
m["anh"] = {
"Nend",
6991554,
"ngf-wso",
"Latn",
}
m["ani"] = {
"Andi",
34849,
"cau-and",
"Cyrl",
translit = "cau-nec-translit",
override_translit = true,
display_text = s["cau-Cyrl-displaytext"],
strip_diacritics = s["cau-Cyrl-stripdiacritics"],
}
m["anj"] = {
"Anor",
56458,
"paa-aia",
"Latn",
}
m["ank"] = {
"Goemai",
35272,
"cdc-wst",
"Latn",
}
m["anl"] = {
"Anu",
4777679,
"sit-mru",
"Latn",
}
m["anm"] = {
"Anāl",
56235,
"tbq-kuk",
"Latn",
}
m["ann"] = {
"Obolo",
36614,
"nic-lcr",
"Latn",
}
m["ano"] = {
"Andoque",
2669225,
"qfa-iso",
"Latn",
}
m["anp"] = {
"Angika",
28378,
"inc-bih",
"Deva, Kthi",
translit = {
Deva = "hi-translit",
Kthi = "bho-Kthi-translit",
},
}
m["anq"] = {
"Jarawa",
2475526,
"qfa-ong",
"Latn",
}
m["anr"] = {
"Andh",
4754314,
"inc-sou",
"Deva",
}
m["ans"] = {
"Anserma",
3446613,
"sai-chc",
"Latn",
}
m["ant"] = {
"Antakarinya",
921304,
"aus-psw",
"Latn",
}
m["anu"] = {
"Anuak",
56677,
"sdv-lon",
"Latn",
}
m["anv"] = {
"Denya",
35187,
"nic-mam",
"Latn",
}
m["anw"] = {
"Anaang",
2845320,
"nic-ief",
"Latn",
}
m["anx"] = {
"Andra-Hus",
2846195,
"poz-aay",
"Latn",
}
m["any"] = {
"Anyi",
28395,
"alv-ctn",
"Latn",
}
m["anz"] = {
"Anem",
56512,
"qfa-dis", -- Papuan; might be an isolate or in a putative West New Britain family
"Latn",
}
m["aoa"] = {
"Angolar",
34994,
"crp",
"Latn",
ancestors = "pt",
}
m["aob"] = {
"Abom",
3446647,
"qfa-dis", -- Papuan; possibly a divergent Tirio language (Anim family), or a top-level TNG node
"Latn",
}
m["aoc"] = {
"Pemon",
10729616,
"sai-pem",
"Latn",
}
m["aod"] = {
"Andarum",
3507888,
"paa-ata",
"Latn",
}
m["aoe"] = {
"Angal Enen",
10951638,
"ngf-ank",
"Latn",
}
m["aof"] = {
"Bragat",
3507977,
"paa-pal",
"Latn",
}
m["aog"] = {
"Angoram",
56366, -- cf 6754745 for merged dialect
"paa-lse",
"Latn",
}
m["aoi"] = {
"Anindilyakwa",
2714654,
"aus-arn",
"Latn",
}
m["aoj"] = {
"Mufian",
3507881,
"paa-ara",
"Latn",
}
m["aok"] = {
"Arhö",
4790086,
"poz-cln",
"Latn",
}
m["aol"] = {
"Alorese",
3332062,
"poz",
"Latn",
}
m["aom"] = {
"Ömie",
8078975,
"ngf-koi",
"Latn",
}
m["aon"] = {
"Bumbita Arapesh",
3508044,
"paa-ara",
"Latn",
}
m["aor"] = {
"Aore",
12627129,
"poz-vnn",
"Latn",
}
m["aos"] = {
"Taikat",
7676018,
"paa-taa",
"Latn",
}
m["aot"] = {
"Atong (India)",
5646,
"tbq-bdg",
"Latn, Beng",
}
m["aou"] = {
"A'ou",
16109994,
"gio",
"Latn", -- also Hani?
}
m["aox"] = {
"Atorada",
3507932,
"awd",
"Latn",
}
m["aoz"] = {
"Uab Meto",
3441962,
"poz-tim",
"Latn",
}
m["apb"] = {
"Sa'a",
36294,
"poz-sls",
"Latn",
}
m["apc"] = {
"North Levantine Arabic",
22809485,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["apd"] = {
"Sudanese Arabic",
56573,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["ape"] = {
"Bukiyip",
3507895,
"paa-ara",
"Latn",
}
m["apf"] = {
"Pahanan Agta",
7135432,
"phi",
"Latn",
}
m["apg"] = {
"Ampanang",
4748035,
"poz",
"Latn",
}
m["aph"] = {
"Athpare",
3449126,
"sit-kie",
"Deva, Latn",
}
m["api"] = {
"Apiaká",
3507941,
"tup-gua",
"Latn",
}
m["apj"] = {
"Jicarilla",
28277,
"apa",
"Latn",
}
m["apk"] = {
"Plains Apache",
27861,
"apa",
"Latn",
}
m["apl"] = {
"Lipan",
28269,
"apa",
"Latn",
}
m["apm"] = {
"Chiricahua",
13368,
"apa",
"Latn",
}
m["apn"] = {
"Apinayé",
2858311,
"sai-nje",
"Latn",
}
m["apo"] = {
"Ambul",
12627135,
"poz-ocw",
"Latn",
}
m["app"] = {
"Apma",
2669188,
"poz-vnn",
"Latn",
}
m["apq"] = {
"A-Pucikwar",
28466,
"qfa-adc",
"Latn",
}
m["apr"] = {
"Arop-Lokep",
2863482,
"poz-ocw",
"Latn",
}
m["aps"] = {
"Arop-Sissano",
12627242,
"poz-ocw",
"Latn",
}
m["apt"] = {
"Apatani",
56306,
"sit-tan",
"Latn",
}
m["apu"] = {
"Apurinã",
2859081,
"awd",
"Latn",
}
m["apv"] = {
"Alapmunte",
16110782,
"sai-nmk",
"Latn",
}
m["apw"] = {
"Western Apache",
28060,
"apa",
"Latn",
}
m["apx"] = {
"Aputai",
12473343,
"poz-tim",
"Latn",
}
m["apy"] = {
"Apalaí",
2736980,
"sai-gui",
"Latn",
}
m["apz"] = {
"Safeyoka",
7398693,
"ngf-woj",
"Latn",
}
m["aqc"] = {
"Archi",
34915,
"cau-lzg",
"Cyrl",
translit = "cau-nec-translit",
override_translit = true,
display_text = s["cau-Cyrl-displaytext"],
strip_diacritics = s["cau-Cyrl-stripdiacritics"],
sort_key = {
from = {
"ккъӏв", "ххьӏв", -- 5 chars
"гъӏв", "ёоӏ", "ккъӏ", "ккъв", "къӏв", "ллъв", "ххьӏ", "хъӏв", "хьӏв", "ццӏв", "ччӏв", -- 4 chars
"ааӏ", "гӏв", "гъӏ", "гъв", "гьв", "ееӏ", "ёӏ", "ёо", "ииӏ", "кӏв", "ккв", "ккъ", "къӏ", "къв", "кьв", "лӏв", "ллъ", "лъв", "льв", "ооӏ", "пӏв", "ппв", "ссв", "тӏв", "ттв", "ууӏ", "хӏв", "ххв", "хъӏ", "хъв", "хьӏ", "цӏв", "ццӏ", "ццв", "чӏв", "ччӏ", "ээӏ", "юуӏ", "яаӏ", -- 3 chars
"аӏ", "аа", "гӏ", "гв", "гъ", "гь", "дв", "еӏ", "ее", "ё", "жв", "зв", "иӏ", "ии", "кӏ", "кв", "кк", "къ", "кь", "лӏ", "лв", "лъ", "ль", "оӏ", "оо", "пӏ", "пв", "пп", "св", "сс", "тӏ", "тв", "тт", "уӏ", "уу", "фв", "хӏ", "хв", "хх", "хъ", "цӏ", "цв", "цц", "чӏ", "чв", "шв", "щв", "эӏ", "ээ", "юӏ", "юу", "яӏ", "яа" -- 2 chars
},
to = {
"к" .. p[8], "х" .. p[7],
"г" .. p[6], "е" .. p[7], "к" .. p[7], "к" .. p[9], "к" .. p[12], "л" .. p[5], "х" .. p[6], "х" .. p[10], "х" .. p[13], "ц" .. p[6], "ч" .. p[5],
"а" .. p[3], "г" .. p[2], "г" .. p[5], "г" .. p[7], "г" .. p[9], "е" .. p[3], "е" .. p[5], "е" .. p[6], "и" .. p[3], "к" .. p[2], "к" .. p[5], "к" .. p[6], "к" .. p[11], "к" .. p[13], "к" .. p[15], "л" .. p[2], "л" .. p[4], "л" .. p[7], "л" .. p[9], "о" .. p[3], "п" .. p[2], "п" .. p[5], "с" .. p[3], "т" .. p[2], "т" .. p[5], "у" .. p[3], "х" .. p[2], "х" .. p[5], "х" .. p[9], "х" .. p[11], "х" .. p[12], "ц" .. p[2], "ц" .. p[5], "ц" .. p[7], "ч" .. p[2], "ч" .. p[4], "э" .. p[3], "ю" .. p[3], "я" .. p[3],
"а" .. p[1], "а" .. p[2], "г" .. p[1], "г" .. p[3], "г" .. p[4], "г" .. p[8], "д" .. p[1], "е" .. p[1], "е" .. p[2], "е" .. p[4], "ж" .. p[1], "з" .. p[1], "и" .. p[1], "и" .. p[2], "к" .. p[1], "к" .. p[3], "к" .. p[4], "к" .. p[10], "к" .. p[14], "л" .. p[1], "л" .. p[3], "л" .. p[6], "л" .. p[8], "о" .. p[1], "о" .. p[2], "п" .. p[1], "п" .. p[3], "п" .. p[4], "с" .. p[1], "с" .. p[2], "т" .. p[1], "т" .. p[3], "т" .. p[4], "у" .. p[1], "у" .. p[2], "ф" .. p[1], "х" .. p[1], "х" .. p[3], "х" .. p[4], "х" .. p[8], "ц" .. p[1], "ц" .. p[3], "ц" .. p[4], "ч" .. p[1], "ч" .. p[3], "ш" .. p[1], "щ" .. p[1], "э" .. p[1], "э" .. p[2], "ю" .. p[1], "ю" .. p[2], "я" .. p[1], "я" .. p[2]
}
},
}
m["aqd"] = {
"Ampari Dogon",
4748057,
"nic-dgw",
"Latn",
}
m["aqg"] = {
"Arigidi",
34829,
"alv-von",
"Latn",
}
m["aqm"] = {
"Atohwaim",
11732297,
"paa-kay",
"Latn",
}
m["aqn"] = {
"Northern Alta",
7058116,
"phi",
"Latn",
}
m["aqp"] = {
"Atakapa",
10975683,
"qfa-iso",
"Latn",
}
m["aqr"] = {
"Arhâ",
4790085,
"poz-cln",
"Latn",
}
m["aqt"] = {
"Angaité",
15736037,
"sai-mas",
"Latn",
}
m["aqz"] = {
"Akuntsu",
4701960,
"tup",
"Latn",
}
m["arc"] = {
"Aramaic",
28602,
"sem-ara",
"Hebr, Armi, Syrc, Palm, Nbat, Phnx, Mand, Samr, Hatr, Elym",
translit = {
Armi = "Armi-translit",
Palm = "Palm-translit",
},
strip_diacritics = {
-- The first three were added by [[User:Wikitiki89]] in 2015 for use with Syriac, which has diacritics that look
-- like a diaeresis (syāmē) and macrons above and below (mṭalqānā); see Wikipedia [[w:Syriac alphabet]]. But
-- I don't know if they are actually represented using these diacritics.
Syrc = {remove_diacritics = c.macron .. c.diaer .. c.macronbelow .. u(0x0730) .. "-" .. u(0x0748)},
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
-- Samr strip_diacritics, sort_key in [[Module:scripts/data]]; previously no sort_key for Samr, presumably a mistake
-- Phnx translit in [[Module:scripts/data]] (NOTE: not present before, presumably an accidental omission)
}
m["ard"] = {
"Arabana",
3507959,
"aus-kar",
"Latn",
}
m["are"] = {
"Western Arrernte",
12645549,
"aus-rnd",
"Latn",
}
m["arh"] = {
"Arhuaco",
2640621,
"cba",
"Latn",
}
m["ari"] = {
"Arikara",
56539,
"cdd",
"Latn",
strip_diacritics = {remove_diacritics = c.acute},
}
m["arj"] = {
"Arapaso",
9627356,
"sai-tuc",
"Latn",
}
m["ark"] = {
"Arikapú",
3446640,
"sai-mje",
"Latn",
}
m["arl"] = {
"Arabela",
2591221,
"sai-zap",
"Latn",
}
m["arn"] = {
"Mapudungun",
33730,
"sai-ara",
"Latn",
}
m["aro"] = {
"Araona",
958414,
"sai-tac",
"Latn",
}
m["arp"] = {
"Arapaho",
56417,
"alg-ara",
"Latn",
}
m["arq"] = {
"Algerian Arabic",
56499,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["arr"] = {
"Arara-Karo",
35539,
"tup",
"Latn",
}
m["ars"] = {
"Najdi Arabic",
56574,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["aru"] = {
"Arua",
2746221,
"auf",
"Latn",
}
m["arv"] = {
"Arbore",
56883,
"cus-eas",
"Latn",
}
m["arw"] = {
"Lokono",
2655664,
"awd-taa",
"Latn",
}
m["arx"] = {
"Aruá",
3507907,
"tup",
"Latn",
}
m["ary"] = {
"Moroccan Arabic",
56426,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["arz"] = {
"Egyptian Arabic",
29919,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["asa"] = {
"Pare",
36403,
"bnt-par",
"Latn",
}
m["asb"] = {
"Assiniboine",
2591288,
"sio-dkt",
"Latn",
}
m["asc"] = {
"Casuarina Coast Asmat",
11732046,
"ngf-asm",
"Latn",
}
m["ase"] = {
"American Sign Language",
14759,
"sgn-asl",
"Sgnw",
}
m["asf"] = {
"Auslan",
29525,
"sgn",
"Latn", -- when documented
}
m["asg"] = {
"Cishingini",
35199,
"nic-kam",
"Latn",
}
m["ash"] = {
"Abishira",
2871740,
"qfa-dis", -- extinct, poorly documented; isolate or in a proposed Tequiraca-Canichana family by Kaufman (1994)
"Latn",
}
m["asi"] = {
"Buruwai",
5001031,
"ngf-sab",
"Latn",
}
m["asj"] = {
"Nsari",
36418,
"nic-bbe",
"Latn",
}
m["ask"] = {
"Ashkun",
29379,
"nur-sou",
"Arab, Latn",
}
m["asl"] = {
"Asilulu",
12473347,
"poz-cma",
"Latn",
}
m["asn"] = {
"Xingú Asuriní",
8044571,
"tup-gua",
"Latn",
}
m["aso"] = {
"Dano",
5220979,
"ngf-gah",
"Latn",
}
m["asp"] = {
"Algerian Sign Language",
3135421,
"sgn",
}
m["asq"] = {
"Austrian Sign Language",
36668,
"sgn",
"Latn", -- when documented
}
m["asr"] = {
"Asuri",
3504321,
"mun",
"Latn", -- when documented
}
m["ass"] = {
"Ipulo",
35408,
"nic-tvc",
"Latn",
}
m["ast"] = {
"Asturian",
29507,
"roa-asl",
"Latn",
}
m["asu"] = {
"Tocantins Asurini",
32041490,
"tup-gua",
"Latn",
}
m["asv"] = {
"Asoa",
56296,
"csu-maa",
"Latn",
}
m["asw"] = {
"Australian Aboriginal Sign Language",
955216,
"sgn",
"Latn", -- when documented
}
m["asx"] = {
"Muratayak",
11732766,
"ngf-war",
"Latn",
}
m["asy"] = {
"Yaosakor Asmat",
16113158,
"ngf-asm",
"Latn",
}
m["asz"] = {
"As",
2866218,
"poz-hce",
"Latn",
}
m["ata"] = {
"Pele-Ata",
56511,
"qfa-dis", -- Papuan; possibly in a putative West New Britain family, or an isolate
"Latn",
}
m["atb"] = {
"Zaiwa",
56594,
"tbq-brm",
"Latn, Lisu", -- also Hani?
-- Lisu translit, sort_key in [[Module:scripts/data]]
}
m["atc"] = {
"Atsahuaca",
4817730,
"sai-pan",
"Latn",
}
m["atd"] = {
"Ata Manobo",
12627315,
"mno",
"Latn",
}
m["ate"] = {
"Atemble",
4813055,
"ngf-wso",
"Latn",
}
m["atg"] = {
"Okpela",
7082551,
"alv-yek",
"Latn",
}
m["ati"] = {
"Attié",
34844,
"alv-lag",
"Latn",
}
m["atj"] = {
"Atikamekw",
56590,
"alg",
"Latn",
ancestors = "cr",
}
m["atk"] = {
"Ati",
3217458,
"phi",
"Latn",
}
m["atl"] = {
"Mount Iraya Agta",
6921430,
"phi",
"Latn",
}
m["atm"] = {
"Ata",
4812603,
"phi",
"Latn",
}
m["ato"] = {
"Atong (Cameroon)",
34824,
"nic-grs",
"Latn",
}
m["atp"] = {
"Pudtol Atta",
12640726,
"phi",
"Latn",
}
m["atq"] = {
"Aralle-Tabulahan",
4783889,
"poz-ssw",
"Latn",
}
m["atr"] = {
"Waimiri-Atroari",
56865,
"sai-car",
"Latn",
}
m["ats"] = {
"Gros Ventre",
56628,
"alg-ara",
"Latn",
}
m["att"] = {
"Pamplona Atta",
12639245,
"phi",
"Latn",
}
m["atu"] = {
"Reel",
7306882,
"sdv-dnu",
"Latn",
}
m["atv"] = {
"Northern Altai",
2640863,
"trk-ssb",
"Cyrl",
translit = "Altai-translit",
}
m["atw"] = {
"Atsugewi",
56718,
"nai-pal",
"Latn",
}
m["atx"] = {
"Arutani",
56609,
nil,
"Latn",
}
m["aty"] = {
"Aneityum",
2379113,
"poz-vns",
"Latn",
}
m["atz"] = {
"Arta",
3508067,
"phi",
"Latn",
}
m["aua"] = {
"Asumboa",
4811870,
"poz-tem",
"Latn",
}
m["aub"] = {
"Alugu",
12626798,
"tbq-urp",
"Latn", -- also Hani?
}
m["auc"] = {
"Huaorani",
758570,
"qfa-iso",
"Latn",
}
m["aud"] = {
"Anuta",
35326,
"poz-pnp",
"Latn",
}
m["aug"] = {
"Aguna",
34733,
"alv-gbe",
"Latn",
}
m["auh"] = {
"Aushi",
2872082,
"bnt-sbi",
"Latn",
}
m["aui"] = {
"Anuki",
3508132,
"poz-ocw",
"Latn",
}
m["auj"] = {
"Awjila",
56398,
"ber",
"Latn, Arab, Tfng",
}
m["auk"] = {
"Heyo",
3504295,
"paa-hya",
"Latn",
}
m["aul"] = {
"Aulua",
427300,
"poz-vnc",
"Latn",
}
m["aum"] = {
"Asu",
34798,
"alv-ngb",
"Latn",
}
m["aun"] = {
"Molmo One",
12637224,
"paa-trr",
"Latn",
}
m["auo"] = {
"Auyokawa",
56247,
"cdc-wst",
"Latn",
}
m["aup"] = {
"Makayam",
6738863,
"paa-tir",
"Latn",
}
m["auq"] = {
"Anus",
23855,
"poz-ocw",
"Latn",
}
m["aur"] = {
"Aruek",
3504279,
"paa-kom",
"Latn",
}
m["aut"] = {
"Austral",
2669261,
"poz-pep",
"Latn",
}
m["auu"] = {
"Auye",
4827334,
"ngf-pan",
"Latn",
}
m["auw"] = {
"Awyi",
3513326,
"paa-taa",
"Latn",
}
m["aux"] = {
"Aurá",
3507995,
"tup-gua",
"Latn",
}
m["auy"] = {
"Auyana",
2873211,
"ngf-gau",
"Latn",
}
m["auz"] = {
"Uzbeki Arabic",
3399507,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["avb"] = {
"Avau",
12627412,
"poz-ocw",
"Latn",
}
m["avd"] = {
"Alviri-Vidari",
3327357,
"xme",
"Arab",
ancestors = "xme-mid",
}
m["avi"] = {
"Avikam",
34840,
"alv-lag",
"Latn",
}
m["avk"] = {
"Kotava",
1377116,
"art",
"Latn",
type = "appendix-constructed",
}
m["avm"] = {
"Angkamuthi",
62603022,
"aus-pmn",
"Latn",
}
m["avn"] = {
"Avatime",
34796,
"alv-ktg",
"Latn",
}
-- avo Agavotaguerra retired
m["avs"] = {
"Aushiri",
3409318,
"sai-zap",
"Latn",
}
m["avt"] = {
"Au",
3446608,
"paa-wap",
"Latn",
}
m["avu"] = {
"Avokaya",
56685,
"csu-mma",
"Latn",
}
m["avv"] = {
"Avá-Canoeiro",
4829584,
"tup-gua",
"Latn",
}
m["awa"] = {
"Awadhi",
29579,
"inc-hie",
"Deva, Kthi, Aran",
translit = {
Deva = "hi-translit"
},
}
m["awb"] = {
"Awa (New Guinea)",
2874650,
"ngf-gau",
"Latn",
}
m["awc"] = {
"Cicipu",
35193,
"nic-kam",
"Latn",
}
m["awe"] = {
"Awetí",
4830038,
"tup",
"Latn",
}
m["awg"] = {
"Anguthimri",
4764288,
"aus-pam",
"Latn",
}
m["awh"] = {
"Awbono",
3446684,
"paa-baa",
"Latn",
}
m["awi"] = {
"Aekyom",
3399691,
"paa-kae",
"Latn",
}
m["awk"] = {
"Awabakal",
3449138,
"aus-pam",
"Latn",
}
m["awm"] = {
"Arawum",
4784537,
"ngf-rai",
"Latn",
}
m["awn"] = {
"Awngi",
34934,
"cus-cen",
"Ethi",
}
m["awo"] = {
"Awak",
3446643,
"alv-wjk",
"Latn",
}
m["awr"] = {
"Awera",
56379,
"paa-flp",
"Latn",
}
m["aws"] = {
"South Awyu",
12633986,
"ngf-awy",
"Latn",
}
m["awt"] = {
"Araweté",
4784535,
"tup-gua",
"Latn",
}
m["awu"] = {
"Central Awyu",
12628801,
"ngf-awy",
"Latn",
}
m["awv"] = {
"Jair Awyu",
16110177,
"ngf-awy",
"Latn",
}
m["aww"] = {
"Awun",
56369,
"paa-sep",
"Latn",
}
m["awx"] = {
"Awara",
2874670,
"ngf-waa",
"Latn",
}
m["awy"] = {
"Edera Awyu",
12630425,
"ngf-awy",
"Latn",
}
m["axb"] = {
"Abipón",
11252539,
"sai-guc",
"Latn",
}
m["axe"] = {
"Ayerrerenge",
16112737,
"aus-pam",
"Latn",
}
m["axg"] = {
"Arára (Mato Grosso)",
3446660,
nil,
"Latn",
}
m["axk"] = {
"Aka (Central Africa)",
11010149,
"bnt-ngn",
"Latn",
}
m["axl"] = {
"Lower Southern Aranda",
6693295,
"aus-rnd",
"Latn",
}
m["axm"] = {
"Middle Armenian",
4438498,
"hyx",
"Armn",
ancestors = "xcl",
-- Armn translit in [[Module:scripts/data]]
override_translit = true,
strip_diacritics = {
remove_diacritics = "՞՜՛՟",
from = {"եւ", "ՙ", "՚"},
to = {"և", "ʻ", "’"}
}
}
m["axx"] = {
"Xârâgurè",
8045635,
"poz-cln",
"Latn",
}
m["aya"] = {
"Awar",
56876,
"paa-baw",
"Latn",
}
m["ayb"] = {
"Ayizo",
34841,
"alv-pph",
"Latn",
}
m["ayd"] = {
"Ayabadhu",
3509164,
"aus-pmn",
"Latn",
}
m["aye"] = {
"Ayere",
34788,
"alv-aah",
"Latn",
}
m["ayg"] = {
"Nyanga (Togo)",
35446,
"alv-gng",
"Latn",
}
m["ayi"] = {
"Leyigha",
3914492,
"nic-uce",
"Latn",
}
m["ayk"] = {
"Akuku",
3450179,
"alv-nwd",
"Latn",
}
m["ayl"] = {
"Libyan Arabic",
56503,
"sem-arb",
"Arab",
strip_diacritics = "ar-stripdiacritics",
}
m["ayn"] = {
"Yemeni Arabic",
1686766,
"sem-arb",
"Arab, Hebr",
strip_diacritics = {
Arab = "ar-stripdiacritics",
},
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["ayo"] = {
"Ayoreo",
56634,
"sai-zam",
"Latn",
}
m["ayp"] = {
"North Mesopotamian Arabic",
56577,
"sem-arb",
"Arab",
ancestors = "acm",
strip_diacritics = "ar-stripdiacritics",
}
m["ayq"] = {
"Ayi",
56449,
"paa-sep",
"Latn",
}
m["ays"] = {
"Sorsogon Ayta",
7563752,
"phi",
"Latn",
}
m["ayt"] = {
"Bataan Ayta",
4921648,
"phi",
"Latn",
}
m["ayu"] = {
"Ayu",
34786,
"alv",
"Latn",
}
-- ayy deleted and removed from ISO; per the removal request, "no linguistic data exists for any [Ayta] language that the
-- ancestors of this group might have once spoken. And thus, there is no evidence that this group ever had a language
-- distinct from any other Philippine language." [Lobel]
m["ayz"] = {
"Maybrat",
4830892,
"paa-may",
-- either an isolate; grouped with Abun and the West Bird's Head family; or in the putative West Papuan family
"Latn",
}
m["aza"] = {
"Azha",
4832486,
"tbq-axi",
"Latn",
}
m["azd"] = {
"Eastern Durango Nahuatl",
16115449,
"azc-dur",
"Latn",
}
m["azg"] = {
"San Pedro Amuzgos Amuzgo",
35092,
"omq",
"Latn",
}
m["azm"] = {
"Ipalapa Amuzgo",
12633013,
"omq",
"Latn",
}
m["azn"] = {
"Western Durango Nahuatl",
12645553,
"azc-dur",
"Latn",
}
m["azo"] = {
"Awing",
34856,
"nic-nge",
"Latn",
}
m["azt"] = {
"Faire Atta",
12630884,
"phi",
"Latn",
}
m["azz"] = {
"Highland Puebla Nahuatl",
12953754,
"azc-nah",
"Latn",
}
return require("Module:languages").finalizeData(m, "language")
1i4lav7bn2fjz0e811pxvxku6628h87
मॉड्यूल:languages/data/3/c
828
304716
488624
477741
2026-09-12T13:28:35Z
SM7
6218
updating...
488624
Scribunto
text/plain
local m_langdata = require("Module:languages/data")
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end
local c = m_langdata.chars
local p = m_langdata.puaChars
local s = m_langdata.shared
local m = {}
m["caa"] = {
"Ch'orti'",
35177,
"myn",
"Latn",
}
m["cab"] = {
"Garifuna",
35490,
"awd-taa",
"Latn",
ancestors = "crb",
}
m["cac"] = {
"Chuj",
35233,
"myn",
"Latn",
}
m["cad"] = {
"Caddo",
56756,
"cdd",
"Latn",
}
m["cae"] = {
"Laalaa",
35564,
"alv-cng",
"Latn",
}
m["caf"] = {
"Southern Carrier",
12953426,
"ath-nor",
"Latn",
}
m["cag"] = {
"Nivaclé",
3182557,
"sai-mtc",
"Latn",
}
m["cah"] = {
"Cahuarano",
2933175,
"sai-zap",
"Latn",
}
m["caj"] = {
"Chané",
56721,
"awd",
"Latn",
}
m["cak"] = {
"Kaqchikel",
35115,
"myn",
"Latn",
}
m["cal"] = {
"Carolinian",
28427,
"poz-mic",
"Latn",
}
m["cam"] = {
"Cèmuhî",
3009690,
"poz-cln",
"Latn",
}
m["can"] = {
"Chambri",
5069707,
"paa-lse",
"Latn",
}
m["cao"] = {
"Chácobo",
2591202,
"sai-pan",
"Latn",
}
m["cap"] = {
"Chipaya",
35235,
"sai-ucp",
"Latn",
}
m["caq"] = {
"Car Nicobarese",
35156,
"aav-nic",
"Latn, Deva",
}
m["car"] = {
"Kari'na",
56611,
"sai-gui",
"Latn",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. "`" .. "'%-%s"},
strip_diacritics = {
remove_diacritics = c.acute,
from = {"â", "ê", "î", "ô", "û", "ŷ"},
to = {"à", "è", "ì", "ò", "ù", "ỳ"}
},
}
m["cas"] = {
"Tsimané",
35950,
"qfa-dis", -- isolate or in a putative Putative Mosetan-Chonan family
"Latn",
}
m["cav"] = {
"Cavineña",
524102,
"sai-tac",
"Latn",
}
m["caw"] = {
"Kallawaya",
266417,
"qfa-mix",
"Latn",
}
m["cax"] = {
"Chiquitano",
1844993,
"qfa-iso", -- isolate or Macro-Jê
"Latn",
}
m["cay"] = {
"Cayuga",
32967,
"iro-nor",
"Latn",
}
m["caz"] = {
"Canichana",
2936374,
"qfa-dis", -- isolate, unclassified or in a putative Tequiraca-Canichana family
"Latn",
}
m["cbb"] = {
"Cabiyarí",
3450660,
"awd-nwk",
"Latn",
}
m["cbc"] = {
"Carapana",
924405,
"sai-tuc",
"Latn",
}
m["cbd"] = {
"Carijona",
3446655,
"sai-tar",
"Latn",
}
m["cbg"] = {
"Chimila",
2963680,
"cba",
"Latn",
}
m["cbi"] = {
"Chachi",
2591329,
"sai-bar",
"Latn",
}
m["cbj"] = {
"Ede Cabe",
33112829,
"alv-ede",
"Latn",
}
m["cbk"] = {
"Chavacano",
33281,
"crp",
"Latn",
ancestors = "es",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer},
sort_key = {
from = {"ch", "ll", "ñ", "r"},
to = {"c" .. p[1], "l" .. p[1], "n" .. p[1], "r" .. p[1]}
},
standard_chars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnÑñOoPpQqRrSsTtUuVvWwXxYyZz" .. c.punc,
}
m["cbl"] = {
"Bualkhaw Chin",
9229830,
"tbq-kuk",
"Latn",
}
m["cbn"] = {
"Nyah Kur",
116849,
"mkh-mnc",
"Thai",
ancestors = "omx",
sort_key = "Thai-sortkey",
}
m["cbo"] = {
"Izora",
3915454,
"nic-jer",
"Latn",
}
m["cbq"] = {
"Tsucuba",
62603062,
"nic-knj",
"Latn",
}
m["cbr"] = {
"Cashibo-Cacataibo",
5359560,
"sai-pan",
"Latn",
}
m["cbs"] = {
"Cashinahua",
2591230,
"sai-pan",
"Latn",
}
m["cbt"] = {
"Chayahuita",
1526525,
"sai-cah",
"Latn",
}
m["cbu"] = {
"Candoshi-Shapra",
642843,
"qfa-dis", -- isolate or related to extinct Chirino; Kaufman (2007) puts it in Saparo-Yawan, Jolkesky (2016) as
-- Macro-Arawakan
"Latn",
}
m["cbv"] = {
"Cacua",
3192052,
"sai-nad",
"Latn",
ancestors = "mbr",
}
m["cbw"] = {
"Kinabalian",
6410324,
"phi",
"Latn",
}
m["cby"] = {
"Carabayo",
3441762,
"sai-tyu",
"Latn",
}
m["ccc"] = {
"Chamicuro",
2155119,
"awd",
"Latn",
}
m["ccd"] = {
"Cafundó",
3331506,
"roa-gap",
"Latn",
ancestors = "pt",
}
m["cce"] = {
"Chopi",
3437616,
"bnt-bso",
"Latn",
}
m["ccg"] = {
"Chamba Daka",
33120805,
"nic-dak",
"Latn",
}
m["cch"] = {
"Atsam",
34794,
"nic-kne",
"Latn",
}
m["ccj"] = {
"Kasanga",
35542,
"alv-nyn",
"Latn",
}
m["ccl"] = {
"Cutchi-Swahili",
5196729,
"crp",
"Latn",
ancestors = "sw",
}
m["ccm"] = {
"Malaccan Creole Malay",
12636092,
"crp",
"Latn",
ancestors = "ms",
}
m["cco"] = {
"Comaltepec Chinantec",
2963735,
"omq-chi",
"Latn",
}
m["ccp"] = {
"Chakma",
32952,
"inc-bas",
"Cakm, Beng, Latn",
ancestors = "inc-obn",
translit = {
Cakm = "Cakm-translit",
--Beng = "Beng-translit",
},
}
m["ccr"] = {
"Cacaopera",
3438338,
"nai-min",
"Latn",
}
m["cda"] = {
"Choni",
2964447,
"sit-tib",
}
m["cde"] = {
"Chenchu",
32981,
"dra-tel",
"Telu",
}
m["cdf"] = {
"Chiru",
5102016,
"tbq-kuk",
"Latn, Beng",
}
m["cdh"] = {
"Chambeali",
12953424,
"him",
"Deva, Takr",
translit = {
Deva = "hi-translit"
},
}
m["cdi"] = {
"Chodri",
5103788,
"inc-bhi",
"Gujr",
}
m["cdj"] = {
"Churahi",
12629039,
"him",
"Deva, Takr",
translit = {
Deva = "hi-translit"
},
}
m["cdm"] = {
"Chepang",
5091700,
"sit-gma",
"Deva",
}
m["cdn"] = {
"Chaudangsi",
5088056,
"sit-alm",
}
m["cdo"] = {
"Eastern Min",
36455,
"zhx-com",
"Hants, Latn",
generate_forms = "zh-generateforms",
translit = "zh-translit",
sort_key = "Hani-sortkey",
}
m["cdr"] = {
"Cinda-Regi-Tiyal",
35596,
"nic-kmk",
"Latn",
}
m["cds"] = {
"Chadian Sign Language",
10322099,
"sgn-asl",
"Latn", -- when documented
}
m["cdy"] = {
"Chadong",
926742,
"qfa-kms",
}
m["cdz"] = {
"Koda",
6425038,
"mun",
"Beng",
}
m["cea"] = {
"Lower Chehalis",
6693377,
"sal",
"Latn",
}
m["ceb"] = {
"Cebuano",
33239,
"phi",
"Latn, Tglg",
translit = {
Tglg = "ceb-translit"
},
override_translit = true,
strip_diacritics = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ
}
},
sort_key = {
Latn = "tl-sortkey",
},
standard_chars = {
Latn = "AaBbKkDdEeGgHhIiLlMmNnOoPpRrSsTtUuWwYy",
c.punc
},
}
m["ceg"] = {
"Chamacoco",
3436637,
"sai-zam",
"Latn",
}
m["cen"] = {
"Cen",
12628777,
"nic-plc",
"Latn",
ancestors = "izr",
}
m["cet"] = {
"Centúúm",
33608,
"qfa-iso", -- northeastern Nigeria
"Latn",
}
m["cfa"] = {
"Dijim-Bwilim",
3438350,
"alv-wjk",
"Latn",
}
m["cfd"] = {
"Cara",
35048,
"nic-beo",
"Latn",
}
m["cfg"] = {
"Como Karim",
35304,
"nic-jkn",
"Latn",
}
m["cfm"] = {
"Falam Chin",
56815,
"tbq-kuk",
"Beng, Latn",
}
m["cga"] = {
"Changriwa",
5072105,
"paa-yua",
"Latn",
}
m["cgc"] = {
"Kagayanen",
6346422,
"mno",
"Latn",
}
m["cgg"] = {
"Rukiga",
3270727,
"bnt-nyg",
"Latn",
}
m["cgk"] = {
"Chocangaca",
56604,
"sit-tib",
"Tibt",
ancestors = "xct",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["chb"] = {
"Chibcha",
2356431,
"cba",
"Latn",
}
m["chc"] = {
"Catawba",
5051602,
"nai-cat",
"Latn",
}
m["chd"] = {
"Highland Oaxaca Chontal",
2964457,
"nai-tqn",
"Latn",
}
m["chf"] = {
"Chontal Maya",
35175,
"myn",
"Latn",
}
m["chg"] = {
"Chagatai",
36831,
"trk-kar",
"Arab, Ougr",
ancestors = "zkh",
strip_diacritics = {
remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef,
from = {u(0x0671)},
to = {u(0x0627)}
},
translit = {
Arab = "chg-translit",
Ougr = "Ougr-translit",
},
}
m["chh"] = {
"Chinook",
6693380,
"nai-ckn",
"Latn",
}
m["chj"] = {
"Ojitlán Chinantec",
5100110,
"omq-chi",
"Latn",
}
m["chk"] = {
"Chuukese",
33161,
"poz-mic",
"Latn",
}
m["chl"] = {
"Cahuilla",
56438,
"azc-cup",
"Latn",
strip_diacritics = {remove_diacritics = c.acute .. c.macron},
}
-- chm "Mari" is not recognized as a language, but it is a family code
m["chn"] = {
"Chinook Jargon",
35173,
"crp",
"Latn, Dupl",
ancestors = "chh, nuk",
}
m["cho"] = {
"Choctaw",
32979,
"nai-mus",
"Latn",
sort_key = {remove_diacritics = c.macronbelow .. "-"},
strip_diacritics = {remove_diacritics = c.acute .. c.dotbelow},
}
m["chp"] = {
"Chipewyan",
27692,
"ath-nor",
"Latn, Cans",
}
m["chq"] = {
"Quiotepec Chinantec",
5758709,
"omq-chi",
"Latn",
}
m["chr"] = {
"Cherokee",
33388,
"iro",
"Cher",
translit = "Cher-translit",
}
m["cht"] = {
"Cholón",
2591243,
"qfa-unc", -- poorly attested; possibly in a Hibito-Cholon or Cholonan family
"Latn",
}
m["chw"] = {
"Chuabo",
5118412,
"bnt-mak",
"Latn",
}
m["chx"] = {
"Chantyal",
4926344,
"sit-tam",
"Deva",
}
m["chy"] = {
"Cheyenne",
33265,
"alg",
"Latn",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.macron .. c.dotabove .. "-"},
standard_chars = "AaÁáÀàĀāȦȧEeÉéÈèĒēĖėHhKkMmNnOoÓóÒòŌōȮȯPpSsŠšTtVvXx" .. c.punc, --umlaut and circumflex not allowed
}
m["chz"] = {
"Ozumacín Chinantec",
5100111,
"omq-chi",
"Latn",
}
m["cia"] = {
"Cia-Cia",
35284,
"poz-mun",
"Hang, Latn, Arab",
}
m["cib"] = {
"Ci Gbe",
12952445,
"alv-gbe",
"Latn",
}
m["cic"] = {
"Chickasaw",
33192,
"nai-mus",
"Latn",
}
m["cid"] = {
"Chimariko",
1294251,
"qfa-iso", -- possibly Hokan
"Latn",
}
m["cie"] = {
"Cineni",
56243,
"cdc-cbm",
"Latn",
}
m["cih"] = {
"Chinali",
11855245,
"inc",
"Deva",
ancestors = "sa",
}
m["cik"] = {
"Chitkuli Kinnauri",
15615982,
"sit-kin",
}
m["cim"] = {
"Cimbrian",
37053,
"gmw-hgm",
"Latn",
ancestors = "bar",
sort_key = {remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer .. c.ringabove .. c.caron},
}
m["cin"] = {
"Cinta Larga",
5121095,
"tup",
"Latn",
}
m["cip"] = {
"Chiapanec",
3364475,
"omq",
"Latn",
}
m["cir"] = {
"Tinrin",
7862281,
"poz-cln",
"Latn",
}
m["ciy"] = {
"Chaima",
12628867,
"sai-ven",
"Latn",
}
m["cja"] = {
"Western Cham",
12645578,
"cmc",
"Latn, Arab, Khmr, Cham", -- Western Cham script is not yet available. Also, Arabic script is missing some glyphs.
}
m["cje"] = {
"Chru",
2967321,
"cmc",
"Latn",
}
m["cjh"] = {
"Upper Chehalis",
2962074,
"sal",
"Latn",
}
m["cji"] = {
"Chamalal",
56567,
"cau-and",
"Cyrl",
translit = "cau-nec-translit",
override_translit = true,
display_text = s["cau-Cyrl-displaytext"],
strip_diacritics = s["cau-Cyrl-stripdiacritics"],
}
m["cjk"] = {
"Chokwe",
2422065,
"bnt-clu",
"Latn",
}
m["cjm"] = {
"Eastern Cham",
2948019,
"cmc",
"Latn, Cham",
}
m["cjn"] = {
"Chenapian",
5091044,
"paa-sep",
"Latn",
}
m["cjo"] = {
"Pajonal Ashéninka",
3450481,
"awd",
"Latn",
}
m["cjp"] = {
"Cabécar",
27878,
"cba",
"Latn",
}
m["cjs"] = {
"Shor",
34139,
"trk-ssb",
"Cyrl",
}
m["cjv"] = {
"Chuave",
5115226,
"ngf-sim",
"Latn",
}
m["cjy"] = {
"Jin",
56479,
"zhx",
"Hants",
ancestors = "ltc",
generate_forms = "zh-generateforms",
translit = "zh-translit",
sort_key = "Hani-sortkey",
}
m["ckb"] = {
"Central Kurdish",
36811,
"ku",
"Arab",
translit = "ckb-translit",
strip_diacritics = {remove_diacritics = c.kasra .. c.sukun},
}
m["ckh"] = {
"Chak",
12628870,
"sit-luu",
"Latn",
ancestors = "kdv",
}
m["ckl"] = {
"Cibak",
56279,
"cdc-cbm",
"Latn",
}
m["ckn"] = {
"Kaang Chin",
6343432,
"tbq-kuk",
"Latn",
}
m["cko"] = {
"Anufo",
34845,
"alv-ctn",
"Latn",
}
m["ckq"] = {
"Kajakse",
3440422,
"cdc-est",
"Latn",
}
m["ckr"] = {
"Kairak",
3503002,
"paa-bai",
"Latn",
}
m["cks"] = {
"Tayo",
1133089,
"crp",
"Latn",
ancestors = "fr",
sort_key = s["roa-oil-sortkey"],
}
m["ckt"] = {
"Chukchi",
33170,
"qfa-ckn",
"Cyrl, Latn", -- Latn is obsolete
strip_diacritics = {
from = {"['’]"},
to = {"ʼ"}
},
sort_key = {
from = {"ё", "ӄ", "ԓ", "ӈ"},
to = {"е" .. p[1], "к" .. p[1], "л" .. p[1], "н" .. p[1]}
},
}
m["cku"] = {
"Koasati",
35162,
"nai-mus",
"Latn",
}
m["ckv"] = {
"Kavalan",
716627,
"map",
"Latn",
}
m["ckx"] = {
"Caka",
5018037,
"nic-tvc",
"Latn",
}
m["cky"] = {
"Cakfem-Mushere",
3441199,
"cdc-wst",
"Latn",
}
m["ckz"] = {
"Kaqchikel-K'iche' Mixed Language",
5054550,
"qfa-mix",
"Latn",
ancestors = "cak, quc"
}
m["cla"] = {
"Ron",
3440432,
"cdc-wst",
"Latn",
}
m["clc"] = {
"Chilcotin",
28535,
"ath-nor",
"Latn",
}
m["cld"] = {
"Chaldean Neo-Aramaic",
33236,
"sem-are",
"Syrc",
strip_diacritics = "Syrc-stripdiacritics",
}
m["cle"] = {
"Lealao Chinantec",
6509365,
"omq-chi",
"Latn",
}
m["clh"] = {
"Chilisso",
3250629,
"inc-koh",
"Aran",
}
m["cli"] = {
"Chakali",
35206,
"nic-gnw",
"Latn",
}
m["clj"] = {
"Laitu Chin",
6474196,
"tbq-kuk",
}
m["clk"] = {
"Idu",
56412,
"sit-gsi",
"Tibt, Deva",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["cll"] = {
"Chala",
35190,
"nic-gne",
"Latn",
}
m["clm"] = {
"Klallam",
33404,
"sal",
"Latn",
}
m["clo"] = {
"Lowland Oaxaca Chontal",
2964450,
"nai-tqn",
"Latn",
}
m["clt"] = {
"Lutuv",
6502107,
"tbq-kuk",
"Latn",
}
m["clu"] = {
"Caluyanun",
32964,
"phi",
"Latn",
}
m["clw"] = {
"Chulym",
33125,
"trk-ssb",
"Latn, Cyrl",
}
m["cly"] = {
"Eastern Highland Chatino",
12642078,
"omq-cha",
"Latn",
}
m["cma"] = {
"Mạ",
12953680,
"mkh-ban",
"Latn",
}
m["cme"] = {
"Cerma",
35074,
"nic-gur",
"Latn",
}
m["cmg"] = {
"Classical Mongolian",
5128303,
"xgn-cen",
"Mong, Soyo, Zanb",
-- Mong translit, display_text and strip_diacritics in [[Module:scripts/data]]
}
m["cmi"] = {
"Emberá-Chamí",
3052042,
"sai-chc",
"Latn",
}
m["cml"] = {
"Campalagian",
5027893,
"poz-ssw",
"Latn",
}
m["cmm"] = {
"Michigamea",
12636809,
"sio-msv",
"Latn",
}
m["cmn"] = {
"Mandarin",
9192,
"zhx-man",
"Hants, Latn, Bopo, Brai",
wikimedia_codes = "zh",
generate_forms = "zh-generateforms",
translit = {
Hani = "zh-translit",
Bopo = "zh-translit",
},
sort_key = {
Hani = "Hani-sortkey",
Latn = {
from = {
-- Sort terms with tone numbers immediately after equivalent terms with diacritics.
"[aeiouv][" .. c.circ .. c.diaer .. "]?[nr]?g?[0-5]",
-- Add temporary breaks between syllables.
"([aeiouvmn][" .. c.circ .. c.diaer .. "]?[" .. c.macron .. c.acute .. c.caron .. c.grave .. "]?n?ŋ?g?r?)([bpmfdtnlgkhjqxzcsywrv']h?[aeiouvmn ])", p[1] .. "([ngr])$", p[1] .. "([ngr][%s%-'" .. p[1] .. "])",
-- Substitute diacritics for syllable-final tone numbers, and add tone 0 where necessary.
c.macron, c.acute, c.caron, c.grave, "([1-4])([^%s%p" .. p[1] .. "]+)", "([^0-5])%f[%z%s%p" .. p[1] .. "]",
-- Substitute "v" shorthand for "ü" for a temporary placeholder, so that the (very rare) "v" initial is not affected by the later shorthand substitutions.
"([^ " .. p[1] .. "])v",
-- Remove temporary breaks.
p[1],
-- Substitute shorthands for full forms, and sort them immediately after equivalent terms.
"%S*[csz]" .. c.circ .. "%S*", "%S*[ŋ" .. p[2] .. "]%S*", "ĉ", "ŝ", "ŋ", p[2], "ẑ",
-- "ê" comes after "e", "ü" comes after "u" and apostrophes are removed (as their function is replaced by tone numbers).
"[" .. c.circ .. c.diaer .. "]", "'",
-- Sort numbered tone 5 after tone 0.
"5!"
},
to = {
"%0!",
"%1" .. p[1] .. "%2", "%1", "%1",
"1", "2", "3", "4", "%2%1", "%10",
"%1" .. p[2],
"",
"%0\"", "%0\"", "ch", "sh", "ng", "ü", "zh",
p[1], "",
"0!!"
}
},
},
}
m["cmo"] = {
"Central Mnong",
33369881,
"mkh-ban",
"Khmr, Latn",
}
m["cmr"] = {
"Mro Chin",
16889978,
"tbq-kuk",
}
m["cms"] = {
"Messapic",
36383,
"ine",
"Polyt",
translit = "cms-translit",
-- Polyt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["cmt"] = {
"Camtho",
10441336,
"crp",
"Latn",
ancestors = "fly, zu"
}
m["cna"] = {
"Changthang",
12952322,
"sit-lab",
"Tibt",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["cnb"] = {
"Chinbon Chin",
12952327,
"tbq-kuk",
"Latn",
}
m["cnc"] = {
"Cốông",
5202780,
"tbq-bis",
"Latn",
}
m["cng"] = {
"Northern Qiang",
56559,
"sit-qia",
"Latn",
}
m["cnh"] = {
"Lai",
3250286,
"tbq-kuk",
"Latn, Mymr",
}
m["cni"] = {
"Asháninka",
3437230,
"awd",
"Latn",
}
m["cnk"] = {
"Khumi Chin",
56308,
"tbq-kuk",
"Latn",
}
m["cnl"] = {
"Lalana Chinantec",
12953437,
"omq-chi",
"Latn",
}
m["cno"] = {
"Con",
3440883,
"mkh-pal",
}
m["cnp"] = {
"Northern Pinghua",
84302463,
"zhx-pin",
"Hants",
generate_forms = "zh-generateforms",
sort_key = "Hani-sortkey",
}
m["cns"] = {
"Central Asmat",
11732048,
"ngf-asm",
"Latn",
}
m["cnt"] = {
"Tepetotutla Chinantec",
5100113,
"omq-chi",
"Latn",
}
m["cnu"] = {
"Chenoua",
33276,
"ber",
"Latn",
}
m["cnw"] = {
"Ngawn Chin",
6583675,
"tbq-kuk",
}
m["cnx"] = {
"Middle Cornish",
12642603,
"cel-brs",
"Latn",
ancestors = "oco",
}
m["coa"] = {
"Cocos Islands Malay",
3441699,
"crp",
"Latn",
ancestors = "ms",
}
m["cob"] = {
"Chicomuceltec",
3307204,
"myn",
"Latn",
}
m["coc"] = {
"Cocopa",
33044,
"nai-yuc",
"Latn",
}
m["cod"] = {
"Cocama",
33317,
"tup",
"Latn",
}
m["coe"] = {
"Koreguaje",
3198924,
"sai-tuc",
"Latn",
}
m["cof"] = {
"Tsafiki",
2567055,
"sai-bar",
"Latn",
}
m["cog"] = {
"Chong",
3914630,
"mkh-pea",
"Thai, Khmr",
sort_key = {
Thai = "Thai-sortkey"
},
}
m["coh"] = {
"Chichonyi-Chidzihana-Chikauma",
12629011,
"bnt-mij",
"Latn",
}
m["coj"] = {
"Cochimi",
3915551,
"nai-yuc",
"Latn",
}
m["cok"] = {
"Santa Teresa Cora",
12641754,
"azc",
"Latn",
}
m["col"] = {
"Columbia-Wenatchi",
3324744,
"sal",
"Latn",
}
m["com"] = {
"Comanche",
32972,
"azc-num",
"Latn",
}
m["con"] = {
"Cofán",
2669254,
"qfa-iso",
"Latn",
}
m["coo"] = {
"Comox",
13583746,
"sal",
"Latn",
}
m["cop"] = {
"Coptic",
36155,
"egx",
"Copt",
translit = "Copt-translit",
ancestors = "egx-dem",
strip_diacritics = {remove_diacritics = c.grave .. c.macron .. c.overline .. c.diaer .. "ˋ"},
sort_key = "Copt-sortkey",
}
m["coq"] = {
"Coquille",
12953452,
"ath-pco",
"Latn",
}
m["cot"] = {
"Caquinte",
3915557,
"awd",
"Latn",
}
m["cou"] = {
"Wamey",
36935,
"alv-ten",
"Latn",
}
m["cov"] = {
"Cao Miao",
2936935,
"qfa-tak",
}
m["cow"] = {
"Cowlitz",
3001877,
"sal",
"Latn",
}
m["cox"] = {
"Nanti",
15342275,
"awd",
"Latn",
}
m["coy"] = {
"Coyaima",
56450,
"sai-car",
"Latn",
}
m["coz"] = {
"Chochotec",
2964262,
"omq-pop",
"Latn",
}
m["cpa"] = {
"Palantla Chinantec",
5100112,
"omq-chi",
"Latn",
}
m["cpb"] = {
"Ucayali-Yurúa Ashéninka",
3501858,
"awd",
"Latn",
}
m["cpc"] = {
"Apurucayali Ashéninka",
3327405,
"awd",
"Latn",
}
m["cpg"] = {
"Cappadocian Greek",
853414,
"grk",
"Grek, Arab",
ancestors = "gkm",
translit = {
Grek = "el-translit",
},
-- Grek display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["cpi"] = {
"Chinese Pidgin English",
3435078,
"crp",
"Latn, Hant",
ancestors = "en",
sort_key = {
Hant = "Hani-sortkey"
},
}
m["cpn"] = {
"Cherepon",
35181,
"alv-gng",
"Latn",
}
m["cpo"] = {
"Kpee",
6435722,
"dmn-jje",
}
m["cps"] = {
"Capiznon",
2937525,
"phi",
"Latn",
}
m["cpu"] = {
"Pichis Ashéninka",
7190661,
"awd",
"Latn",
}
m["cpx"] = {
"Puxian Min",
56583,
"zhx-com",
"Hants",
generate_forms = "zh-generateforms",
sort_key = "Hani-sortkey",
}
m["cpy"] = {
"South Ucayali Ashéninka",
3501868,
"awd",
"Latn",
}
m["cqd"] = {
"Chuanqiandian Cluster Miao",
121627627,
"hmn",
"Latn, Plrd",
}
m["cra"] = {
"Chara",
5073694,
"omv",
"Latn",
}
m["crb"] = {
"Kalinago",
3450735,
"awd-taa",
"Latn",
}
m["crc"] = {
"Lonwolwol",
3259216,
"poz-vnc",
"Latn",
}
m["crd"] = {
"Coeur d'Alene",
32915,
"sal",
"Latn",
}
m["crf"] = {
"Caramanta",
3504195,
"sai-chc",
"Latn",
}
m["crg"] = {
"Michif",
13315,
"qfa-mix",
"Latn",
ancestors = "cr, fr",
}
m["crh"] = {
"Crimean Tatar",
33357,
"trk-kcu",
"Latn, Cyrl",
translit = {
Cyrl = "crh-translit",
},
dotted_dotless_i = true,
sort_key = {
Latn = {
from = {
"[ıi]" .. c.breve, -- Convert ĭ into PUA so that the decomposed form does not get caught by the next step. Also cover decomposed forms with ı and i, as decomposed Ĭ is converted to ı + ̆ due to the dotted dotless I logic).
"i", -- Ensure "i" comes after "ı".
"â", "ç", "ğ", "ı", p[3], "ñ", "ö", "ş", "ü"
},
to = {
p[3],
"i" .. p[1],
"a", "c" .. p[1], "g" .. p[1], "i", "i" .. p[2], "n" .. p[1], "o" .. p[1], "s" .. p[1], "u" .. p[1],
}
},
Cyrl = {
from = {"гъ", "ё", "къ", "нъ", "дж"},
to = {"г" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "ч" .. p[1]}
},
},
}
m["cri"] = {
"Sãotomense",
36536,
"crp",
"Latn",
ancestors = "pt",
}
m["crj"] = {
"Southern East Cree",
12953464,
"alg",
"Latn, Cans",
ancestors = "cr",
translit = {
Cans = "cr-translit"
},
}
m["crk"] = {
"Plains Cree",
56699,
"alg",
"Latn, Cans",
ancestors = "cr",
}
m["crl"] = {
"Northern East Cree",
12642195,
"alg",
"Latn, Cans",
ancestors = "cr",
translit = {
Cans = "cr-translit"
},
}
m["crm"] = {
"Moose Cree",
3446671,
"alg",
"Latn, Cans",
ancestors = "cr",
}
m["crn"] = {
"Cora",
12953454,
"azc",
"Latn",
}
m["cro"] = {
"Crow",
1207611,
"sio-mor",
"Latn",
}
m["crq"] = {
"Iyo'wujwa Chorote",
3540927,
"sai-mtc",
"Latn",
}
m["crr"] = {
"Carolina Algonquian",
16113723,
"alg-eas",
"Latn",
}
m["crs"] = {
"Seychellois Creole",
34015,
"crp",
"Latn",
ancestors = "fr",
sort_key = s["roa-oil-sortkey"],
}
m["crt"] = {
"Iyojwa'ja Chorote",
3504118,
"sai-mtc",
"Latn",
}
m["crv"] = {
"Chaura",
2605680,
"aav-nic",
"Latn",
}
m["crw"] = {
"Chrau",
5105629,
"mkh-ban",
"Latn",
}
m["crx"] = {
"Carrier",
12953431,
"ath-nor",
"Latn, Cans",
}
m["cry"] = {
"Cori",
35204,
"nic-plc",
"Latn",
}
m["crz"] = {
"Cruzeño",
2967636,
"nai-chu",
"Latn",
}
m["csa"] = {
"Chiltepec Chinantec",
12953435,
"omq-chi",
"Latn",
}
m["csb"] = {
"Kashubian",
33690,
"zlw-pom",
"Latn",
}
m["csc"] = {
"Catalan Sign Language",
35768,
"sgn",
"Latn", -- when documented
}
m["csd"] = {
"Chiangmai Sign Language",
5095211,
"sgn",
}
m["cse"] = {
"Czech Sign Language",
5201809,
"sgn",
"Latn", -- when documented
}
m["csf"] = {
"Cuban Sign Language",
5192046,
"sgn",
"Latn", -- when documented
}
m["csg"] = {
"Chilean Sign Language",
3322112,
"sgn",
"Latn", -- when documented
}
m["csh"] = {
"Asho Chin",
12627282,
"tbq-kuk",
"Latn, Mymr",
}
m["csi"] = {
"Coast Miwok",
2981109,
"nai-utn",
"Latn",
}
m["csj"] = {
"Songlai Chin",
7561280,
"tbq-kuk",
}
m["csk"] = {
"Jola-Kasa",
3446622,
"alv-jol",
"Latn",
}
m["csl"] = {
"Chinese Sign Language",
1094190,
"sgn",
}
m["csm"] = {
"Central Sierra Miwok",
2944443,
"nai-utn",
"Latn",
}
m["csn"] = {
"Colombian Sign Language",
2748229,
"sgn",
"Latn", -- when documented
}
m["cso"] = {
"Sochiapam Chinantec",
7550388,
"omq-chi",
"Latn",
}
m["csp"] = {
"Southern Pinghua",
84302019,
"zhx-pin",
"Hants",
generate_forms = "zh-generateforms",
translit = "zh-translit",
sort_key = "Hani-sortkey",
}
m["csq"] = {
"Croatian Sign Language",
3507506,
"sgn",
}
m["csr"] = {
"Costa Rican Sign Language",
5174901,
"sgn-asl",
"Latn", -- when documented
}
m["css"] = {
"Southern Ohlone",
25559664,
"nai-utn",
"Latn",
}
m["cst"] = {
"Northern Ohlone",
25559666,
"nai-utn",
"Latn",
}
m["csv"] = {
"Sumtu Chin",
7638087,
"tbq-kuk",
}
m["csw"] = {
"Swampy Cree",
56696,
"alg",
"Latn, Cans",
ancestors = "cr",
}
m["csx"] = {
"Cambodian Sign Language",
50934287,
"sgn",
}
m["csy"] = {
"Siyin Chin",
7533375,
"tbq-kuk",
}
m["csz"] = {
"Coos",
3126783,
"nai-coo",
"Latn",
}
m["cta"] = {
"Tataltepec Chatino",
7687853,
"omq-cha",
"Latn",
}
m["ctc"] = {
"Chetco-Tolowa",
12628946,
"ath-pco",
"Latn",
}
m["ctd"] = {
"Tedim Chin",
56357,
"tbq-kuk",
"Latn, Pauc",
}
m["cte"] = {
"Tepinapa Chinantec",
12953443,
"omq-chi",
"Latn",
}
m["ctg"] = {
"Chittagonian",
33173,
"inc-bas",
"Beng",
ancestors = "inc-obn",
}
m["cth"] = {
"Thaiphum Chin",
16912048,
"tbq-kuk",
}
m["ctl"] = {
"Tlacoatzintepec Chinantec",
12643657,
"omq-chi",
"Latn",
}
m["ctm"] = {
"Chitimacha",
1294227,
"qfa-iso", -- recently proposed to be in the Totozoquean family
"Latn",
}
m["ctn"] = {
"Chhintange",
32994,
"sit-kie",
"Deva",
}
m["cto"] = {
"Emberá-Catío",
3052039,
"sai-chc",
"Latn",
}
m["ctp"] = {
"Western Highland Chatino",
32861734,
"omq-cha",
"Latn",
strip_diacritics = {remove_diacritics = "¹²³⁴⁵"},
sort_key = {remove_diacritics = c.acute},
}
m["cts"] = {
"Northern Catanduanes Bikol",
7130477,
"phi",
"Latn",
}
m["ctt"] = {
"Wayanad Chetti",
7975850,
"dra-mal",
"Taml",
}
m["ctu"] = {
"Chol",
35179,
"myn",
"Latn",
}
m["ctz"] = {
"Zacatepec Chatino",
8063754,
"omq-cha",
"Latn",
}
m["cua"] = {
"Cua",
3441115,
"mkh-ban",
"Latn",
}
m["cub"] = {
"Cubeo",
3006705,
"sai-tuc",
"Latn",
}
m["cuc"] = {
"Usila Chinantec",
7901979,
"omq-chi",
"Latn",
}
m["cug"] = {
"Cung",
35194,
"nic-bbe",
"Latn",
}
m["cuh"] = {
"Chuka",
12952344,
"bnt-kka",
"Latn",
}
m["cui"] = {
"Cuiba",
2980421,
"sai-guh",
"Latn",
}
m["cuj"] = {
"Mashco Piro",
3446596,
"awd",
"Latn",
}
m["cuk"] = {
"Kuna",
12953659,
"cba",
"Latn",
}
m["cul"] = {
"Culina",
2475442,
"auf",
"Latn",
}
m["cuo"] = {
"Cumanagoto",
5193784,
"sai-cpc",
"Latn",
}
m["cup"] = {
"Cupeño",
143130,
"azc-cup",
"Latn",
}
m["cuq"] = {
"Cun",
2475478,
"qfa-lic",
"Latn",
}
m["cur"] = {
"Chhulung",
5116126,
"sit-kie",
"Deva",
}
m["cut"] = {
"Teutila Cuicatec",
12953453,
"omq-cui",
"Latn",
}
m["cuu"] = {
"Tai Ya",
3441122,
"qfa-tak",
"Latn",
}
m["cuv"] = {
"Cuvok",
3515056,
"cdc-cbm",
"Latn",
}
m["cuw"] = {
"Chukwa",
12629033,
"sit-kic",
}
m["cux"] = {
"Tepeuxila Cuicatec",
20527242,
"omq-cui",
"Latn",
}
m["cuy"] = {
"Cuitlatec",
2030998,
"qfa-iso",
"Latn",
}
m["cvg"] = {
"Chug",
47683644,
"sit-khc",
"Tibt, Latn",
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
-- (NOTE: formerly not present, probably an accidental omission)
}
m["cvn"] = {
"Valle Nacional Chinantec",
12953442,
"omq-chi",
"Latn",
}
m["cwa"] = {
"Kabwa",
6344537,
"bnt-lok",
"Latn",
}
m["cwb"] = {
"Maindo",
11002891,
"bnt-mak",
"Latn",
ancestors = "chw",
}
m["cwd"] = {
"Woods Cree",
56305,
"alg",
"Latn, Cans",
ancestors = "cr",
}
m["cwe"] = {
"Kwere",
779632,
"bnt-ruv",
"Latn",
}
m["cwg"] = {
"Chewong",
646718,
"mkh-asl",
"Latn",
}
m["cwt"] = {
"Kuwaataay",
35699,
"alv-jol",
"Latn",
}
m["cya"] = {
"Nopala Chatino",
15616302,
"omq-cha",
"Latn",
}
m["cyb"] = {
"Cayubaba",
3183382,
"qfa-iso",
"Latn",
}
m["cyo"] = {
"Cuyunon",
33153,
"phi",
"Latn",
}
m["czh"] = {
"Huizhou",
56546,
"zhx",
"Hants", -- ?
ancestors = "ltc",
generate_forms = "zh-generateforms",
sort_key = "Hani-sortkey",
}
m["czk"] = {
"Knaanic",
56384,
"zlw",
"Hebr",
ancestors = "zlw-ocs",
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["czn"] = {
"Zenzontepec Chatino",
603106,
"omq-cha",
"Latn",
}
m["czo"] = {
"Central Min",
56435,
"zhx-inm",
"Hants",
generate_forms = "zh-generateforms",
sort_key = "Hani-sortkey",
}
m["czt"] = {
"Zotung Chin",
8074599,
"tbq-kuk",
"Latn",
}
return require("Module:languages").finalizeData(m, "language")
j9k3eww5xwbysf5vt8vlaz5md3nfbig
मॉड्यूल:languages/data/3/k
828
304722
488625
477747
2026-09-12T13:30:51Z
SM7
6218
updating...
488625
Scribunto
text/plain
local m_langdata = require("Module:languages/data")
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end
local c = m_langdata.chars
local p = m_langdata.puaChars
local s = m_langdata.shared
local m = {}
m["kaa"] = {
"Karakalpak",
33541,
"trk-kno",
"Latn, Cyrl, Arab",
dotted_dotless_i = true,
strip_diacritics = {
from = {"['’]"},
to = {"ʼ"}
},
sort_key = {
Latn = {
from = {
-- Sort the old orthography (using the apostrophe) after the new orthography (using the acute accent).
"í", "iʼ", "i", -- Ensure "i" comes after "í", "iʼ", "ı".
"sh", "ch",
"á", "aʼ", "ǵ", "gʼ", "x", p[4], p[5], "ı", "q", "ń", "nʼ", "ó", "oʼ", "ú", "uʼ", "c"
},
to = {
p[4], p[5], "i" .. p[3],
"z" .. p[1], "z" .. p[3],
"a" .. p[1], "a" .. p[2], "g" .. p[1], "g" .. p[2], "h" .. p[1], "i", "i" .. p[1], "i" .. p[2], "k" .. p[1], "n" .. p[1], "n" .. p[2], "o" .. p[1], "o" .. p[2], "u" .. p[1], "u" .. p[2], "z" .. p[2]
}
},
Cyrl = {
from = {"ә", "ғ", "ё", "қ", "ң", "ө", "ү", "ў", "ҳ"},
to = {"а" .. p[1], "г" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1], "у" .. p[2], "х" .. p[1]}
},
},
}
m["kab"] = {
"Kabyle",
35853,
"ber",
"Latn, Arab, Tfng",
}
m["kac"] = {
"Jingpho",
33332,
"sit-jnp",
"Latn, Mymr",
}
m["kad"] = {
"Kadara",
3914011,
"nic-plc",
"Latn",
}
m["kae"] = {
"Ketangalan",
2779411,
"map",
}
m["kaf"] = {
"Katso",
246122,
"tbq-kzh",
}
m["kag"] = {
"Kajaman",
6348863,
"poz",
"Latn",
}
m["kah"] = {
"Fer",
5443742,
"csu-bgr",
"Latn",
}
m["kai"] = {
"Karekare",
3438770,
"cdc-wst",
"Latn",
}
m["kaj"] = {
"Jju",
35401,
"nic-plc",
"Latn",
}
m["kak"] = {
"Kayapa Kallahan",
3192220,
"phi",
"Latn",
}
m["kam"] = {
"Kamba",
2574767,
"bnt-kka",
"Latn",
}
m["kao"] = {
"Kassonke",
36905,
"dmn-wmn",
"Latn",
}
m["kap"] = {
"Bezhta",
33054,
"cau-ets",
"Cyrl",
translit = "cau-nec-translit",
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
strip_diacritics = {Cyrl = s["cau-Cyrl-stripdiacritics"]},
}
m["kaq"] = {
"Capanahua",
2937196,
"sai-pan",
"Latn",
}
m["kaw"] = {
"Old Javanese",
49341,
"poz",
"Latn, Java, Kawi",
translit = "jv-translit", --same as jv
}
m["kax"] = {
"Kao",
3192799,
"paa-gto",
"Latn",
}
m["kay"] = {
"Kamayurá",
3192336,
"tup-gua",
"Latn",
}
m["kba"] = {
"Kalarko",
5517764,
"aus-pam",
"Latn",
}
m["kbb"] = {
"Kaxuyana",
12953626,
"sai-prk",
"Latn",
}
m["kbc"] = {
"Kadiwéu",
18168288,
"sai-guc",
"Latn",
}
m["kbd"] = {
"East Circassian",
33522,
"cau-cir",
"Cyrl, Latn, Arab",
translit = {
Cyrl = "cau-cir-translit",
Arab = "ar-translit",
},
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
strip_diacritics = {
Cyrl = s["cau-Cyrl-stripdiacritics"],
Latn = s["cau-Latn-stripdiacritics"],
},
sort_key = {
Cyrl = {
from = {
"кхъу", "къӏу", -- 4 chars
"гъу", "джу", "дзу", "жъу", "къу", "кхъ", "къӏ", "кӏу", "кӏь", "лъу", "лӏу", "пӏу", "сӏу", "тӏу", "фӏу", "хъу", "цӏу", "чъу", "чӏу", "шъу", "шӏу", "щӏу", -- 3 chars
"гу", "гъ", "гь", "дж", "дз", "ё", "жъ", "жь", "ку", "къ", "кь", "кӏ", "лъ", "ль", "лӏ", "пӏ", "сӏ", "тӏ", "фӏ", "ху", "хъ", "хь", "цу", "цӏ", "чу", "чъ", "чӏ", "шъ", "шӏ", "щӏ", "ӏу", "ӏь", -- 2 chars
"э" -- 1 char
},
to = {
"к" .. p[5], "к" .. p[7],
"г" .. p[3], "д" .. p[2], "д" .. p[4], "ж" .. p[2], "к" .. p[3], "к" .. p[4], "к" .. p[6], "к" .. p[10], "к" .. p[11], "л" .. p[2], "л" .. p[5], "п" .. p[2], "с" .. p[2], "т" .. p[2], "ф" .. p[2], "х" .. p[3], "ц" .. p[3], "ч" .. p[3], "ч" .. p[5], "ш" .. p[2], "ш" .. p[4], "щ" .. p[2],
"г" .. p[1], "г" .. p[2], "г" .. p[4], "д" .. p[1], "д" .. p[3], "е" .. p[1], "ж" .. p[1], "ж" .. p[3], "к" .. p[1], "к" .. p[2], "к" .. p[8], "к" .. p[9], "л" .. p[1], "л" .. p[3], "л" .. p[4], "п" .. p[1], "с" .. p[1], "т" .. p[1], "ф" .. p[1], "х" .. p[1], "х" .. p[2], "х" .. p[4], "ц" .. p[1], "ц" .. p[2], "ч" .. p[1], "ч" .. p[2], "ч" .. p[4], "ш" .. p[1], "ш" .. p[3], "щ" .. p[1], "ӏ" .. p[1], "ӏ" .. p[2],
"а" .. p[1]
}
},
},
}
m["kbe"] = {
"Kanju",
10543322,
"aus-pam",
"Latn",
}
m["kbh"] = {
"Camsá",
2842667,
"qfa-iso",
"Latn",
}
m["kbi"] = {
"Kaptiau",
6367294,
"poz-oce",
"Latn",
}
m["kbj"] = {
"Kari",
6370438,
"bnt-boa",
"Latn",
}
m["kbk"] = {
"Grass Koiari",
12952642,
"ngf-koi",
"Latn",
}
m["kbm"] = {
"Iwal",
3156391,
"poz-ocw",
"Latn",
}
m["kbn"] = {
"Kare (Central Africa)",
35554,
"alv-mbm",
"Latn",
}
m["kbo"] = {
"Keliko",
11275553,
"csu-mma",
"Latn",
}
m["kbp"] = {
"Kabiye",
35475,
"nic-gne",
"Latn",
}
m["kbq"] = {
"Kamano",
11732272,
"ngf-kya",
"Latn",
}
m["kbr"] = {
"Kafa",
35481,
"omv-gon",
"Ethi, Latn",
}
m["kbs"] = {
"Kande",
35556,
"bnt-tso",
"Latn",
}
m["kbt"] = {
"Gabadi",
3291159,
"poz-ocw",
"Latn",
}
m["kbu"] = {
"Kabutra",
10966761,
"raj",
}
m["kbv"] = {
"Kamberataro",
5261289,
"paa-sng",
"Latn",
}
m["kbw"] = {
"Kaiep",
6347632,
"poz-ocw",
"Latn",
}
m["kbx"] = {
"Ap Ma",
56298,
"paa-eke",
"Latn",
}
m["kbz"] = {
"Duhwa",
56295,
"cdc-wst",
"Latn",
}
m["kcb"] = {
"Kawacha",
11732302,
"ngf-woj",
"Latn",
}
m["kcc"] = {
"Lubila",
3914381,
"nic-uce",
"Latn",
}
m["kcd"] = {
"Ngkâlmpw Kanum",
12952566,
"paa-ngk",
"Latn",
}
m["kce"] = {
"Kaivi",
6348685,
"nic-kau",
"Latn",
}
m["kcf"] = {
"Ukaan",
36651,
"nic-bco",
"Latn",
}
m["kcg"] = {
"Tyap",
3912765,
"nic-plc",
"Latn",
}
m["kch"] = {
"Vono",
3913920,
"nic-kau",
"Latn",
}
m["kci"] = {
"Kamantan",
3914019,
"nic-plc",
}
m["kcj"] = {
"Kobiana",
35609,
"alv-nyn",
"Latn",
}
m["kck"] = {
"Kalanga",
33672,
"bnt-sho",
"Latn",
}
m["kcl"] = {
"Kala",
6349982,
"poz-ocw",
"Latn",
}
m["kcm"] = {
"Tar Gula",
277963,
"csu-bba",
}
m["kcn"] = {
"Nubi",
36388,
"crp",
"Latn, Arab",
ancestors = "apd",
strip_diacritics = {remove_diacritics = c.acute},
}
m["kco"] = {
"Kinalakna",
11732320,
"ngf-dal",
"Latn",
}
m["kcp"] = {
"Kanga",
6362384,
"qfa-kad",
"Latn",
}
m["kcq"] = {
"Kamo",
3914879,
"alv-wjk",
}
m["kcr"] = {
"Katla",
35688,
"nic-ktl",
"Latn",
}
m["kcs"] = {
"Koenoem",
3438755,
"cdc-wst",
}
m["kct"] = {
"Kaian",
6347538,
"paa-ott",
"Latn",
}
m["kcu"] = {
"Kikami",
3915212,
"bnt-ruv",
"Latn",
}
m["kcv"] = {
"Kete",
3195598,
"bnt-lub",
"Latn",
}
m["kcw"] = {
"Kabwari",
6344539,
"bnt-glb",
"Latn",
}
m["kcx"] = {
"Kachama-Ganjule",
12634070,
"omv-eom",
}
m["kcy"] = {
"Korandje",
33427,
"son",
}
m["kcz"] = {
"Konongo",
11732345,
"bnt-tkm",
"Latn",
}
m["kda"] = {
"Worimi",
3914062,
"aus-pam",
"Latn",
}
m["kdc"] = {
"Kutu",
6448634,
"bnt-ruv",
}
m["kdd"] = {
"Yankunytjatjara",
34207,
"aus-pam",
"Latn",
}
m["kde"] = {
"Makonde",
35172,
"bnt-rvm",
"Latn",
}
m["kdf"] = {
"Mamusi",
6746036,
"poz-ocw",
"Latn",
}
m["kdg"] = {
"Seba",
7442316,
"bnt-sbi",
"Latn",
}
m["kdh"] = {
"Tem",
36531,
"nic-gne",
"Latn",
}
m["kdi"] = {
"Kumam",
6443410,
"sdv-los",
}
m["kdj"] = {
"Karamojong",
56326,
"sdv-ttu",
"Latn",
}
m["kdk"] = {
"Numèè",
3346774,
"poz-cln",
"Latn",
}
m["kdl"] = {
"Tsikimba",
3914404,
"nic-kam",
}
m["kdm"] = {
"Kagoma",
3914420,
"nic-plc",
}
m["kdn"] = {
"Kunda",
4121130,
"bnt-sna",
"Latn",
}
m["kdp"] = {
"Kaningdon-Nindem",
3914956,
"nic-nin",
}
m["kdq"] = {
"Koch",
56431,
"tbq-bdg",
}
m["kdr"] = {
"Karaim",
33725,
"trk-kcu",
"Cyrl, Latn, Hebr",
-- Hebr display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["kdt"] = {
"Kuy",
56310,
"mkh-kat",
"Thai, Khmr, Laoo",
}
m["kdu"] = {
"Kadaru",
35441,
"nub-hil",
"Latn",
}
m["kdv"] = {
"Kado",
7402721,
"sit-luu",
}
m["kdw"] = {
"Koneraw",
11732341,
"ngf-mom",
"Latn",
}
m["kdx"] = {
"Kam",
36753,
"alv-wjk",
}
m["kdy"] = {
"Keder",
6383641,
"paa-tor",
"Latn",
}
m["kdz"] = {
"Kwaja",
11128866,
"nic-nka",
"Latn",
}
m["kea"] = {
"Kabuverdianu",
35963,
"crp",
"Latn",
ancestors = "pt",
}
m["keb"] = {
"Kélé",
35559,
"bnt-kel",
}
m["kec"] = {
"Keiga",
3409311,
"qfa-kad",
"Latn",
}
m["ked"] = {
"Kerewe",
6393846,
"bnt-haj",
}
m["kee"] = {
"Eastern Keres",
15649021,
"nai-ker",
"Latn",
}
m["kef"] = {
"Kpessi",
35748,
"alv-gbe",
}
m["keg"] = {
"Tese",
16887296,
"sdv",
}
m["keh"] = {
"Keak",
6382110,
"paa-nnd",
"Latn",
}
m["kei"] = {
"Kei",
2410352,
"poz-cet",
"Latn",
}
m["kej"] = {
"Kadar",
6345179,
"dra-mal",
}
m["kek"] = {
"Q'eqchi",
35536,
"myn",
"Latn",
}
m["kel"] = {
"Kela-Yela",
6385426,
"bnt-mon",
"Latn",
}
m["kem"] = {
"Kemak",
35549,
"poz-tim",
"Latn",
}
m["ken"] = {
"Kenyang",
35650,
"nic-mam",
"Latn",
}
m["keo"] = {
"Kakwa",
3033547,
"sdv-bri",
"Latn",
}
m["kep"] = {
"Kaikadi",
6347757,
"dra-tam",
}
m["keq"] = {
"Kamar",
14916877,
"inc-hal",
}
m["ker"] = {
"Kera",
56251,
"cdc-est",
"Latn",
}
m["kes"] = {
"Kugbo",
3813394,
"nic-cde",
"Latn",
}
m["ket"] = {
"Ket",
33485,
"qfa-yke",
"Cyrl",
translit = "ket-utils",
display_text = "ket-utils",
strip_diacritics = "ket-utils",
sort_key = {
from = {"ӷ", "ё", "ӄ", "ӈ", "ө", "ә", "ʼ"},
to = {"г" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "ъ" .. p[1], "ь" .. p[1]}
},
}
m["keu"] = {
"Akebu",
35026,
"alv-ktg",
"Latn",
}
m["kev"] = {
"Kanikkaran",
6363201,
"dra-mal",
"Taml, Mlym",
-- Mlym translit in [[Module:scripts/data]] (NOTE: not present before, presumably an accidental omission)
}
m["kew"] = {
"Kewa",
12952619,
"ngf-ank",
"Latn",
}
m["kex"] = {
"Kukna",
5031131,
"inc-bhi",
wikipedia_article = "Dhodia–Kukna language",
}
m["key"] = {
"Kupia",
6445354,
"inc-eas",
}
m["kez"] = {
"Kukele",
3915391,
"nic-ucn",
"Latn",
}
m["kfa"] = {
"Kodava",
33531,
"dra-kod",
"Knda, Mlym",
-- Knda translit in [[Module:scripts/data]]
-- Mlym translit in [[Module:scripts/data]]
}
m["kfb"] = {
"Kolami",
33479,
"dra-knk",
"Deva, Telu",
translit = {
Telu = "te-translit",
},
}
m["kfc"] = {
"Konda-Dora",
35679,
"dra-kki",
"Orya, Telu",
translit = {
Orya = "gon-Orya-translit",
Telu = "te-translit",
},
}
m["kfd"] = {
"Korra Koraga",
12952655,
"dra-kor",
"Knda",
-- Knda translit in [[Module:scripts/data]]
}
m["kfe"] = {
"Kota (India)",
33483,
"dra-tkt",
"Taml",
translit = "ta-translit",
}
m["kff"] = {
"Koya",
33471,
"dra-gon",
"Telu, Orya, Deva, Latn",
}
m["kfg"] = {
"Kudiya",
12952667,
"dra-tlk",
}
m["kfh"] = {
"Kurichiya",
12952676,
"dra-mal",
"Mlym",
-- Mlym translit in [[Module:scripts/data]]
}
m["kfi"] = {
"Kannada Kurumba",
56589,
"dra-sdo",
}
m["kfj"] = {
"Kemiehua",
27144776,
"mkh-pal",
}
m["kfk"] = {
"Kinnauri",
2383208,
"sit-kin",
"Takr, Deva, Latn",
}
m["kfl"] = {
"Kung",
6444510,
"nic-rnc",
"Latn",
}
m["kfn"] = {
"Kuk",
6442398,
"nic-rnc",
"Latn",
}
m["kfo"] = {
"Koro (West Africa)",
11160588,
"dmn-mnk",
"Latn, Nkoo",
}
m["kfp"] = {
"Korwa",
6432786,
"mun",
}
m["kfq"] = {
"Korku",
33715,
"mun",
"Deva",
}
m["kfr"] = {
"Kachchi",
56487,
"inc-snd",
"Gujr, Arab, Sind, Khoj",
translit = {
Gujr = "gu-translit",
Sind = "Sind-translit",
Arab = "sd-Arab-translit",
},
strip_diacritics = {
remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.superalef,
from = {u(0x0671)},
to = {u(0x0627)}
},
}
m["kfs"] = {
"Bilaspuri",
12953397,
"him",
"Deva, Takr",
translit = "hi-translit",
}
m["kft"] = {
"Kanjari",
12953610,
"inc-pan",
ancestors = "pa",
}
m["kfu"] = {
"Katkari",
6377671,
"inc-sou",
}
m["kfv"] = {
"Kurmukar",
6446193,
"inc-eas",
}
m["kfw"] = {
"Kharam Naga",
12952906,
"tbq-kuk",
}
m["kfx"] = {
"Kullu Pahari",
6443148,
"him",
"Deva",
translit = "hi-translit",
}
m["kfy"] = {
"Kumaoni",
33529,
"inc-pac",
"Deva, Shrd, Takr",
-- Shrd translit in [[Module:scripts/data]] (NOTE: not present before, presumably an accidental omission)
}
m["kfz"] = {
"Koromfé",
35701,
"nic-gur",
"Latn",
}
m["kga"] = {
"Koyaga",
11155632,
"dmn-mnk",
}
m["kgb"] = {
"Kawe",
12952750,
"poz-hce",
"Latn",
}
m["kgd"] = {
"Kataang",
12953622,
"mkh",
}
m["kge"] = {
"Komering",
49224,
"poz-lgx",
"Latn, Arab",
}
m["kgf"] = {
"Kube",
11732359,
"ngf-kto",
"Latn",
}
m["kgg"] = {
"Kusunda",
33630,
"qfa-iso", -- central Nepal
"Latn",
}
m["kgi"] = {
"Selangor Sign Language",
33731,
"sgn-asl",
}
m["kgj"] = {
"Gamale Kham",
22236996,
"sit-kha",
"Deva",
}
m["kgk"] = {
"Kaiwá",
3111883,
"gn",
"Latn",
}
m["kgl"] = {
"Kunggari",
10550184,
"aus-pam",
"Latn",
}
m["kgn"] = {
"Karingani",
6371041,
"xme-ttc",
"Arab, Latn",
ancestors = "xme-ttc-nor",
}
m["kgo"] = {
"Krongo",
6438927,
"qfa-kad",
"Latn",
}
m["kgp"] = {
"Kaingang",
2665734,
"sai-sje",
"Latn",
}
m["kgq"] = {
"Kamoro",
6359001,
"ngf-ask",
"Latn",
}
m["kgr"] = {
"Abun",
56657,
"qfa-iso", -- Papuan; isolate in Ethnologue, Glottolog and Palmer (2018); grouped with West Papuan by Ross (2005)
"Latn",
}
m["kgs"] = {
"Kumbainggar",
3915412,
"aus-pam",
"Latn",
}
m["kgt"] = {
"Somyev",
3913354,
"nic-mmb",
"Latn",
}
m["kgu"] = {
"Kobol",
11732325,
"ngf-omo",
"Latn",
}
m["kgv"] = {
"Karas",
6368621,
"qfa-dis", -- Divergent Papuan language; grouped with Mbaham-Iha by Glottolog to form a (mainland) West Bomberai
-- family, but with Mbaham-Iha and Timor-Alor-Pantar by Wikipedia (following Usher and Schapper 2022)
-- into a (Greater) West Bomberai family.
"Latn",
}
m["kgw"] = {
"Karon Dori",
56817,
"paa-may",
"Latn",
}
m["kgx"] = {
"Kamaru",
12953604,
"poz-wot",
"Latn",
}
m["kgy"] = {
"Kyerung",
12952691,
"sit-kyk",
}
m["kha"] = {
"Khasi",
33584,
"aav-pkl",
"Latn, as-Beng",
}
m["khb"] = {
"Lü",
36948,
"tai-swe",
"Talu, Lana",
translit = {Talu = "Talu-translit"},
strip_diacritics = {remove_diacritics = c.ZWNJ},
sort_key = {
Talu = "Talu-sortkey",
Lana = "Lana-sortkey",
},
}
m["khc"] = {
"North Tukang Besi",
18611555,
"poz",
}
m["khd"] = {
"Bädi Kanum",
20888004,
"paa-ngk",
"Latn",
}
m["khe"] = {
"Korowai",
6432598,
"ngf-bda",
"Latn",
}
m["khf"] = {
"Khuen",
27144893,
"mkh",
}
m["khh"] = {
"Kehu",
10994953,
}
m["khj"] = {
"Kuturmi",
3914490,
"nic-plc",
"Latn",
}
m["khl"] = {
"Lusi",
3267788,
"poz-ocw",
"Latn",
}
m["kho"] = {
"Khotanese",
6583551,
"xsc-sak",
"Brah, Khar",
-- Brah translit in [[Module:scripts/data]]
}
m["khp"] = {
"Kapauri",
3502575,
"qfa-dis", -- isolate per Glottolog, possibly Greater Kwerba per Wikipedia in Kapauri-Sause family
"Latn",
}
m["khq"] = {
"Koyra Chiini",
33600,
"son",
"Latn, Arab",
}
m["khr"] = {
"Kharia",
3915562,
"mun",
"Deva, Orya, Latn",
}
m["khs"] = {
"Kasua",
6374863,
"ngf-bos",
"Latn",
}
m["kht"] = {
"Khamti",
3915502,
"tai-swe",
"Mymr",
display_text = s["kht-displaytext"],
strip_diacritics = s["kht-stripdiacritics"],
}
m["khu"] = {
"Nkhumbi",
11019169,
"bnt-swb",
}
m["khv"] = {
"Khvarshi",
56425,
"cau-wts",
"Cyrl",
translit = "khv-translit",
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
strip_diacritics = {Cyrl = s["cau-Cyrl-stripdiacritics"]},
}
m["khw"] = {
"Khowar",
938216,
"inc-chi",
"Aran",
strip_diacritics = {
-- character "ۂ" code U+06C2 to "ه" and "هٔ" (U+0647 + U+0654) to "ه"; hamzatu l-waṣli to a regular alif
from = {"هٔ", "ۂ", "ٱ"},
to = {"ہ", "ہ", "ا"},
remove_diacritics = c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun .. c.nunghunna .. c.superalef
},
}
m["khx"] = {
"Kanu",
12952571,
"bnt-lgb",
}
m["khy"] = {
"Ekele",
6385549,
"bnt-ske",
"Latn",
}
m["khz"] = {
"Keapara",
12952603,
"poz-ocw",
"Latn",
}
m["kia"] = {
"Kim",
35685,
"alv-kim",
}
m["kib"] = {
"Koalib",
35859,
"alv-hei",
}
m["kic"] = {
"Kickapoo",
20162127,
"alg-sfk",
"Latn",
}
m["kid"] = {
"Koshin",
35632,
"nic-beb",
"Latn",
}
m["kie"] = {
"Kibet",
56893,
}
m["kif"] = {
"Eastern Parbate Kham",
12953022,
"sit-kha",
"Deva",
}
m["kig"] = {
"Kimaama",
11732321,
"paa-kol",
"Latn",
}
m["kih"] = {
"Kilmeri",
6408020,
"paa-bew",
"Latn",
}
m["kii"] = {
"Kitsai",
56627,
"cdd",
"Latn",
}
m["kij"] = {
"Kilivila",
3196601,
"poz-ocw",
"Latn",
}
m["kil"] = {
"Kariya",
3438708,
"cdc-wst",
}
m["kim"] = {
"Tofa",
36848,
"trk-ssb",
"Cyrl",
}
m["kio"] = {
"Kiowa",
56631,
"nai-kta",
"Latn",
}
m["kip"] = {
"Sheshi Kham",
12952622,
"sit-kha",
"Deva",
}
m["kiq"] = {
"Kosadle",
6432994,
"paa-kko",
"Latn",
}
m["kis"] = {
"Kis",
6416362,
"poz-ocw",
"Latn",
}
m["kit"] = {
"Agob",
3332143,
"paa-pah",
"Latn",
}
m["kiv"] = {
"Kimbu",
10997740,
"bnt-tkm",
}
m["kiw"] = {
"Northeast Kiwai",
11732324,
"paa-kiw",
"Latn",
}
m["kix"] = {
"Khiamniungan Naga",
6401546,
"sit-kch",
"Latn",
}
m["kiy"] = {
"Kirikiri",
6415159,
"paa-wlp",
"Latn",
}
m["kiz"] = {
"Kisi",
3912772,
"bnt-bki",
}
m["kja"] = {
"Mlap",
6885683,
"paa-nim",
"Latn",
}
m["kjb"] = {
"Q'anjob'al",
35551,
"myn",
"Latn",
}
m["kjc"] = {
"Coastal Konjo",
3198689,
"poz",
"Latn",
}
m["kjd"] = {
"Southern Kiwai",
11732322,
"paa-kiw",
"Latn",
}
m["kje"] = {
"Kisar",
3197441,
"poz",
"Latn",
}
m["kjg"] = {
"Khmu",
33335,
"mkh",
"Laoo",
ancestors = "mkh-khm-pro",
sort_key = "Laoo-sortkey",
}
m["kjh"] = {
"Khakas",
33575,
"trk-ssb",
"Cyrl",
translit = "kjh-translit",
override_translit = true,
}
m["kji"] = {
"Zabana",
379130,
"poz-ocw",
"Latn",
}
m["kjj"] = {
"Khinalug",
35278,
"cau-nec",
"Cyrl, Latn",
translit = "kjj-translit",
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
strip_diacritics = {
Cyrl = s["cau-Cyrl-stripdiacritics"],
Latn = s["cau-Latn-stripdiacritics"],
},
}
m["kjk"] = {
"Highland Konjo",
3198688,
"poz",
}
m["kjl"] = {
"Western Parbate Kham",
22237017,
"sit-kha",
"Deva",
}
m["kjm"] = {
"Kháng",
6403501,
"mkh-pal",
}
m["kjn"] = {
"Kunjen",
3200468,
"aus-pmn",
"Latn",
}
m["kjo"] = {
"Harijan Kinnauri",
5657463,
"him",
"Takr, Deva",
}
m["kjp"] = {
"Eastern Pwo",
5330390,
"kar",
"Mymr, Leke, Thai",
translit = "kjp-translit",
override_translit = true,
}
m["kjq"] = {
"Western Keres",
12645568,
"nai-ker",
"Latn",
}
m["kjr"] = {
"Kurudu",
12952678,
"poz-hce",
"Latn",
}
m["kjs"] = {
"East Kewa",
20050949,
"ngf-ank",
"Latn",
}
m["kjt"] = {
"Phrae Pwo",
7187991,
"kar",
"Thai",
}
m["kju"] = {
"Kashaya",
3193689,
"nai-pom",
"Latn",
}
m["kjx"] = {
"Ramopa",
56830,
"paa-nbo",
"Latn",
}
m["kjy"] = {
"Erave",
12952416,
"ngf-ank",
"Latn",
}
m["kjz"] = {
"Bumthangkha",
2786408,
"sit-ebo",
"Tibt",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["kka"] = {
"Kakanda",
3915342,
"alv-ngb",
}
m["kkb"] = {
"Kwerisa",
56881,
"paa-clp",
"Latn",
}
m["kkc"] = {
"Odoodee",
12952987,
"ngf-est",
"Latn",
}
m["kkd"] = {
"Kinuku",
6414422,
"nic-kau",
}
m["kke"] = {
"Kakabe",
3913966,
"dmn-mok",
"Latn",
}
m["kkf"] = {
"Kalaktang Monpa",
63257089,
"sit-tsk",
"Tibt, Latn, Deva",
override_translit = true,
-- Tibt translit, display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["kkg"] = {
"Mabaka Valley Kalinga",
18753304,
"phi",
}
m["kkh"] = {
"Khün",
3545044,
"tai-swe",
"Lana, Thai",
sort_key = {
Lana = "Lana-sortkey",
Thai = "Thai-sortkey"
},
}
m["kki"] = {
"Kagulu",
12952537,
"bnt-ruv",
"Latn",
}
m["kkj"] = {
"Kako",
35755,
"bnt-kak",
}
m["kkk"] = {
"Kokota",
3198399,
"poz-ocw",
"Latn",
}
m["kkl"] = {
"Kosarek Yale",
6432995,
"ngf-mek",
"Latn",
}
m["kkm"] = {
"Kiong",
6414512,
"nic-ucr",
"Latn",
}
m["kkn"] = {
"Kon Keu",
6428686,
"mkh-pal",
}
m["kko"] = {
"Karko",
35529,
"nub-hil",
"Latn",
}
m["kkp"] = {
"Koko-Bera",
6426699,
"aus-pmn",
"Latn",
}
m["kkq"] = {
"Kaiku",
6347840,
"bnt-kbi",
"Latn",
}
m["kkr"] = {
"Kir-Balar",
3440527,
"cdc-wst",
"Latn",
}
m["kks"] = {
"Kirfi",
56242,
"cdc-wst",
"Latn",
}
m["kkt"] = {
"Koi",
6426194,
"sit-kiw",
}
m["kku"] = {
"Tumi",
3913934,
"nic-kau",
}
m["kkv"] = {
"Kangean",
2071325,
"poz-msa",
"Latn",
}
m["kkw"] = {
"Teke-Kukuya",
36560,
"bnt-tek",
}
m["kkx"] = {
"Kohin",
6425997,
"poz-brw",
}
m["kky"] = {
"Guugu Yimidhirr",
56543,
"aus-pam",
"Latn",
}
m["kkz"] = {
"Kaska",
20823,
"ath-nor",
"Latn",
}
m["kla"] = {
"Klamath-Modoc",
2669248,
"nai-plp",
"Latn",
}
m["klb"] = {
"Kiliwa",
3182593,
"nai-yuc",
"Latn",
}
m["klc"] = {
"Kolbila",
6427122,
"alv-lek",
}
m["kld"] = {
"Gamilaraay",
3111818,
"aus-cww",
"Latn",
}
m["kle"] = {
"Kulung",
6443304,
"sit-kic",
}
m["klf"] = {
"Kendeje",
56895,
}
m["klg"] = {
"Tagakaulu Kalagan",
18756514,
"phi",
"Latn",
}
m["klh"] = {
"Weliki",
7981017,
"ngf-uru",
"Latn",
}
m["kli"] = {
"Kalumpang",
13561407,
"poz",
}
m["klj"] = {
"Khalaj",
33455,
"trk",
"Arab, Latn",
ancestors = "klj-arg",
strip_diacritics = {
remove_diacritics = c.kashida .. c.fathatan .. c.dammatan .. c.kasratan .. c.fatha .. c.damma .. c.kasra .. c.shadda .. c.sukun,
}
}
m["klk"] = {
"Kono (Nigeria)",
6429589,
"nic-kau",
"Latn",
}
m["kll"] = {
"Kagan Kalagan",
18748913,
"phi",
}
m["klm"] = {
"Kolom",
6844970,
"ngf-rai",
"Latn",
}
m["kln"] = {
"Kalenjin",
637228,
"sdv-nma",
"Latn",
}
m["klo"] = {
"Kapya",
6367410,
"nic-ykb",
}
m["klp"] = {
"Kamasa",
6356107,
"ngf-woj",
"Latn",
}
m["klq"] = {
"Rumu",
7379420,
"paa-tki",
"Latn",
}
m["klr"] = {
"Khaling",
56381,
"sit-kiw",
"Deva",
}
m["kls"] = {
"Kalasha",
33416,
"inc-chi",
"Latn, Aran",
}
m["klt"] = {
"Nukna",
7068874,
"ngf-uru",
"Latn",
}
m["klu"] = {
"Klao",
3914866,
"kro-wkr",
}
m["klv"] = {
"Maskelynes",
3297282,
"poz-vnc",
"Latn",
}
m["klw"] = {
"Lindu",
18390055,
"poz-kal",
"Latn",
}
m["klx"] = {
"Koluwawa",
6427954,
"poz-ocw",
"Latn",
}
m["kly"] = {
"Kalao",
6350643,
"poz-wot",
"Latn",
}
m["klz"] = {
"Kabola",
11732258,
"paa-alp",
"Latn",
}
m["kma"] = {
"Konni",
35680,
"nic-buk",
}
m["kmb"] = {
"Kimbundu",
35891,
"bnt-kmb",
"Latn",
}
m["kmc"] = {
"Southern Kam",
35379,
"qfa-kms",
"Latn",
}
m["kmd"] = {
"Madukayang Kalinga",
18753305,
"phi",
}
m["kme"] = {
"Bakole",
35068,
"bnt-kpw",
"Latn",
}
m["kmf"] = {
"Kare (New Guinea)",
11732286,
"ngf-mab",
"Latn",
}
m["kmg"] = {
"Kâte",
3201059,
"ngf-kma",
"Latn",
}
m["kmh"] = {
"Kalam",
12952550,
"ngf-kak",
"Latn",
}
m["kmi"] = {
"Kami",
3915372,
"alv-ngb",
"Latn",
}
m["kmj"] = {
"Kumarbhag Paharia",
3130374,
"dra-mlo",
"Beng, Deva",
}
m["kmk"] = {
"Limos Kalinga",
18753303,
"phi",
"Latn",
}
m["kml"] = {
"Tanudan Kalinga",
18753307,
"phi",
"Latn",
}
m["kmm"] = {
"Kom (India)",
12952647,
"tbq-kuk",
}
m["kmn"] = {
"Awtuw",
3504217,
"paa-sep",
"Latn",
}
m["kmo"] = {
"Kwoma",
11732376,
"paa-sep",
"Latn",
}
m["kmp"] = {
"Gimme",
11152236,
"alv-dur",
}
m["kmq"] = {
"Kwama",
2591184,
"ssa-kom",
}
m["kmr"] = {
"Northern Kurdish",
36163,
"ku",
"Latn, Cyrl, Armn, Arab, Yezi",
translit = {
Cyrl = "kmr-translit",
-- Armn translit in [[Module:scripts/data]]
Arab = "ckb-translit",
},
strip_diacritics = {
Latn = {
remove_diacritics = "'’",
from = {"r̄", "R̄", "ẍ", "Ẍ"},
to = {"rr", "Rr", "x", "X"}
},
},
wikimedia_codes = "ku",
}
m["kms"] = {
"Kamasau",
6356117,
"paa-mar",
"Latn",
}
m["kmt"] = {
"Kemtuik",
6387179,
"paa-nim",
"Latn",
}
m["kmu"] = {
"Kanite",
12952567,
"ngf-kya",
"Latn",
}
m["kmv"] = {
"Karipúna Creole French",
2523999,
"crp",
"Latn",
ancestors = "fr",
sort_key = s["roa-oil-sortkey"],
}
m["kmw"] = {
"Kumu",
6428450,
"bnt-kbi",
"Latn",
}
m["kmx"] = {
"Waboda",
7958705,
"paa-kiw",
"Latn",
}
m["kmy"] = {
"Koma",
35634,
"alv-dur",
}
m["kmz"] = {
"Khorasani Turkish",
35373,
"trk-ogz",
"Arab",
ancestors = "trk-oat",
}
m["kna"] = {
"Kanakuru",
56811,
"cdc-wst",
"Latn",
}
m["knb"] = {
"Lubuagan Kalinga",
12953602,
"phi",
"Latn",
}
m["knd"] = {
"Konda",
11732340,
"ngf-sbh",
"Latn",
}
m["kne"] = {
"Kankanaey",
18753329,
"phi",
"Latn",
strip_diacritics = {
Latn = {
remove_diacritics = c.grave .. c.acute .. c.circ .. c.diaer,
}
},
sort_key = {
Latn = "tl-sortkey",
},
standard_chars = {
Latn = "AaBbKkDdEeGgHhIiLlMmNnOoPpRrSsTtUuWwYy" .. c.punc,
},
}
m["knf"] = {
"Mankanya",
35789,
"alv-pap",
"Latn",
}
m["kni"] = {
"Kanufi",
3913297,
"nic-nin",
"Latn",
}
m["knj"] = {
"Akatek",
34923,
"myn",
"Latn",
}
m["knk"] = {
"Kuranko",
3198896,
"dmn-mok",
"Latn",
}
m["knl"] = {
"Keninjal",
6389309,
"poz-mly",
"Latn",
}
m["knm"] = { -- two unrelated lects have this name; this is the Katukinian one
"Kanamari",
3438373,
"sai-ktk",
"Latn",
}
m["kno"] = {
"Kono (Sierra Leone)",
35675,
"dmn-vak",
"Latn",
}
m["knp"] = {
"Kwanja",
35641,
"nic-mmb",
"Latn",
}
m["knq"] = {
"Kintaq",
6414335,
"mkh-asl",
"Latn",
}
m["knr"] = {
"Kaningra",
6363253,
"paa-sep",
"Latn",
}
m["kns"] = {
"Kensiu",
6391529,
"mkh-asl",
"Latn, Thai, Hani",
}
m["knt"] = {
"Katukina",
3194265,
"sai-pan",
"Latn",
}
m["knu"] = { -- a dialect of 'kpe'
"Kono (Guinea)",
3198703,
"dmn-msw",
"Latn, Kpel",
ancestors = "kpe",
}
m["knv"] = {
"Tabo",
7959888,
"aav",
}
m["knx"] = {
"Kendayan",
6388963,
"poz-mly",
"Latn",
}
m["kny"] = {
"Kanyok",
11110766,
"bnt-lub",
"Latn",
}
m["knz"] = {
"Kalamsé",
3914000,
"nic-gnn",
"Latn",
}
m["koa"] = {
"Konomala",
3198732,
"poz-ocw",
"Latn",
}
m["koc"] = {
"Kpati",
3913279,
"nic-nge",
"Latn",
}
m["kod"] = {
"Kodi",
4577633,
"poz-cet",
"Latn",
}
m["koe"] = {
"Kacipo-Balesi",
5364424,
"sdv",
"Latn",
}
m["kof"] = {
"Kubi",
3438718,
"cdc-wst",
"Latn",
}
m["kog"] = {
"Cogui",
3198286,
"cba",
"Latn",
}
m["koh"] = {
"Koyo",
35649,
"bnt-mbo",
"Latn",
}
m["koi"] = {
"Komi-Permyak",
56318,
"kv",
"Cyrl",
translit = "kv-translit",
strip_diacritics = {remove_diacritics = c.acute},
override_translit = true,
}
m["kok"] = {
"Konkani",
34239,
"inc-sou",
"Deva, Knda, Mlym, Arab, Latn",
translit = {
Deva = "mr-translit",
},
-- Knda translit in [[Module:scripts/data]]
-- Mlym translit in [[Module:scripts/data]]
strip_diacritics = {
-- FIXME: Separate out the scripts
from = {"च़", "ज़", "झ़", "ಚ಼", "ಜ಼", "ಝ಼"},
to = {"च", "ज", "झ", "ಚ", "ಜ", "ಝ"}
} ,
}
m["kol"] = {
"Kol (New Guinea)",
4227542,
}
m["koo"] = {
"Konzo",
2361829,
"bnt-glb",
"Latn",
}
m["kop"] = {
"Waube",
11732373,
"ngf-nur",
"Latn",
}
m["koq"] = {
"Kota (Gabon)",
35607,
"bnt-kel",
"Latn",
}
m["kos"] = {
"Kosraean",
33464,
"poz-mic",
"Latn",
}
m["kot"] = {
"Lagwan",
3502264,
"cdc-cbm",
"Latn",
}
m["kou"] = {
"Koke",
797249,
"alv-bua",
}
m["kov"] = {
"Kudu-Camo",
3915850,
"nic-jer",
}
m["kow"] = {
"Kugama",
3913307,
"alv-mye",
}
m["koy"] = {
"Koyukon",
28304,
"ath-nor",
"Latn",
}
m["koz"] = {
"Korak",
6431365,
"ngf-kow",
"Latn",
}
m["kpa"] = {
"Kutto",
3437656,
"cdc-wst",
}
m["kpb"] = {
"Mullu Kurumba",
19573111,
"dra-mal",
}
m["kpc"] = {
"Curripaco",
2882543,
"awd-nwk",
"Latn",
}
m["kpd"] = {
"Koba",
6424249,
"poz",
}
m["kpe"] = {
"Kpelle",
35673,
"dmn-msw",
"Latn, Kpel",
}
m["kpf"] = {
"Komba",
6428239,
"ngf-kab",
"Latn",
}
m["kpg"] = {
"Kapingamarangi",
35771,
"poz-pnp",
"Latn",
}
m["kph"] = {
"Kplang",
35628,
"alv-gng",
}
m["kpi"] = {
"Kofei",
6425665,
"paa-egb",
"Latn",
}
m["kpj"] = {
"Karajá",
10322066,
"sai-mje",
"Latn",
}
m["kpk"] = {
"Kpan",
3915380,
"nic-jkn",
"Latn",
}
m["kpl"] = {
"Kpala",
11154769,
"nic-nkk",
"Latn",
}
m["kpm"] = {
"Koho",
3511919,
"mkh-ban",
"Latn",
}
m["kpn"] = {
"Kepkiriwát",
3195366,
"tup",
"Latn",
}
m["kpo"] = {
"Ikposo",
35029,
"alv-ktg",
"Latn",
}
m["kpq"] = {
"Korupun-Sela",
6432769,
"ngf-mek",
"Latn",
}
m["kpr"] = {
"Korafe-Yegha",
11732347,
"ngf-gko",
"Latn",
}
m["kps"] = {
"Tehit",
7694851,
"paa-wbh",
"Latn",
}
m["kpt"] = {
"Karata",
56636,
"cau-and",
"Cyrl",
translit = "kpt-translit",
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
strip_diacritics = {Cyrl = s["cau-Cyrl-stripdiacritics"]},
}
m["kpu"] = {
"Kafoa",
6346151,
"paa-alp",
"Latn",
}
m["kpv"] = {
"Komi-Zyrian",
34114,
"kv",
"Cyrl",
translit = "kv-translit",
override_translit = true,
wikimedia_codes = "kv",
}
m["kpw"] = {
"Kobon",
11732326,
"ngf-kak",
"Latn",
}
m["kpx"] = {
"Mountain Koiari",
6925030,
"ngf-koi",
"Latn",
}
m["kpy"] = {
"Koryak",
36199,
"qfa-ckn",
"Cyrl",
strip_diacritics = {
from = {"['’]"},
to = {"ʼ"}
},
sort_key = {
from = {"вʼ", "гʼ", "ё", "ӄ", "ӈ"},
to = {"в" .. p[1], "г" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1]}
},
translit = "kpy-translit",
}
m["kpz"] = {
"Kupsabiny",
56445,
"sdv-kln",
"Latn",
}
m["kqa"] = {
"Mum",
6935252,
"ngf-nso",
"Latn",
}
m["kqb"] = {
"Kovai",
6434822,
"ngf-ehu",
"Latn",
}
m["kqc"] = {
"Doromu-Koki",
5298175,
"paa-man",
"Latn",
}
m["kqd"] = {
"Koy Sanjaq Surat",
33463,
"sem-nna",
}
m["kqe"] = {
"Kalagan",
18748906,
"phi",
"Latn",
}
m["kqf"] = {
"Kakabai",
6349119,
"poz-ocw",
"Latn",
}
m["kqg"] = {
"Khe",
3914015,
"nic-gur",
"Latn",
}
m["kqh"] = {
"Kisankasa",
6416409,
"sdv",
}
m["kqi"] = {
"Koitabu",
6426363,
"ngf-koi",
"Latn",
}
m["kqj"] = {
"Koromira",
6432520,
"paa-sbo",
"Latn",
}
m["kqk"] = {
"Kotafon Gbe",
12952447,
"alv-pph",
}
m["kql"] = {
"Kyenele",
11732453,
"paa-yua",
"Latn",
}
m["kqm"] = {
"Khisa",
3913955,
"nic-gur",
"Latn",
}
m["kqn"] = {
"Kaonde",
33601,
"bnt-lub",
"Latn",
}
m["kqo"] = {
"Eastern Krahn",
3915374,
"kro-wee",
"Latn",
}
m["kqp"] = {
"Kimré",
3441210,
"cdc-est",
"Latn",
}
m["kqq"] = {
"Krenak",
6436747,
"sai-cer",
"Latn",
}
m["kqr"] = {
"Kimaragang",
3196845,
"poz-san",
"Latn",
}
m["kqs"] = {
"Northern Kissi",
19921576,
"alv-kis",
}
m["kqt"] = {
"Klias River Kadazan",
12953594,
"poz-san",
}
m["kqu"] = {
"Seroa",
33127766,
"khi-tuu",
"Latn",
}
m["kqv"] = {
"Okolod",
7082487,
"poz-san",
}
m["kqw"] = {
"Kandas",
3192590,
"poz-ocw",
"Latn",
}
m["kqx"] = {
"Mser",
3502347,
"cdc-cbm",
}
m["kqy"] = {
"Koorete",
6430753,
"omv-eom",
"Ethi, Latn",
}
m["kqz"] = {
"Korana",
2756709,
"khi-khk",
"Latn",
}
m["kra"] = {
"Kumhali",
13580783,
"inc-bih",
"Deva",
translit = "ne-translit",
}
m["krb"] = {
"Karkin",
3193345,
"nai-utn",
"Latn",
}
m["krc"] = {
"Karachay-Balkar",
33714,
"trk-kcu",
"Cyrl",
translit = "krc-translit",
sort_key = {
from = {"гъ", "дж", "ё", "къ", "нг"},
to = {"г" .. p[1], "д" .. p[1], "е" .. p[1], "к" .. p[1], "н" .. p[1]}
},
}
m["krd"] = {
"Kairui-Midiki",
12953277,
"poz-tim",
}
m["kre"] = {
"Panará",
3361895,
"sai-cer",
"Latn",
}
m["krf"] = {
"Koro (Vanuatu)",
3198995,
"poz-vnn",
"Latn",
}
m["krh"] = {
"Kurama",
35593,
"nic-kau",
}
m["kri"] = {
"Krio",
35744,
"crp",
"Latn",
ancestors = "en",
strip_diacritics = {remove_diacritics = c.grave .. c.acute .. c.circ},
sort_key = {
from = {"ɛ", "gb", "kp", "ɔ"},
to = {"e" .. p[1], "g" .. p[1], "k" .. p[1], "o" .. p[1]}
},
}
m["krj"] = {
"Kinaray-a",
33720,
"phi",
"Latn",
}
m["krk"] = {
"Kerek",
332792,
"qfa-ckn",
"Cyrl",
}
m["krl"] = {
"Karelian",
33557,
"urj-fin",
"Latn",
sort_key = {
from = {
"č", "š", "ž", "ü", "ä", "ö", -- 2 chars
"z", "'" -- 1 char
},
to = {
"c" .. p[1], "s" .. p[1], "s" .. p[3], "y" .. p[1], "y" .. p[2], "y" .. p[3],
"s" .. p[2], "y" .. p[4],
}
},
}
m["krm"] = {
"Krim",
35713,
"alv",
}
m["krn"] = {
"Sapo",
3915386,
"kro-wee",
}
m["krp"] = {
"Korop",
35626,
"nic-ucr",
"Latn",
}
m["krr"] = {
"Kru'ng",
12953650,
"mkh-ban",
}
m["krs"] = {
"Kresh",
56674,
"csu-bkr",
}
m["kru"] = {
"Kurux",
33492,
"dra-kml",
"Deva, Tols",
translit = {
Deva = "hi-translit",
},
}
m["krv"] = {
"Kavet",
12953649,
"sai-ktk",
"Latn",
}
m["krw"] = {
"Western Krahn",
10975611,
"kro-wee",
"Latn",
}
m["krx"] = {
"Karon",
35704,
"alv-jol",
}
m["kry"] = {
"Kryts",
35861,
"cau-ssm",
"Latn, Cyrl",
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
strip_diacritics = {
Latn = s["cau-Latn-stripdiacritics"],
Cyrl = s["cau-Cyrl-stripdiacritics"],
},
}
m["krz"] = {
"Sota Kanum",
12952568,
"paa-kan",
"Latn",
}
m["ksa"] = {
"Shuwa-Zamani",
3913929,
"nic-kau",
}
m["ksb"] = {
"Shambala",
3788739,
"bnt-seu",
"Latn",
}
m["ksc"] = {
"Southern Kalinga",
18753301,
"phi",
}
m["ksd"] = {
"Tolai",
35870,
"poz-ocw",
"Latn",
}
m["kse"] = {
"Kuni",
6444619,
"poz-ocw",
"Latn",
}
m["ksf"] = {
"Bafia",
34930,
"bnt-baf",
"Latn",
}
m["ksg"] = {
"Kusaghe",
3200638,
"poz-ocw",
"Latn",
}
m["ksi"] = {
"Krisa",
841704,
"paa-sko",
"Latn",
}
m["ksj"] = {
"Uare",
6450052,
"paa-kwa",
"Latn",
}
m["ksk"] = {
"Kansa",
3192772,
"sio-dhe",
"Latn",
}
m["ksl"] = {
"Kumalu",
17584381,
"poz-ocw",
"Latn",
}
m["ksm"] = {
"Kumba",
3913972,
"alv-mye",
}
m["ksn"] = {
"Kasiguranin",
6374525,
"phi",
}
m["kso"] = {
"Kofa",
56278,
"cdc-cbm",
}
m["ksp"] = {
"Kaba",
3915316,
"csu-sar",
}
m["ksq"] = {
"Kwaami",
3440525,
"cdc-wst",
}
m["ksr"] = {
"Borong",
4946263,
"ngf-kbm",
"Latn",
}
m["kss"] = {
"Southern Kissi",
11028974,
"alv-kis",
}
m["kst"] = {
"Winyé",
3913360,
"nic-gnw",
}
m["ksu"] = {
"Khamyang",
6583541,
"tai-swe",
}
m["ksv"] = {
"Kusu",
6448199,
"bnt-tet",
}
m["ksw"] = {
"S'gaw Karen",
56410,
"kar",
"Mymr",
translit = "ksw-translit",
}
m["ksx"] = {
"Kedang",
6382520,
"poz",
"Latn",
}
m["ksy"] = {
"Kharia Thar",
6400661,
"inc-eas",
}
m["ksz"] = {
"Kodaku",
21179986,
"mun",
}
m["kta"] = {
"Katua",
6378404,
"mkh-ban",
}
m["ktb"] = {
"Kambaata",
35664,
"cus-hec",
"Latn",
}
m["ktc"] = {
"Kholok",
3440464,
"cdc-wst",
}
m["ktd"] = {
"Kokata",
10547021,
"aus-pam",
"Latn",
}
m["ktf"] = {
"Kwami",
12952687,
"bnt-lgb",
}
m["ktg"] = {
"Kalkatungu",
3914057,
"aus-pam",
"Latn",
}
m["kth"] = {
"Karanga",
713643,
}
m["kti"] = {
"North Muyu",
20857698,
"ngf-lok",
"Latn",
}
m["ktj"] = {
"Plapo Krumen",
10975356,
"kro-grb",
}
m["ktk"] = {
"Kaniet",
3399050,
"poz-aay",
"Latn",
}
m["ktl"] = {
"Koroshi",
3775265,
"ira-nwi",
ancestors = "bal",
}
m["ktm"] = {
"Kurti",
3200615,
"poz-aay",
"Latn",
}
m["ktn"] = {
"Karitiâna",
3112184,
"tup",
"Latn",
}
m["kto"] = {
"Kuot",
56537,
}
m["ktp"] = {
"Kaduo",
769809,
"tbq-bka",
}
m["ktq"] = {
"Katabaga",
3193895,
}
m["kts"] = {
"South Muyu",
42308820,
"ngf-lok",
"Latn",
}
m["ktt"] = {
"Ketum",
12952616,
"ngf-dum",
"Latn",
}
m["ktu"] = {
"Kituba",
35746,
"crp",
"Latn",
ancestors = "kg",
}
m["ktv"] = {
"Eastern Katu",
22808951,
"mkh-kat",
"Latn",
}
m["ktw"] = {
"Kato",
20831,
"ath-pco",
"Latn",
}
m["ktx"] = {
"Kaxararí",
6380124,
"sai-pan",
"Latn",
}
m["kty"] = {
"Kango",
6362818,
"bnt-bta",
"Latn",
}
m["ktz"] = {
"Juǀ'hoan",
1192295,
"khi-kxa",
"Latn",
}
m["kub"] = {
"Kutep",
35645,
"nic-jkn",
}
m["kuc"] = {
"Kwinsu",
6450460,
"paa-tor",
"Latn",
}
m["kud"] = {
"Auhelawa",
5166,
"poz-ocw",
"Latn",
}
m["kue"] = {
"Kuman",
137525,
"ngf-sim",
"Latn",
}
m["kuf"] = {
"Western Katu",
6378400,
"mkh-kat",
"Laoo, Tale, Latn",
}
m["kug"] = {
"Kupa",
3915336,
"alv-ngb",
}
m["kuh"] = {
"Kushi",
3438747,
"cdc-wst",
}
m["kui"] = {
"Kuikúro",
3915522,
"sai-kui",
"Latn",
}
m["kuj"] = {
"Kuria",
6445968,
"bnt-lok",
"Latn",
}
m["kuk"] = {
"Kepo'",
6393217,
"poz",
}
m["kul"] = {
"Kulere",
3440506,
"cdc-wst",
}
m["kum"] = {
"Kumyk",
36209,
"trk-kcu",
"Cyrl",
translit = "kum-translit",
sort_key = {
from = {"гъ", "гь", "ё", "къ", "нг", "оь", "уь"},
to = {"г" .. p[1], "г" .. p[2], "е" .. p[1], "к" .. p[1], "н" .. p[1], "о" .. p[1], "у" .. p[1]}
},
}
m["kun"] = {
"Kunama",
36041,
}
m["kuo"] = {
"Kumukio",
11732362,
"ngf-dal",
"Latn",
}
m["kup"] = {
"Kunimaipa",
6444696,
"paa-kun",
"Latn",
}
m["kuq"] = {
"Karipuna",
6371071,
"tup-gua",
"Latn",
}
m["kus"] = {
"Kusaal",
35708,
"nic-dag",
"Latn",
}
m["kut"] = {
"Ktunaxa",
33434,
"qfa-iso",
"Latn",
}
m["kuu"] = {
"Upper Kuskokwim",
28062,
"ath-nor",
"Latn",
}
m["kuv"] = {
"Kur",
12635082,
"poz-cma",
"Latn",
}
m["kuw"] = {
"Kpagua",
11137573,
"bad-cnt",
}
m["kux"] = {
"Kukatja",
10549839,
"aus-pam",
"Latn",
}
m["kuy"] = {
"Kuuku-Ya'u",
10550697,
"aus-pmn",
"Latn",
}
m["kuz"] = {
"Kunza",
2669181,
"qfa-iso",
"Latn",
}
m["kva"] = {
"Bagvalal",
56638,
"cau-and",
"Cyrl",
translit = "cau-nec-translit",
override_translit = true,
display_text = {Cyrl = s["cau-Cyrl-displaytext"]},
strip_diacritics = {Cyrl = s["cau-Cyrl-stripdiacritics"]},
}
m["kvb"] = {
"Kubu",
6441341,
"poz-mly",
}
m["kvc"] = {
"Kove",
3199402,
"poz-ocw",
"Latn",
}
m["kvd"] = {
"Kui (Indonesia)",
6442230,
"paa-alp",
"Latn",
}
m["kve"] = {
"Kalabakan",
6350003,
"poz-san",
"Latn",
}
m["kvf"] = {
"Kabalai",
3440427,
"cdc-est",
}
m["kvg"] = {
"Kuni-Boazi",
2907551,
"paa-boa",
"Latn",
}
m["kvh"] = {
"Komodo",
3198565,
"poz-cet",
"Latn",
}
m["kvi"] = {
"Kwang",
3440398,
"cdc-est",
"Latn",
}
m["kvj"] = {
"Psikye",
56304,
"cdc-cbm",
}
m["kvk"] = {
"Korean Sign Language",
3073428,
"sgn-jsl",
}
m["kvl"] = {
"Brek Karen",
12952577,
"kar",
}
m["kvm"] = {
"Kendem",
35751,
"nic-mam",
"Latn",
}
m["kvn"] = {
"Border Kuna",
31777873,
"cba",
}
m["kvo"] = {
"Dobel",
5286559,
"poz",
"Latn",
}
m["kvp"] = {
"Kompane",
18343041,
"poz",
}
m["kvq"] = {
"Geba Karen",
12952581,
"kar",
"Latn, Mymr",
}
m["kvr"] = {
"Kerinci",
3195442,
"poz-mly",
"Latn, Arab", -- Also Incung, which we don't have
}
m["kvt"] = {
"Lahta Karen",
12952582,
"kar",
}
m["kvu"] = {
"Yinbaw Karen",
14426328,
"kar",
}
m["kvv"] = {
"Kola",
6426967,
"poz",
"Latn",
}
m["kvw"] = {
"Wersing",
7983599,
"paa-alp",
"Latn",
}
m["kvx"] = {
"Parkari Koli",
3244176,
"inc-wes",
}
m["kvy"] = {
"Yintale Karen",
14426329,
"kar",
}
m["kvz"] = {
"Tsakwambo",
7849438,
"ngf-kts",
"Latn",
}
m["kwa"] = {
"Dâw",
3042278,
"sai-nad",
"Latn",
}
m["kwb"] = {
"Baa",
34842,
"alv-ada",
}
m["kwc"] = {
"Likwala",
35597,
"bnt-mbo",
}
m["kwd"] = {
"Kwaio",
3200796,
"poz-sls",
"Latn",
}
m["kwe"] = {
"Kwerba",
6450328,
"paa-kwe",
"Latn",
}
m["kwf"] = {
"Kwara'ae",
3200829,
"poz-sls",
"Latn",
}
m["kwg"] = {
"Sara Kaba Deme",
3915384,
"csu-kab",
}
m["kwh"] = {
"Kowiai",
6435028,
"poz",
"Latn",
}
m["kwi"] = {
"Awa-Cuaiquer",
2603103,
"sai-bar",
"Latn",
}
m["kwj"] = {
"Kwanga",
3438383,
"paa-sep",
"Latn",
}
m["kwk"] = {
"Kwak'wala",
2640628,
"wak",
"Latn",
}
m["kwl"] = {
"Kofyar",
3441382,
"cdc-wst",
"Latn",
}
m["kwm"] = {
"Kwambi",
3487165,
"bnt-ova",
}
m["kwn"] = {
"Kwangali",
36334,
"bnt-kav",
"Latn",
}
m["kwo"] = {
"Kwomtari",
3508116,
"paa-kwo",
"Latn",
}
m["kwp"] = {
"Kodia",
3914867,
"kro-ekr",
}
m["kwq"] = {
"Kwak",
11014183,
"nic-nka",
ancestors = "yam",
}
m["kwr"] = {
"Kwer",
12635137,
"ngf-wok",
"Latn",
}
m["kws"] = {
"Kwese",
3200846,
"bnt-pen",
}
m["kwt"] = {
"Kwesten",
6450354,
"paa-tor",
"Latn",
}
m["kwu"] = {
"Kwakum",
35624,
"bnt-kak",
}
m["kwv"] = {
"Sara Kaba Náà",
3915361,
"csu-kab",
"Latn",
}
m["kww"] = {
"Kwinti",
721182,
"crp",
"Latn",
ancestors = "en"
}
m["kwx"] = {
"Khirwar",
12976968,
"dra",
}
m["kwz"] = {
"Kwadi",
2364661,
"khi-kkw",
"Latn",
}
m["kxa"] = {
"Kairiru",
3398785,
"poz-ocw",
"Latn",
}
m["kxb"] = {
"Krobu",
35586,
"alv-ptn",
"Latn",
}
m["kxc"] = {
"Konso",
56624,
"cus-eas",
"Ethi, Latn",
}
m["kxd"] = {
"Brunei Malay",
3182878,
"poz-mly",
"Latn, Arab",
}
m["kxe"] = {
"Kakihum",
3914433,
"nic-kam",
ancestors = "tvd",
}
m["kxf"] = {
"Manumanaw Karen",
12952592,
"kar",
"Mymr, Latn",
}
m["kxh"] = {
"Karo",
3447116,
"omv-aro",
}
m["kxi"] = {
"Keningau Murut",
6389308,
"poz-san",
"Latn",
}
m["kxj"] = {
"Kulfa",
713654,
"csu-kab",
}
m["kxk"] = {
"Zayein Karen",
14352960,
"kar",
}
-- Nepali Kurux [kxl] treated as part of Kurux [kru], consistent with ISO merger in 2020
m["kxm"] = {
"Northern Khmer",
3502234,
"mkh-kmr",
"Thai, Khmr",
ancestors = "xhm",
sort_key = {
from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"},
to = {"", "", "%2%1"}
},
}
m["kxn"] = {
"Kanowit",
6364300,
"poz-bnn",
"Latn",
}
m["kxo"] = {
"Kanoé",
4356223,
"qfa-iso",
"Latn",
}
m["kxp"] = {
"Wadiyara Koli",
12953645,
"inc-wes",
}
m["kxq"] = {
"Smärky Kanum",
12952569,
"paa-kan",
"Latn",
}
m["kxr"] = {
"Manus Koro",
3198994,
"poz-aay",
"Latn",
}
m["kxs"] = {
"Kangjia",
3182570,
"xgn-shr",
"Latn",
}
m["kxt"] = {
"Koiwat",
6426388,
"paa-nnd",
"Latn",
}
m["kxu"] = {
"Kui (India)",
33919,
"dra-kki",
"Orya",
translit = "kxv-translit",
strip_diacritics = {
remove_diacritics = "୕",
from = {"ଆଆ", "ଇଇ", "ଉଉ", "ଏଏ", "ଓଓ", "ିଇ", "ୁଉ", "େଏ", "ୋଓ"},
to = {"ଆ", "ଈ", "ଊ", "ଏ", "ଓ", "ୀ", "ୂ", "େ", "ୋ"},
},
}
m["kxv"] = {
"Kuvi",
3200721,
"dra-kki",
"Orya",
translit = "kxv-translit",
strip_diacritics = {
remove_diacritics = "୕",
from = {"ଆଆ", "ଇଇ", "ଉଉ", "ଏଏ", "ଓଓ", "([କ-ହ])ଆ", "ିଇ", "ୁଉ", "େଏ", "ୋଓ"},
to = {"ଆ", "ଈ", "ଊ", "ଏ", "ଓ", "%1ା", "ୀ", "ୂ", "େ", "ୋ"},
},
}
m["kxw"] = {
"Konai",
11732339,
"ngf-est",
"Latn",
}
m["kxx"] = {
"Likuba",
35646,
"bnt-bmo",
}
m["kxy"] = {
"Kayong",
6380673,
"mkh",
}
m["kxz"] = {
"Kerewo",
6393847,
"paa-kiw",
"Latn",
}
m["kya"] = {
"Kwaya",
6450276,
"bnt-haj",
"Latn",
}
m["kyb"] = {
"Butbut Kalinga",
18753300,
"phi",
"Latn",
}
m["kyc"] = {
"Kyaka",
12952690,
"ngf-enc",
"Latn",
}
m["kyd"] = {
"Karey",
6370196,
"poz",
}
m["kye"] = {
"Krache",
35658,
"alv-gng",
}
m["kyf"] = {
"Kouya",
35595,
"kro-bet",
}
m["kyg"] = {
"Keyagana",
6398208,
"ngf-kya",
"Latn",
}
m["kyh"] = {
"Karok",
1288440,
"qfa-iso", -- or Hokan?
"Latn",
}
m["kyi"] = {
"Kiput",
3038653,
"poz-swa",
"Latn",
}
m["kyj"] = {
"Karao",
3192950,
"phi",
"Latn",
}
m["kyk"] = {
"Kamayo",
3192339,
"phi",
"Latn",
}
m["kyl"] = {
"Kalapuya",
3192120,
"nai-klp",
}
m["kym"] = {
"Kpatili",
3913982,
"znd",
}
m["kyn"] = {
"Karolanos",
6373093,
"phi",
}
m["kyo"] = {
"Kelon",
6386414,
"paa-alp",
"Latn",
}
m["kyp"] = {
"Kang",
25559558,
"tai",
}
m["kyq"] = {
"Kenga",
35707,
"csu-bgr",
}
m["kyr"] = {
"Kuruáya",
3200633,
"tup",
"Latn",
}
m["kys"] = {
"Baram Kayan",
2883794,
"poz",
"Latn",
}
m["kyt"] = {
"Kayagar",
6380394,
"paa-kay",
"Latn",
}
m["kyu"] = {
"Western Kayah",
12952596,
"kar",
"Kali, Mymr, Latn",
translit = {Kali = "Kali-translit"},
}
m["kyv"] = {
"Kayort",
6380675,
"inc-krd",
"Deva",
}
m["kyw"] = {
"Kudmali",
6446173,
"inc-sad",
"Deva, as-Beng, Orya, Chis",
}
m["kyx"] = {
"Rapoisi",
7294279,
"paa-nbo",
"Latn",
}
m["kyy"] = {
"Kambaira",
6356254,
"ngf-kai",
"Latn",
}
m["kyz"] = {
"Kayabí",
6380372,
"tup-gua",
"Latn",
}
m["kza"] = {
"Western Karaboro",
36601,
"alv-krb",
}
m["kzb"] = {
"Kaibobo",
6347565,
"poz-cma",
"Latn",
}
m["kzc"] = {
"Bondoukou Kulango",
11031321,
"alv-kul",
"Latn",
}
m["kzd"] = {
"Kadai",
7679471,
"poz-cma",
"Latn",
}
--kze (Kosena) made an etym-only child of auy (Auyana) per [[Wiktionary:Language_treatment_requests#merge_Kosena_[kze]_into_Auyana_[auy]]]
m["kzf"] = {
"Da'a Kaili",
33103997,
"poz-kal",
"Latn",
}
m["kzg"] = {
"Kikai",
3196527,
"jpx-nry",
"Jpan",
translit = s["jpx-translit"],
display_text = s["jpx-displaytext"],
strip_diacritics = s["jpx-stripdiacritics"],
sort_key = s["jpx-sortkey"],
}
m["kzh"] = {
"Dongolawi",
5295991,
"nub",
"Latn",
}
m["kzi"] = {
"Kelabit",
6385445,
"poz-swa",
"Latn",
}
m["kzj"] = {
"Coastal Kadazan",
3307195,
"poz-san",
"Latn",
}
m["kzk"] = {
"Kazukuru",
1089069,
"poz-ocw",
}
m["kzl"] = {
"Kayeli",
4207444,
"poz-cma",
"Latn",
}
m["kzm"] = {
"Kais",
6348319,
"ngf-sbh",
"Latn",
}
m["kzn"] = {
"Kokola",
11128329,
"bnt-mak",
"Latn",
ancestors = "vmw",
}
m["kzo"] = {
"Kaningi",
35683,
"bnt-mbt",
}
m["kzp"] = {
"Kaidipang",
6347611,
"phi",
"Latn",
}
m["kzq"] = {
"Kaike",
10951226,
"sit-tam",
}
m["kzr"] = {
"Karang",
35681,
"alv-mbm",
"Latn",
}
m["kzs"] = {
"Sugut Dusun",
12953510,
"poz-san",
"Latn",
}
m["kzu"] = {
"Kayupulau",
6380723,
"poz-ocw",
}
m["kzv"] = {
"Komyandaret",
6428671,
"ngf-kts",
"Latn",
}
m["kzw"] = { -- contrast xoo, sai-kat, sai-xoc, the last of which the ISO conflated into this code
"Kariri",
12953620,
"sai-mje",
"Latn",
}
m["kzx"] = {
"Kamarian",
6356040,
"poz-cma",
"Latn",
}
m["kzy"] = {
"Kango-Sua",
11008360,
"bnt-kbi",
"Latn",
ancestors = "bip",
}
m["kzz"] = {
"Kalabra",
6350038,
"paa-wbh",
"Latn",
}
return require("Module:languages").finalizeData(m, "language")
k27azsakal6d6qq6i5t3y6kahefh98q
मॉड्यूल:also
828
304799
488632
478028
2026-09-12T17:01:11Z
SM7
6218
updating...
488632
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local headword_data_module = "Module:headword/data"
local links_module = "Module:links"
local script_utilities_module = "Module:script utilities"
local scripts_module = "Module:scripts"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local unicode_data_module = "Module:Unicode data"
local insert = table.insert
local ipairs = ipairs
local require = require
local type = type
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function codepoint(...)
codepoint = require(string_utilities_module).codepoint
return codepoint(...)
end
local function find_best_script_without_lang(...)
find_best_script_without_lang = require(scripts_module).findBestScriptWithoutLang
return find_best_script_without_lang(...)
end
local function lookup_name(...)
lookup_name = require(unicode_data_module).lookup_name
return lookup_name(...)
end
local function plain_link(...)
plain_link = require(links_module).plain_link
return plain_link(...)
end
local function serial_comma_join(...)
serial_comma_join = require(table_module).serialCommaJoin
return serial_comma_join(...)
end
local function tag_text(...)
tag_text = require(script_utilities_module).tag_text
return tag_text(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local pagename
local function get_pagename()
pagename, get_pagename = mw.loadData(headword_data_module).pagename, nil
return pagename
end
function export.main(terms)
local items, use_semicolon = {}, false
for _, v in ipairs(terms) do
local term = type(v) == "string" and v or v.term
-- Don't add the link if it's the current pagename.
if term ~= (pagename or get_pagename()) then
local uni = v.uni
if uni == nil then -- Use uni_default iff uni is not specified at all.
uni = terms.uni_default
end
if not use_semicolon and term:find(",") then
use_semicolon = true
end
-- Get the script if not already given.
local sc = v.sc or find_best_script_without_lang(term)
-- Create the link.
local link = tag_text(plain_link{term = term, sc = sc}, nil, sc, "bold")
local cp
if uni then
track("also/uni")
if uni == "auto" then
cp = term:match("^.[\128-\191]*$") and codepoint(term) or nil
else
cp = tonumber(uni)
track(("also/uni/%s"):format(
term:match("^.[\128-\191]*$") and cp == codepoint(term) and "auto" or "noauto"
))
end
end
if cp then
link = link .. (" <small>[U+%04X %s]</small>"):format(
cp,
lookup_name(cp):gsub("<", "<"):gsub(">", ">")
)
end
insert(items, link)
end
end
if #items == 0 then
error("Please specify at least one term which is not the current page title.")
end
return ("<div class=\"disambig-see-also\">''यह भी देखें:'' %s</div>"):format(serial_comma_join(items, {
conj = "''and''",
punc = use_semicolon and ";" or ","
}))
end
return export
f1e2x2c1jq8t9g1ktdp4ir0w8p5puyd
साँचा:lua
10
304898
488606
488571
2026-09-12T12:30:59Z
SM7
6218
updating...
488606
wikitext
text/x-wiki
{{#invoke:code|show|lang=lua}}<noinclude>{{documentation}}</noinclude>
mfwreqrn8av0bau2qnvyrdn045xvvf9
साँचा:anchor
10
304937
488629
479128
2026-09-12T16:50:45Z
SM7
6218
updating...
488629
wikitext
text/x-wiki
<includeonly><onlyinclude>{{safesubst:<noinclude/>#invoke:anchors/templates|anchor_t}}</onlyinclude></includeonly><!--
-->{{documentation}}
96ow4gno835gtcoqgt5cnibs8s3d6yo
मॉड्यूल:module categorization
828
304988
488646
479729
2026-09-12T18:25:29Z
SM7
6218
updating...
488646
Scribunto
text/plain
local export = {}
local put_module = "Module:parse utilities"
local rsplit = mw.text.split
local rfind = mw.ustring.find
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local insert = table.insert
local keyword_to_module_type = {
common = "Language-specific utility",
utilities = "Language-specific utility",
headword = "Headword-line",
translit = "Transliteration",
infl = "Inflection",
inflection = "Inflection",
decl = "Inflection",
declension = "Inflection",
adecl = "Inflection",
conj = "Inflection",
conjugation = "Inflection",
noun = "Inflection",
nouns = "Inflection",
pronoun = "Inflection",
pronouns = "Inflection",
verb = "Inflection",
verbs = "Inflection",
adjective = "Inflection",
adjectives = "Inflection",
adj = "Inflection",
nominal = "Inflection",
nominals = "Inflection",
pron = "Pronunciation",
pronun = "Pronunciation",
pronunc = "Pronunciation",
pronunciation = "Pronunciation",
IPA = "Pronunciation",
stripdiacritics = "Diacritic-stripping",
sortkey = "Sortkey-generating",
}
-- If a module type is here, we will generate a lang-specific module-type category such as
-- [[:Category:Pali inflection modules]].
local module_type_generates_lang_specific_cat = {
["Inflection"] = true,
["Data"] = true,
["Testcase"] = true,
}
-- If a module type is here, we will fetch extra languages to generate categories for. The value is a module that
-- returns a function that fetches all the languages that use a given module for
-- transliteration/diacritic-stripping/sortkey generation.
local languages_from_module_type = {
["Transliteration"] = "Module:languages/byTranslitModule",
["Transliteration testcase"] = "Module:languages/byTranslitModule",
["Diacritic-stripping"] = "Module:languages/byStripDiacriticsModule",
["Sortkey-generating"] = "Module:languages/bySortkeyModule",
}
local function get_transliteration_family_cats(objs)
local families_to_check = {"aav", "afa", "dra", "inc", "ira", "map", "sit", "sla", "trk", "urj"}
local result = {}
for _, famcode in ipairs(families_to_check) do
for _, obj in ipairs(objs) do
if obj:hasType("language") and obj:inFamily(famcode) then
local fam = require("Module:families").getByCode(famcode)
insert(result, fam:getCanonicalName() .. " transliteration modules")
break
end
end
end
return result
end
-- If a module type is here, we will fetch extra categories given the generated languages/scripts/families.
local extra_cats_from_module_type = {
["Transliteration"] = get_transliteration_family_cats,
}
local module_type_patterns = {
{"/data%f[-/%z]", "Data"},
{"/testcases%f[-/%z]", function(typ)
if typ == "Pronunciation" then
return "Pronunciation testcase"
elseif typ == "Transliteration" then
return "Transliteration testcase"
else
return "Testcase"
end
end},
}
-- Split an argument on comma, but not comma followed by whitespace.
local function split_on_comma(val)
if val:find(",%s") then
return require(put_module).split_on_comma(val)
else
return rsplit(val, ",")
end
end
local function get_lang_or_script(code)
return code == "-" and code or
require("Module:languages").getByCode(code, nil, "allow etym") or
require("Module:languages").getByCode(code .. "-pro", nil, "allow etym") or
require("Module:scripts").getByCode(code)
end
local function obj_code(obj)
if obj == "-" then
return obj
end
return obj:getCode()
end
local function infer_lang_or_script_code(name)
local hyphen_parts = rsplit(name, "%-")
for i = #hyphen_parts - 1, 1, -1 do
local code = table.concat(hyphen_parts, "-", 1, i)
local obj = get_lang_or_script(code)
if obj then
local rest = table.concat(hyphen_parts, "-", i + 1)
return obj, rest
end
end
return nil, nil
end
local function infer_lang_and_script_codes(name)
local objs = {}
while true do
local obj, rest = infer_lang_or_script_code(name)
if not obj then
return objs, name
end
if #objs > 0 and obj:getCode() == "to" then
-- skip 'to' in e.g. [[Module:ks-Arab-to-Deva-translit]]; it's not Tongan
else
insert(objs, obj)
end
name = rest
end
end
--[==[
Main entry point called from another module.
]==]
function export.categorize_module(data)
local pagename, return_raw, noerror = data.pagename, data.return_raw, data.noerror
local langlist, module_type, return_cats = data.langlist, data.module_type, data.return_cats
local title
if pagename then
title = mw.title.new(pagename, 'Module')
else
title = mw.title.getCurrentTitle()
-- Fuckme, sometimes this function is called with a faked frame and a title with the namespace already chopped out,
-- so this test cannot be done in that case.
if title.nsText ~= "Module" then
error(("This template should only be used in the Module namespace, not on page '%s'."):format(title.fullText))
end
pagename = title.fullText
end
local subpage = title.subpageText
local null_return_value = return_raw and {} or ""
-- To ensure no categories are added on documentation pages.
if subpage == "documentation" then
return null_return_value
end
local categories = {}
local function insert_cat(cat, sortkey)
for _, existing_cat in ipairs(categories) do
if existing_cat.name == cat then
return
end
end
insert(categories, {name = cat, sort = sortkey})
end
local root_pagename
if subpage ~= pagename then
root_pagename = title.rootText
else
root_pagename = pagename
end
root_pagename = root_pagename:gsub("^Module:", "")
-- Take the module type(s) from type= if given, or infer from the pagename.
local module_types
if module_type then
module_types = {}
local module_type_specs = split_on_comma(module_type)
for _, spec in ipairs(module_type_specs) do
local modtype, sortkey = spec:match("^(.-):(.*)$")
modtype = modtype or spec
sortkey = sortkey and sortkey:gsub("_", " ") or nil
insert(module_types, {type = modtype, sort = sortkey})
end
else
local module_type_keyword = root_pagename:match("[-%a]+[- ]([^/]+)%f[/%z]")
if not module_type_keyword then
if noerror then
return null_return_value
else
error(("Could not extract module type from root pagename '%s'"):format(root_pagename))
end
end
module_type = keyword_to_module_type[module_type_keyword]
if not module_type then
if noerror then
return null_return_value
else
error(("Did not recognize inferred module-type keyword '%s' from root pagename '%s'"):format(
module_type_keyword, root_pagename))
end
end
module_types = {{type = module_type}}
end
-- Look for additional module type(s) inferred by pattern.
for _, pattern_spec in ipairs(module_type_patterns) do
local pattern, inferred_type = unpack(pattern_spec)
if rfind(pagename, pattern) then
local function insert_module_type(typ)
require("Module:table").insertIfNot(module_types, typ, {key = function(obj) return obj.type end})
end
if type(inferred_type) == "string" then
insert_module_type({type = inferred_type})
else
local addl_types = {}
for _, typ in ipairs(module_types) do
insert(addl_types, {type = inferred_type(typ.type), sort = typ.sort})
end
for _, typ in ipairs(addl_types) do
insert_module_type(typ)
end
end
end
end
-- If 1= specified, take the languages/scripts directly from there. Otherwise, (a) try to extract one or more
-- languages/scripts from the pagename (e.g. [[Module:uk-be-headword]] -> Ukrainian and Belarusian (languages);
-- [[Module:bho-Kthi-translit]] -> Bhojpuri (language) and Kaithi (script); [[Module:Deva-Kthi-translit]] ->
-- Devanagari and Kaithi (scripts)); and (b) if the specified or inferred module type(s) contain a type listed in
-- languages_from_module_type[], use the function referenced there to extract additional languages (i.e. all the
-- languages that use the module we are processing).
local inferred_objs
if langlist then
inferred_objs = {}
for _, code in ipairs(rsplit(langlist, ",")) do
-- We need to have an indicator of families because we allow bare family codes to stand for proto-languages.
if code:find("^fam:") then
code = code:gsub("^fam:", "")
local family = require("Module:families").getByCode(code) or
error(("Unrecognized family code '%s' in [[Module:module categorization]]"):format(code))
local descendants = family:getDescendantCodes()
for _, desc in ipairs(descendants) do
local obj = get_lang_or_script(desc)
if obj then
-- make sure we skip families without proto-languages
insert(inferred_objs, obj)
end
end
else
local obj = get_lang_or_script(code)
if not obj then
error(("Unrecognized language or script code '%s'"):format(code))
end
insert(inferred_objs, obj)
end
end
else
inferred_objs = infer_lang_and_script_codes(root_pagename)
for _, modtype in ipairs(module_types) do
local languages_extractor = languages_from_module_type[modtype.type]
if languages_extractor then
local langs = require(languages_extractor)(root_pagename)
if langs then
for _, obj in ipairs(langs) do
require("Module:table").insertIfNot(inferred_objs, obj, {key = obj_code})
end
end
end
end
if #inferred_objs == 0 then
if noerror then
return null_return_value
else
error(("Could not infer any languages or scripts from root pagename '%s'"):format(root_pagename))
end
end
end
if pagename:find("^Module:User:") then
insert_cat("User sandbox modules")
elseif pagename:find("/sandbox") then
insert_cat("Sandbox modules")
else
for _, modtype in ipairs(module_types) do
for _, obj in ipairs(inferred_objs) do
local function insert_overall_module_type_cat(sortkey)
if modtype.type ~= "-" then
insert_cat(modtype.type .. " modules", modtype.sort or sortkey)
end
end
if obj == "-" then
insert_overall_module_type_cat()
else
if obj:hasType("script") and modtype.type ~= "-" then
insert_cat(modtype.type .. " modules by script", obj:getCanonicalName())
end
local function construct_lang_or_sc_cat(obj, suffix)
local prefix
if obj:hasType("language") then
prefix = obj:getFullName()
else
prefix = obj:getCategoryName()
end
return prefix .. " " .. suffix
end
insert_cat(construct_lang_or_sc_cat(obj, "modules"), modtype.type)
insert_overall_module_type_cat(obj:getCanonicalName())
if module_type_generates_lang_specific_cat[modtype.type] then
insert_cat(construct_lang_or_sc_cat(obj, mw.getContentLanguage():lcfirst(modtype.type) ..
" modules"))
end
end
end
if extra_cats_from_module_type[modtype.type] then
local extra_cats = extra_cats_from_module_type[modtype.type](inferred_objs)
for _, cat in ipairs(extra_cats) do
insert_cat(cat)
end
end
end
end
for i, catspec in ipairs(categories) do
if catspec.sort then
categories[i] = ("%s|%s"):format(catspec.name, catspec.sort)
else
categories[i] = catspec.name
end
end
if return_cats then
return table.concat(categories, ",")
elseif return_raw then
return categories
else
for i, cat in ipairs(categories) do
categories[i] = "[[Category:" .. cat .. "]]"
end
return table.concat(categories)
end
end
--[==[
Main entry point called from a template.
]==]
function export.categorize(frame)
local params = {
[1] = true, -- comma-separated list of languages; by default, inferred from module name
type = true,
[2] = {alias_of = "type"},
pagename = true, -- for testing
return_cats = {type = "boolean"}, -- for testing
}
local parent_args = frame:getParent().args
local args = require("Module:parameters").process(parent_args, params)
return export.categorize_module {
pagename = args.pagename,
langlist = args[1],
module_type = args.type,
return_cats = args.return_cats,
}
end
--[==[Table used in the documentation to {{tl|module cat}}.]==]
function export.keyword_to_module_type_table()
local parts = {}
local function ins(text)
insert(parts, text)
end
ins('{|class="wikitable"')
ins("! Keyword !! Inferred module type")
local keywords = {}
for k, v in pairs(keyword_to_module_type) do
insert(keywords, k)
end
table.sort(keywords)
for _, keyword in ipairs(keywords) do
ins("|-")
ins(("| <code>%s</code> || <code>%s</code>"):format(keyword, keyword_to_module_type[keyword]))
end
ins("|}")
return table.concat(parts, "\n")
end
return export
hjzj7ztx5ftzfav1vwomcf1p7v7pfvb
488648
488646
2026-09-12T18:34:58Z
SM7
6218
localization...
488648
Scribunto
text/plain
local export = {}
local put_module = "Module:parse utilities"
local rsplit = mw.text.split
local rfind = mw.ustring.find
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local insert = table.insert
local keyword_to_module_type = {
common = "Language-specific utility",
utilities = "Language-specific utility",
headword = "Headword-line",
translit = "Transliteration",
infl = "Inflection",
inflection = "Inflection",
decl = "Inflection",
declension = "Inflection",
adecl = "Inflection",
conj = "Inflection",
conjugation = "Inflection",
noun = "Inflection",
nouns = "Inflection",
pronoun = "Inflection",
pronouns = "Inflection",
verb = "Inflection",
verbs = "Inflection",
adjective = "Inflection",
adjectives = "Inflection",
adj = "Inflection",
nominal = "Inflection",
nominals = "Inflection",
pron = "Pronunciation",
pronun = "Pronunciation",
pronunc = "Pronunciation",
pronunciation = "Pronunciation",
IPA = "Pronunciation",
stripdiacritics = "Diacritic-stripping",
sortkey = "Sortkey-generating",
}
-- If a module type is here, we will generate a lang-specific module-type category such as
-- [[:Category:Pali inflection modules]].
local module_type_generates_lang_specific_cat = {
["Inflection"] = true,
["Data"] = true,
["Testcase"] = true,
}
-- If a module type is here, we will fetch extra languages to generate categories for. The value is a module that
-- returns a function that fetches all the languages that use a given module for
-- transliteration/diacritic-stripping/sortkey generation.
local languages_from_module_type = {
["Transliteration"] = "Module:languages/byTranslitModule",
["Transliteration testcase"] = "Module:languages/byTranslitModule",
["Diacritic-stripping"] = "Module:languages/byStripDiacriticsModule",
["Sortkey-generating"] = "Module:languages/bySortkeyModule",
}
local function get_transliteration_family_cats(objs)
local families_to_check = {"aav", "afa", "dra", "inc", "ira", "map", "sit", "sla", "trk", "urj"}
local result = {}
for _, famcode in ipairs(families_to_check) do
for _, obj in ipairs(objs) do
if obj:hasType("language") and obj:inFamily(famcode) then
local fam = require("Module:families").getByCode(famcode)
insert(result, fam:getCanonicalName() .. " transliteration modules")
break
end
end
end
return result
end
-- If a module type is here, we will fetch extra categories given the generated languages/scripts/families.
local extra_cats_from_module_type = {
["Transliteration"] = get_transliteration_family_cats,
}
local module_type_patterns = {
{"/data%f[-/%z]", "Data"},
{"/testcases%f[-/%z]", function(typ)
if typ == "Pronunciation" then
return "Pronunciation testcase"
elseif typ == "Transliteration" then
return "Transliteration testcase"
else
return "Testcase"
end
end},
}
-- Split an argument on comma, but not comma followed by whitespace.
local function split_on_comma(val)
if val:find(",%s") then
return require(put_module).split_on_comma(val)
else
return rsplit(val, ",")
end
end
local function get_lang_or_script(code)
return code == "-" and code or
require("Module:languages").getByCode(code, nil, "allow etym") or
require("Module:languages").getByCode(code .. "-pro", nil, "allow etym") or
require("Module:scripts").getByCode(code)
end
local function obj_code(obj)
if obj == "-" then
return obj
end
return obj:getCode()
end
local function infer_lang_or_script_code(name)
local hyphen_parts = rsplit(name, "%-")
for i = #hyphen_parts - 1, 1, -1 do
local code = table.concat(hyphen_parts, "-", 1, i)
local obj = get_lang_or_script(code)
if obj then
local rest = table.concat(hyphen_parts, "-", i + 1)
return obj, rest
end
end
return nil, nil
end
local function infer_lang_and_script_codes(name)
local objs = {}
while true do
local obj, rest = infer_lang_or_script_code(name)
if not obj then
return objs, name
end
if #objs > 0 and obj:getCode() == "to" then
-- skip 'to' in e.g. [[Module:ks-Arab-to-Deva-translit]]; it's not Tongan
else
insert(objs, obj)
end
name = rest
end
end
--[==[
Main entry point called from another module.
]==]
function export.categorize_module(data)
local pagename, return_raw, noerror = data.pagename, data.return_raw, data.noerror
local langlist, module_type, return_cats = data.langlist, data.module_type, data.return_cats
local title
if pagename then
title = mw.title.new(pagename, 'मॉड्यूल')
else
title = mw.title.getCurrentTitle()
-- Fuckme, sometimes this function is called with a faked frame and a title with the namespace already chopped out,
-- so this test cannot be done in that case.
if title.nsText ~= "मॉड्यूल" then
error(("This template should only be used in the Module namespace, not on page '%s'."):format(title.fullText))
end
pagename = title.fullText
end
local subpage = title.subpageText
local null_return_value = return_raw and {} or ""
-- To ensure no categories are added on documentation pages.
if subpage == "documentation" then
return null_return_value
end
local categories = {}
local function insert_cat(cat, sortkey)
for _, existing_cat in ipairs(categories) do
if existing_cat.name == cat then
return
end
end
insert(categories, {name = cat, sort = sortkey})
end
local root_pagename
if subpage ~= pagename then
root_pagename = title.rootText
else
root_pagename = pagename
end
root_pagename = root_pagename:gsub("^Module:", "")
-- Take the module type(s) from type= if given, or infer from the pagename.
local module_types
if module_type then
module_types = {}
local module_type_specs = split_on_comma(module_type)
for _, spec in ipairs(module_type_specs) do
local modtype, sortkey = spec:match("^(.-):(.*)$")
modtype = modtype or spec
sortkey = sortkey and sortkey:gsub("_", " ") or nil
insert(module_types, {type = modtype, sort = sortkey})
end
else
local module_type_keyword = root_pagename:match("[-%a]+[- ]([^/]+)%f[/%z]")
if not module_type_keyword then
if noerror then
return null_return_value
else
error(("Could not extract module type from root pagename '%s'"):format(root_pagename))
end
end
module_type = keyword_to_module_type[module_type_keyword]
if not module_type then
if noerror then
return null_return_value
else
error(("Did not recognize inferred module-type keyword '%s' from root pagename '%s'"):format(
module_type_keyword, root_pagename))
end
end
module_types = {{type = module_type}}
end
-- Look for additional module type(s) inferred by pattern.
for _, pattern_spec in ipairs(module_type_patterns) do
local pattern, inferred_type = unpack(pattern_spec)
if rfind(pagename, pattern) then
local function insert_module_type(typ)
require("Module:table").insertIfNot(module_types, typ, {key = function(obj) return obj.type end})
end
if type(inferred_type) == "string" then
insert_module_type({type = inferred_type})
else
local addl_types = {}
for _, typ in ipairs(module_types) do
insert(addl_types, {type = inferred_type(typ.type), sort = typ.sort})
end
for _, typ in ipairs(addl_types) do
insert_module_type(typ)
end
end
end
end
-- If 1= specified, take the languages/scripts directly from there. Otherwise, (a) try to extract one or more
-- languages/scripts from the pagename (e.g. [[Module:uk-be-headword]] -> Ukrainian and Belarusian (languages);
-- [[Module:bho-Kthi-translit]] -> Bhojpuri (language) and Kaithi (script); [[Module:Deva-Kthi-translit]] ->
-- Devanagari and Kaithi (scripts)); and (b) if the specified or inferred module type(s) contain a type listed in
-- languages_from_module_type[], use the function referenced there to extract additional languages (i.e. all the
-- languages that use the module we are processing).
local inferred_objs
if langlist then
inferred_objs = {}
for _, code in ipairs(rsplit(langlist, ",")) do
-- We need to have an indicator of families because we allow bare family codes to stand for proto-languages.
if code:find("^fam:") then
code = code:gsub("^fam:", "")
local family = require("Module:families").getByCode(code) or
error(("Unrecognized family code '%s' in [[Module:module categorization]]"):format(code))
local descendants = family:getDescendantCodes()
for _, desc in ipairs(descendants) do
local obj = get_lang_or_script(desc)
if obj then
-- make sure we skip families without proto-languages
insert(inferred_objs, obj)
end
end
else
local obj = get_lang_or_script(code)
if not obj then
error(("Unrecognized language or script code '%s'"):format(code))
end
insert(inferred_objs, obj)
end
end
else
inferred_objs = infer_lang_and_script_codes(root_pagename)
for _, modtype in ipairs(module_types) do
local languages_extractor = languages_from_module_type[modtype.type]
if languages_extractor then
local langs = require(languages_extractor)(root_pagename)
if langs then
for _, obj in ipairs(langs) do
require("Module:table").insertIfNot(inferred_objs, obj, {key = obj_code})
end
end
end
end
if #inferred_objs == 0 then
if noerror then
return null_return_value
else
error(("Could not infer any languages or scripts from root pagename '%s'"):format(root_pagename))
end
end
end
if pagename:find("^Module:User:") then
insert_cat("User sandbox modules")
elseif pagename:find("/sandbox") then
insert_cat("Sandbox modules")
else
for _, modtype in ipairs(module_types) do
for _, obj in ipairs(inferred_objs) do
local function insert_overall_module_type_cat(sortkey)
if modtype.type ~= "-" then
insert_cat(modtype.type .. " modules", modtype.sort or sortkey)
end
end
if obj == "-" then
insert_overall_module_type_cat()
else
if obj:hasType("script") and modtype.type ~= "-" then
insert_cat(modtype.type .. " modules by script", obj:getCanonicalName())
end
local function construct_lang_or_sc_cat(obj, suffix)
local prefix
if obj:hasType("language") then
prefix = obj:getFullName()
else
prefix = obj:getCategoryName()
end
return prefix .. " " .. suffix
end
insert_cat(construct_lang_or_sc_cat(obj, "modules"), modtype.type)
insert_overall_module_type_cat(obj:getCanonicalName())
if module_type_generates_lang_specific_cat[modtype.type] then
insert_cat(construct_lang_or_sc_cat(obj, mw.getContentLanguage():lcfirst(modtype.type) ..
" modules"))
end
end
end
if extra_cats_from_module_type[modtype.type] then
local extra_cats = extra_cats_from_module_type[modtype.type](inferred_objs)
for _, cat in ipairs(extra_cats) do
insert_cat(cat)
end
end
end
end
for i, catspec in ipairs(categories) do
if catspec.sort then
categories[i] = ("%s|%s"):format(catspec.name, catspec.sort)
else
categories[i] = catspec.name
end
end
if return_cats then
return table.concat(categories, ",")
elseif return_raw then
return categories
else
for i, cat in ipairs(categories) do
categories[i] = "[[Category:" .. cat .. "]]"
end
return table.concat(categories)
end
end
--[==[
Main entry point called from a template.
]==]
function export.categorize(frame)
local params = {
[1] = true, -- comma-separated list of languages; by default, inferred from module name
type = true,
[2] = {alias_of = "type"},
pagename = true, -- for testing
return_cats = {type = "boolean"}, -- for testing
}
local parent_args = frame:getParent().args
local args = require("Module:parameters").process(parent_args, params)
return export.categorize_module {
pagename = args.pagename,
langlist = args[1],
module_type = args.type,
return_cats = args.return_cats,
}
end
--[==[Table used in the documentation to {{tl|module cat}}.]==]
function export.keyword_to_module_type_table()
local parts = {}
local function ins(text)
insert(parts, text)
end
ins('{|class="wikitable"')
ins("! Keyword !! Inferred module type")
local keywords = {}
for k, v in pairs(keyword_to_module_type) do
insert(keywords, k)
end
table.sort(keywords)
for _, keyword in ipairs(keywords) do
ins("|-")
ins(("| <code>%s</code> || <code>%s</code>"):format(keyword, keyword_to_module_type[keyword]))
end
ins("|}")
return table.concat(parts, "\n")
end
return export
7k7fdmmsuapwbugezw7sk8o8u16fb3q
साँचा:request box
10
305024
488675
479851
2026-09-12T19:47:09Z
SM7
6218
सफाई
488675
wikitext
text/x-wiki
{{#ifeq:{{yesno|{{{inline|}}}}}|yes|{{maintenance line|{{{2}}}}}
|<div class="noprint request-box" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{{{!}} style="background:#FFFFFF; width:90%; margin: auto; border:1px dashed #999999; text-align:left"
{{!}}{{{1}}}
{{!}}{{{2}}}
{{!}}}</div>}}<noinclude>{{documentation}}</noinclude>
0n7q2ol98yrh38ls2qfi5wepgmm98lt
488681
488675
2026-09-12T19:59:06Z
SM7
6218
updating...
488681
wikitext
text/x-wiki
{{#invoke:checkparams|error}}<!-- Validate template parameters
--><templatestyles src="Module:message box/styles.css" />{{#ifeq:{{yesno|{{{inline|}}}}}|yes|{{maintenance line|{{{2}}}}}
|<div class="noprint request-box" style="width: fit-content">
{{{!}}
{{!}}{{{1}}}
{{!}}{{{2}}}
{{!}}}</div>}}<!--
--><noinclude>{{documentation}}</noinclude>
h2fcg1bmjq0i7fbdgbwm54672hqp22g
वाकप्रवाह
0
305620
488660
484479
2026-09-12T19:41:11Z
SM7
6218
सफाई
488660
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''वाकप्रवाह''' संज्ञा पुंलिंग ● [सं॰ *वाक्* + *प्रवाह*]
1. धाराप्रवाह बोलने की योग्यता।
2. वाणी की सहजता और प्रभावशीलता।
== व्युत्पत्ति ==
संस्कृत *वाक्* (वाणी) + *प्रवाह* (प्रवाह, बहाव)
== उच्चारण ==
IPA: /ʋɑːkprəʋɑːh/
== पर्यायवाची ==
* भाषण-कौशल
* वाणी-प्रवाह
* वक्तृत्व
== विलोम ==
* वाक-अटकल
* अस्पष्ट वाणी
== उदाहरण ==
* उनका वाकप्रवाह सबको मंत्रमुग्ध कर देता है।
dvapuonqjdwpjf2x82ec1zxvmltgvgs
तर्कवीणा
0
305628
488669
484508
2026-09-12T19:44:58Z
SM7
6218
सफाई
488669
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''तर्कवीणा''' संज्ञा स्त्रीलिंग ● [सं॰ *तर्क* + *वीणा*]
1. तार्किकता और कोमलता का अद्भुत मिश्रण।
2. ऐसी वाणी जो तर्कपूर्ण और मधुर हो।
== व्युत्पत्ति ==
*तर्क* (विचार, युक्ति) + *वीणा* (वाद्ययंत्र, कोमलता का प्रतीक)
== उच्चारण ==
IPA: /t̪ərkʋiːɳɑː/
== पर्यायवाची ==
* युक्तियुक्त वाणी
* मधुर तर्क
* बुद्धिमय भाषण
== उदाहरण ==
* उसकी तर्कवीणा सबके मन को भा गई।
mx0vxl5zr5myzqcullwvdcfuftuonpw
शब्दकिरण
0
305631
488673
484511
2026-09-12T19:46:12Z
SM7
6218
सफाई
488673
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''शब्दकिरण''' संज्ञा स्त्रीलिंग ● [सं॰ *शब्द* + *किरण*]
1. ऐसा शब्द जो प्रकाश के समान प्रभाव डालता हो।
2. ज्ञानप्रद, प्रेरणादायक या प्रकाशमान अभिव्यक्ति।
== व्युत्पत्ति ==
*शब्द* (उच्चारित ध्वनि) + *किरण* (प्रकाश-रेखा)
== उच्चारण ==
IPA: /ʃəb.d̪ə.kɪ.rəɳ/
== पर्यायवाची ==
* वाक्यप्रकाश
* दीपशब्द
* वाणीप्रभा
== उदाहरण ==
* शिक्षक की एक शब्दकिरण ने छात्र का जीवन बदल दिया।
tmwkzzttdffhom0vbo6bx95iqd25y4g
भावपुष्प
0
305633
488670
484513
2026-09-12T19:45:43Z
SM7
6218
सफाई
488670
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''भावपुष्प''' संज्ञा पुंलिंग ● [सं॰ *भाव* + *पुष्प*]
1. प्रेम, करुणा, श्रद्धा आदि भावों का प्रतीकात्मक पुष्प।
2. आंतरिक अनुभूति की कोमल अभिव्यक्ति।
== व्युत्पत्ति ==
*भाव* (संवेदना) + *पुष्प* (फूल)
== उच्चारण ==
IPA: /bʱɑːʋpʊʃp/
== पर्यायवाची ==
* भावना-प्रस्तुति
* श्रद्धाफूल
* अंतःकुसुम
== उदाहरण ==
* उसने माँ के चरणों में भावपुष्प अर्पित किए।
3vbjnml41bav4bdv5d33wzhqiaa45bo
करुणावाणी
0
305635
488671
484515
2026-09-12T19:45:54Z
SM7
6218
सफाई
488671
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''करुणावाणी''' संज्ञा स्त्रीलिंग ● [सं॰ *करुणा* + *वाणी*]
1. करुणा से परिपूर्ण मीठी और सहानुभूतिपूर्ण भाषा।
2. सांत्वना देने वाली संवेदनशील वाणी।
== उदाहरण ==
* उसकी करुणावाणी ने सबके आंसू पोंछ दिए।
guch58l6l5uif75mq0sgm98m0zxad48
दृष्टिपुष्प
0
305650
488662
484530
2026-09-12T19:43:37Z
SM7
6218
सफाई
488662
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''दृष्टिपुष्प''' संज्ञा पुंलिंग ● [सं॰ *दृष्टि* + *पुष्प*]
1. वह दृश्य जो अत्यंत सुंदर और शांतिप्रद हो।
2. नेत्रों से अनुभूत सौंदर्य।
== उदाहरण ==
* हिमालय का दृश्य एक दृष्टिपुष्प के समान है।
8puirzgx9ubra23uo3yzwc7eojsng0z
विचारांजन
0
305673
488668
484553
2026-09-12T19:44:46Z
SM7
6218
सफाई
488668
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''विचारांजन''' संज्ञा पुंलिंग ● [सं॰ *विचार* + *आंजन* (नेत्रों को सजाने वाला)]
1. ऐसा विचार जो दृष्टिकोण को सुंदर बना दे।
2. दृष्टिकोण में स्पष्टता लाने वाला तत्व।
== उदाहरण ==
* उसका व्याख्यान मेरे लिए एक विचारांजन सिद्ध हुआ।
em4kfpcg4lnz35zcsbrnpaf8widsedn
भावगंध
0
305680
488661
484560
2026-09-12T19:41:34Z
SM7
6218
सफाई
488661
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''भावगंध''' संज्ञा स्त्रीलिंग ● [सं॰ *भाव* + *गंध*]
1. ऐसी अनुभूति जो किसी भावना की गंध की तरह हो।
2. सूक्ष्म भावनात्मक संकेत।
== उदाहरण ==
* उसकी आंखों में ममता की भावगंध थी।
i0c3wsoaw771e7mxzlrrfc23e6hak7a
सत्यगंधा
0
305683
488665
484563
2026-09-12T19:44:11Z
SM7
6218
सफाई
488665
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''सत्यगंधा''' संज्ञा स्त्रीलिंग ● [सं॰ *सत्य* + *गंधा*]
1. वह जिसकी उपस्थिति से सत्य की सुगंध आए।
2. सत्यप्रिय स्त्री का काव्यात्मक रूप।
== उदाहरण ==
* उसके स्वभाव में सत्यगंधा की महक थी।
sr00o4h9if9bd7035u6zoqqdt7mtdi8
प्रेमदीप
0
305687
488674
484567
2026-09-12T19:46:21Z
SM7
6218
सफाई
488674
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''प्रेमदीप''' संज्ञा पुंलिंग ● [सं॰ *प्रेम* + *दीप*]
1. प्रेम से जगमगाता दीपक।
2. प्रेम की उज्ज्वलता का प्रतीक।
== उदाहरण ==
* माँ का हृदय एक सच्चा प्रेमदीप होता है।
bwvo7533ksnqld2rfsyoaf1n7lq1chl
संवाददीपक
0
305707
488658
484587
2026-09-12T19:40:17Z
SM7
6218
सफाई
488658
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''संवाददीपक''' संज्ञा पुंलिंग ● [सं॰ *संवाद* + *दीपक*]
1. संवाद में प्रकाश फैलाने वाला तत्व।
2. स्पष्ट, रोचक और प्रभावी बातचीत।
== उदाहरण ==
* शिक्षक एक संवाददीपक की भाँति बोलते हैं।
j66gjbh0owaejerh3wycjb58f7aawe2
संवेदशक्ति
0
305721
488672
484601
2026-09-12T19:46:03Z
SM7
6218
सफाई
488672
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''संवेदशक्ति''' संज्ञा स्त्रीलिंग ● [सं॰ *संवेदना* + *शक्ति*]
1. संवेदना के प्रति तीव्रता।
2. भावनात्मक जागरूकता की शक्ति।
== उदाहरण ==
* एक कवि में उच्च संवेदशक्ति होती है।
25frjmbzlpl45xdvvcs1qbyffsbg2s3
सत्यदीपिका
0
305724
488666
484604
2026-09-12T19:44:21Z
SM7
6218
सफाई
488666
wikitext
text/x-wiki
= {{हिन्दी}} =
== प्रकाशितकोशों से अर्थ ==
'''सत्यदीपिका''' संज्ञा स्त्रीलिंग ● [सं॰ *सत्य* + *दीपिका*]
1. सच्चाई की रोशनी फैलाने वाली स्त्री।
2. सत्य पथ की प्रेरक महिला।
== उदाहरण ==
* वह न्यायाधीश एक सत्यदीपिका बनकर समाज में छा गई।
eqhke11pws6sa4fyxz6b7q52o6fam3a
मोरनीली
0
305797
488677
484820
2026-09-12T19:48:39Z
SM7
6218
सफाई
488677
wikitext
text/x-wiki
==हिन्दी==
===विशेषण===
{{hi-adj}}
'''मोरनीली''' (उच्चारण: /moːr.niː.liː/)
# (काव्यात्मक, रंग-परिधान) मोर के पंखों जैसे रंग-बिरंगे, चमकीले और आकर्षक रंगों वाला।
# विशेष रूप से वस्त्र, सजावट, झुमके या कला में प्रयोग होने वाली रंगीन चमक के लिए प्रयुक्त।
====लिंग====
* विशेषण (पुल्लिंग/स्त्रीलिंग/नपुंसकलिंग) — वाक्य में निर्भर करता है।
====व्युत्पत्ति====
“मोर” (शुभ और सुंदर पक्षी) + “नीली” (नीले रंग से प्रेरित)– से उत्पन्न शब्द, जो रंगों के बहुरंगी, मोरी-चमकीले स्वरूप को दर्शाता है।
===उदाहरण वाक्य===
* उसने समारोह में मोरनीली साड़ी पहनी जो सभी की निगाहें खींच गईं।
* कलाकारी में मोरनीले झुमके बहुत प्रचलित हैं।
====समानार्थक शब्द====
* रंगीन (raṅgīn)
* बहुरंगी (bahuraṅgī)
* रंगदार (raṅgdār)
====संबंधित शब्द====
* मोर
* नील (नीला रंग)
* चमक
alx31m4le8kf1vv67mylnfihboksymu
तथास्तु
0
305832
488663
484857
2026-09-12T19:43:48Z
SM7
6218
सफाई
488663
wikitext
text/x-wiki
== हिन्दी ==
=== अव्यय / पद ===
तथास्तु (उच्चारण: /तथा-अस्तु/)
"ऐसा ही हो", "वैसा ही हो" के अर्थ में प्रयुक्त एक धार्मिक-संस्कृतिक अभिव्यक्ति।
किसी प्रार्थना, आशीर्वाद या शुभकामना को स्वीकार करने के लिए प्रयुक्त शब्द।
=== व्युत्पत्ति ===
संस्कृत ''तथा'' (ऐसा) + ''अस्तु'' (हो)
=== उदाहरण वाक्य ===
* भक्त ने भगवान से प्रार्थना की और भगवान ने कहा — "तथास्तु।"
* गुरु ने शिष्य की कामना सुनकर कहा, "तथास्तु, तुम्हें सफलता मिले।"
=== समान अर्थ वाले शब्द ===
* ऐसा ही हो
* शुभं भवतु (समानार्थक संस्कृत वाक्यांश)
=== संबंधित शब्द ===
* [[आशीर्वाद]]
* शुभकामना
* स्वीकारोक्ति
kugf1u5on4g09chvayiq8dqy2p0tptx
ब्रजभाषा
0
306824
488659
487459
2026-09-12T19:40:52Z
SM7
6218
सफाई
488659
wikitext
text/x-wiki
= {{हिन्दी}} =
== व्युत्पत्ति ==
[[ब्रज]] + [[भाषा]]
== संज्ञा ==
'''ब्रजभाषा''' संज्ञा स्त्री॰ [सं॰]
# [[हिन्दी]] की एक प्रमुख पश्चिमी हिन्दी [[उपभाषा]], जो मुख्यतः ब्रज क्षेत्र ([[मथुरा]], [[वृन्दावन]], आगरा, भरतपुर, अलीगढ़ आदि) में बोली जाती है।
# [[भक्ति काल]] और [[रीति काल]] के अनेक [[कवि|कवियों]] की प्रमुख [[साहित्यिक भाषा]]।
== सरल अर्थ ==
# [[ब्रज]] क्षेत्र की बोली जाने वाली [[भाषा]]।
# [[हिन्दी]] की एक प्रमुख साहित्यिक [[उपभाषा]]।
== उदाहरण ==
* [[सूरदास]] ने अपने अधिकांश [[पद]] [[ब्रजभाषा]] में रचे।
* [[रसखान]] और नंददास की रचनाएँ [[ब्रजभाषा]] की अमूल्य धरोहर हैं।
* आज भी ब्रज क्षेत्र में [[ब्रजभाषा]] व्यापक रूप से बोली जाती है।
== व्युत्पत्ति ==
[[ब्रज]] + [[भाषा]]
== सम्बन्धित शब्द ==
* [[ब्रज]]
* [[भाषा]]
* [[हिन्दी]]
* [[पश्चिमी हिन्दी]]
* [[अवधी]]
* [[बुन्देली]]
* [[कन्नौजी]]
== प्रयोग ==
[[ब्रजभाषा]] का प्रयोग विशेष रूप से [mभक्ति साहित्य, कृष्ण भक्ति, [[काव्य]] तथा रीति साहित्य में हुआ है। [[सूरदास]], [[रसखान]], [[बिहारी]], नंददास और [[घनानंद]] जैसे अनेक कवियों ने इसी [[भाषा]] में काव्य-रचना की है।
mwabx7h5trzlr00yjw2jq3dntthytdi
मॉड्यूल:languages/chars
828
306881
488627
487605
2026-09-12T16:12:01Z
SM7
6218
updating...
488627
Scribunto
text/plain
local export = {}
local table = table
local insert = table.insert
local u = require("Module:string/char")
-- UTF-8 encoded strings for some commonly-used diacritics.
local c = {
prime = u(0x02B9),
grave = u(0x0300),
acute = u(0x0301),
circ = u(0x0302), -- circumflex
tilde = u(0x0303),
macron = u(0x0304),
overline = u(0x0305),
breve = u(0x0306),
dotabove = u(0x0307),
diaer = u(0x0308), -- diaeresis
ringabove = u(0x030A),
dacute = u(0x030B), -- double acute
caron = u(0x030C),
lineabove = u(0x030D),
dgrave = u(0x030F), -- double grave
invbreve = u(0x0311), -- inverted breve
turnedcommaabove = u(0x0312),
commaabove = u(0x0313),
revcommaabove = u(0x0314), -- reversed comma above
dotbelow = u(0x0323),
diaerbelow = u(0x0324), -- diaeresis below
ringbelow = u(0x0325),
commabelow = u(0x0326),
cedilla = u(0x0327),
ogonek = u(0x0328),
caronbelow = u(0x032C),
brevebelow = u(0x032E),
macronbelow = u(0x0331),
perispomeni = u(0x0342),
ypogegrammeni = u(0x0345),
CGJ = u(0x034F), -- combining grapheme joiner
zigzag = u(0x035B),
dbrevebelow = u(0x035C), -- double breve below
dmacron = u(0x035E), -- double macron
dtilde = u(0x0360), -- double tilde
dinvbreve = u(0x0361), -- double inverted breve
small_a = u(0x0363),
small_e = u(0x0364),
small_i = u(0x0365),
small_o = u(0x0366),
small_u = u(0x0367),
keraia = u(0x0374),
lowerkeraia = u(0x0375),
tonos = u(0x0384),
palatalization = u(0x0484),
dasiapneumata = u(0x0485),
psilipneumata = u(0x0486),
kashida = u(0x0640),
fathatan = u(0x064B),
dammatan = u(0x064C),
kasratan = u(0x064D),
fatha = u(0x064E),
damma = u(0x064F),
kasra = u(0x0650),
shadda = u(0x0651),
sukun = u(0x0652),
hamzaabove = u(0x0654),
nunghunna = u(0x0658),
zwarakay = u(0x0659),
smallv = u(0x065A),
superalef = u(0x0670),
udatta = u(0x0951),
anudatta = u(0x0952),
tacute = u(0x1ACB), -- triple acute
dsvarita = u(0x1CDA), -- double svarita
tsvarita = u(0x1CDB), -- triple svarita
dottedgrave = u(0x1DC0),
dottedacute = u(0x1DC1),
coronis = u(0x1FBD),
psili = u(0x1FBF),
dasia = u(0x1FEF),
ZWNJ = u(0x200C), -- zero width non-joiner
ZWJ = u(0x200D), -- zero width joiner
RSQuo = u(0x2019), -- right single quote
kavyka = u(0xA67C),
VS01 = u(0xFE00), -- variation selector 1
-- Punctuation for the standard_chars field.
-- Note: characters are literal (i.e. no magic characters).
punc = " ',-‐‑‒–—…∅◌",
-- Range covering all diacritics.
diacritics = u(0x300) .. "-" .. u(0x34E) ..
u(0x350) .. "-" .. u(0x36F) ..
u(0x1AB0) .. "-" .. u(0x1ACE) ..
u(0x1DC0) .. "-" .. u(0x1DFF) ..
u(0x20D0) .. "-" .. u(0x20F0) ..
u(0xFE20) .. "-" .. u(0xFE2F),
}
-- Braille characters for the standard_chars field.
local braille = {}
for i = 0x2800, 0x28FF do
insert(braille, u(i))
end
c.braille = table.concat(braille)
export.chars = c
-- Pre-generate PUA characters, generally used in sortkeys.
-- Note: if changing the amount, use powers of 2 to maximise memory efficiency (due to the way memory is allocated for tables).
local p = {}
for i = 1, 32 do
p[i] = u(0xF000+i-1)
end
export.puaChars = p
local cs = {}
-- Used in the default strip_diacritics and sort_key for Cyrs, but also used directly by Old Ruthenian (zle-ort).
cs["Cyrs_remove_diacritics"] = c.grave .. c.acute .. c.dotabove .. c.diaer .. c.invbreve .. c.palatalization .. c.dasiapneumata .. c.psilipneumata .. c.dottedgrave .. c.dottedacute .. c.kavyka
export.chars_substitutions = cs
return export
4jo6gnddmlyjm1f3me7obw2m2tjok4g
साँचा:t+/documentation
10
307208
488605
2026-09-12T12:25:24Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488605
wikitext
text/x-wiki
{{documentation subpage}}
<!-- Add categories and interwikis at the bottom of this page. -->
{{#switch: {{PAGENAME}}
|tt|tt+=
|#default={{uses lua|Module:translations}}
}}
<noinclude>::''[[Template:t+/documentation]], [[Template:t-check/documentation]] and [[Template:t+check/documentation]] redirect here.''</noinclude>
Use this template in the Translations section to format a translation of an English entry.
There are several translation templates:
* {{tl|t}} is the default, and is the one that human editors should use most when adding a translation.
* {{tl|t-check}} marks translations which need attention.
* {{tl|t+}} and {{tl|t+check}} are the same as {{tl|t}} and {{tl|t-check}}, respectively, except that they add a superscript link to the corresponding entry on the foreign-language Wiktionary. (For example, {{tl|t+|fr|le}} has a link to [[:fr:le]].) Various automated tools will change {{tl|t}} to {{tl|t+}} or {{tl|t-check}} to {{tl|t+check}} if the translation has an existing entry on the foreign-language Wiktionary. You can also do this manually, if you like, if you know that the entry exists.
* {{tl|no equivalent translation}} when a language has no corresponding term and only an unidiomatic translation is provided. However, if it is the sole commonly used translation in that language, then one of the above templates should be used instead.
* {{tl|no attested translation}} when no term which would pass [[WT:CFI]] exists in the language. Most commonly used for concepts which would be foreign to speakers of the language, who would have to employ [[code-switching]] to discuss the term. If a term is unadapted from the source language but nevertheless would pass [[WT:CFI]], then one of the above templates should be used instead.
* {{tl|not used}} when a language lacks the term. Most commonly used for grammatical words absent in other languages such as [[the#Translations|the]], though not limited to such.
* {{tl|t-needed}} to request a missing translation.
* {{tl|tt}}, {{tl|tt+}}, {{tl|tt-check}} and {{tl|tt+check}} are logically equivalent to {{tl|t}}, {{tl|t+}}, {{tl|t-check}} and {{tl|t+check}} (respectively), but only work inside of {{tl|multitrans}}. {{tl|multitrans}} is able to achieve major reductions in memory usage to help combat ongoing issues with [[Wiktionary:Lua memory errors|Lua memory errors]], but requires these special templates in order to work properly.
The implementation of these templates is performed by [[Module:translations]].
==Parameters==
; {{para|1|req=1}}
: Language code. See [[Wiktionary:Languages]].
; {{para|2|req=1}}
: Entry name of the translated word. This supports all the features that {{temp|l}} does: diacritics will be removed automatically from words in certain languages, embedded wikilinks will be processed properly, and the script and transliteration will be handled automatically if not provided.
; {{para|3}}, {{para|4}}, {{para|5}}, … (all optional)
: Gender/number specification(s), using the codes provided by [[Module:gender and number]]; If multiple codes are used (separated by a "|"), they will be displayed in the order given.
; {{para|sc|opt=1}}
: Specifies a script code, see [[Wiktionary:Scripts]]. This is only needed if the script used in the translation is not one of the normal scripts of the language, or if script detection fails to detect the script correctly.
; {{para|tr|opt=1}}
: Specifies the transliteration into roman (Latin) script, as also shown in the example below. A transliteration may be automatically generated for certain languages, if none was provided. Use {{para|tr|-}} if you don't want a transliteration to be automatically generated (you shouldn't really ever do this in an entry).
: '''Note''' that transliterations should be in the Latin script. Japanese entries are discouraged to have kana transliteration, see example below.
; {{para|alt|opt=1}}
: Specifies an alternate form of the word, not the pagename, to be displayed.
; {{para|lit|opt=1}}
: Adds a literal translation for the term.
; {{para|id|opt=1}}
: Links to a {{temp|senseid}} tag on the target page.
==Examples==
Below are some examples in the entry {{m|en|butterfly}}. Translation entries should be introduced with a bulleted list and the language name. Language variants (such as dialects of Arabic and Chinese), scripts (such as Serbo-Croatian in Latin and Cyrillic){{,}} and written standards (such as Norwegian {{w|Bokmål and Nynorsk}}) may be introduced with indented bullets.
<syntaxhighlight lang="wikitext">
* Arabic: {{t|ar|فَرَاشَة|f}}
* Bengali: {{t|bn|প্রজাপতি|tr=projapoti, prajapati}}
* Chinese:
*: Cantonese: {{t|yue|蝴蝶|tr=wu4 dip6-2}}
*: Mandarin: {{t+|cmn|蝴蝶|tr=húdié}}
* Dhuwal: {{t+|dwu|buurnba}}
* Japanese: {{t+|ja|胡蝶|tr=kochō}}, {{t+|ja|チョウ|tr=chō}}
* Javanese: {{t+|jv|ꦏꦸꦥꦸ}}
* Latin: {{t|la|pāpiliō}}
* Russian: {{t+|ru|ба́бочка|f}}
* Serbo-Croatian:
*: Cyrillic: {{t|sh|ле̏птӣр|m}}
*: Latin: {{t|sh|lȅptīr|m}}
* Tamil: {{t+|ta|வண்ணத்துப்பூச்சி|lit=color insect}}
* Yoruba: {{t|yo|labalábá}}
</syntaxhighlight>
* Arabic: {{t|ar|فَرَاشَة|f}}
* Bengali: {{t|bn|প্রজাপতি|tr=projapoti, prajapati}}
* Chinese:
*: Cantonese: {{t|yue|蝴蝶|tr=wu4 dip6-2}}
*: Mandarin: {{t+|cmn|蝴蝶|tr=húdié}}
* Dhuwal: {{t+|dwu|buurnba}}
* Japanese: {{t+|ja|胡蝶|tr=kochō}}, {{t+|ja|チョウ|tr=chō}}
* Javanese: {{t+|jv|ꦏꦸꦥꦸ}}
* Latin: {{t|la|pāpiliō}}
* Russian: {{t+|ru|ба́бочка|f}}
* Serbo-Croatian:
*: Cyrillic: {{t|sh|ле̏птӣр|m}}
*: Latin: {{t|sh|lȅptīr|m}}
* Tamil: {{t+|ta|வண்ணத்துப்பூச்சி|lit=color insect}}
* Yoruba: {{t|yo|labalábá}}
==Technical explanation of the {{tl|multitrans}} templates ==
This is a technical explanation for the four {{tl|multitrans}} templates, {{tl|tt}}, {{tl|tt+}}, {{tl|tt-check}} and {{tl|tt+check}}, which use complex and highly obfuscated template code which is difficult to understand:
* {{tl|((}} expands to {{code|{{((}}}}.
* {{tl|))}} expands to {{code|{{))}}}}.
* {{tl|!}} expands to {{code|{{!}}}}.
* All parameters except for {{code|1}} use {{tl|#if:}}, meaning they are only present on expansion if they are specified and not blank, since the preceding {{code|{{!}}}} is only included if the parameter is present; e.g. {{tl|#if:<nowiki>{{{foo|}}}|{{!}}foo={{{foo}}}</nowiki>}} becomes <code>|foo=<var>foo</var></code> on expansion.
* Parameter 1 is passed to {{tl|multitrans}} as the empty string if blank/unspecified, as this is the format expected by {{lua|getByCode}} in [[Module:languages]].
* Parameters 3+ are converted into a comma-separated list, with any gaps removed, which is faster to parse. {{tl|padleft:}} is used to trim; e.g. {{tl|padleft: foo }} expands to {{code|foo}}.
==Template Data==
{{TemplateData header}}
<templatedata>
{
"params": {
"1": {
"label": "Language",
"description": "Wiktionary language code for the language of translation",
"example": "\"fr\"; \"cmn\"",
"type": "line",
"required": true
},
"2": {
"label": "Term",
"description": "The word or phrase being linked to, that translates the word",
"example": "情話",
"type": "line",
"required": true
},
"sc": {
"label": "Script code",
"description": "Specifies a Wiktionary script code. This is only needed if the script used in the translation is not one of the normal scripts of the language, or if script detection fails to detect the script correctly.",
"example": "Hani",
"type": "line"
},
"tr": {
"label": "Transliteration",
"description": "Specifies the transliteration into Latin script, as also shown in the example below. A transliteration may be automatically generated for certain languages, if none was provided.",
"type": "line"
},
"alt": {
"label": "Alternate term displayed",
"description": "Specifies an alternate form of the word, not the pagename, to be displayed.",
"example": "likes",
"type": "line"
},
"lit": {
"label": "Literally",
"description": "A literal translation for the term",
"example": "alcohol store",
"type": "string"
},
"id": {
"label": "Sense ID",
"description": "Links to a {{temp|senseid}} tag on the target page.",
"type": "line"
}
},
"description": "Links a translation; meant to be used in between {{trans-top}} and {{trans-bottom}}.",
"format": "inline"
}
</templatedata>
== इन्हें भी देखें ==
* {{tl|trans-top}}
* {{tl|trans-bottom}}
<includeonly>
[[श्रेणी:अनुवाद साँचे]]
</includeonly>
1ejntb4hz6o69w52j70uc2gstfspvkq
साँचा:lua/documentation
10
307209
488607
2026-09-12T12:31:30Z
SM7
6218
"{{documentation subpage}} This template is used to wrap and add syntax highlighting to Lua code snippets, for use in documentation pages. Examples: 1. A simple example: <code><nowiki>{{lua|"foo bar"}}</nowiki></code> produces {{lua|"foo bar"}} 2. A more complex example: <code><nowiki>{{lua|1={spec = "gender/number_spec", qualifiers = nil or {"qualifier1", "qualifier2", ...} }}</nowiki></code> produces {{lua|1={spec = "g..." के साथ नया पृष्ठ बनाया
488607
wikitext
text/x-wiki
{{documentation subpage}}
This template is used to wrap and add syntax highlighting to Lua code snippets, for use in documentation pages. Examples:
1. A simple example:
<code><nowiki>{{lua|"foo bar"}}</nowiki></code>
produces
{{lua|"foo bar"}}
2. A more complex example:
<code><nowiki>{{lua|1={spec = "gender/number_spec", qualifiers = nil or {"qualifier1", "qualifier2", ...} }}</nowiki></code>
produces
{{lua|1={spec = "gender/number_spec", qualifiers = nil or {"qualifier1", "qualifier2", ...} }}
Note in the latter case, the param {{para|1}} needs to be explicitly given to avoid the equal signs in the code snippet from being interpreted as specifying named parameters, and a space is used at the end of the snippet to avoid parser problems with three braces in a row.
; {{para|inline|0}}
By default, the output is inline. Disable to use it, for example, in code blocks.
{{lua|inline=0|1=-- defines a factorial function
function fact (n)
if n == 0 then
return 1
else
return n * fact(n-1)
end
end
print("enter a number:")
a = io.read("*number") -- read a number
print(fact(a))
}}
===See also===
* {{temp|uses lua}} – a box for templates that use Lua
<includeonly>
[[Category:Documentation templates]]
</includeonly>
2ir60je17xauc67fnrvphy7gyb7xnql
मॉड्यूल:Armn-translit
828
307210
488608
2026-09-12T13:00:27Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488608
Scribunto
text/plain
local export = {}
local gsub = require("Module:string utilities").gsub
local mapping = {
["ա"]="a", ["բ"]="b", ["գ"]="g", ["դ"]="d", ["ե"]="e", ["զ"]="z",["է"]="ē", ["ը"]="ə",
["թ"]="tʻ", ["ժ"]="ž", ["ի"]="i", ["լ"]="l", ["խ"]="x", ["ծ"]="c", ["կ"]="k", ["հ"]="h",
["ձ"]="j", ["ղ"]="ġ", ["ճ"]="č", ["մ"]="m", ["յ"]="y", ["ն"]="n", ["շ"]="š", ["ո"]="o",
["չ"]="čʻ", ["պ"]="p", ["ջ"]="ǰ", ["ռ"]="ṙ", ["ս"]="s", ["վ"]="v", ["տ"]="t", ["ր"]="r",
["ց"]="cʻ", ["ւ"]="w", ["փ"]="pʻ", ["ք"]="kʻ", ["և"]="ew", ["օ"]="ō", ["ֆ"]="f",
["Ա"]="A", ["Բ"]="B", ["Գ"]="G", ["Դ"]="D", ["Ե"]="E", ["Զ"]="Z", ["Է"]="Ē", ["Ը"]="Ə",
["Թ"]="Tʻ", ["Ժ"]="Ž", ["Ի"]="I", ["Լ"]="L", ["Խ"]="X", ["Ծ"]="C", ["Կ"]="K", ["Հ"]="H",
["Ձ"]="J", ["Ղ"]="Ġ", ["Ճ"]="Č", ["Մ"]="M", ["Յ"]="Y", ["Ն"]="N", ["Շ"]="Š", ["Ո"]="O",
["Չ"]="Čʻ", ["Պ"]="P", ["Ջ"]="J̌", ["Ռ"]="Ṙ", ["Ս"]="S", ["Վ"]="V", ["Տ"]="T", ["Ր"]="R",
["Ց"]="Cʻ", ["Ւ"]="W", ["Փ"]="Pʻ", ["Ք"]="Kʻ", ["Օ"]="Ō", ["Ֆ"]="F", ["ﬓ"]="mn", ["ﬔ"]="me",
["ﬕ"]="mi", ["ﬖ"]="vn", ["ﬗ"]="mx", ["ՠ"]="ä", ["ֈ"]="hª",
-- punctuation
["՝"]=",", ["։"]=".", ["․"]=";", ["՛"]="́", ["՜"]="<sup>!</sup>", ["՞"]="<sup>?</sup>",
["՟"]=".", ["֊"]="-", ["՚"]="’", ['«']='“', ['»']='”', ['ՙ']='ʻ'
}
local replacements = {
-- desirable, but doesn't work: ['<sup>յ</sup>'] = 'ʸ',
['յ̵'] = mapping['ֈ'],
['ղʻ'] = 'q',
['Ո[ւՒ]'] = 'U',
['ու'] = 'u',
['Ո՛[ւՒ]'] = 'Ú',
['ո՛ւ'] = 'ú',
['Ո՜[ւՒ]'] = 'U<sup>!</sup>',
['ո՜ւ'] = 'u<sup>!</sup>',
['Ո՞[ւՒ]'] = 'U<sup>?</sup>',
['ո՞ւ'] = 'u<sup>?</sup>',
['ո̈ւ'] = 'ü',
['Ո̈[ւՒ]'] = 'Ü',
['օ̈'] = 'ö',
['Օ̈'] = 'Ö',
}
function export.tr(text, lang, sc)
if type(lang) == "table" then
lang = lang:getFullCode()
end
if lang == "xcl" then
mapping["ղ"]="ł"
mapping["Ղ"]="Ł"
end
for regex, replacement in pairs(replacements) do
text = gsub(text, regex, replacement)
end
text = gsub(text, '.', mapping)
return text
end
return export
trg958hw65tbx7azvx23wgmgm27srsg
मॉड्यूल:Geor-translit
828
307211
488609
2026-09-12T13:01:22Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488609
Scribunto
text/plain
local m_str_utils = require("Module:string utilities")
local codepoint = m_str_utils.codepoint
local gsub = m_str_utils.gsub
local u = m_str_utils.char
local upper = m_str_utils.upper
local export = {}
-- Keep synchronized with [[Module:sva-translit]] and [[Module:Geok-translit]]
local tt = {
["ა"]="a", ["ბ"]="b", ["გ"]="g", ["დ"]="d", ["ე"]="e", ["ვ"]="v", ["ზ"]="z", ["ჱ"]="ē",
["თ"]="t", ["ი"]="i", ["კ"]="ḳ", ["ლ"]="l", ["მ"]="m", ["ნ"]="n", ["ჲ"]="y", ["ო"]="o",
["პ"]="ṗ", ["ჟ"]="ž", ["რ"]="r", ["ს"]="s", ["ტ"]="ṭ", ["ჳ"]="wi", ["უ"]="u", ["ფ"]="p",
["ქ"]="k", ["ღ"]="ɣ", ["ყ"]="q̇", ["შ"]="š", ["ჩ"]="č", ["ც"]="c",
["ძ"]="ʒ", ["წ"]="c̣", ["ჭ"]="č̣", ["ხ"]="x", ["ჴ"]="q", ["ჯ"]="ǯ", ["ჰ"]="h", ["ჵ"]="'", ["ჶ"]="f", ["ჷ"]="ə", ["ჸ"]="ʾ", ["ჺ"]="ʿ", ["ʻ"]="ˢ",
};
function export.tr(text, lang, sc)
-- Transliterating vowel nasalization in Bats
text = gsub(text, 'ჼ', '̃')
text = gsub(text, '<sup>ნ</sup>', '̃')
-- Transliterate uppercase characters from the Georgian Extended block as
-- the uppercase version of the transliteration of the lowercase characters
-- from the Georgian block.
-- U+10D0: start of Georgian block
-- U+1C90: start of Georgian Extended block
text = gsub(
text,
'[' .. u(0x1C90) .. '-' .. u(0x1CBF) .. ']',
function (char)
local translit = tt[u(codepoint(char) - 0x1C90 + 0x10D0 )]
return translit and upper(translit)
end)
text = gsub(text, '.', tt)
return text
end
return export
0o2k026j1zfld8ltrh6texonj92i4qn
मॉड्यूल:Cans-translit
828
307212
488610
2026-09-12T13:02:22Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488610
Scribunto
text/plain
local export = {}
-- to be discussed: not to create this module, but create individual modules instead?
local UTF8_char = "[%z\1-\127\194-\244][\128-\191]*"
local function iter_char(str)
return string.gmatch(str, UTF8_char)
end
local function len(str)
local _, length = string.gsub(str, UTF8_char, "")
return length
end
local function fetch(str, index)
local i = 0
for char in iter_char(str) do
i = i + 1
if i == index then
return char
end
end
return ""
end
function export.tr(text, lang, sc)
local data = {
{ --short-vowel
"ᐁᐃᐅᐊᐯᐱᐳᐸᑌᑎᑐᑕᑫᑭᑯᑲᒉᒋᒍᒐᒣᒥᒧᒪᓀᓂᓄᓇᓭᓯᓱᓴᔦᔨᔪᔭᖊᖋᖌᖍᕃᕆᕈᕍᕂᕄᕊᕋᔐᔑᔓᔕᕓᕕᕗᕙᕞᕠᕤᕦᘚᘛᘕᘔᓓᓕᓗᓚᙯᕿᖁᖃᙰᖏᖑᖓ ᙱᙳᙵᕴᕵᕷᕹ",
"1ptkcmnsyrrršfðzlq23h",
{"","ng","nng"},
"eioa",
function(a,b)
return a..b
end
},
{ --w
"ᐌᐍᐎᐏᐒᐓᐗᐘᐺᐻᐼᐽᑀᑁᑄᑅᑗᑘᑙᑚᑝᑞᑡᑢᑴᑵᑶᑷᑺᑻᑾᑿᒒᒓᒔᒕᒘᒙᒜᒝᒬᒭᒮᒯᒲᒳᒶᒷ"
.. "ᓉᓊ ᓋᓌ ᓶᓷᓸᓹᓼᓽᔀᔁᔯᔰᔱᔲᔵᔶᔹᔺᔗᔘᔙᔚᔝᔞᔡᔢᓜᓝᓞᓟᓢᓣᓦᓧ",
"1ptkcmnsyrz",
{""},
"eeiiooaa",
function(a,b)
return a..'w'..b
end
},
{ --long-vowel
"ᐄᐆᐋᐲᐴᐹᑏᑑᑖᑮᑰᑳᒌᒎᒑᒦᒨᒫᓃᓅᓈᓰᓲᓵᔩᔫᔮᕇᕉᕌᔒᔔᔖᕖᕘᕚᕢᕥᕧᓖᓘᓛᐐᐔᐙᖀᖂᖄᕶᕸᕺ",
"1ptkcmnsyršfðlwqh",
{""},
"īōā",
function(a,b)
return a..b
end
},
{ --w-long
"ᐐᐑᐔᐕᐖᐙᐚᐛᐾᐿᑂᑃ ᑆᑇᑈᑛᑜᑟᑠ ᑣᑤᑥᑸᑹᑼᑽ ᒀᒁᒂᒖᒗᒚᒛ ᒞᒟᒠᒰᒱᒴᒵ ᒸᒹᒺ ᓍᓎᓏ"
.. "ᓠᓡᓤᓥ ᓨᓩ ᓺᓻᓾᓿ ᔂᔃᔄᔛᔜᔟᔠ ᔣᔤ ᔳᔴᔷᔸ ᔻᔼᔽ ᕎᕏ ᕛᕜ ᕨᕩ ",
"1ptkcmnlsšyrfð",
{""},
"īīōōōāāā",
function(a,b)
return a..'w'..b
end
},
{ --individual
"ᑊᐟᐠᐨᒼᐣᐢᐧᐤᐦᕁᕽᓫᕑᑉᑦᒡᒃᒻᓐᔅᔥᔾᓪᕐᕪ‡ᒄᔉᖅᖕᖖᕝᖦᕀᕻᕼ",
"ptkcmnsywh11lrptckmnsšylrðð23q45vlyhh",
{"hk","kw","sk","ng","nng"},
},
}
for i, item in pairs(data) do
if item[4] then
local length = len(item[4])
local c = 0
for s in iter_char(item[1]) do
c = c + 1
local index = math.ceil(c / length)
local a = fetch(item[2], index)
if tonumber(a) then
a = item[3][tonumber(a)]
end
index = (c - 1) % length + 1
local b = fetch(item[4], index)
if s ~= " " then
text = string.gsub(text, s, item[5](a,b))
end
end
else
local iter1, iter2 = iter_char(item[1]), iter_char(item[2])
while true do
local s, a = iter1(), iter2()
if not (s and a) then
break
end
if tonumber(a) then
a = item[3][tonumber(a)]
end
text = string.gsub(text, s, a)
end
end
end
return text
end
return export
irypj6ehvl479v3gk8xjzttmse0punc
मॉड्यूल:Tibt-translit
828
307213
488611
2026-09-12T13:03:12Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488611
Scribunto
text/plain
local m_str_utils = require("Module:string utilities")
local gsub = m_str_utils.gsub
local match = m_str_utils.match
local toNFC = mw.ustring.toNFC
local upper = m_str_utils.upper
local u = m_str_utils.char
local Tibt = require("Module:Tibt-common")
local export = {}
local twoChars = {
["རྀ"] = "ṛ", ["ྲྀ"] = "ṛ", -- Primarily used in Sanskrit(-derived) borrowings.
["ལྀ"] = "ḷ", ["ླྀ"] = "ḷ",
["ཕ༹"] = "f", ["བ༹"] = "v", -- Used to transliterate Chinese.
["ཁ༹"] = "x", ["ག༹"] = "ġ", -- Used in Balti.
["ྥ༹"] = "f", ["ྦ༹"] = "v",
["ྑ༹"] = "x", ["ྒ༹"] = "ġ",
}
local oneChar = {
["ཀ"] = "k", ["ཁ"] = "kh", ["ག"] = "g", ["ང"] = "ng",
["ཅ"] = "c", ["ཆ"] = "ch", ["ཇ"] = "j", ["ཉ"] = "ny",
["ཏ"] = "t", ["ཐ"] = "th", ["ད"] = "d", ["ན"] = "n",
["པ"] = "p", ["ཕ"] = "ph", ["བ"] = "b", ["མ"] = "m",
["ཙ"] = "ts", ["ཚ"] = "tsh", ["ཛ"] = "dz", ["ཝ"] = ".w",
["ཞ"] = "zh", ["ཟ"] = "z", ["འ"] = "'", ["ཡ"] = ".y",
["ར"] = ".r", ["ཪ"] = ".r", ["ལ"] = "l", ["ཤ"] = "sh", ["ས"] = "s",
["ཧ"] = "h", ["ཨ"] = "\1",
["ཊ"] = "ṭ", ["ཋ"] = "ṭh", ["ཌ"] = "ḍ", ["ཎ"] = "ṇ", ["ཥ"] = "ṣ",
["ཫ"] = "q", ["ཬ"] = "ṛ", -- Used in Balti.
["྅"] = "ʼ", ["ྈ"] = "x", ["ྉ"] = "f", ["ྌ"] = "f", -- Used in Sanskrit.
-- Use Unicode references for non-spacing characters to avoid making it unreadable when edited in a text file.
[u(0x0F71)] = u(0x0304), [u(0x0F72)] = "i", [u(0x0F80)] = "ị", [u(0x0F74)] = "u", [u(0x0F7A)] = "e",
[u(0x0F7B)] = "ai", [u(0x0F7C)] = "o", [u(0x0F7D)] = "au",
[u(0x0F7E)] = "ṃ", [u(0x0F7F)] = "ḥ", [u(0x0F82)] = "ṃ", [u(0x0F83)] = "m̐",
[u(0x0F90)] = "k", [u(0x0F91)] = "kh", [u(0x0F92)] = "g", [u(0x0F94)] = "ng",
[u(0x0F95)] = "c", [u(0x0F96)] = "ch", [u(0x0F97)] = "j", [u(0x0F99)] = "ny",
[u(0x0F9F)] = "t", [u(0x0FA0)] = "th", [u(0x0FA1)] = "d", [u(0x0FA3)] = "n",
[u(0x0FA4)] = "p", [u(0x0FA5)] = "ph", [u(0x0FA6)] = "b", [u(0x0FA8)] = "m",
[u(0x0FA9)] = "ts", [u(0x0FAA)] = "tsh", [u(0x0FAB)] = "dz", [u(0x0FAD)] = "w", [u(0x0FBA)] = "w",
[u(0x0FAE)] = "zh", [u(0x0FAF)] = "z", [u(0x0FB0)] = "'", [u(0x0FB1)] = "y", [u(0x0FBB)] = "y",
[u(0x0FB2)] = "r", [u(0x0FBC)] = "r", [u(0x0FB3)] = "l", [u(0x0FB4)] = "sh", [u(0x0FB6)] = "s",
[u(0x0FB7)] = "h", [u(0x0FB8)] = "+a",
[u(0x0F9A)] = "ṭ", [u(0x0F9B)] = "ṭh", [u(0x0F9C)] = "ḍ", [u(0x0F9E)] = "ṇ", [u(0x0FB5)] = "ṣ",
[u(0x0F8D)] = "x", [u(0x0F8E)] = "f", [u(0x0F8F)] = "f",
}
local symbol = {
["༠"] = "0", ["༡"] = "1", ["༢"] = "2", ["༣"] = "3", ["༤"] = "4",
["༥"] = "5", ["༦"] = "6", ["༧"] = "7", ["༨"] = "8", ["༩"] = "9",
["༪"] = "0.5", ["༫"] = "1.5", ["༬"] = "2.5", ["༭"] = "3.5", ["༮"] = "4.5",
["༯"] = "5.5", ["༰"] = "6.5", ["༱"] = "7.5", ["༲"] = "8.5", ["༳"] = "9.5",
["་"] = " ", ["༌"] = "*", ["།"] = ".", ["༎"] = ". ¶", ["༏"] = ";",
["༑"] = "|", ["༈"] = "!", ["༔"] = ":", ["༼"] = "(", ["༽"] = ")",
["༺"] = "<", ["༻"] = ">",
[" "] = "\1"
}
function export.tr(text, lang, sc)
local langObj; if not lang then
error("Language code required.")
else
langObj = require("Module:languages").getByCode(lang)
end
local scObj = require("Module:scripts").getByCode("Tibt")
text = langObj:stripDiacritics(text)
-- FIXME, why are the following two being called?
text = scObj:fixDiscouragedSequences(text)
text = scObj:toFixedNFD(text)
text = gsub(text, "༒", "།")
text = gsub(text, "[་༌]+$", "")
for word in Tibt.getWords(text) do
for syllable in Tibt.getSyllables(word) do
local tr = syllable
tr = gsub(tr, "(ཱ)([ིེུ-ཽྀྲླ]+)", "%2%1")
local mainStack = gsub(Tibt.findMainStack(syllable, lang), "[ཾཿྂྃ]", "")
if match(mainStack, "([^ༀི-ཽྀ]ཱ?)$") then
local newMainStack = mainStack .. "a"
newMainStack = gsub(newMainStack, "ཱa$", "aཱ")
tr = gsub(tr, mainStack, newMainStack, 1)
end
tr = gsub(tr, "^(.*)༷(.*)$", "<u>%1%2</u>")
tr = gsub(tr, "^(.*)༵(.*)$", "<span style=\"text-decoration-style:double;\">%1%2</span>")
for letter, replacement in pairs(twoChars) do
tr = gsub(tr, letter, replacement)
end
tr = gsub(tr, ".", oneChar)
tr = gsub(tr, "(.')([^aāeiīoḷḹṛṝuū%-<])", "%1a%2")
tr = gsub(tr, "%f[^%zaāeiīoḷḹṛṝuū%->]%.", "")
tr = gsub(tr, "%.([rwy][^aāeiīoḷḹṛṝuū])", "%1")
tr = gsub(tr, "^\1", "")
tr = tr:gsub("\1", "%.")
text = gsub(text, syllable, tr, 1)
end
end
text = gsub(text, u(0x0F84) .. "a?", "")
text = gsub(text, ".", symbol)
text = gsub(text, " ' ", "")
text = gsub(text, " *· *·? *", " · ")
text = gsub(text, " *%.", ".")
text = gsub(text, "\n+", "\n\n")
text = gsub(text, "\n\n$", "")
if match(text, "%. ") or match(text, "%.\n.") or match(text, "%.$") then
text = gsub(text, "^'?.", upper)
text = gsub(text, "\n\n'?.", upper)
text = gsub(text, "%. '?.", upper)
end
-- East Bodish-specific fixes
local east_bodish = { ["xkz"] = true, ["kjz"] = true, ["xkf"] = true, ["dzl"] = true, ["dka"] = true }
if east_bodish[lang] then
if lang == "xkz" then
text = gsub(text, "%f[^%c%s]%f[aeiouāēīōū]", "q")
text = gsub(text, "%'%f[aeiouāēīōū]", "")
text = gsub(text, "q", "'")
text = gsub(text, "̄", "̂")
text = gsub(text, "̂́", "́̂")
text = gsub(text, "([bcdfghjklmnprstvwxyz]+[aeiou])́", "'%1")
text = gsub(text, "([aeiouâêîôû]n?[bcdfghjklmnprstvwxyz])a", "%1")
elseif lang == "dzl" then
text = gsub(text, "g%.y", "'y")
text = gsub(text, "sn", "'n")
text = gsub(text, "dbr", "'r")
text = gsub(text, "dba%'", "'w")
text = gsub(text, "'w%f[%A]", "'wa")
elseif lang == "kjz" then
text = gsub(text, "r%f[nm]", "'")
text = gsub(text, "db%f[yr]", "'")
text = gsub(text, "dba%'", "'w")
text = gsub(text, "ml", "'l")
text = gsub(text, "%f[^%c%s]%f[aeiouāēīōū]", "q")
text = gsub(text, "%'%f[aeiouāēīōū]", "")
text = gsub(text, "q", "'")
text = gsub(text, "([aeiou])'", "%1h")
text = gsub(text, "([aou])l%f[%A]", "%1̈")
end
text = gsub(text, "[bdg]%f[%A]", {b="p", d="t", g="k"})
text = gsub(text, "nk%f[%A]", "ng")
text = gsub(text, "%s", "")
end
text = gsub(text, "\1", " ") -- substitute normal space between words back
-- End with a space so that concurrent parts of running text that need to be transliterated separately (e.g. due to links) are still properly separated.
return toNFC(text) .. " "
end
return export
5i20vvk2m7tplo0ewhq5e2wp4b1o639
मॉड्यूल:Tibt-common
828
307214
488612
2026-09-12T13:04:15Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488612
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local find = m_str_utils.find
local gmatch = m_str_utils.gmatch
local gsub = m_str_utils.gsub
local match = m_str_utils.match
local sub = m_str_utils.sub
local toNFC = mw.ustring.toNFC
local u = m_str_utils.char
-- Finds the main stack of a given syllable, which allows all other components to be determined (and is the basis for sorting and transliteration). Currently defaults to Classical Tibetan, but if a ruleset for a specific language exists, it will use that instead. Once the main stack has been located, the process of sorting and transliteration is the same. Because of this, [[Module:Tibt-sortkey]] and [[Module:Tibt-translit]] only need to be pointed at this common function.
-- Uses a (somewhat expanded) implementation of the algorithm found in "Algorithmic description of the decomposition and checking of a Classical Tibetan syllable" by Roux, Hildt & Drupchen: https://escholarship.org/uc/item/70z8069f
function export.findMainStack(text, langCode)
-- If a language-specific module exists, use the ruleset in that. If not, fall back on the Tibetan module [[Module:bo-common]].
local langModuleCheck, langModule = pcall(function() langModule = require("Module:" .. langCode .. "-common") return langModule end)
if not langModuleCheck then
langModule = require("Module:bo-common")
end
local sc = require("Module:scripts").getByCode("Tibt")
text = sc:fixDiscouragedSequences(text)
text = sc:toFixedNFC(text)
local origText, mainStack = text
-- If halantas are present, the the input must be modified so as to treat the parent consonant + any that follow as a pseudo-stack before being processed by the rules. The locations are then stored, so that the pseudo-stack can be converted back again if it is found to be the main stack.
local halantaSubs, halantas = {}, {}
if match(text, "྄") and match(text, "[^྄]$") then
halantaSubs = {
{"྄ཀ", "ྐ"}, {"྄ཁ", "ྑ"}, {"྄ག", "ྒ"}, {"྄ང", "ྔ"}, {"྄ཅ", "ྕ"}, {"྄ཆ", "ྖ"}, {"྄ཇ", "ྗ"}, {"྄ཉ", "ྙ"}, {"྄ཊ", "ྚ"}, {"྄ཋ", "ྛ"}, {"྄ཌ", "ྜ"}, {"྄ཎ", "ྞ"}, {"྄ཏ", "ྟ"}, {"྄ཐ", "ྠ"}, {"྄ད", "ྡ"}, {"྄ན", "ྣ"}, {"྄པ", "ྤ"}, {"྄ཕ", "ྥ"}, {"྄བ", "ྦ"}, {"྄མ", "ྨ"}, {"྄ཙ", "ྩ"}, {"྄ཚ", "ྪ"}, {"྄ཛ", "ྫ"}, {"྄ཝ", "ྭ"}, {"྄ཞ", "ྮ"}, {"྄ཟ", "ྯ"}, {"྄འ", "ྰ"}, {"྄ཡ", "ྱ"}, {"྄ར", "ྲ"}, {"྄ལ", "ླ"}, {"྄ཤ", "ྴ"}, {"྄ཥ", "ྵ"}, {"྄ས", "ྶ"}, {"྄ཧ", "ྷ"}, {"྄ཨ", "ྸ"}, {"྄ཪ", "ྼ"}
}
local convHalantas = {}
for _, halantaSub in pairs(halantaSubs) do
convHalantas[halantaSub[1]] = halantaSub[2]
end
for halanta in gmatch(text, "྄.") do
halantaSub = u(0xF000) .. (gsub(halanta, ".*", convHalantas))
text = gsub(text, halanta, halantaSub, 1)
table.insert(halantas, find(text, u(0xF000)))
text = gsub(text, u(0xF000), "")
end
halantas = require("Module:table").compressSparseArray(halantas)
end
local function err()
return error("Invalid syllable " .. toNFC(origText) .. ".")
end
text = langModule.preconvert(text)
for _, check in pairs(langModule.mainStackChecks(text)) do
if check then
mainStack = check
if match(origText, "྄") then
local convHalantas = {}
for _, halantaSub in pairs(halantaSubs) do
convHalantas[halantaSub[2]] = halantaSub[1]
end
local offset = find(text, mainStack)
for i, halanta in ipairs(halantas) do
mainStack = gsub(mainStack, sub(mainStack, (halanta-offset)+i, (halanta-offset)+i), convHalantas, 1)
end
end
return mainStack
end
end
-- If ambiguous, return the most likely stack, along with a second value (true) so that this can be taken into account.
for syllable, mainStack in pairs(langModule.ambiguousSyllables) do
if match(text, "^" .. syllable .. "$") then
return langModule.postconvert(mainStack), true
end
end
-- return err()
-- FIXME!!! [[User:Theknightwho]], this is a nasty hack to avoid errors on pages like [[ཷ]] that contain only a diacritic
return text
end
function export.getWords(text)
return gmatch(text, "[ༀ་-༒" .. u(0xF35) .. u(0xF37) .. u(0xF39) .. "-ྼ]+")
end
function export.getSyllables(text)
return gmatch(text, "[ༀ" .. u(0xF35) .. u(0xF37) .. u(0xF39) .. "-ྼ]+")
end
return export
4zaqijyeylcv5diu0v5r61wgzupnja3
मॉड्यूल:cr-translit
828
307215
488613
2026-09-12T13:05:30Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488613
Scribunto
text/plain
local export = {}
function export.tr(text, lang, sc)
text = require("Module:Cans-translit").tr(text, lang, sc)
text = mw.ustring.gsub(text,"ī","ii")
text = mw.ustring.gsub(text,"ō","oo")
text = mw.ustring.gsub(text,"ā","aa")
text = mw.ustring.gsub(text,"š","sh")
text = mw.ustring.gsub(text,"ð","th")
return text
end
function export.transcribe(text)
local replace = {"sh","th","hk","kw","sk"}
local s = "ᐁᐃᐅᐊᐯᐱᐳᐸᑌᑎᑐᑕᑫᑭᑯᑲᒉᒋᒍᒐᒣᒥᒧᒪᓀᓂᓄᓇᓭᓯᓱᓴᔦᔨᔪᔭᖊᖋᖌᖍᕃᕆᕊᕍᔐᔑᔓᔕᕓᕕᕗᕙᘚᘛᘕᘔᓓᓕᓗᓚ"
local s_tr1 = "0ptkcmnsyrl1f2z"
local s_tr2 = "eioa"
local w = "ᐍᐏᐓᐘᐻᐽᑁᑅᑘᑚᑞᑢᑵᑷᑻᑿᒓᒕᒙᒝᒭᒯᒳᒷᓊ ᓌ ᓷᓹᓽᔁᔰᔲᔶᔺᔘᔚᔞᔢᓝᓟᓣᓧ"
local w_tr1 = "0ptkcmnsyrz"
local w_tr2 = "eioa"
local l = "ᐄᐆᐋᐲᐴᐹᑏᑑᑖᑮᑰᑳᒌᒎᒑᒦᒨᒫᓃᓅᓈᓰᓲᓵᔩᔫᔮᕇᕋᕎᔒᔔᔖᕖᕘᕚᓖᓘᓛᐐᐔᐙ"
local l_tr1 = "0ptkcmnsyr1flw23"
local l_tr2 = "īōā"
local f = "ᐤᐦᕽᑉᑦᒡᒃᒻᓐᔅᔥᔾᓪᕐ‡ᒄᔉ"
local f_tr = "wh3ptckmns1ylr45"
text = mw.ustring.gsub(text,"ê","e")
text = mw.ustring.gsub(text,"u","o")
text = mw.ustring.gsub(text,"ii","ī")
text = mw.ustring.gsub(text,"oo","ō")
text = mw.ustring.gsub(text,"aa","ā")
text = mw.ustring.gsub(text,"([aeioīōā])(w?[aeioīōā])","%1 0%2")
text = mw.ustring.gsub(text,"^(w?[aeioīōā])"," 0%1")
text = mw.ustring.gsub(text," 0","0")
mw.log(text)
text = mw.ustring.gsub(
text,
"(["..w_tr1.."])w(["..w_tr2.."])",
function(a, b)
a = w_tr1:find(a)
b = w_tr2:find(b)
local i = a * 4 + b - 4
return mw.ustring.sub(w, i, i)
end
)
for i = 1, 3 do
text = mw.ustring.gsub(text, replace[i], tostring(i))
end
mw.log(text)
text = mw.ustring.gsub(
text,
"(["..s_tr1.."])(["..s_tr2.."])",
function(a, b)
a = s_tr1:find(a)
b = s_tr2:find(b)
local i = a * 4 + b - 4
return mw.ustring.sub(s, i, i)
end
)
text = mw.ustring.gsub(
text,
"(["..l_tr1.."])(["..l_tr2.."])",
function(a, b)
a = l_tr1:find(a)
b = l_tr2:find(b)
local i = a * 3 + b - 3
return mw.ustring.sub(l, i, i)
end
)
for i=4, 5 do
text = mw.ustring.gsub(text, replace[i], tostring(i))
end
mw.log(text)
text = mw.ustring.gsub(
text,
"(["..f_tr.."])",
function(a)
a = f_tr:find(a)
return mw.ustring.sub(f, a, a)
end
)
return text
end
return export
lxwn9chd8ff7o8aylva6n66d7mg5cu9
मॉड्यूल:kk-translit
828
307216
488614
2026-09-12T13:06:43Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488614
Scribunto
text/plain
local export = {}
local yodated_v = "ЯяЮюЁё"
local vowels = "үҮұҰеЕэЭәӘөӨАаоОЫыІі" .. "اىوۇە" .. yodated_v
local consonants = "БбВвГгҒғДдЖжЗзЙйКкҚқЛлМмНнҢңПпРрСсТтФфХхҺһЦцЧчШшЩщЪъЬь" .. "بپتجچحدرزسشعفقكگڭلمنۆھ"
local semiv = "УуИи" .. "يۋ" .. "IiyUuw" -- these letters act irregularly so deal with them separately
local U = mw.ustring.char
local gsub = mw.ustring.gsub
local hamzah = U(0x674) -- Kazakh High Hamza
local sukuun = U(0x652) -- sukuun is not used in Kazakh arabic orthography, its only used here to supress vowel fronting when respelling terms in quotation templates
local tt = {}
tt["Cyrl"] = {
["ү"]="ü",["Ү"]="Ü",["т"]="t",["Т"]="T",["һ"]="h",["Һ"]="H",["р"]="r",["Р"]="R"
,["ф"]="f",["Ф"]="F",["ш"]="š",["Ш"]="š",["н"]="n",["Н"]="N",["п"]="p",["П"]="P"
,["й"]="y",["Й"]="Y",["л"]="l",["Л"]="L",["з"]="z",["З"]="Z",["е"]="e",["Е"]="E"
,["г"]="g",["Г"]="G",["б"]="b",["Б"]="B",["у"]="uw",["У"]="Uw",["с"]="s",["С"]="S"
,["х"]="x",["Х"]="X",["ы"]="ı",["Ы"]="I",["м"]="m",["М"]="M",["о"]="o",["О"]="O"
,["и"]="ıy",["И"]="Iy",["ж"]="j",["Ж"]="J",["к"]="k",["К"]="K",["д"]="d",["Д"]="D"
,["в"]="v",["В"]="V",["а"]="a",["А"]="A",["ң"]="ŋ",["Ң"]="Ŋ",["ә"]="ä",["Ә"]="Ä"
,["ұ"]="u",["Ұ"]="U",["қ"]="q",["Қ"]="Q",["ғ"]="ğ",["Ғ"]="Ğ"
,["і"]="i",["І"]="İ",["ө"]="ö",["Ө"]="Ö"
--mostly in loanwords from Russian
,["ё"]="yo",["Ё"]="Yo",["ц"]="c",["Ц"]="C",["ч"]="č",["Ч"]="Č",["щ"]="šč",["Щ"]="Šč"
,["ъ"]="ʺ",["Ъ"]="ʺ",["ь"]="ʹ",["Ь"]="ʹ",["э"]="è",["Э"]="È",["ю"]="yuw",["Ю"]="Yuw"
,["я"]="ya",["Я"]="Ya"};
tt["Arab"] = {
-- consonants
["م"] = "m", ["ن"] = "n", ["د"] = "d", ["ت"] = "t",
["ب"] = "b", ["پ"] = "p", ["ف"] = "f", ["ق"] = "q",
["ك"] = "k", ["ڭ"] = "ŋ", ["گ"] = "g", ["ع"] = "ğ",
["ھ"] = "h", ["ح"] = "x", ["چ"] = "č",
["ج"] = "j", ["ز"] = "z", ["س"] = "s",
["ش"] = "š", ["ر"] = "r", ["ل"] = "l",
["ي"] = "ıy", ["ۋ"] = "uw", ["ۆ"] = "v",
-- vowels
["ا"] = "a", ["ە"] = "e", ["ى"] = "ı",
["و"] = "o", ["ۇ"] = "u", [hamzah] = "", [sukuun] = "",
-- punctuation
["؟"]="?",
["،"]=",",
["؛"]=";",
["ـ"]="-"
}
local function vowelfronting(text)
text = gsub(text, "ا", "ä")
text = gsub(text, "ە", "e")
text = gsub(text, "ى", "i")
text = gsub(text, "ي", "iy")
text = gsub(text, "و", "ö")
text = gsub(text, "ۇ", "ü")
text = gsub(text, "ۋ", "üw")
text = gsub(text, "Я", "Йә")
text = gsub(text, "я", "йә")
text = gsub(text, "Ё", "Йө")
text = gsub(text, "ё", "йө")
return text
end
function export.tr(text, lang, sc)
if type(text) == "table" then
options = {}
text, script = text.args[1], text.args[2]
end
if (sc == "Cyrl") then
text = gsub(text, '([юЮ])', function(c)
local yodated = {
["ю"]="йу",["Ю"]="Йу"}
return yodated[c]
end)
text = gsub(text,
"([АОҰЭЯЁЮЕЪЬаоұэяёюеьъ][́̀]?)([ЕеЭэ])",
function(a, e)
local iotated = {
['е'] = 'йе', ['Е'] = 'ЙЕ',
['э'] = 'е', ['Э'] = 'Е', -- yodate it now bc removing it later fixes issues
}
return a .. iotated[e]
end)
-- add vowel
local frontv = {
['И'] = 'İy',
['и'] = 'iy',
['У'] = 'Üw',
['у'] = 'üw',
}
local backv = {
['И'] = 'Iy',
['и'] = 'ıy',
['У'] = 'Uw',
['у'] = 'uw',
}
local defaultv = {
['И'] = 'İy',
['и'] = 'iy',
['У'] = 'Uw',
['у'] = 'uw',
}
text = gsub(text, '([^' .. consonants .. semiv .. '])([Уу])',
function(v, s)
local semiv = {
['У'] = 'W',
['у'] = 'w',
}
return v .. semiv[s]
end)
text = gsub(text, '^([Уу])([^' .. consonants .. '])',
function(s, v)
local semiv = {
['У'] = 'W',
['у'] = 'w',
}
return semiv[s] .. v
end)
-- match the fronting of the following vowel, if there is one
text = gsub(text, '([ИиУу])([' .. vowels ..'])',
function(s, v)
if mw.ustring.match(v, '[үҮеЕэЭәӘөӨІі]') then
return frontv[s] .. v
else
return backv[s] .. v
end
end)
-- otherwise, match the fronting of the previous vowel
text = gsub(text, '([' .. vowels .. "КкГгҚқҒғ][" .. consonants .. semiv .. ']*)([ИиУу])',
function(v, s)
if mw.ustring.match(v, '[үҮеЕэЭәӘөӨІіГгКк]') then
return v .. frontv[s]
else if mw.ustring.match(v, '[ұҰАаоОЫыҒғҚқ]') then
return v .. backv[s]
else
return v .. defaultv[s]
end
end
end)
--[=[ EXCEPTION Каир = Kair
this only ever happens in Russian loanwords so we wont bother with vowel harmony ]=]
text = gsub(text, '([' .. vowels .. '])([Ии])([' .. consonants .. '])',
function(v, s, c)
local semiv = {
['И'] = 'İ',
['и'] = 'i',
}
return v .. semiv[s] .. c
end)
text = gsub(text, "([İiIı])[Yy]([ЯяЮюЁёЭэ])", "%1%2")
text = gsub(text, "[Йй]([эЭ])", "%1")
if mw.ustring.match(text, "[" .. vowels .. "ГгКк][" .. consonants .. semiv .. "]*[ЯяЮюЁё]") then
text = gsub(text, "(" .. "[үҮеЕэЭәӘөӨІіГгКк]" .. "[" .. consonants .. semiv .. "ÎîÛû]*[ЯяЮюЁё])", vowelfronting) else
text = gsub(text, "(" .. "[ЯяЮюЁё]" .. "[" .. consonants .. semiv .. "ÎîÛû]*" .. "[үҮеЕэЭәӘөӨІіГгКк])", vowelfronting)
end
end
if (sc == "Arab") then
-- mark fronting
text = gsub(text, U(0x621), hamzah)
--[=[ Many government sources in China and Kazakhstan use regular hamza
so we'll allow it here; But ideally, it should be replaced in entries.
]=]
text = gsub(text, "([" .. vowels .. consonants .. semiv .. "?]+)([ەكگ])", hamzah .. "%1%2")
text = gsub(text, "([^" .. vowels .. consonants .. semiv .. "]+)([ەكگ])", "%1" .. hamzah .. "%2")
text = gsub(text, "^([ەكگ])", hamzah .. "%1")
-- change ۋي in open syllables
text = gsub(text, "([^" .. consonants .. semiv .. "])([ۋي])([" .. vowels .. "])",
function(c, s, v)
local addv = {
['ۋ'] = 'w',
['ي'] = 'y',
}
return c .. addv[s] .. v
end)
text = gsub(text, "([" .. vowels .. "])([ۋي])",
function(v, s)
local addv = {
['ۋ'] = 'w',
['ي'] = 'y',
}
return v .. addv[s]
end)
text = gsub(text, "^([ۋي])([^" .. consonants .. semiv .. "])",
function(s, c)
local addv = {
['ۋ'] = 'w',
['ي'] = 'y',
}
return addv[s] .. c
end)
--[=[text = gsub(text, "([" .. consonants .. semiv .. "])([ۋي])([" .. consonants .. semiv .. "])",
function(c, s, v)
local addv = {
['ۋ'] = 'û',
['ي'] = 'î',
}
return c .. addv[s] .. v
end)
text = gsub(text, "([^" .. vowels .. consonants .. semiv .. "])([ۋي])([" .. consonants .. semiv .. "])",
function(c, s, v)
local addv = {
['ۋ'] = 'û',
['ي'] = 'î',
}
return c .. addv[s] .. v
end)
text = gsub(text, "^([ۋي])([" .. consonants .. "])",
function(s, v)
local addv = {
['ۋ'] = 'û',
['ي'] = 'î',
}
return addv[s] .. v
end)]=]
-- vowel harmony
text = gsub(text, "(" .. hamzah .. "[" .. consonants .. vowels .. semiv .. "îû]+)", vowelfronting)
-- ق and ع break vowel harmony
text = gsub(text,
"([قع])([äiöü])",
function(c, v)
local defronted = {
['ä'] = 'a', ['i'] = 'ı',
['ö'] = 'o', ['ü'] = 'u',
}
return c .. defronted[v]
end)
text = gsub(text,
"([äiöü])([قع])",
function(v, c)
local defronted = {
['ä'] = 'a', ['i'] = 'ı',
['ö'] = 'o', ['ü'] = 'u',
}
return defronted[v] .. c
end)
end
return mw.ustring.toNFC(mw.ustring.gsub(text, '.', tt[sc]))
end
return export
mqfa4usxiapkyp8k3sfb7q5b11dx5l8
मॉड्यूल:ko-translit
828
307217
488615
2026-09-12T13:07:31Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488615
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local gsub = m_str_utils.gsub
function export.tr(text, lang, sc)
if (not text) or text == "" then
return text
end
local HaniChars = require("Module:scripts").getByCode("Hani"):getCharacters()
text = gsub(text, "%<%/?r[pt]%>", "")
text = gsub(text, "%<%/?ruby%>", "")
-- remove hanja from (ex.) 사전(辭典), 온돌(溫突/溫堗), 사'''전'''(辭'''典''')
text = gsub(text, "%([" .. HaniChars .. "/-]+%)", "")
-- remove hanja from (ex.) 辭典(사전)
text = gsub(text, "[" .. HaniChars .. "]+%((.-)%)", "%1")
-- transform em-dash to plain hyphen-minus
text = gsub(text, "—", "-")
local HangChars = require("Module:scripts").getByCode("Hang"):getCharacters()
local m_pron = require("Module:ko-pron")
text = gsub(text, "[" .. HangChars .. "%s%p-]+", function(m1) return m_pron.romanise(m1, 2, {}, true) end)
return text and text
:gsub("%-%-", "-")
end
export.tr_revised = export.tr
return export
otr3fs7ckm4v4b0jsdyj5q8s0bkv1d5
मॉड्यूल:my-translit
828
307218
488616
2026-09-12T13:08:28Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488616
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local symbols = {
["၀"] = "0", ["၁"] = "1", ["၂"] = "2", ["၃"] = "3", ["၄"] = "4",
["၅"] = "5", ["၆"] = "6", ["၇"] = "7", ["၈"] = "8", ["၉"] = "9",
["၊"] = "|", ["။"] = "||"
}
function export.tr(text, lang, sc)
local m_pron = require("Module:my-pron").get_romanisation
text = gsub(text, ".", symbols)
for word in mw.ustring.gmatch(text, "[က-႟ꩠ-ꩻ]+") do
local success, translit = pcall(m_pron, word, nil, { 2, ["type"] = "orthographic", ["name"] = "MLCTS" }, 2, "translit_module")
if success then
text = gsub(text, word, translit, 1)
else
return nil
end
end
return text
end
return export
hf1r7vbux8cmuz3nwl6zs71c4b8yyr3
मॉड्यूल:bo-common
828
307219
488617
2026-09-12T13:10:10Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488617
Scribunto
text/plain
local m_str_utils = require("Module:string utilities")
local codepoint = m_str_utils.codepoint
local gsub = m_str_utils.gsub
local len = m_str_utils.len
local match = m_str_utils.match
local sub = m_str_utils.sub
local u = m_str_utils.char
local upper = m_str_utils.upper
local export = {}
function export.preconvert(text)
return (gsub(text, "([ཀ-ཇཉ-ཬྈ-ྌ༘༙༵༷༾༿ཱ-ྃ྆྇])༹", function(m1) return u(codepoint(m1) + 0xF0000) end))
end
function export.invalidChecks(text)
return {
len(gsub(text, "[^ཀ-ཇཉ-ཬྈ-ྌ---]", "")) > 6, -- 5 & 6 letter syllables are very rare
}
end
function export.mainStackChecks(text)
return {
match(text, "[ཀ-ཇཉ-ཬྈ-ྌ---][ྍ-ྗྙ-ྼ--]+[༘༙༵༷༾༿ཱ-ྃ྆྇-]*"),
match(text, "[ཀ-ཇཉ-ཟཡ-ཬྈ-ྌ---][༘༙༵༷༾༿ཱ-ྃ྆྇-]+"),
match(text, "^འ[༘༙༵༷༾༿ཱ-ྃ྆྇-]+"),
match(text, "([ཀ-ཇཉ-ཬྈ-ྌ---])[ཀ-ཇཉ-ཬྈ-ྌ---]྄"),
match(text, "([ཀ-ཇཉ-ཬྈ-ྌ---])འ[༘༙༵༷༾༿ཱ-ྃ྆྇-]+$"),
match(text, "([ཀ-ཇཉ-ཬྈ-ྌ---])འ"),
(len(text) == 3 or len(text) == 4) and match(text, "([ཀ-ཇཉ-ཬྈ-ྌ---])འ[ངམར]$"),
len(gsub(text, "྄", "")) == 1 and text,
len(gsub(text, "྄", "")) == 2 and match(text, "^([ཀ-ཇཉ-ཬྈ-ྌ---])[^྄]"),
len(gsub(text, "྄", "")) == 4 and match(text, "^[ཀ-ཇཉ-ཬྈ-ྌ---]྄?([ཀ-ཇཉ-ཬྈ-ྌ---])[^྄]"),
match(text, "([ཀ-ཇཉ-ཬྈ-ྌ---])[^དས྄]$"),
match(text, "^[ཀཁང-ཇཉ-ཐན-ཕཙ-ཟཡ-ཬྈ-ྌ---]"),
match(text, "^([གདབམའ])[ཀ-ཇཉ-ཬྈ-ྌ---]྄"),
match(text, "^(ག)[^ཅཉཏདནཙཞཟཡཤས]"),
match(text, "^(ད)[^ཀགངཔབམ]"),
match(text, "^(བ)[^ཀགཅཏདཙཞཟཤས]"),
match(text, "^(མ)[^ཁགངཆཇཉཐདནཚཛ]"),
match(text, "^(འ)[^ཁགཆཇཐདཕབཚཛ]"),
match(text, "([^གངབམ])ས྄?$"),
match(text, "([^ནརལ])ད྄?$")
}
end
function export.postconvert(text)
return (gsub(text, "([-])", function(m1) return u(codepoint(m1) - 0xF0000) .. "༹" end))
end
export.ambiguousSyllables = {
["མངས"] = "མ", ["མགས"] = "མ", ["དབས"] = "བ", ["དངས"] = "ད", ["དགས"] = "ག", ["དམས"] = "མ", ["བགས"] = "བ", ["འབས"] = "བ", ["འགས"] = "ག", ["གནད"] = "ན", ["མནད"] = "ན"
}
function export.new(frame)
local title = mw.loadData("Module:headword/data").pagename
local args = frame:getParent().args
local pron = args["p"] or false
local pos = args[1] or ""
local def = args[2] or "{{rfdef|bo}}"
local pos2 = args[3] or (args[4] and "" or false)
local def2 = args[4] or "{{rfdef|bo}}"
local pos3 = args[5] or (args[6] and "" or false)
local def3 = args[6] or "{{rfdef|bo}}"
local etym = args["e"] or false
local head = args["head"] or false
local cat = args["cat"] or false
local reg = args["reg"] or false
local otb = args["otb"] or false
local result = ""
local function genTitle(text)
local pos_title = {
[""] = "Noun", ["n"] = "Noun", ["pn"] = "Proper noun", ["propn"] = "Proper noun", ["pron"] = "Pronoun",
["v"] = "Verb", ["vf"] = "Verb", ["a"] = "Adjective", ["adj"] = "Adjective", ["adv"] = "Adverb",
["prep"] = "Preposition", ["postp"] = "Postposition", ["conj"] = "Conjunction",
["part"] = "Particle", ["suf"] = "Suffix",
["prov"] = "Proverb", ["id"] = "Idiom", ["ph"] = "Phrase", ["intj"] = "Interjection", ["interj"] = "Interjection",
["cl"] = "Classifier", ["cls"] = "Classifier", ["num"] = "Numeral", ["abb"] = "Abbreviation", ["deter"] = "Determiner"
};
return pos_title[text] or upper(sub(text, 1, 1)) .. sub(text, 2, -1)
end
local function genHead(text)
local pos_head = {
[""] = "noun", ["n"] = "noun", ["pn"] = "proper noun", ["propn"] = "proper noun", ["v"] = "verb", ["vf"] = "verb form", ["a"] = "adj",
["postp"] = "post", ["conj"] = "con", ["part"] = "particle", ["pron"] = "pronoun",
["prov"] = "proverb", ["id"] = "idiom", ["ph"] = "phrase", ["intj"] = "interj",
["abb"] = "abbr", ["cl"] = "classifier", ["deter"] = "det"
};
return pos_head[text] or text
end
local function other(class, title, args)
local code = ""
if args[class] then
code = code .. "\n\n===" .. title .. "===\n* {{l|bo|" .. args[class] .. "}}"
if args[class .. "2"] then
code = code .. "\n* {{l|bo|" .. args[class .. "2"] .. "}}"
if args[class .. "3"] then
code = code .. "\n* {{l|bo|" .. args[class .. "3"] .. "}}"
if args[class .. "4"] then
code = code .. "\n* {{l|bo|" .. args[class .. "4"] .. "}}"
end
end
end
end
return code
end
result = result .. "==Tibetan=="
if args["wp"] then result = result .. "\n{{wikipedia|lang=bo" ..
(args["wp"] == "y" and "" or "|" .. args["wp"]) .. "}}" end
result = result .. other("alt", "Alternative forms", args)
if etym then result = result .. "\n\n===Etymology===\n" .. etym end
result = result .. "\n\n===Pronunciation===\n{{bo-pron" .. (pron and "|" .. pron or "") .. (otb and "|otb=-" or "") .. "}}"
result = result .. "\n\n===" .. genTitle(pos) .. "===\n{{bo-" .. genHead(pos) .. (head and ("|head=" .. head) or "") .. "}}\n\n# " .. def
if reg then result = result .. "\n{{bo-registers|" .. reg .. "}}" end
result = result .. other("syn", "=Synonyms=", args)
result = result .. other("ant", "=Antonyms=", args)
result = result .. other("der", "=Derived terms=", args)
result = result .. other("also", "=See also=", args)
if pos2 then
result = result .. "\n\n===" .. genTitle(pos2) .. "===\n{{bo-" .. genHead(pos2) .. (head and ("|head=" .. head) or "") .. "}}\n\n# " .. def2
end
if pos3 then
result = result .. "\n\n===" .. genTitle(pos3) .. "===\n{{bo-" .. genHead(pos3) .. (head and ("|head=" .. head) or "") .. "}}\n\n# " .. def3
end
if cat then result = result .. "\n\n{{C|bo|" .. cat .. "}}" end
return result
end
function export.verb(frame)
local title = mw.loadData("Module:headword/data").pagename
title = require("Module:Tibt-translit").tr(title, "bo", "Tibt")
local s = { match(title, (gsub(title, ".", "(.)"))) }
local i = #s - 1
local j = i - 1
if match(s[i], "[aeiourl']") or (s[j] == "n" and s[i] == "g") then
return "བ"
end
return "པ"
end
function export.removePa(frame)
local title = mw.loadData("Module:headword/data").pagename
return (gsub(title, "་[པབ]$", ""))
end
return export
6e4fxmsueah8keuknd833idlulq1xo2
मॉड्यूल:ko-pron
828
307220
488618
2026-09-12T13:12:04Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488618
Scribunto
text/plain
local export = {}
local m_data = mw.loadData("Module:ko-pron/data")
local m_ko_utilities = require("Module:ko")
local m_str_utils = require("Module:string utilities")
local codepoint = m_str_utils.codepoint
local concat = table.concat
local floor = math.floor
local gmatch = m_str_utils.gmatch
local gsub = m_str_utils.gsub
local insert = table.insert
local len = m_str_utils.len
local match = m_str_utils.match
local pattern_escape = m_str_utils.pattern_escape
local sub = m_str_utils.sub
local toNFC = mw.ustring.toNFC
local u = m_str_utils.char
local upper = m_str_utils.upper
local PAGENAME = mw.loadData("Module:headword/data").pagename
local PAGENAME2 = gsub(PAGENAME, "-", "")
local system_lookup = {
["ph"] = 1, ["rr"] = 2, ["rrr"] = 3,
["mr"] = 4, ["yr"] = 5, ["ipa"] = 6,
}
local question_mark = "<sup><small>[[Wiktionary:Korean entry guidelines/Romanization|?]]</small></sup>"
local system_list = {
{
abbreviation = "ph",
display = "Phonetic hangul: ",
separator = "/",
},
{
abbreviation = "rr",
display = "Revised Romanization" .. question_mark,
separator = "/",
},
{
abbreviation = "rrr",
display = "Revised Romanization (translit.)" .. question_mark,
separator = "/"
},
{
abbreviation = "mc",
display = "McCune–Reischauer" .. question_mark,
separator = "/"
},
{
abbreviation = "yr",
display = "Yale Romanization" .. question_mark,
separator = "/"
},
{
abbreviation = "ipa",
display = "(<i>[[w:South Korean standard language|SK Standard]]/[[w:Seoul dialect|Seoul]]</i>) [[Wiktionary:International Phonetic Alphabet|IPA]]<sup>([[Appendix:Korean pronunciation|key]])</sup>: ",
separator = " ~ "
}
}
--[[
vowel_variation:
rules for vowel transformation.
key:
the number of a syllable's vowel (vowel_id):
floor(((codepoint('가') - 0xAC00) % 588) / 28) = 0
floor(((codepoint('개') - 0xAC00) % 588) / 28) = 1
value:
an integer that is added to the decimal codepoint of the syllable
u(codepoint('개') + 112) = '게'
allowed_vowel_scheme:
a list of which systems vowel transformation is reflected in.
key:
vowel_id .. "-" .. system_index
system_index: see system_list above. IPA is #6
value:
1, representing true
]]
local final_syllable_conversion = { [""] = "Ø", ["X"] = "" }
local com_mc = { ["g"] = "k", ["d"] = "t", ["b"] = "p", ["j"] = "ch", ["sy"] = "s", ["s"] = "ss" }
local com_ph = { ["ᄀ"] = "ᄁ", ["ᄃ"] = "ᄄ", ["ᄇ"] = "ᄈ", ["ᄉ"] = "ᄊ", ["ᄌ"] = "ᄍ" }
local vowel_variation = {
[1] = 112, -- 개→게
[3] = 112, -- 걔→계
[10] = 140, -- 괘→궤
[7] = -56, -- 계→게
[11] = 112, -- 괴→궤
[16] = 0, -- 귀→귀
}
local allowed_vowel_scheme = {
["1-1"] = 1,
["1-6"] = 1,
["3-1"] = 1,
["3-6"] = 1,
["10-1"] = 1,
["10-6"] = 1,
["7-1"] = 1,
["7-6"] = 1,
["11-1"] = 1,
["11-6"] = 1,
["16-6"] = 1,
}
local ambiguous_intersyllabic_rr = { ["oe"] = 1, ["eo"] = 1, ["eu"] = 1, ["ae"] = 1, ["ui"] = 1 }
local ambiguous_intersyllabic_mr = { ["oe"] = 1, ["ae"] = 1 }
local ambiguous_intersyllabic_yr = { ["ay"] = 1, ["ey"] = 1, ["oy"] = 1, ["uy"] = 1, ["̄y"] = 1, ["ya"] = 1, ["ye"] = 1, ["yo"] = 1, ["yu"] = 1 }
local function decompose_syllable(word)
local decomposed_syllables = {}
for syllable in mw.text.gsplit(word, "") do
insert(decomposed_syllables, m_ko_utilities.decompose_jamo(syllable))
end
return decomposed_syllables
end
local function tidy_phonetic(original, romanised)
local j, k, w = 1, 1, {}
for i = 1, len(romanised) do
local romanised_syllable = sub(romanised, k, k)
local original_syllable = sub(original, j, j)
if romanised_syllable ~= original_syllable then
insert(w, '<b>'..romanised_syllable..'</b>')
local original_advance = match(original_syllable, "[^ː ]")
local romanised_advance = match(romanised_syllable, "[^ː ]")
if original_advance or not romanised_advance then
k = k + 1
end
if romanised_advance or not original_advance then
j = j + 1
end
else
insert(w, '<span>'..romanised_syllable..'</span>')
j, k = j + 1, k + 1
end
end
return concat(w)
end
local function tidy_ipa(ipa)
ipa = gsub(ipa, "ʌ̹%(ː%)", "ɘ(ː)") -- TODO: [[멀다]] really should be [ˈmʌ̹ɭda̠] ~ [ˈmɘːɭda̠] instead of [ˈmɘ(ː)ɭda̠]
ipa = gsub(ipa, "ɭɭi", "ʎʎi")
ipa = gsub(ipa, "ɭɭj", "ʎʎ")
ipa = gsub(ipa, "s([ʰ͈])ɥi" ,"ʃ%1ɥi")
ipa = gsub(ipa, "ss͈([ji])" ,"ɕɕ͈%1")
ipa = gsub(ipa, "s([ʰ͈])([ji])" ,"ɕ%1%2")
ipa = gsub(ipa, "nj", "ɲ")
ipa = gsub(ipa, "([ʑɕ])([ʰ͈]?)j", "%1%2")
ipa = gsub(ipa, "kʰ[ijɯ]", {
["kʰi"] = "cçi",
["kʰj"] = "cç",
["kʰɯ"] = "kxɯ" }
)
ipa = gsub(ipa, "[hɦ][ijɯouw]", {
["hi"] = "çi",
["hj"] = "ç",
["hɯ"] = "xɯ",
["ho"] = "ɸʷo",
["hu"] = "ɸʷu",
["hw"] = "ɸw",
["ɦi"] = "ʝi",
["ɦj"] = "ʝ",
["ɦɯ"] = "ɣɯ",
["ɦo"] = "βo",
["ɦu"] = "βu",
["ɦw"] = "βw" }
)
if match(ipa, "ɥi") then
local midpoint = floor(len(ipa) / 2)
ipa = sub(ipa, 1, midpoint) .. gsub(sub(ipa, midpoint+1, -1), "ɥi", "y")
end
return ipa
end
function export.romanise(text_param, system_index, args)
if type(text_param) == "table" then
args = text_param:getParent().args
system_index = args[2] or 2
text_param = args[1]
end
local p, optional_params = {}, { "nn", "l", "com", "cap", "ni" }
for _, pm in ipairs(optional_params) do
p[pm] = { }
if args[pm] then
for pp in mw.text.gsplit(args[pm], ",") do p[pm][tonumber(pp) or pp] = 1 end
end
end
local categories = {}
local vowel_ui_i, vowel_ui_e, no_batchim, batchim_reduce, s_variation, iotation =
args.ui, args.uie, args.nobc, args.bcred, args.svar, args.iot
system_index = system_lookup[system_index] or system_index
text_param = gsub(text_param, '["](.)', "%1")
for primitive_word in gmatch(text_param, "[%-ᄀ-ᄒ".."ᅡ-ᅵ".."ᆨ-ᇂ" .. "ㄱ-ㅣ가-힣' -]+") do
local the_original = primitive_word
primitive_word = gsub(primitive_word, "'''", "ß")
local formatting_position, formatting_count = {}, 0
primitive_word = gsub(primitive_word, "()([ß--])", function(m1, m2)
formatting_position[m1 + formatting_count] = m2 == "ß" and "'''" or m2
return ""
end)
local has_vowel = {}
for ch in gmatch(primitive_word, ".") do
local jungseong = floor(((codepoint(ch) - 0xAC00) % 588) / 28)
if not match(ch, "[예옛옘례롄]") and match(ch, "[가-힣]") then has_vowel[jungseong] = true end
end
local word_set = { primitive_word }
local function add_respelling(variable, modification, modification2)
modification2 = modification2 or function(x) return x end
if variable and match(system_index, "[16]") then
variable = tonumber(variable)
local pre_length = #word_set
for i = 1, pre_length do
local item = mw.text.split(word_set[i], "")
item[variable] = modification(item[variable])
item[variable + 1] = modification2(item[variable + 1])
word_set[pre_length + i] = concat(item)
end
end
end
add_respelling(vowel_ui_i, function(x) return "이" end)
add_respelling(vowel_ui_e, function(x) return "에" end)
add_respelling(no_batchim,
function(x) return u(codepoint(x) - (codepoint(x) - 0xAC00) % 28) end,
function(y) return u(codepoint(y) + 588) end)
add_respelling(s_variation, function(x) return u(codepoint(x) - 12) end)
add_respelling(iotation, function(x) return u(codepoint(x) + 56) end)
for vowel_id, vowel_variation_increment in pairs(vowel_variation) do
if has_vowel[vowel_id] and allowed_vowel_scheme[vowel_id .. "-" .. system_index] then
local pre_length = #word_set
for i = 1, pre_length do
local item = mw.text.split(word_set[i], "")
for num, it in ipairs(item) do
if floor(((codepoint(it) - 0xAC00) % 588) / 28) == vowel_id then
item[num] = u(codepoint(it) + vowel_variation_increment)
end
end
if vowel_id == 11 then
insert(word_set, i, concat(item))
else
insert(word_set, concat(item))
end
end
end
end
local word_set_romanisations = {}
for _, respelling in ipairs(word_set) do
local decomposed_syllables = decompose_syllable(respelling)
local romanisation = {}
local formatting_insert_count = 0
for index = 0, #decomposed_syllables, 1 do
local this_syllable_text = index ~= 0 and sub(respelling, index, index) or ""
if this_syllable_text == "-" then
-- skip it, it will be handled below
else
local syllable = decomposed_syllables[index] or { initial = "Ø", vowel = "Ø", final = "X" }
local next_index = index
local next_syllable_text
local saw_hyphen_after = false
while true do
next_index = next_index + 1
next_syllable_text = next_index > #decomposed_syllables and "" or sub(respelling, next_index, next_index)
if next_syllable_text ~= "-" then
break
end
saw_hyphen_after = true
end
local next_syllable = decomposed_syllables[next_index] or { initial = "Ø", vowel = "Ø", final = "Ø" }
syllable.final = final_syllable_conversion[syllable.final] or syllable.final
if system_index == 5 and syllable.vowel == "ᅮ" and match(syllable.initial, "[ᄆᄇᄈᄑ]") then
syllable.vowel = "ᅳ"
end
if match(system_index, "[1246]") then
if match(syllable.initial, "[ᄌᄍᄎ]") then
if syllable.vowel == "ᅣ" then
syllable.vowel = "ᅡ"
elseif syllable.vowel == "ᅤ" then
syllable.vowel = "ᅢ"
elseif syllable.vowel == "ᅧ" then
syllable.vowel = "ᅥ"
elseif syllable.vowel == "ᅨ" then
syllable.vowel = "ᅦ"
elseif syllable.vowel == "ᅭ" then
syllable.vowel = "ᅩ"
elseif syllable.vowel == "ᅲ" then
syllable.vowel = "ᅮ"
end
end
end
if match(system_index, "[16]") then
if syllable.vowel == "ᅴ" and this_syllable_text ~= "의" then
syllable.vowel = "ᅵ"
end
end
if match(system_index, "[1246]") then
if this_syllable_text == "넓" then
if match(next_syllable.initial, "[ᄌᄉ]") then
syllable.final = "ᆸ"
elseif next_syllable.initial == "ᄃ" then
if match(next_syllable.vowel, "[^ᅡᅵ]") then
syllable.final = "ᆸ"
end
end
end
end
local vowel = m_data.vowels[syllable.vowel][system_index]
if p.nn[next_index] and match(system_index, "[1246]") then
next_syllable.initial = "ᄂ"
end
if p.com[index] and match(system_index, "[16]") then
next_syllable.initial = com_ph[next_syllable.initial] or next_syllable.initial
end
if p.ni[next_index] and system_index ~= 3 then
next_syllable.initial = (system_index == 5 and syllable.final == "ᆯ") and "ᄅ" or "ᄂ"
end
if match(system_index, "[1246]") then
if tonumber(batchim_reduce or -1) == index then
syllable.final = m_data.boundary[syllable.final .. "-Ø"][1]
end
if index ~= 0 and this_syllable_text == "밟" and not
match(next_syllable.initial, "[ᄋᄒ]") then
syllable.final = "ᆸ"
end
if next_syllable_text == "없" then
if match(syllable.final, "[ᆩᆪᆰᆿ]") then
syllable.final = "ᆨ"
elseif match(syllable.final, "[ᆬᆭ]") then
syllable.final = "ᆫ"
elseif match(syllable.final, "[ᆺᆻᆽᆾᇀ]") then
syllable.final = "ᆮ"
elseif match(syllable.final, "[ᆲᆳᆴᆶ]") then
syllable.final = "ᆯ"
elseif syllable.final == "ᆱ" then
syllable.final = "ᆷ"
elseif match(syllable.final, "[ᆵᆹᇁ]") then
syllable.final = "ᆸ"
end
end
if tonumber(batchim_reduce or -1) ~= index then
if match(syllable.final .. next_syllable.initial, "ᇀᄋ") then
if next_syllable.vowel == "ᅵ" then
syllable.final = "ᆾ"
elseif next_syllable.vowel == "ᅧ" then
syllable.final = "ᆾ"
next_syllable.vowel = "ᅥ"
end
elseif match(syllable.final .. next_syllable.initial, "ᆴᄋ") then
if next_syllable.vowel == "ᅵ" then
syllable.final = "ᆯ"
next_syllable.initial = "ᄎ"
elseif next_syllable.vowel == "ᅧ" then
syllable.final = "ᆯ"
next_syllable.initial = "ᄎ"
next_syllable.vowel = "ᅥ"
end
elseif match(syllable.final .. next_syllable.initial, "ᆮᄋ") and tonumber(s_variation or -1) ~= index then
if next_syllable.vowel == "ᅵ" then
syllable.final = "ᆽ"
elseif next_syllable.vowel == "ᅧ" then
syllable.final = "ᆽ"
next_syllable.vowel = "ᅥ"
end
elseif match(syllable.final .. next_syllable.initial, "ᆮᄒ") then
if next_syllable.vowel == "ᅵ" then
syllable.final = "ᆾ"
next_syllable.initial = "ᄋ"
elseif next_syllable.vowel == "ᅧ" then
syllable.final = "ᆾ"
next_syllable.initial = "ᄋ"
next_syllable.vowel = "ᅥ"
end
elseif match(syllable.final .. next_syllable.initial .. next_syllable.vowel, "[ᆬᆽᆾ][ᄋᄒ]ᅧ") then
next_syllable.vowel = "ᅥ"
end
end
if syllable.final .. next_syllable.initial == "ᆺᄋ" and not
match(next_syllable_text, "[아았어었에으은을음읍의이인일임입있]") then
syllable.final = "ᆮ"
end
end
local bound = syllable.final .. "-" .. next_syllable.initial
if not m_data.boundary[bound] then
require("Module:debug").track("ko-pron/no boundary data")
mw.log("No boundary data for " .. bound .. ".")
return nil
end
local junction = m_data.boundary[bound][system_index]
if system_index == 2 then
local pos_format_start = index + formatting_insert_count + 1
local pos_format_end = pos_format_start
while formatting_position[pos_format_end] do
pos_format_end = pos_format_end + 1
formatting_insert_count = formatting_insert_count + 1
end
if pos_format_end > pos_format_start then
local final_cons, initial_cons = match(junction, "^(.*);(.*)$")
local formatting = concat(formatting_position, "", pos_format_start, pos_format_end - 1)
if match(formatting, "-") and initial_cons == "'" then
-- `병이 나다` /byeong'i nada/ `병-이 나다` /byeong-i nada/
initial_cons = ""
end
junction = match(syllable.final .. next_syllable.initial, "^Ø?[ᄀ-ᄒ]$")
and formatting .. final_cons .. ";" .. initial_cons
or final_cons .. formatting .. ";" .. initial_cons
end
end
if p.l[index] or (p.l["y"] and index == 1) then
-- FIXME, verify this code still works with final/initial cons changes
if system_index == 1 then
if #junction == 0 then
junction = junction .. "ː"
else
junction = gsub(junction, "^(.)(.?)$", function(a, b)
return match(a, "[ᆨ-ᇂ]") and a .. "ː" .. b or "ː" .. a .. b end)
end
elseif system_index == 5 then
vowel = gsub(vowel, "([aeiou])", "%1̄")
elseif system_index == 6 then
vowel = vowel .. "ː"
if index == 1 then
insert(categories, "Korean terms with long vowels in the first syllable")
end
end
end
if (p.l["y"] or p.l[1]) and index == 0 and system_index == 6 and #decomposed_syllables > 1 then
vowel = vowel .. "ˈ"
end
if p.com[index] then
-- FIXME, verify this code still works with final/initial cons changes
junction = gsub(junction, "(.)$", function(next_letter)
return
(system_index == 5 and "q" or "") ..
(system_index == 4
and (com_mc[next_letter..(p.cap["y"] or "")] or com_mc[next_letter] or next_letter)
or next_letter) end)
end
if p.ni[next_index] and system_index == 5 then
-- FIXME, verify this code still works with final/initial cons changes
junction = gsub(junction, "([nl])$", "<sup>%1</sup>")
end
local final_cons, initial_cons = match(junction, "^(.*);(.*)$")
if not final_cons then
if system_index == 2 then
error("Need a semicolon in the boundary value for " .. bound)
end
-- FIXME, throw an error for all systems once we've added semicolons everywhere
final_cons = junction
initial_cons = ""
end
if system_index == 2 then
insert(romanisation, vowel .. final_cons .. (saw_hyphen_after and "-" or "") .. initial_cons)
else
insert(romanisation, vowel .. junction)
end
end
end
local temp_romanisation = concat(romanisation)
if system_index == 1 then
temp_romanisation = tidy_phonetic(primitive_word, toNFC(temp_romanisation))
elseif match(system_index, "[23]") then
for i = 1, 2 do
temp_romanisation = gsub(temp_romanisation, "(.)…(.)", function(a, b)
return a .. (ambiguous_intersyllabic_rr[a .. b] and "'" or "") .. b end)
temp_romanisation = gsub(temp_romanisation, "wo'e", "woe")
temp_romanisation = gsub(temp_romanisation, "yo'e", "yoe")
temp_romanisation = gsub(temp_romanisation, "we'o", "weo")
temp_romanisation = gsub(temp_romanisation, "we'u", "weu")
temp_romanisation = gsub(temp_romanisation, "ye'u", "yeu")
temp_romanisation = gsub(temp_romanisation, "yu'i", "yui")
end
elseif system_index == 4 then
for i = 1, 2 do
temp_romanisation = gsub(temp_romanisation, "(.)…(.)", function(a, b)
return a .. (ambiguous_intersyllabic_mr[a .. b] and "'" or "") .. b end)
temp_romanisation = gsub(temp_romanisation, "yo'e", "yoe")
temp_romanisation = gsub(temp_romanisation, "a'e", "aë")
temp_romanisation = gsub(temp_romanisation, "o'e", "oë")
temp_romanisation = gsub(temp_romanisation, "n'k", "nk")
temp_romanisation = gsub(temp_romanisation, "swi", "shwi")
end
elseif system_index == 5 then
for i = 1, 2 do
temp_romanisation = gsub(temp_romanisation, "(.)…(.)", function(a, b)
return a .. (ambiguous_intersyllabic_yr[a .. b] and "." or "") .. b end)
temp_romanisation = gsub(temp_romanisation, "[.]q", "q")
end
elseif system_index == 6 then
temp_romanisation = "[" .. temp_romanisation .. "]"
end
if match(system_index, "[16]") then
temp_romanisation = gsub(temp_romanisation, "ː", "(ː)")
end
if p.cap["y"] and match(system_index, "[234]") then
temp_romanisation = upper(sub(temp_romanisation, 1, 1)) .. sub(temp_romanisation, 2, -1)
end
insert(word_set_romanisations, temp_romanisation)
end
text_param = gsub(
text_param,
pattern_escape(the_original),
concat(word_set_romanisations, system_list[system_index].separator),
1
)
end
if system_index == 6 then
text_param = tidy_ipa(text_param)
end
if #categories > 0 then
text_param = text_param .. require("Module:utilities").format_categories(categories, m_ko_utilities.lang)
end
return text_param
end
function export.make(frame, scheme)
local params = {
[1] = { default = PAGENAME2, list = true },
["a"] = {},
["audio"] = { alias_of = "a" },
["nn"] = {},
["l"] = {},
["com"] = {},
["cap"] = {},
["ui"] = {},
["uie"] = {},
["nobc"] = {},
["ni"] = {},
["bcred"] = {},
["svar"] = {},
["iot"] = {},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
if args["l"] ~= nil then require("Module:debug/track")("ko-IPA/l") end
if args["cap"] ~= nil then require("Module:debug/track")("ko-IPA/cap") end
if args["com"] ~= nil then require("Module:debug/track")("ko-IPA/com") end
if args["nn"] ~= nil then require("Module:debug/track")("ko-IPA/nn") end
if args["ui"] ~= nil then require("Module:debug/track")("ko-IPA/ui") end
if args["uie"] ~= nil then require("Module:debug/track")("ko-IPA/uie") end
if args["nobc"] ~= nil then require("Module:debug/track")("ko-IPA/nobc") end
if args["ni"] ~= nil then require("Module:debug/track")("ko-IPA/ni") end
if args["bcred"] ~= nil then require("Module:debug/track")("ko-IPA/bcred") end
if args["svar"] ~= nil then require("Module:debug/track")("ko-IPA/svar") end
if args["iot"] ~= nil then require("Module:debug/track")("ko-IPA/iot") end
local results = {}
for _, text_param in ipairs(args[1]) do
local current_word_dataset = {}
for system_index, system in pairs(system_list) do
local romanised = export.romanise(text_param, system_index, args)
insert(current_word_dataset, romanised)
end
insert(results, current_word_dataset)
end
local output_result = { [1] = {}, [2] = {}, [3] = {}, [4] = {}, [5] = {}, [6] = {} }
for _, result in ipairs(results) do
for result_index, value in ipairs(result) do
insert(output_result[result_index], value)
end
end
local html_ul = mw.html.create( "ul" )
:done()
local html_li_ipa = mw.html.create( "li" )
:wikitext( system_list[6].display )
:tag( "span" )
:addClass( "IPA" )
:wikitext( concat(output_result[6], system_list[6].separator) )
:done()
:done()
local html_li_ph = mw.html.create( "li" )
:addClass( "ko-pron__ph" )
:wikitext( system_list[1].display )
:tag( "span" )
:addClass( "Kore" )
:attr( "lang", "ko" )
:wikitext( "[" .. concat(output_result[1], system_list[1].separator) .. "]" )
:done()
:done()
if args.a then
html_li_ipa
:tag( "ul" )
:tag( "li" )
:wikitext( require("Module:audio").format_audio {
lang = m_ko_utilities.lang,
file = args.a == "y" and "Ko-" .. PAGENAME .. ".ogg" or args.a,
})
:done()
:done()
:done()
end
if args.l then
html_li_ph
:tag( "ul" )
:tag( "li" )
:addClass( "ko-pron__note-vowel-length" )
:wikitext( 'Though still prescribed in Standard Korean, most speakers in both Koreas no longer distinguish vowel length.' )
:done()
:done()
:done()
end
html_ul
:node( html_li_ipa )
:node( html_li_ph )
:done()
local html_table = mw.html.create( "table" )
:addClass( "ko-pron" )
:addClass( "mw-collapsible" )
:addClass( "mw-collapsed" )
:tag( "tr" )
:tag( "th" )
:attr( "colspan", 2 )
:wikitext( "Romanizations" )
:done()
:done()
:done()
for roman_index = 2, 5 do
html_table
:tag( "tr" )
:tag( "th" )
:wikitext( system_list[roman_index].display )
:done()
:tag( "td" )
:addClass( "IPA" )
:wikitext( concat(output_result[roman_index], system_list[roman_index].separator) )
:done()
:done()
:done()
end
return tostring(html_ul) .. tostring(html_table) .. require("Module:TemplateStyles")("Template:ko-IPA/style.css")
end
function export.make_hanja(frame, scheme)
local params = {
[1] = { list = true },
["l"] = {},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local results = {
[1] = {},
[6] = {},
}
for _, text_param in ipairs(args[1]) do
for _, system_index in pairs({1, 6}) do
local romanised = export.romanise(text_param, system_index, args)
insert(results[system_index], romanised)
end
end
local html_ul = mw.html.create( "ul" )
:done()
local html_li_ipa = mw.html.create( "li" )
:wikitext( system_list[6].display )
:tag( "span" )
:addClass( "IPA" )
:wikitext( concat(results[6], system_list[6].separator) )
:done()
:done()
local html_li_ph = mw.html.create( "li" )
:addClass( "ko-pron__ph" )
:wikitext( system_list[1].display )
:tag( "span" )
:addClass( "Kore" )
:attr( "lang", "ko" )
:wikitext( "[" .. concat(results[1], system_list[1].separator) .. "]" )
:done()
:done()
if args.l then
html_li_ph
:tag( "ul" )
:tag( "li" )
:addClass( "ko-pron__note-vowel-length" )
:wikitext( 'Though still prescribed in Standard Korean, most speakers in both Koreas no longer distinguish vowel length.' )
:done()
:done()
:done()
end
html_ul
:node( html_li_ipa )
:node( html_li_ph )
:done()
return tostring(html_ul) .. require("Module:TemplateStyles")("Template:ko-IPA/style.css")
end
return export
05fu72bdn4rl4h5glv5mpyc9598fbn8
मॉड्यूल:ko-pron/data
828
307221
488619
2026-09-12T13:13:08Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488619
Scribunto
text/plain
local export = {}
export.vowels = {
["Ø"] = { "", "", "", "", "", "" },
[" "] = { " ", " ", " ", " ", " ", " " },
["ᅡ"] = { "ᅡ", "a", "a", "a", "a", "a̠" },
["ㅏ"] = { "ㅏ", "a", "a", "a", "a", "a̠" },
["ᅢ"] = { "ᅢ", "ae", "ae", "ae", "ay", "ɛ" },
["ㅐ"] = { "ㅐ", "ae", "ae", "ae", "ay", "ɛ" },
["ᅣ"] = { "ᅣ", "ya", "ya", "ya", "ya", "ja̠" },
["ㅑ"] = { "ㅑ", "ya", "ya", "ya", "ya", "ja̠" },
["ᅤ"] = { "ᅤ", "yae", "yae", "yae", "yay", "jɛ" },
["ㅒ"] = { "ㅒ", "yae", "yae", "yae", "yay", "jɛ" },
["ᅥ"] = { "ᅥ", "eo", "eo", "ŏ", "e", "ʌ̹" },
["ㅓ"] = { "ㅓ", "eo", "eo", "ŏ", "e", "ʌ̹" },
["ᅦ"] = { "ᅦ", "e", "e", "e", "ey", "e̞" },
["ㅔ"] = { "ㅔ", "e", "e", "e", "ey", "e̞" },
["ᅧ"] = { "ᅧ", "yeo", "yeo", "yŏ", "ye", "jʌ̹" },
["ㅕ"] = { "ㅕ", "yeo", "yeo", "yŏ", "ye", "jʌ̹" },
["ᅨ"] = { "ᅨ", "ye", "ye", "ye", "yey", "je̞" },
["ㅖ"] = { "ㅖ", "ye", "ye", "ye", "yey", "je̞" },
["ᅩ"] = { "ᅩ", "o", "o", "o", "o", "o̞" },
["ㅗ"] = { "ㅗ", "o", "o", "o", "o", "o̞" },
["ᅪ"] = { "ᅪ", "wa", "wa", "wa", "wa", "wa̠" },
["ㅘ"] = { "ㅘ", "wa", "wa", "wa", "wa", "wa̠" },
["ᅫ"] = { "ᅫ", "wae", "wae", "wae", "way", "wɛ" },
["ㅙ"] = { "ㅙ", "wae", "wae", "wae", "way", "wɛ" },
["ᅬ"] = { "ᅬ", "oe", "oe", "oe", "oy", "ø̞" },
["ㅚ"] = { "ㅚ", "oe", "oe", "oe", "oy", "ø̞" },
["ᅭ"] = { "ᅭ", "yo", "yo", "yo", "yo", "jo" },
["ㅛ"] = { "ㅛ", "yo", "yo", "yo", "yo", "jo" },
["ᅮ"] = { "ᅮ", "u", "u", "u", "wu", "u" },
["ㅜ"] = { "ㅜ", "u", "u", "u", "wu", "u" },
["ᅯ"] = { "ᅯ", "wo", "wo", "wŏ", "we", "wʌ̹" },
["ㅝ"] = { "ㅝ", "wo", "wo", "wŏ", "we", "wʌ̹" },
["ᅰ"] = { "ᅰ", "we", "we", "we", "wey", "we̞" },
["ㅞ"] = { "ㅞ", "we", "we", "we", "wey", "we̞" },
["ᅱ"] = { "ᅱ", "wi", "wi", "wi", "wi", "ɥi" },
["ㅟ"] = { "ㅟ", "wi", "wi", "wi", "wi", "ɥi" },
["ᅲ"] = { "ᅲ", "yu", "yu", "yu", "yu", "ju" },
["ㅠ"] = { "ㅠ", "yu", "yu", "yu", "yu", "ju" },
["ᅳ"] = { "ᅳ", "eu", "eu", "ŭ", "u", "ɯ" },
["ㅡ"] = { "ㅡ", "eu", "eu", "ŭ", "u", "ɯ" },
["ᅴ"] = { "ᅴ", "ui", "ui", "ŭi", "uy", "ɰi" },
["ㅢ"] = { "ㅢ", "ui", "ui", "ŭi", "uy", "ɰi" },
["ᅵ"] = { "ᅵ", "i", "i", "i", "i", "i" },
["ㅣ"] = { "ㅣ", "i", "i", "i", "i", "i" },
}
export.boundary = {
-- note: Ø represents different things when used for initials and finals.
-- For initials, Ø = the next syllable is absent.
-- For finals, Ø = the absence of a jongseong jamo, but the previous syllable exists.
-- The equivalent of initial Ø is final "" (nothing).
["Ø-Ø"] = { "", ";", "", "", "", "" },
["-Ø"] = { "", ";", "", "", "", "" },
["-ᄀ"] = { "ᄀ", ";g", "g", "k", "k", "k" },
["-ᄁ"] = { "ᄁ", ";kk", "kk", "kk", "kk", "k͈" },
["-ᄂ"] = { "ᄂ", ";n", "n", "n", "n", "n" },
["-ᄃ"] = { "ᄃ", ";d", "d", "t", "t", "t" },
["-ᄄ"] = { "ᄄ", ";tt", "tt", "tt", "tt", "t͈" },
["-ᄅ"] = { "ᄅ", ";r", "l", "r", "l", "ɾ" },
["-ᄆ"] = { "ᄆ", ";m", "m", "m", "m", "m" },
["-ᄇ"] = { "ᄇ", ";b", "b", "p", "p", "p" },
["-ᄈ"] = { "ᄈ", ";pp", "pp", "pp", "pp", "p͈" },
["-ᄉ"] = { "ᄉ", ";s", "s", "s", "s", "sʰ" },
["-ᄊ"] = { "ᄊ", ";ss", "ss", "ss", "ss", "s͈" },
["-ᄋ"] = { "ᄋ", ";", "", "", "", "" },
["-ᄌ"] = { "ᄌ", ";j", "j", "ch", "c", "t͡ɕ" },
["-ᄍ"] = { "ᄍ", ";jj", "jj", "tch", "cc", "t͡ɕ͈" },
["-ᄎ"] = { "ᄎ", ";ch", "ch", "ch'", "ch", "t͡ɕʰ" },
["-ᄏ"] = { "ᄏ", ";k", "k", "k'", "kh", "kʰ" },
["-ᄐ"] = { "ᄐ", ";t", "t", "t'", "th", "tʰ" },
["-ᄑ"] = { "ᄑ", ";p", "p", "p'", "ph", "pʰ" },
["-ᄒ"] = { "ᄒ", ";h", "h", "h", "h", "h" },
["Ø-ᄀ"] = { "ᄀ", ";g", "g", "g", "k", "ɡ" },
["Ø-ᄁ"] = { "ᄁ", ";kk", "'kk", "kk", ".kk", "k͈" },
["Ø-ᄂ"] = { "ᄂ", ";n", "n", "n", "n", "n" },
["Ø-ᄃ"] = { "ᄃ", ";d", "d", "d", "t", "d" },
["Ø-ᄄ"] = { "ᄄ", ";tt", "'tt", "tt", ".tt", "t͈" },
["Ø-ᄅ"] = { "ᄅ", ";r", "l", "r", "l", "ɾ" },
["Ø-ᄆ"] = { "ᄆ", ";m", "m", "m", "m", "m" },
["Ø-ᄇ"] = { "ᄇ", ";b", "b", "b", "p", "b" },
["Ø-ᄈ"] = { "ᄈ", ";pp", "'pp", "pp", ".pp", "p͈" },
["Ø-ᄉ"] = { "ᄉ", ";s", "s", "s", "s", "sʰ" },
["Ø-ᄊ"] = { "ᄊ", ";ss", "'ss", "ss", ".ss", "s͈" },
["Ø-ᄋ"] = { "ᄋ", ";…", "…", "…", "…", "" },
["Ø-ᄌ"] = { "ᄌ", ";j", "j", "j", "c", "d͡ʑ" },
["Ø-ᄍ"] = { "ᄍ", ";jj", "'jj", "tch", ".cc", "t͡ɕ͈" },
["Ø-ᄎ"] = { "ᄎ", ";ch", "ch", "ch'", ".ch", "t͡ɕʰ" },
["Ø-ᄏ"] = { "ᄏ", ";k", "k", "k'", ".kh", "kʰ" },
["Ø-ᄐ"] = { "ᄐ", ";t", "t", "t'", ".th", "tʰ" },
["Ø-ᄑ"] = { "ᄑ", ";p", "p", "p'", ".ph", "pʰ" },
["Ø-ᄒ"] = { "ᄒ", ";h", "h", "h", "h", "ɦ" },
["ᆨ-Ø"] = { "ᆨ", "k;", "g", "k", "k", "k̚" },
["ᆨ-ᄀ"] = { "ᆨᄁ", "k;g", "gg", "kk", "k.k", "k̚k͈" },
["ㄱ-ᄀ"] = { "ㄱᄁ", "k;g", "gg", "kk", "k.k", "k̚k͈" },
["ᆨ-ᄁ"] = { "ᆨᄁ", "k;kk", "gkk", "kk", "k.kk", "k̚k͈" },
["ㄱ-ᄁ"] = { "ㄱᄁ", "k;kk", "gkk", "kk", "k.kk", "k̚k͈" },
["ᆨ-ᄂ"] = { "ᆼᄂ", "ng;n", "gn", "ngn", "kn", "ŋn" },
["ㄱ-ᄂ"] = { "ㅇᄂ", "ng;n", "gn", "ngn", "kn", "ŋn" },
["ᆨ-ᄃ"] = { "ᆨᄄ", "k;d", "gd", "kt", "kt", "k̚t͈" },
["ㄱ-ᄃ"] = { "ㄱᄄ", "k;d", "gd", "kt", "kt", "k̚t͈" },
["ᆨ-ᄄ"] = { "ᆨᄄ", "k;tt", "gtt", "ktt", "ktt", "k̚t͈" },
["ㄱ-ᄄ"] = { "ㄱᄄ", "k;tt", "gtt", "ktt", "ktt", "k̚t͈" },
["ᆨ-ᄅ"] = { "ᆼᄂ", "ng;n", "gl", "ngn", "kl", "ŋn" },
["ㄱ-ᄅ"] = { "ㅇᄂ", "ng;n", "gl", "ngn", "kl", "ŋn" },
["ᆨ-ᄆ"] = { "ᆼᄆ", "ng;m", "gm", "ngm", "km", "ŋm" },
["ㄱ-ᄆ"] = { "ㅇᄆ", "ng;m", "gm", "ngm", "km", "ŋm" },
["ᆨ-ᄇ"] = { "ᆨᄈ", "k;b", "gb", "kp", "kp", "k̚p͈" },
["ㄱ-ᄇ"] = { "ㄱᄈ", "k;b", "gb", "kp", "kp", "k̚p͈" },
["ᆨ-ᄈ"] = { "ᆨᄈ", "k;pp", "gpp", "kpp", "kpp", "k̚p͈" },
["ㄱ-ᄈ"] = { "ㄱᄈ", "k;pp", "gpp", "kpp", "kpp", "k̚p͈" },
["ᆨ-ᄉ"] = { "ᆨᄊ", "k;s", "gs", "ks", "k.s", "ks͈" },
["ㄱ-ᄉ"] = { "ㄱᄊ", "k;s", "gs", "ks", "k.s", "ks͈" },
["ᆨ-ᄊ"] = { "ᆨᄊ", "k;ss", "g'ss", "kss", "k.ss", "ks͈" },
["ㄱ-ᄊ"] = { "ㄱᄊ", "k;ss", "g'ss", "kss", "k.ss", "ks͈" },
["ᆨ-ᄋ"] = { "ᄀ", "g;", "g'", "g", "k.", "ɡ" },
["ㄱ-ᄋ"] = { "ᄀ", "g;", "g'", "g", "k.", "ɡ" },
["ᆨ-ᄌ"] = { "ᆨᄍ", "k;j", "gj", "kch", "kc", "k̚t͡ɕ͈" },
["ㄱ-ᄌ"] = { "ㄱᄍ", "k;j", "gj", "kch", "kc", "k̚t͡ɕ͈" },
["ᆨ-ᄍ"] = { "ᆨᄍ", "k;jj", "gjj", "ktch", "kcc", "k̚t͡ɕ͈" },
["ㄱ-ᄍ"] = { "ㄱᄍ", "k;jj", "gjj", "ktch", "kcc", "k̚t͡ɕ͈" },
["ᆨ-ᄎ"] = { "ᆨᄎ", "k;ch", "gch", "kch'", "kch", "k̚t͡ɕʰ" },
["ㄱ-ᄎ"] = { "ㄱᄎ", "k;ch", "gch", "kch'", "kch", "k̚t͡ɕʰ" },
["ᆨ-ᄏ"] = { "ᆨᄏ", "k;'k", "gk", "kk'", "k.kh", "k̚kʰ" },
["ㄱ-ᄏ"] = { "ㄱᄏ", "k;'k", "gk", "kk'", "k.kh", "k̚kʰ" },
["ᆨ-ᄐ"] = { "ᆨᄐ", "k;t", "gt", "kt'", "kth", "k̚tʰ" },
["ㄱ-ᄐ"] = { "ㄱᄐ", "k;t", "gt", "kt'", "kth", "k̚tʰ" },
["ᆨ-ᄑ"] = { "ᆨᄑ", "k;p", "gp", "kp'", "kph", "k̚pʰ" },
["ㄱ-ᄑ"] = { "ㄱᄑ", "k;p", "gp", "kp'", "kph", "k̚pʰ" },
["ᆨ-ᄒ"] = { "ᄏ", "k;h", "gh", "kh", "k.h", "kʰ" },
["ㄱ-ᄒ"] = { "ᄏ", "k;h", "gh", "kh", "k.h", "kʰ" },
["ᆩ-Ø"] = { "ᆨ", "k;", "kk", "k", "kk", "k̚" },
["ᆩ-ᄀ"] = { "ᆨᄁ", "k;g", "kkg", "kk", "kk.k", "k̚k͈" },
["ㄲ-ᄀ"] = { "ㄱᄁ", "k;g", "kkg", "kk", "kk.k", "k̚k͈" },
["ᆩ-ᄁ"] = { "ᆨᄁ", "k;kk", "kkkk", "kk", "kkkk", "k̚k͈" },
["ㄲ-ᄁ"] = { "ㄱᄁ", "k;kk", "kkkk", "kk", "kkkk", "k̚k͈" },
["ᆩ-ᄂ"] = { "ᆼᄂ", "ng;n", "kkn", "ngn", "kkn", "ŋn" },
["ㄲ-ᄂ"] = { "ㅇᄂ", "ng;n", "kkn", "ngn", "kkn", "ŋn" },
["ᆩ-ᄃ"] = { "ᆨᄄ", "k;d", "kkd", "kt", "kkt", "k̚t͈" },
["ㄲ-ᄃ"] = { "ㄱᄄ", "k;d", "kkd", "kt", "kkt", "k̚t͈" },
["ᆩ-ᄄ"] = { "ᆨᄄ", "k;tt", "kktt", "ktt", "kktt", "k̚t͈" },
["ㄲ-ᄄ"] = { "ㄱᄄ", "k;tt", "kktt", "ktt", "kktt", "k̚t͈" },
["ᆩ-ᄅ"] = { "ᆼᄂ", "ng;n", "kkl", "ngn", "kkl", "ŋn" },
["ㄲ-ᄅ"] = { "ㅇᄂ", "ng;n", "kkl", "ngn", "kkl", "ŋn" },
["ᆩ-ᄆ"] = { "ᆼᄆ", "ng;m", "kkm", "ngm", "kkm", "ŋm" },
["ㄲ-ᄆ"] = { "ㅇᄆ", "ng;m", "kkm", "ngm", "kkm", "ŋm" },
["ᆩ-ᄇ"] = { "ᆨᄈ", "k;b", "kkb", "kp", "kkp", "k̚p͈" },
["ㄲ-ᄇ"] = { "ㄱᄈ", "k;b", "kkb", "kp", "kkp", "k̚p͈" },
["ᆩ-ᄈ"] = { "ᆨᄈ", "k;pp", "kkpp", "kpp", "kkpp", "k̚p͈" },
["ㄲ-ᄈ"] = { "ㄱᄈ", "k;pp", "kkpp", "kpp", "kkpp", "k̚p͈" },
["ᆩ-ᄉ"] = { "ᆨᄊ", "k;s", "kks", "ks", "kks", "ks͈" },
["ㄲ-ᄉ"] = { "ㄱᄊ", "k;s", "kks", "ks", "kks", "ks͈" },
["ᆩ-ᄊ"] = { "ᆨᄊ", "k;ss", "kkss", "kss", "kkss", "ks͈" },
["ㄲ-ᄊ"] = { "ㄱᄊ", "k;ss", "kkss", "kss", "kkss", "ks͈" },
["ᆩ-ᄋ"] = { "ᄁ", "kk;", "kk'", "kk", "kk.", "k͈" },
["ㄲ-ᄋ"] = { "ᄁ", "kk;", "kk'", "kk", "kk.", "k͈" },
["ᆩ-ᄌ"] = { "ᆨᄍ", "k;j", "kkj", "kch", "kkc", "k̚t͡ɕ͈" },
["ㄲ-ᄌ"] = { "ㄱᄍ", "k;j", "kkj", "kch", "kkc", "k̚t͡ɕ͈" },
["ᆩ-ᄍ"] = { "ᆨᄍ", "k;jj", "kkjj", "ktch", "kkcc", "k̚t͡ɕ͈" },
["ㄲ-ᄍ"] = { "ㄱᄍ", "k;jj", "kkjj", "ktch", "kkcc", "k̚t͡ɕ͈" },
["ᆩ-ᄎ"] = { "ᆨᄎ", "k;ch", "kkch", "kch'", "kkch", "k̚t͡ɕʰ" },
["ㄲ-ᄎ"] = { "ㄱᄎ", "k;ch", "kkch", "kch'", "kkch", "k̚t͡ɕʰ" },
["ᆩ-ᄏ"] = { "ᆨᄏ", "k;'k", "kk'k", "kk'", "kkkh", "k̚kʰ" },
["ㄲ-ᄏ"] = { "ㄱᄏ", "k;'k", "kk'k", "kk'", "kkkh", "k̚kʰ" },
["ᆩ-ᄐ"] = { "ᆨᄐ", "k;t", "kkt", "kt'", "kkth", "k̚tʰ" },
["ㄲ-ᄐ"] = { "ㄱᄐ", "k;t", "kkt", "kt'", "kkth", "k̚tʰ" },
["ᆩ-ᄑ"] = { "ᆨᄑ", "k;p", "kkp", "kp'", "kkph", "k̚pʰ" },
["ㄲ-ᄑ"] = { "ㄱᄑ", "k;p", "kkp", "kp'", "kkph", "k̚pʰ" },
["ᆩ-ᄒ"] = { "ᄏ", "k;h", "kkh", "kh", "kk.h", "kʰ" },
["ㄲ-ᄒ"] = { "ᄏ", "k;h", "kkh", "kh", "kk.h", "kʰ" },
["ᆪ-Ø"] = { "ᆨ", "k;", "gs", "k", "ks", "k̚" },
["ᆪ-ᄀ"] = { "ᆨᄁ", "k;g", "gsg", "kk", "ksk", "k̚k͈" },
["ㄳ-ᄀ"] = { "ㄱᄁ", "k;g", "gsg", "kk", "ksk", "k̚k͈" },
["ᆪ-ᄁ"] = { "ᆨᄁ", "k;kk", "gskk", "kk", "kskk", "k̚k͈" },
["ㄳ-ᄁ"] = { "ㄱᄁ", "k;kk", "gskk", "kk", "kskk", "k̚k͈" },
["ᆪ-ᄂ"] = { "ᆼᄂ", "ng;n", "gsn", "ngn", "ksn", "ŋn" },
["ㄳ-ᄂ"] = { "ㅇᄂ", "ng;n", "gsn", "ngn", "ksn", "ŋn" },
["ᆪ-ᄃ"] = { "ᆨᄄ", "k;d", "gsd", "kt", "kst", "k̚t͈" },
["ㄳ-ᄃ"] = { "ㄱᄄ", "k;d", "gsd", "kt", "kst", "k̚t͈" },
["ᆪ-ᄄ"] = { "ᆨᄄ", "k;tt", "gstt", "ktt", "kstt", "k̚t͈" },
["ㄳ-ᄄ"] = { "ㄱᄄ", "k;tt", "gstt", "ktt", "kstt", "k̚t͈" },
["ᆪ-ᄅ"] = { "ᆼᄂ", "ng;n", "gsl", "ngn", "ksl", "ŋn" },
["ㄳ-ᄅ"] = { "ㅇᄂ", "ng;n", "gsl", "ngn", "ksl", "ŋn" },
["ᆪ-ᄆ"] = { "ᆼᄆ", "ng;m", "gsm", "ngm", "ksm", "ŋm" },
["ㄳ-ᄆ"] = { "ㅇᄆ", "ng;m", "gsm", "ngm", "ksm", "ŋm" },
["ᆪ-ᄇ"] = { "ᆨᄈ", "k;b", "gsb", "kp", "ksp", "k̚p͈" },
["ㄳ-ᄇ"] = { "ㄱᄈ", "k;b", "gsb", "kp", "ksp", "k̚p͈" },
["ᆪ-ᄈ"] = { "ᆨᄈ", "k;pp", "gspp", "kpp", "kspp", "k̚p͈" },
["ㄳ-ᄈ"] = { "ㄱᄈ", "k;pp", "gspp", "kpp", "kspp", "k̚p͈" },
["ᆪ-ᄉ"] = { "ᆨᄊ", "k;s", "gs's", "ks", "ks.s", "ks͈" },
["ㄳ-ᄉ"] = { "ㄱᄊ", "k;s", "gs's", "ks", "ks.s", "ks͈" },
["ᆪ-ᄊ"] = { "ᆨᄊ", "k;ss", "gsss", "kss", "ksss", "ks͈" },
["ㄳ-ᄊ"] = { "ㄱᄊ", "k;ss", "gsss", "kss", "ksss", "ks͈" },
["ᆪ-ᄋ"] = { "ᆨᄊ", "ks;", "gs'", "ks", "ks.", "ks͈" },
["ㄳ-ᄋ"] = { "ㄱᄊ", "ks;", "gs'", "ks", "ks.", "ks͈" },
["ᆪ-ᄌ"] = { "ᆨᄍ", "k;j", "gsj", "kch", "ksc", "k̚t͡ɕ͈" },
["ㄳ-ᄌ"] = { "ㄱᄍ", "k;j", "gsj", "kch", "ksc", "k̚t͡ɕ͈" },
["ᆪ-ᄍ"] = { "ᆨᄍ", "k;jj", "gsjj", "ktch", "kscc", "k̚t͡ɕ͈" },
["ㄳ-ᄍ"] = { "ㄱᄍ", "k;jj", "gsjj", "ktch", "kscc", "k̚t͡ɕ͈" },
["ᆪ-ᄎ"] = { "ᆨᄎ", "k;ch", "gsch", "kch'", "ksch", "k̚t͡ɕʰ" },
["ㄳ-ᄎ"] = { "ㄱᄎ", "k;ch", "gsch", "kch'", "ksch", "k̚t͡ɕʰ" },
["ᆪ-ᄏ"] = { "ᆨᄏ", "k;'k", "gsk", "kk'", "kskh", "k̚kʰ" },
["ㄳ-ᄏ"] = { "ㄱᄏ", "k;'k", "gsk", "kk'", "kskh", "k̚kʰ" },
["ᆪ-ᄐ"] = { "ᆨᄐ", "k;t", "gst", "kt'", "ksth", "k̚tʰ" },
["ㄳ-ᄐ"] = { "ㄱᄐ", "k;t", "gst", "kt'", "ksth", "k̚tʰ" },
["ᆪ-ᄑ"] = { "ᆨᄑ", "k;p", "gsp", "kp'", "ksph", "k̚pʰ" },
["ㄳ-ᄑ"] = { "ㄱᄑ", "k;p", "gsp", "kp'", "ksph", "k̚pʰ" },
["ᆪ-ᄒ"] = { "ᄏ", "k;h", "gsh", "kh", "ksh", "kʰ" },
["ㄳ-ᄒ"] = { "ᄏ", "k;h", "gsh", "kh", "ksh", "kʰ" },
["ᆫ-Ø"] = { "ᆫ", "n;", "n", "n", "n", "n" },
["ᆫ-ᄀ"] = { "ᆫᄀ", "n;'g", "ng", "n'g", "nk", "nɡ" },
["ㄴ-ᄀ"] = { "ㄴᄀ", "n;'g", "ng", "n'g", "nk", "nɡ" },
["ᆫ-ᄁ"] = { "ᆫᄁ", "n;kk", "nkk", "nkk", "nkk", "nk͈" },
["ㄴ-ᄁ"] = { "ㄴᄁ", "n;kk", "nkk", "nkk", "nkk", "nk͈" },
["ᆫ-ᄂ"] = { "ᆫᄂ", "n;n", "nn", "nn", "nn", "nn" },
["ㄴ-ᄂ"] = { "ㄴᄂ", "n;n", "nn", "nn", "nn", "nn" },
["ᆫ-ᄃ"] = { "ᆫᄃ", "n;d", "nd", "nd", "nt", "nd" },
["ㄴ-ᄃ"] = { "ㄴᄃ", "n;d", "nd", "nd", "nt", "nd" },
["ᆫ-ᄄ"] = { "ᆫᄄ", "n;tt", "ntt", "ntt", "ntt", "nt͈" },
["ㄴ-ᄄ"] = { "ㄴᄄ", "n;tt", "ntt", "ntt", "ntt", "nt͈" },
["ᆫ-ᄅ"] = { "ᆯᄅ", "l;l", "nl", "ll", "nl", "ɭɭ" },
["ㄴ-ᄅ"] = { "ㄹᄅ", "l;l", "nl", "ll", "nl", "ɭɭ" },
["ᆫ-ᄆ"] = { "ᆫᄆ", "n;m", "nm", "nm", "nm", "nm" },
["ㄴ-ᄆ"] = { "ㄴᄆ", "n;m", "nm", "nm", "nm", "nm" },
["ᆫ-ᄇ"] = { "ᆫᄇ", "n;b", "nb", "nb", "np", "nb" },
["ㄴ-ᄇ"] = { "ㄴᄇ", "n;b", "nb", "nb", "np", "nb" },
["ᆫ-ᄈ"] = { "ᆫᄈ", "n;pp", "npp", "npp", "npp", "np͈" },
["ㄴ-ᄈ"] = { "ㄴᄈ", "n;pp", "npp", "npp", "npp", "np͈" },
["ᆫ-ᄉ"] = { "ᆫᄉ", "n;s", "ns", "ns", "ns", "nsʰ" },
["ㄴ-ᄉ"] = { "ㄴᄉ", "n;s", "ns", "ns", "ns", "nsʰ" },
["ᆫ-ᄊ"] = { "ᆫᄊ", "n;ss", "nss", "nss", "nss", "ns͈" },
["ㄴ-ᄊ"] = { "ㄴᄊ", "n;ss", "nss", "nss", "nss", "ns͈" },
["ᆫ-ᄋ"] = { "ᄂ", "n;", "n'", "n", "n.", "n" },
["ㄴ-ᄋ"] = { "ᄂ", "n;", "n'", "n", "n.", "n" },
["ᆫ-ᄌ"] = { "ᆫᄌ", "n;j", "nj", "nj", "n.c", "ɲd͡ʑ" },
["ㄴ-ᄌ"] = { "ㄴᄌ", "n;j", "nj", "nj", "n.c", "ɲd͡ʑ" },
["ᆫ-ᄍ"] = { "ᆫᄍ", "n;jj", "n'jj", "ntch", "n.cc", "ɲt͡ɕ͈" },
["ㄴ-ᄍ"] = { "ㄴᄍ", "n;jj", "n'jj", "ntch", "n.cc", "ɲt͡ɕ͈" },
["ᆫ-ᄎ"] = { "ᆫᄎ", "n;ch", "nch", "nch'", "n.ch", "ɲt͡ɕʰ" },
["ㄴ-ᄎ"] = { "ㄴᄎ", "n;ch", "nch", "nch'", "n.ch", "ɲt͡ɕʰ" },
["ᆫ-ᄏ"] = { "ᆫᄏ", "n;k", "nk", "nk'", "nkh", "nkʰ" },
["ㄴ-ᄏ"] = { "ㄴᄏ", "n;k", "nk", "nk'", "nkh", "nkʰ" },
["ᆫ-ᄐ"] = { "ᆫᄐ", "n;t", "nt", "nt'", "nth", "ntʰ" },
["ㄴ-ᄐ"] = { "ㄴᄐ", "n;t", "nt", "nt'", "nth", "ntʰ" },
["ᆫ-ᄑ"] = { "ᆫᄑ", "n;p", "np", "np'", "nph", "npʰ" },
["ㄴ-ᄑ"] = { "ㄴᄑ", "n;p", "np", "np'", "nph", "npʰ" },
["ᆫ-ᄒ"] = { "ᆫᄒ", "n;h", "nh", "nh", "n.h", "nɦ" },
["ㄴ-ᄒ"] = { "ㄴᄒ", "n;h", "nh", "nh", "n.h", "nɦ" },
["ᆬ-Ø"] = { "ᆫ", "n;", "nj", "n", "nc", "n" },
["ᆬ-ᄀ"] = { "ᆫᄁ", "n;'g", "njg", "nk", "nck", "nk͈" },
["ㄵ-ᄀ"] = { "ㄴᄁ", "n;'g", "njg", "nk", "nck", "nk͈" },
["ᆬ-ᄁ"] = { "ᆫᄁ", "n;kk", "njkk", "nkk", "nckk", "nk͈" },
["ㄵ-ᄁ"] = { "ㄴᄁ", "n;kk", "njkk", "nkk", "nckk", "nk͈" },
["ᆬ-ᄂ"] = { "ᆫᄂ", "n;n", "njn", "nn", "ncn", "nn" },
["ㄵ-ᄂ"] = { "ㄴᄂ", "n;n", "njn", "nn", "ncn", "nn" },
["ᆬ-ᄃ"] = { "ᆫᄄ", "n;d", "njd", "nt", "nct", "nt͈" },
["ㄵ-ᄃ"] = { "ㄴᄄ", "n;d", "njd", "nt", "nct", "nt͈" },
["ᆬ-ᄄ"] = { "ᆫᄄ", "n;tt", "njtt", "ntt", "nctt", "nt͈" },
["ㄵ-ᄄ"] = { "ㄴᄄ", "n;tt", "njtt", "ntt", "nctt", "nt͈" },
["ᆬ-ᄅ"] = { "ᆫᄂ", "n;n", "njl", "nn", "ncl", "nn" },
["ㄵ-ᄅ"] = { "ㄴᄂ", "n;n", "njl", "nn", "ncl", "nn" },
["ᆬ-ᄆ"] = { "ᆫᄆ", "n;m", "njm", "nm", "ncm", "nm" },
["ㄵ-ᄆ"] = { "ㄴᄆ", "n;m", "njm", "nm", "ncm", "nm" },
["ᆬ-ᄇ"] = { "ᆫᄈ", "n;b", "njb", "np", "ncp", "np͈" },
["ㄵ-ᄇ"] = { "ㄴᄈ", "n;b", "njb", "np", "ncp", "np͈" },
["ᆬ-ᄈ"] = { "ᆫᄈ", "n;pp", "njpp", "npp", "ncpp", "np͈" },
["ㄵ-ᄈ"] = { "ㄴᄈ", "n;pp", "njpp", "npp", "ncpp", "np͈" },
["ᆬ-ᄉ"] = { "ᆫᄊ", "n;s", "njs", "ns", "ncs", "ns͈" },
["ㄵ-ᄉ"] = { "ㄴᄊ", "n;s", "njs", "ns", "ncs", "ns͈" },
["ᆬ-ᄊ"] = { "ᆫᄊ", "n;ss", "njss", "nss", "ncss", "ns͈" },
["ㄵ-ᄊ"] = { "ㄴᄊ", "n;ss", "njss", "nss", "ncss", "ns͈" },
["ᆬ-ᄋ"] = { "ᆫᄌ", "nj;", "nj'", "nj", "nc.", "ɲd͡ʑ" },
["ㄵ-ᄋ"] = { "ㄴᄌ", "nj;", "nj'", "nj", "nc.", "ɲd͡ʑ" },
["ᆬ-ᄌ"] = { "ᆫᄍ", "n;j", "nj'j", "nch", "nc.c", "ɲt͡ɕ͈" },
["ㄵ-ᄌ"] = { "ㄴᄍ", "n;j", "nj'j", "nch", "nc.c", "ɲt͡ɕ͈" },
["ᆬ-ᄍ"] = { "ᆫᄍ", "n;jj", "njjj", "ntch", "nccc", "ɲt͡ɕ͈" },
["ㄵ-ᄍ"] = { "ㄴᄍ", "n;jj", "njjj", "ntch", "nccc", "ɲt͡ɕ͈" },
["ᆬ-ᄎ"] = { "ᆫᄎ", "n;ch", "njch", "nch'", "ncch", "ɲt͡ɕʰ" },
["ㄵ-ᄎ"] = { "ㄴᄎ", "n;ch", "njch", "nch'", "ncch", "ɲt͡ɕʰ" },
["ᆬ-ᄏ"] = { "ᆫᄏ", "n;k", "njk", "nk'", "nckh", "nkʰ" },
["ㄵ-ᄏ"] = { "ㄴᄏ", "n;k", "njk", "nk'", "nckh", "nkʰ" },
["ᆬ-ᄐ"] = { "ᆫᄐ", "n;t", "njt", "nt'", "ncth", "ntʰ" },
["ㄵ-ᄐ"] = { "ㄴᄐ", "n;t", "njt", "nt'", "ncth", "ntʰ" },
["ᆬ-ᄑ"] = { "ᆫᄑ", "n;p", "njp", "np'", "ncph", "npʰ" },
["ㄵ-ᄑ"] = { "ㄴᄑ", "n;p", "njp", "np'", "ncph", "npʰ" },
["ᆬ-ᄒ"] = { "ᆫᄎ", "n;ch", "njh", "nch'", "nc.h", "ɲt͡ɕʰ" },
["ㄵ-ᄒ"] = { "ㄴᄎ", "n;ch", "njh", "nch'", "nc.h", "ɲt͡ɕʰ" },
["ᆭ-Ø"] = { "ᆫ", "n;", "nh", "n", "nh", "n" },
["ᆭ-ᄀ"] = { "ᆫᄏ", "n;k", "nhg", "nk'", "nhk", "nkʰ" },
["ㄶ-ᄀ"] = { "ㄴᄏ", "n;k", "nhg", "nk'", "nhk", "nkʰ" },
["ᆭ-ᄁ"] = { "ᆫᄁ", "n;kk", "nhkk", "nk'", "nhkk", "nk͈" },
["ㄶ-ᄁ"] = { "ㄴᄁ", "n;kk", "nhkk", "nk'", "nhkk", "nk͈" },
["ᆭ-ᄂ"] = { "ᆫᄂ", "n;n", "nhn", "nn", "nhn", "nn" },
["ㄶ-ᄂ"] = { "ㄴᄂ", "n;n", "nhn", "nn", "nhn", "nn" },
["ᆭ-ᄃ"] = { "ᆫᄐ", "n;t", "nhd", "nt'", "nht", "ntʰ" },
["ㄶ-ᄃ"] = { "ㄴᄐ", "n;t", "nhd", "nt'", "nht", "ntʰ" },
["ᆭ-ᄄ"] = { "ᆫᄄ", "n;tt", "nhtt", "nt'", "nhtt", "nt͈" },
["ㄶ-ᄄ"] = { "ㄴᄄ", "n;tt", "nhtt", "nt'", "nhtt", "nt͈" },
["ᆭ-ᄅ"] = { "ᆫᄂ", "n;n", "nhl", "nn", "nhl", "nn" },
["ㄶ-ᄅ"] = { "ㄴᄂ", "n;n", "nhl", "nn", "nhl", "nn" },
["ᆭ-ᄆ"] = { "ᆫᄆ", "n;m", "nhm", "nm", "nhm", "nm" },
["ㄶ-ᄆ"] = { "ㄴᄆ", "n;m", "nhm", "nm", "nhm", "nm" },
["ᆭ-ᄇ"] = { "ᆫᄑ", "n;p", "nhb", "np'", "nhp", "npʰ" },
["ㄶ-ᄇ"] = { "ㄴᄑ", "n;p", "nhb", "np'", "nhp", "npʰ" },
["ᆭ-ᄈ"] = { "ᆫᄈ", "n;pp", "nhpp", "np'", "nhpp", "np͈" },
["ㄶ-ᄈ"] = { "ㄴᄈ", "n;pp", "nhpp", "np'", "nhpp", "np͈" },
["ᆭ-ᄉ"] = { "ᆫᄊ", "n;s", "nhs", "nss", "nhs", "ns͈" },
["ㄶ-ᄉ"] = { "ㄴᄊ", "n;s", "nhs", "nss", "nhs", "ns͈" },
["ᆭ-ᄊ"] = { "ᆫᄊ", "n;ss", "nhss", "nss", "nhss", "ns͈" },
["ㄶ-ᄊ"] = { "ㄴᄊ", "n;ss", "nhss", "nss", "nhss", "ns͈" },
["ᆭ-ᄋ"] = { "ᄂ", "n;", "nh'", "n", "nh.", "n" },
["ㄶ-ᄋ"] = { "ᄂ", "n;", "nh'", "n", "nh.", "n" },
["ᆭ-ᄌ"] = { "ᆫᄎ", "n;ch", "nhj", "nch'", "nhc", "ɲt͡ɕʰ" },
["ㄶ-ᄌ"] = { "ㄴᄎ", "n;ch", "nhj", "nch'", "nhc", "ɲt͡ɕʰ" },
["ᆭ-ᄍ"] = { "ᆫᄍ", "n;jj", "nhjj", "nch'", "nhcc", "ɲt͡ɕ͈" },
["ㄶ-ᄍ"] = { "ㄴᄍ", "n;jj", "nhjj", "nch'", "nhcc", "ɲt͡ɕ͈" },
["ᆭ-ᄎ"] = { "ᆫᄎ", "n;ch", "nhch", "nch'", "nhch", "ɲt͡ɕʰ" },
["ㄶ-ᄎ"] = { "ㄴᄎ", "n;ch", "nhch", "nch'", "nhch", "ɲt͡ɕʰ" },
["ᆭ-ᄏ"] = { "ᆫᄏ", "n;k", "nhk", "nk'", "nhkh", "nkʰ" },
["ㄶ-ᄏ"] = { "ㄴᄏ", "n;k", "nhk", "nk'", "nhkh", "nkʰ" },
["ᆭ-ᄐ"] = { "ᆫᄐ", "n;t", "nht", "nt'", "nhth", "ntʰ" },
["ㄶ-ᄐ"] = { "ㄴᄐ", "n;t", "nht", "nt'", "nhth", "ntʰ" },
["ᆭ-ᄑ"] = { "ᆫᄑ", "n;p", "nhp", "np'", "nhph", "npʰ" },
["ㄶ-ᄑ"] = { "ㄴᄑ", "n;p", "nhp", "np'", "nhph", "npʰ" },
["ᆭ-ᄒ"] = { "ᆫᄒ", "n;h", "nhh", "nh", "nhh", "nɦ" },
["ㄶ-ᄒ"] = { "ㄴᄒ", "n;h", "nhh", "nh", "nhh", "nɦ" },
["ᆮ-Ø"] = { "ᆮ", "t;", "d", "t", "t", "t̚" },
["ᆮ-ᄀ"] = { "ᆮᄁ", "t;g", "dg", "tk", "tk", "t̚k͈" },
["ㄷ-ᄀ"] = { "ㄷᄁ", "t;g", "dg", "tk", "tk", "t̚k͈" },
["ᆮ-ᄁ"] = { "ᆮᄁ", "t;kk", "dkk", "tkk", "tkk", "t̚k͈" },
["ㄷ-ᄁ"] = { "ㄷᄁ", "t;kk", "dkk", "tkk", "tkk", "t̚k͈" },
["ᆮ-ᄂ"] = { "ᆫᄂ", "n;n", "dn", "nn", "tn", "nn" },
["ㄷ-ᄂ"] = { "ㄴᄂ", "n;n", "dn", "nn", "tn", "nn" },
["ᆮ-ᄃ"] = { "ᆮᄄ", "t;d", "dd", "tt", "t.t", "t̚t͈" },
["ㄷ-ᄃ"] = { "ㄷᄄ", "t;d", "dd", "tt", "t.t", "t̚t͈" },
["ᆮ-ᄄ"] = { "ᆮᄄ", "t;tt", "dtt", "tt", "ttt", "t̚t͈" },
["ㄷ-ᄄ"] = { "ㄷᄄ", "t;tt", "dtt", "tt", "ttt", "t̚t͈" },
["ᆮ-ᄅ"] = { "ᆫᄂ", "n;n", "dl", "nn", "tl", "nn" },
["ㄷ-ᄅ"] = { "ㄴᄂ", "n;n", "dl", "nn", "tl", "nn" },
["ᆮ-ᄆ"] = { "ᆫᄆ", "n;m", "dm", "nm", "tm", "nm" },
["ㄷ-ᄆ"] = { "ㄴᄆ", "n;m", "dm", "nm", "tm", "nm" },
["ᆮ-ᄇ"] = { "ᆮᄈ", "t;b", "db", "tp", "tp", "t̚p͈" },
["ㄷ-ᄇ"] = { "ㄷᄈ", "t;b", "db", "tp", "tp", "t̚p͈" },
["ᆮ-ᄈ"] = { "ᆮᄈ", "t;pp", "dpp", "tpp", "tpp", "t̚p͈" },
["ㄷ-ᄈ"] = { "ㄷᄈ", "t;pp", "dpp", "tpp", "tpp", "t̚p͈" },
["ᆮ-ᄉ"] = { "ᆮᄊ", "t;s", "ds", "ss", "ts", "ss͈" },
["ㄷ-ᄉ"] = { "ㄷᄊ", "t;s", "ds", "ss", "ts", "ss͈" },
["ᆮ-ᄊ"] = { "ᆮᄊ", "t;ss", "dss", "ss", "tss", "ss͈" },
["ㄷ-ᄊ"] = { "ㄷᄊ", "t;ss", "dss", "ss", "tss", "ss͈" },
["ᆮ-ᄋ"] = { "ᄃ", "d;", "d'", "d", "t.", "d" },
["ㄷ-ᄋ"] = { "ᄃ", "d;", "d'", "d", "t.", "d" },
["ᆮ-ᄌ"] = { "ᆮᄍ", "t;j", "dj", "tch", "tc", "t̚t͡ɕ͈" },
["ㄷ-ᄌ"] = { "ㄷᄍ", "t;j", "dj", "tch", "tc", "t̚t͡ɕ͈" },
["ᆮ-ᄍ"] = { "ᆮᄍ", "t;jj", "djj", "tch", "tcc", "t̚t͡ɕ͈" },
["ㄷ-ᄍ"] = { "ㄷᄍ", "t;jj", "djj", "tch", "tcc", "t̚t͡ɕ͈" },
["ᆮ-ᄎ"] = { "ᆮᄎ", "t;ch", "dch", "tch'", "tch", "t̚t͡ɕʰ" },
["ㄷ-ᄎ"] = { "ㄷᄎ", "t;ch", "dch", "tch'", "tch", "t̚t͡ɕʰ" },
["ᆮ-ᄏ"] = { "ᆮᄏ", "t;k", "dk", "tk'", "tkh", "t̚kʰ" },
["ㄷ-ᄏ"] = { "ㄷᄏ", "t;k", "dk", "tk'", "tkh", "t̚kʰ" },
["ᆮ-ᄐ"] = { "ᆮᄐ", "t;'t", "dt", "tt'", "tth", "t̚tʰ" },
["ㄷ-ᄐ"] = { "ㄷᄐ", "t;'t", "dt", "tt'", "tth", "t̚tʰ" },
["ᆮ-ᄑ"] = { "ᆮᄑ", "t;p", "dp", "tp'", "tph", "t̚pʰ" },
["ㄷ-ᄑ"] = { "ㄷᄑ", "t;p", "dp", "tp'", "tph", "t̚pʰ" },
["ᆮ-ᄒ"] = { "ᄐ", "t;h", "dh", "th", "t.h", "tʰ" },
["ㄷ-ᄒ"] = { "ᄐ", "t;h", "dh", "th", "t.h", "tʰ" },
["ᆯ-Ø"] = { "ᆯ", "l;", "l", "l", "l", "ɭ" },
["ᆯ-ᄀ"] = { "ᆯᄀ", "l;g", "lg", "lg", "l.k", "ɭɡ" },
["ㄹ-ᄀ"] = { "ㄹᄀ", "l;g", "lg", "lg", "l.k", "ɭɡ" },
["ᆯ-ᄁ"] = { "ᆯᄁ", "l;kk", "lkk", "lkk", "l.kk", "ɭk͈" },
["ㄹ-ᄁ"] = { "ㄹᄁ", "l;kk", "lkk", "lkk", "l.kk", "ɭk͈" },
["ᆯ-ᄂ"] = { "ᆯᄅ", "l;l", "ln", "ll", "ln", "ɭɭ" },
["ㄹ-ᄂ"] = { "ㄹᄅ", "l;l", "ln", "ll", "ln", "ɭɭ" },
["ᆯ-ᄃ"] = { "ᆯᄃ", "l;d", "ld", "ld", "lt", "ɭd" },
["ㄹ-ᄃ"] = { "ㄹᄃ", "l;d", "ld", "ld", "lt", "ɭd" },
["ᆯ-ᄄ"] = { "ᆯᄄ", "l;tt", "l'tt", "ltt", "ltt", "ɭt͈" },
["ㄹ-ᄄ"] = { "ㄹᄄ", "l;tt", "l'tt", "ltt", "ltt", "ɭt͈" },
["ᆯ-ᄅ"] = { "ᆯᄅ", "l;l", "ll", "ll", "ll", "ɭɭ" },
["ㄹ-ᄅ"] = { "ㄹᄅ", "l;l", "ll", "ll", "ll", "ɭɭ" },
["ᆯ-ᄆ"] = { "ᆯᄆ", "l;m", "lm", "lm", "l.m", "ɭm" },
["ㄹ-ᄆ"] = { "ㄹᄆ", "l;m", "lm", "lm", "l.m", "ɭm" },
["ᆯ-ᄇ"] = { "ᆯᄇ", "l;b", "lb", "lb", "l.p", "ɭb" },
["ㄹ-ᄇ"] = { "ㄹᄇ", "l;b", "lb", "lb", "l.p", "ɭb" },
["ᆯ-ᄈ"] = { "ᆯᄈ", "l;pp", "l'pp", "lpp", "l.pp", "ɭp͈" },
["ㄹ-ᄈ"] = { "ㄹᄈ", "l;pp", "l'pp", "lpp", "l.pp", "ɭp͈" },
["ᆯ-ᄉ"] = { "ᆯᄉ", "l;s", "ls", "ls", "l.s", "ɭsʰ" },
["ㄹ-ᄉ"] = { "ㄹᄉ", "l;s", "ls", "ls", "l.s", "ɭsʰ" },
["ᆯ-ᄊ"] = { "ᆯᄊ", "l;ss", "l'ss", "lss", "l.ss", "ɭs͈" },
["ㄹ-ᄊ"] = { "ㄹᄊ", "l;ss", "l'ss", "lss", "l.ss", "ɭs͈" },
["ᆯ-ᄋ"] = { "ᄅ", "r;", "l'", "r", "l.", "ɾ" },
["ㄹ-ᄋ"] = { "ᄅ", "r;", "l'", "r", "l.", "ɾ" },
["ᆯ-ᄌ"] = { "ᆯᄌ", "l;j", "lj", "lj", "lc", "ʎd͡ʑ" },
["ㄹ-ᄌ"] = { "ㄹᄌ", "l;j", "lj", "lj", "lc", "ʎd͡ʑ" },
["ᆯ-ᄍ"] = { "ᆯᄍ", "l;jj", "ljj", "ltch", "lcc", "ʎt͡ɕ͈" },
["ㄹ-ᄍ"] = { "ㄹᄍ", "l;jj", "ljj", "ltch", "lcc", "ʎt͡ɕ͈" },
["ᆯ-ᄎ"] = { "ᆯᄎ", "l;ch", "lch", "lch'", "lch", "ʎt͡ɕʰ" },
["ㄹ-ᄎ"] = { "ㄹᄎ", "l;ch", "lch", "lch'", "lch", "ʎt͡ɕʰ" },
["ᆯ-ᄏ"] = { "ᆯᄏ", "l;k", "lk", "lk'", "l.kh", "ɭkʰ" },
["ㄹ-ᄏ"] = { "ㄹᄏ", "l;k", "lk", "lk'", "l.kh", "ɭkʰ" },
["ᆯ-ᄐ"] = { "ᆯᄐ", "l;t", "lt", "lt'", "l.th", "ɭtʰ" },
["ㄹ-ᄐ"] = { "ㄹᄐ", "l;t", "lt", "lt'", "l.th", "ɭtʰ" },
["ᆯ-ᄑ"] = { "ᆯᄑ", "l;p", "lp", "lp'", "l.ph", "ɭpʰ" },
["ㄹ-ᄑ"] = { "ㄹᄑ", "l;p", "lp", "lp'", "l.ph", "ɭpʰ" },
["ᆯ-ᄒ"] = { "ᆯᄒ", "l;h", "lh", "rh", "l.h", "ɾɦ" },
["ㄹ-ᄒ"] = { "ㄹᄒ", "l;h", "lh", "rh", "l.h", "ɾɦ" },
["ᆰ-Ø"] = { "ᆨ", "k;", "lg", "k", "lk", "k̚" },
["ᆰ-ᄀ"] = { "ᆯᄁ", "l;g", "lgg", "lg", "lk.k", "ɭk͈" },
["ㄺ-ᄀ"] = { "ㄹᄁ", "l;g", "lgg", "lg", "lk.k", "ɭk͈" },
["ᆰ-ᄁ"] = { "ᆯᄁ", "l;kk", "lgkk", "lkk", "lkkk", "ɭk͈" },
["ㄺ-ᄁ"] = { "ㄹᄁ", "l;kk", "lgkk", "lkk", "lkkk", "ɭk͈" },
["ᆰ-ᄂ"] = { "ᆼᄂ", "ng;n", "lgn", "ngn", "lkn", "ŋn" },
["ㄺ-ᄂ"] = { "ㅇᄂ", "ng;n", "lgn", "ngn", "lkn", "ŋn" },
["ᆰ-ᄃ"] = { "ᆨᄄ", "k;d", "lgd", "kt", "lkt", "k̚t͈" },
["ㄺ-ᄃ"] = { "ㄱᄄ", "k;d", "lgd", "kt", "lkt", "k̚t͈" },
["ᆰ-ᄄ"] = { "ᆨᄄ", "k;tt", "lgtt", "ktt", "lktt", "k̚t͈" },
["ㄺ-ᄄ"] = { "ㄱᄄ", "k;tt", "lgtt", "ktt", "lktt", "k̚t͈" },
["ᆰ-ᄅ"] = { "ᆼᄂ", "ng;n", "lgl", "ngn", "lkl", "ŋn" },
["ㄺ-ᄅ"] = { "ㅇᄂ", "ng;n", "lgl", "ngn", "lkl", "ŋn" },
["ᆰ-ᄆ"] = { "ᆼᄆ", "ng;m", "lgm", "ngm", "lkm", "ŋm" },
["ㄺ-ᄆ"] = { "ㅇᄆ", "ng;m", "lgm", "ngm", "lkm", "ŋm" },
["ᆰ-ᄇ"] = { "ᆨᄈ", "k;b", "lgb", "kp", "lkp", "k̚p͈" },
["ㄺ-ᄇ"] = { "ㄱᄈ", "k;b", "lgb", "kp", "lkp", "k̚p͈" },
["ᆰ-ᄈ"] = { "ᆨᄈ", "k;pp", "lgpp", "kpp", "lkpp", "k̚p͈" },
["ㄺ-ᄈ"] = { "ㄱᄈ", "k;pp", "lgpp", "kpp", "lkpp", "k̚p͈" },
["ᆰ-ᄉ"] = { "ᆨᄊ", "k;s", "lgs", "ks", "lks", "ks͈" },
["ㄺ-ᄉ"] = { "ㄱᄊ", "k;s", "lgs", "ks", "lks", "ks͈" },
["ᆰ-ᄊ"] = { "ᆨᄊ", "k;ss", "lgss", "kss", "lkss", "ks͈" },
["ㄺ-ᄊ"] = { "ㄱᄊ", "k;ss", "lgss", "kss", "lkss", "ks͈" },
["ᆰ-ᄋ"] = { "ᆯᄀ", "lg;", "lg'", "lg", "lk.", "ɭɡ" },
["ㄺ-ᄋ"] = { "ㄹᄀ", "lg;", "lg'", "lg", "lk.", "ɭɡ" },
["ᆰ-ᄌ"] = { "ᆨᄍ", "k;j", "lgj", "kch", "lkc", "k̚t͡ɕ͈" },
["ㄺ-ᄌ"] = { "ㄱᄍ", "k;j", "lgj", "kch", "lkc", "k̚t͡ɕ͈" },
["ᆰ-ᄍ"] = { "ᆨᄍ", "k;jj", "lgjj", "ktch", "lkcc", "k̚t͡ɕ͈" },
["ㄺ-ᄍ"] = { "ㄱᄍ", "k;jj", "lgjj", "ktch", "lkcc", "k̚t͡ɕ͈" },
["ᆰ-ᄎ"] = { "ᆨᄎ", "k;ch", "lgch", "kch'", "lkch", "k̚t͡ɕʰ" },
["ㄺ-ᄎ"] = { "ㄱᄎ", "k;ch", "lgch", "kch'", "lkch", "k̚t͡ɕʰ" },
["ᆰ-ᄏ"] = { "ᆯᄏ", "l;k", "lgk", "lk'", "lkkh", "ɭkʰ" },
["ㄺ-ᄏ"] = { "ㄹᄏ", "l;k", "lgk", "lk'", "lkkh", "ɭkʰ" },
["ᆰ-ᄐ"] = { "ᆨᄐ", "k;t", "lgt", "kt'", "lkth", "k̚tʰ" },
["ㄺ-ᄐ"] = { "ㄱᄐ", "k;t", "lgt", "kt'", "lkth", "k̚tʰ" },
["ᆰ-ᄑ"] = { "ᆨᄑ", "k;p", "lgp", "kp'", "lkph", "k̚pʰ" },
["ㄺ-ᄑ"] = { "ㄱᄑ", "k;p", "lgp", "kp'", "lkph", "k̚pʰ" },
["ᆰ-ᄒ"] = { "ᆯᄏ", "l;k", "lgh", "lk'", "lk.h", "ɭkʰ" },
["ㄺ-ᄒ"] = { "ㄹᄏ", "l;k", "lgh", "lk'", "lk.h", "ɭkʰ" },
["ᆱ-Ø"] = { "ᆷ", "m;", "lm", "m", "lm", "m" },
["ᆱ-ᄀ"] = { "ᆷᄀ", "m;g", "lmg", "mg", "lmk", "mɡ" },
["ㄻ-ᄀ"] = { "ㅁᄀ", "m;g", "lmg", "mg", "lmk", "mɡ" },
["ᆱ-ᄁ"] = { "ᆷᄁ", "m;kk", "lmkk", "mkk", "lmkk", "mk͈" },
["ㄻ-ᄁ"] = { "ㅁᄁ", "m;kk", "lmkk", "mkk", "lmkk", "mk͈" },
["ᆱ-ᄂ"] = { "ᆷᄂ", "m;n", "lmn", "mn", "lmn", "mn" },
["ㄻ-ᄂ"] = { "ㅁᄂ", "m;n", "lmn", "mn", "lmn", "mn" },
["ᆱ-ᄃ"] = { "ᆷᄄ", "m;d", "lmd", "mt", "lmt", "mt͈" },
["ㄻ-ᄃ"] = { "ㅁᄄ", "m;d", "lmd", "mt", "lmt", "mt͈" },
["ᆱ-ᄄ"] = { "ᆷᄄ", "m;tt", "lmtt", "mtt", "lmtt", "mt͈" },
["ㄻ-ᄄ"] = { "ㅁᄄ", "m;tt", "lmtt", "mtt", "lmtt", "mt͈" },
["ᆱ-ᄅ"] = { "ᆷᄂ", "m;n", "lml", "mn", "lml", "mn" },
["ㄻ-ᄅ"] = { "ㅁᄂ", "m;n", "lml", "mn", "lml", "mn" },
["ᆱ-ᄆ"] = { "ᆷᄆ", "m;m", "lmm", "mm", "lmm", "mm" },
["ㄻ-ᄆ"] = { "ㅁᄆ", "m;m", "lmm", "mm", "lmm", "mm" },
["ᆱ-ᄇ"] = { "ᆷᄇ", "m;b", "lmb", "mb", "lmp", "mb" },
["ㄻ-ᄇ"] = { "ㅁᄇ", "m;b", "lmb", "mb", "lmp", "mb" },
["ᆱ-ᄈ"] = { "ᆷᄈ", "m;pp", "lmpp", "mpp", "lmpp", "mp͈" },
["ㄻ-ᄈ"] = { "ㅁᄈ", "m;pp", "lmpp", "mpp", "lmpp", "mp͈" },
["ᆱ-ᄉ"] = { "ᆷᄉ", "m;s", "lms", "ms", "lms", "msʰ" },
["ㄻ-ᄉ"] = { "ㅁᄉ", "m;s", "lms", "ms", "lms", "msʰ" },
["ᆱ-ᄊ"] = { "ᆷᄊ", "m;ss", "lmss", "mss", "lmss", "ms͈" },
["ㄻ-ᄊ"] = { "ㅁᄊ", "m;ss", "lmss", "mss", "lmss", "ms͈" },
["ᆱ-ᄋ"] = { "ᆯᄆ", "lm;", "lm'", "lm", "lm.", "ɭm" },
["ㄻ-ᄋ"] = { "ㄹᄆ", "lm;", "lm'", "lm", "lm.", "ɭm" },
["ᆱ-ᄌ"] = { "ᆷᄌ", "m;j", "lmj", "mj", "lmc", "md͡ʑ" },
["ㄻ-ᄌ"] = { "ㅁᄌ", "m;j", "lmj", "mj", "lmc", "md͡ʑ" },
["ᆱ-ᄍ"] = { "ᆷᄍ", "m;jj", "lmjj", "mtch", "lmcc", "mt͡ɕ͈" },
["ㄻ-ᄍ"] = { "ㅁᄍ", "m;jj", "lmjj", "mtch", "lmcc", "mt͡ɕ͈" },
["ᆱ-ᄎ"] = { "ᆷᄎ", "m;ch", "lmch", "mch'", "lmch", "mt͡ɕʰ" },
["ㄻ-ᄎ"] = { "ㅁᄎ", "m;ch", "lmch", "mch'", "lmch", "mt͡ɕʰ" },
["ᆱ-ᄏ"] = { "ᆷᄏ", "m;k", "lmk", "mk'", "lmkh", "mkʰ" },
["ㄻ-ᄏ"] = { "ㅁᄏ", "m;k", "lmk", "mk'", "lmkh", "mkʰ" },
["ᆱ-ᄐ"] = { "ᆷᄐ", "m;t", "lmt", "mt'", "lmth", "mtʰ" },
["ㄻ-ᄐ"] = { "ㅁᄐ", "m;t", "lmt", "mt'", "lmth", "mtʰ" },
["ᆱ-ᄑ"] = { "ᆷᄑ", "m;p", "lmp", "mp'", "lmph", "mpʰ" },
["ㄻ-ᄑ"] = { "ㅁᄑ", "m;p", "lmp", "mp'", "lmph", "mpʰ" },
["ᆱ-ᄒ"] = { "ᆷᄒ", "m;h", "lmh", "mh", "lmh", "mɦ" },
["ㄻ-ᄒ"] = { "ㅁᄒ", "m;h", "lmh", "mh", "lmh", "mɦ" },
["ᆲ-Ø"] = { "ᆯ", "l;", "lb", "l", "lp", "ɭ" },
["ᆲ-ᄀ"] = { "ᆯᄁ", "l;g", "lbg", "lk", "lpk", "ɭk͈" },
["ㄼ-ᄀ"] = { "ㄹᄁ", "l;g", "lbg", "lk", "lpk", "ɭk͈" },
["ᆲ-ᄁ"] = { "ᆯᄁ", "l;kk", "lbkk", "lkk", "lpkk", "ɭk͈" },
["ㄼ-ᄁ"] = { "ㄹᄁ", "l;kk", "lbkk", "lkk", "lpkk", "ɭk͈" },
["ᆲ-ᄂ"] = { "ᆯᄅ", "l;l", "lbn", "ll", "lpn", "ɭɭ" },
["ㄼ-ᄂ"] = { "ㄹᄅ", "l;l", "lbn", "ll", "lpn", "ɭɭ" },
["ᆲ-ᄃ"] = { "ᆯᄄ", "l;d", "lbd", "lt", "lpt", "ɭt͈" },
["ㄼ-ᄃ"] = { "ㄹᄄ", "l;d", "lbd", "lt", "lpt", "ɭt͈" },
["ᆲ-ᄄ"] = { "ᆯᄄ", "l;tt", "lbtt", "ltt", "lptt", "ɭt͈" },
["ㄼ-ᄄ"] = { "ㄹᄄ", "l;tt", "lbtt", "ltt", "lptt", "ɭt͈" },
["ᆲ-ᄅ"] = { "ᆯᄅ", "l;l", "lbl", "ll", "lpl", "ɭɭ" },
["ㄼ-ᄅ"] = { "ㄹᄅ", "l;l", "lbl", "ll", "lpl", "ɭɭ" },
["ᆲ-ᄆ"] = { "ᆯᄆ", "l;m", "lbm", "lm", "lpm", "ɭm" },
["ㄼ-ᄆ"] = { "ㄹᄆ", "l;m", "lbm", "lm", "lpm", "ɭm" },
["ᆲ-ᄇ"] = { "ᆯᄈ", "l;b", "lbb", "lp", "lp.p", "ɭp͈" },
["ㄼ-ᄇ"] = { "ㄹᄈ", "l;b", "lbb", "lp", "lp.p", "ɭp͈" },
["ᆲ-ᄈ"] = { "ᆯᄈ", "l;pp", "lbpp", "lpp", "lppp", "ɭp͈" },
["ㄼ-ᄈ"] = { "ㄹᄈ", "l;pp", "lbpp", "lpp", "lppp", "ɭp͈" },
["ᆲ-ᄉ"] = { "ᆯᄊ", "l;s", "lbs", "ls", "lps", "ɭs͈" },
["ㄼ-ᄉ"] = { "ㄹᄊ", "l;s", "lbs", "ls", "lps", "ɭs͈" },
["ᆲ-ᄊ"] = { "ᆯᄊ", "l;ss", "lbss", "lss", "lpss", "ɭs͈" },
["ㄼ-ᄊ"] = { "ㄹᄊ", "l;ss", "lbss", "lss", "lpss", "ɭs͈" },
["ᆲ-ᄋ"] = { "ᆯᄇ", "lb;", "lb'", "lb", "lp.", "ɭb" },
["ㄼ-ᄋ"] = { "ㄹᄇ", "lb;", "lb'", "lb", "lp.", "ɭb" },
["ᆲ-ᄌ"] = { "ᆯᄍ", "l;j", "lbj", "lch", "lpc", "ʎt͡ɕ͈" },
["ㄼ-ᄌ"] = { "ㄹᄍ", "l;j", "lbj", "lch", "lpc", "ʎt͡ɕ͈" },
["ᆲ-ᄍ"] = { "ᆯᄍ", "l;jj", "lbjj", "ltch", "lpcc", "ʎt͡ɕ͈" },
["ㄼ-ᄍ"] = { "ㄹᄍ", "l;jj", "lbjj", "ltch", "lpcc", "ʎt͡ɕ͈" },
["ᆲ-ᄎ"] = { "ᆯᄎ", "l;ch", "lbch", "lch'", "lpch", "ʎt͡ɕʰ" },
["ㄼ-ᄎ"] = { "ㄹᄎ", "l;ch", "lbch", "lch'", "lpch", "ʎt͡ɕʰ" },
["ᆲ-ᄏ"] = { "ᆯᄏ", "l;k", "lbk", "lk'", "lpkh", "ɭkʰ" },
["ㄼ-ᄏ"] = { "ㄹᄏ", "l;k", "lbk", "lk'", "lpkh", "ɭkʰ" },
["ᆲ-ᄐ"] = { "ᆯᄐ", "l;t", "lbt", "lt'", "lpth", "ɭtʰ" },
["ㄼ-ᄐ"] = { "ㄹᄐ", "l;t", "lbt", "lt'", "lpth", "ɭtʰ" },
["ᆲ-ᄑ"] = { "ᆯᄑ", "l;p", "lbp", "lp'", "lpph", "ɭpʰ" },
["ㄼ-ᄑ"] = { "ㄹᄑ", "l;p", "lbp", "lp'", "lpph", "ɭpʰ" },
["ᆲ-ᄒ"] = { "ᆯᄑ", "l;p", "lbh", "lp'", "lp.h", "ɭpʰ" },
["ㄼ-ᄒ"] = { "ㄹᄑ", "l;p", "lbh", "lp'", "lp.h", "ɭpʰ" },
["ᆳ-Ø"] = { "ᆯ", "l;", "ls", "l", "ls", "ɭ" },
["ᆳ-ᄀ"] = { "ᆯᄀ", "l;g", "lsg", "lg", "lsk", "ɭɡ" },
["ㄽ-ᄀ"] = { "ㄹᄀ", "l;g", "lsg", "lg", "lsk", "ɭɡ" },
["ᆳ-ᄁ"] = { "ᆯᄁ", "l;kk", "lskk", "lkk", "lskk", "ɭk͈" },
["ㄽ-ᄁ"] = { "ㄹᄁ", "l;kk", "lskk", "lkk", "lskk", "ɭk͈" },
["ᆳ-ᄂ"] = { "ᆯᄂ", "l;n", "lsn", "ln", "lsn", "ɭn" },
["ㄽ-ᄂ"] = { "ㄹᄂ", "l;n", "lsn", "ln", "lsn", "ɭn" },
["ᆳ-ᄃ"] = { "ᆯᄃ", "l;d", "lsd", "ld", "lst", "ɭd" },
["ㄽ-ᄃ"] = { "ㄹᄃ", "l;d", "lsd", "ld", "lst", "ɭd" },
["ᆳ-ᄄ"] = { "ᆯᄄ", "l;tt", "lstt", "ltt", "lstt", "ɭt͈" },
["ㄽ-ᄄ"] = { "ㄹᄄ", "l;tt", "lstt", "ltt", "lstt", "ɭt͈" },
["ᆳ-ᄅ"] = { "ᆯᄂ", "l;n", "lsl", "ln", "lsl", "ɭn" },
["ㄽ-ᄅ"] = { "ㄹᄂ", "l;n", "lsl", "ln", "lsl", "ɭn" },
["ᆳ-ᄆ"] = { "ᆯᄆ", "l;m", "lsm", "lm", "lsm", "ɭm" },
["ㄽ-ᄆ"] = { "ㄹᄆ", "l;m", "lsm", "lm", "lsm", "ɭm" },
["ᆳ-ᄇ"] = { "ᆯᄇ", "l;b", "lsb", "lb", "lsp", "ɭb" },
["ㄽ-ᄇ"] = { "ㄹᄇ", "l;b", "lsb", "lb", "lsp", "ɭb" },
["ᆳ-ᄈ"] = { "ᆯᄈ", "l;pp", "lspp", "lpp", "lspp", "ɭp͈" },
["ㄽ-ᄈ"] = { "ㄹᄈ", "l;pp", "lspp", "lpp", "lspp", "ɭp͈" },
["ᆳ-ᄉ"] = { "ᆯᄉ", "l;s", "ls's", "ls", "ls.s", "ɭsʰ" },
["ㄽ-ᄉ"] = { "ㄹᄉ", "l;s", "ls's", "ls", "ls.s", "ɭsʰ" },
["ᆳ-ᄊ"] = { "ᆯᄊ", "l;ss", "lsss", "lss", "lsss", "ɭs͈" },
["ㄽ-ᄊ"] = { "ㄹᄊ", "l;ss", "lsss", "lss", "lsss", "ɭs͈" },
["ᆳ-ᄋ"] = { "ᆯᄊ", "ls;", "ls'", "ls", "ls.", "ɭs͈" },
["ㄽ-ᄋ"] = { "ㄹᄊ", "ls;", "ls'", "ls", "ls.", "ɭs͈" },
["ᆳ-ᄌ"] = { "ᆯᄌ", "l;j", "lsj", "lj", "lsc", "ʎd͡ʑ" },
["ㄽ-ᄌ"] = { "ㄹᄌ", "l;j", "lsj", "lj", "lsc", "ʎd͡ʑ" },
["ᆳ-ᄍ"] = { "ᆯᄍ", "l;jj", "lsjj", "ltch", "lscc", "ʎt͡ɕ͈" },
["ㄽ-ᄍ"] = { "ㄹᄍ", "l;jj", "lsjj", "ltch", "lscc", "ʎt͡ɕ͈" },
["ᆳ-ᄎ"] = { "ᆯᄎ", "l;ch", "lsch", "lch'", "lsch", "ʎt͡ɕʰ" },
["ㄽ-ᄎ"] = { "ㄹᄎ", "l;ch", "lsch", "lch'", "lsch", "ʎt͡ɕʰ" },
["ᆳ-ᄏ"] = { "ᆯᄏ", "l;k", "lsk", "lk'", "lskh", "ɭkʰ" },
["ㄽ-ᄏ"] = { "ㄹᄏ", "l;k", "lsk", "lk'", "lskh", "ɭkʰ" },
["ᆳ-ᄐ"] = { "ᆯᄐ", "l;t", "lst", "lt'", "lsth", "ɭtʰ" },
["ㄽ-ᄐ"] = { "ㄹᄐ", "l;t", "lst", "lt'", "lsth", "ɭtʰ" },
["ᆳ-ᄑ"] = { "ᆯᄑ", "l;p", "lsp", "lp'", "lsph", "ɭpʰ" },
["ㄽ-ᄑ"] = { "ㄹᄑ", "l;p", "lsp", "lp'", "lsph", "ɭpʰ" },
["ᆳ-ᄒ"] = { "ᆯᄒ", "l;h", "lsh", "rh", "lsh", "ɾɦ" },
["ㄽ-ᄒ"] = { "ㄹᄒ", "l;h", "lsh", "rh", "lsh", "ɾɦ" },
["ᆴ-Ø"] = { "ᆯ", "l;", "lt", "l", "lth", "ɭ" },
["ᆴ-ᄀ"] = { "ᆯᄁ", "l;g", "ltg", "lk", "lthk", "ɭk͈" },
["ㄾ-ᄀ"] = { "ㄹᄁ", "l;g", "ltg", "lk", "lthk", "ɭk͈" },
["ᆴ-ᄁ"] = { "ᆯᄁ", "l;kk", "ltkk", "lkk", "lthkk", "ɭk͈" },
["ㄾ-ᄁ"] = { "ㄹᄁ", "l;kk", "ltkk", "lkk", "lthkk", "ɭk͈" },
["ᆴ-ᄂ"] = { "ᆯᄅ", "l;l", "ltn", "ll", "lthn", "ɭɭ" },
["ㄾ-ᄂ"] = { "ㄹᄅ", "l;l", "ltn", "ll", "lthn", "ɭɭ" },
["ᆴ-ᄃ"] = { "ᆯᄄ", "l;d", "ltd", "lt", "ltht", "ɭt͈" },
["ㄾ-ᄃ"] = { "ㄹᄄ", "l;d", "ltd", "lt", "ltht", "ɭt͈" },
["ᆴ-ᄄ"] = { "ᆯᄄ", "l;tt", "lttt", "ltt", "lthtt", "ɭt͈" },
["ㄾ-ᄄ"] = { "ㄹᄄ", "l;tt", "lttt", "ltt", "lthtt", "ɭt͈" },
["ᆴ-ᄅ"] = { "ᆯᄅ", "l;l", "ltl", "ll", "lthl", "ɭɭ" },
["ㄾ-ᄅ"] = { "ㄹᄅ", "l;l", "ltl", "ll", "lthl", "ɭɭ" },
["ᆴ-ᄆ"] = { "ᆯᄆ", "l;m", "ltm", "lm", "lthm", "ɭm" },
["ㄾ-ᄆ"] = { "ㄹᄆ", "l;m", "ltm", "lm", "lthm", "ɭm" },
["ᆴ-ᄇ"] = { "ᆯᄈ", "l;b", "ltb", "lp", "lthp", "ɭp͈" },
["ㄾ-ᄇ"] = { "ㄹᄈ", "l;b", "ltb", "lp", "lthp", "ɭp͈" },
["ᆴ-ᄈ"] = { "ᆯᄈ", "l;pp", "ltpp", "lpp", "lthpp", "ɭp͈" },
["ㄾ-ᄈ"] = { "ㄹᄈ", "l;pp", "ltpp", "lpp", "lthpp", "ɭp͈" },
["ᆴ-ᄉ"] = { "ᆯᄊ", "l;s", "lts", "ls", "lths", "ɭs͈" },
["ㄾ-ᄉ"] = { "ㄹᄊ", "l;s", "lts", "ls", "lths", "ɭs͈" },
["ᆴ-ᄊ"] = { "ᆯᄊ", "l;ss", "ltss", "lss", "lthss", "ɭs͈" },
["ㄾ-ᄊ"] = { "ㄹᄊ", "l;ss", "ltss", "lss", "lthss", "ɭs͈" },
["ᆴ-ᄋ"] = { "ᆯᄐ", "lt;", "lt'", "lt'", "lth.", "ɭtʰ" },
["ㄾ-ᄋ"] = { "ㄹᄐ", "lt;", "lt'", "lt'", "lth.", "ɭtʰ" },
["ᆴ-ᄌ"] = { "ᆯᄍ", "l;j", "ltj", "lch", "lthc", "ʎt͡ɕ͈" },
["ㄾ-ᄌ"] = { "ㄹᄍ", "l;j", "ltj", "lch", "lthc", "ʎt͡ɕ͈" },
["ᆴ-ᄍ"] = { "ᆯᄍ", "l;jj", "ltjj", "ltch", "lthcc", "ʎt͡ɕ͈" },
["ㄾ-ᄍ"] = { "ㄹᄍ", "l;jj", "ltjj", "ltch", "lthcc", "ʎt͡ɕ͈" },
["ᆴ-ᄎ"] = { "ᆯᄎ", "l;ch", "ltch", "lch'", "lthch", "ʎt͡ɕʰ" },
["ㄾ-ᄎ"] = { "ㄹᄎ", "l;ch", "ltch", "lch'", "lthch", "ʎt͡ɕʰ" },
["ᆴ-ᄏ"] = { "ᆯᄏ", "l;k", "ltk", "lk'", "lthkh", "ɭkʰ" },
["ㄾ-ᄏ"] = { "ㄹᄏ", "l;k", "ltk", "lk'", "lthkh", "ɭkʰ" },
["ᆴ-ᄐ"] = { "ᆯᄐ", "l;t", "lt't", "lt'", "lthth", "ɭtʰ" },
["ㄾ-ᄐ"] = { "ㄹᄐ", "l;t", "lt't", "lt'", "lthth", "ɭtʰ" },
["ᆴ-ᄑ"] = { "ᆯᄑ", "l;p", "ltp", "lp'", "lthph", "ɭpʰ" },
["ㄾ-ᄑ"] = { "ㄹᄑ", "l;p", "ltp", "lp'", "lthph", "ɭpʰ" },
["ᆴ-ᄒ"] = { "ᆯᄐ", "l;t", "lth", "lt'", "lthh", "ɭtʰ" },
["ㄾ-ᄒ"] = { "ㄹᄐ", "l;t", "lth", "lt'", "lthh", "ɭtʰ" },
["ᆵ-Ø"] = { "ᆸ", "p;", "lp", "p", "lph", "p̚" },
["ᆵ-ᄀ"] = { "ᆸᄁ", "p;g", "lpg", "pk", "lphk", "p̚k͈" },
["ㄿ-ᄀ"] = { "ㅂᄁ", "p;g", "lpg", "pk", "lphk", "p̚k͈" },
["ᆵ-ᄁ"] = { "ᆸᄁ", "p;kk", "lpkk", "pkk", "lphkk", "p̚k͈" },
["ㄿ-ᄁ"] = { "ㅂᄁ", "p;kk", "lpkk", "pkk", "lphkk", "p̚k͈" },
["ᆵ-ᄂ"] = { "ᆷᄂ", "m;n", "lpn", "mn", "lphn", "mn" },
["ㄿ-ᄂ"] = { "ㅁᄂ", "m;n", "lpn", "mn", "lphn", "mn" },
["ᆵ-ᄃ"] = { "ᆸᄄ", "p;d", "lpd", "pt", "lpht", "p̚t͈" },
["ㄿ-ᄃ"] = { "ㅂᄄ", "p;d", "lpd", "pt", "lpht", "p̚t͈" },
["ᆵ-ᄄ"] = { "ᆸᄄ", "p;tt", "lptt", "ptt", "lphtt", "p̚t͈" },
["ㄿ-ᄄ"] = { "ㅂᄄ", "p;tt", "lptt", "ptt", "lphtt", "p̚t͈" },
["ᆵ-ᄅ"] = { "ᆷᄂ", "m;n", "lpl", "mn", "lphl", "mn" },
["ㄿ-ᄅ"] = { "ㅁᄂ", "m;n", "lpl", "mn", "lphl", "mn" },
["ᆵ-ᄆ"] = { "ᆷᄆ", "m;m", "lpm", "mm", "lphm", "mm" },
["ㄿ-ᄆ"] = { "ㅁᄆ", "m;m", "lpm", "mm", "lphm", "mm" },
["ᆵ-ᄇ"] = { "ᆸᄈ", "p;b", "lpb", "pp", "lphp", "p̚p͈" },
["ㄿ-ᄇ"] = { "ㅂᄈ", "p;b", "lpb", "pp", "lphp", "p̚p͈" },
["ᆵ-ᄈ"] = { "ᆸᄈ", "p;pp", "lppp", "pp", "lphpp", "p̚p͈" },
["ㄿ-ᄈ"] = { "ㅂᄈ", "p;pp", "lppp", "pp", "lphpp", "p̚p͈" },
["ᆵ-ᄉ"] = { "ᆸᄊ", "p;s", "lps", "ps", "lphs", "ps͈" },
["ㄿ-ᄉ"] = { "ㅂᄊ", "p;s", "lps", "ps", "lphs", "ps͈" },
["ᆵ-ᄊ"] = { "ᆸᄊ", "p;ss", "lpss", "pss", "lphss", "ps͈" },
["ㄿ-ᄊ"] = { "ㅂᄊ", "p;ss", "lpss", "pss", "lphss", "ps͈" },
["ᆵ-ᄋ"] = { "ᆯᄑ", "lp;", "lp'", "lp'", "lph.", "ɭpʰ" },
["ㄿ-ᄋ"] = { "ㄹᄑ", "lp;", "lp'", "lp'", "lph.", "ɭpʰ" },
["ᆵ-ᄌ"] = { "ᆸᄍ", "p;j", "lpj", "pch", "lphc", "p̚t͡ɕ͈" },
["ㄿ-ᄌ"] = { "ㅂᄍ", "p;j", "lpj", "pch", "lphc", "p̚t͡ɕ͈" },
["ᆵ-ᄍ"] = { "ᆸᄍ", "p;jj", "lpjj", "ptch", "lphcc", "p̚t͡ɕ͈" },
["ㄿ-ᄍ"] = { "ㅂᄍ", "p;jj", "lpjj", "ptch", "lphcc", "p̚t͡ɕ͈" },
["ᆵ-ᄎ"] = { "ᆸᄎ", "p;ch", "lpch", "pch'", "lphch", "p̚t͡ɕʰ" },
["ㄿ-ᄎ"] = { "ㅂᄎ", "p;ch", "lpch", "pch'", "lphch", "p̚t͡ɕʰ" },
["ᆵ-ᄏ"] = { "ᆸᄏ", "p;k", "lpk", "pk'", "lphkh", "p̚kʰ" },
["ㄿ-ᄏ"] = { "ㅂᄏ", "p;k", "lpk", "pk'", "lphkh", "p̚kʰ" },
["ᆵ-ᄐ"] = { "ᆸᄐ", "p;t", "lpt", "pt'", "lphth", "p̚tʰ" },
["ㄿ-ᄐ"] = { "ㅂᄐ", "p;t", "lpt", "pt'", "lphth", "p̚tʰ" },
["ᆵ-ᄑ"] = { "ᆸᄑ", "p;'p", "lp'p", "pp'", "lphph", "p̚pʰ" },
["ㄿ-ᄑ"] = { "ㅂᄑ", "p;'p", "lp'p", "pp'", "lphph", "p̚pʰ" },
["ᆵ-ᄒ"] = { "ᆯᄑ", "l;p", "lph", "ph", "lphh", "ɭpʰ" },
["ㄿ-ᄒ"] = { "ㄹᄑ", "l;p", "lph", "ph", "lphh", "ɭpʰ" },
["ᆶ-Ø"] = { "ᆯ", "l;", "lh", "l", "lh", "ɭ" },
["ᆶ-ᄀ"] = { "ᆯᄏ", "l;k", "lhg", "lk'", "lhk", "ɭkʰ" },
["ㅀ-ᄀ"] = { "ㄹᄏ", "l;k", "lhg", "lk'", "lhk", "ɭkʰ" },
["ᆶ-ᄁ"] = { "ᆯᄁ", "l;kk", "lhkk", "lk'", "lhkk", "ɭk͈" },
["ㅀ-ᄁ"] = { "ㄹᄁ", "l;kk", "lhkk", "lk'", "lhkk", "ɭk͈" },
["ᆶ-ᄂ"] = { "ᆯᄅ", "l;l", "lhn", "ll", "lhn", "ɭɭ" },
["ㅀ-ᄂ"] = { "ㄹᄅ", "l;l", "lhn", "ll", "lhn", "ɭɭ" },
["ᆶ-ᄃ"] = { "ᆯᄐ", "l;t", "lhd", "lt'", "lht", "ɭtʰ" },
["ㅀ-ᄃ"] = { "ㄹᄐ", "l;t", "lhd", "lt'", "lht", "ɭtʰ" },
["ᆶ-ᄄ"] = { "ᆯᄄ", "l;tt", "lhtt", "lt'", "lhtt", "ɭt͈" },
["ㅀ-ᄄ"] = { "ㄹᄄ", "l;tt", "lhtt", "lt'", "lhtt", "ɭt͈" },
["ᆶ-ᄅ"] = { "ᆯᄅ", "l;l", "lhl", "ll", "lhl", "ɭɭ" },
["ㅀ-ᄅ"] = { "ㄹᄅ", "l;l", "lhl", "ll", "lhl", "ɭɭ" },
["ᆶ-ᄆ"] = { "ᆯᄆ", "l;m", "lhm", "lm", "lhm", "ɭm" },
["ㅀ-ᄆ"] = { "ㄹᄆ", "l;m", "lhm", "lm", "lhm", "ɭm" },
["ᆶ-ᄇ"] = { "ᆯᄑ", "l;p", "lhb", "lp'", "lhp", "ɭpʰ" },
["ㅀ-ᄇ"] = { "ㄹᄑ", "l;p", "lhb", "lp'", "lhp", "ɭpʰ" },
["ᆶ-ᄈ"] = { "ᆯᄈ", "l;pp", "lhpp", "lp'", "lhpp", "ɭp͈" },
["ㅀ-ᄈ"] = { "ㄹᄈ", "l;pp", "lhpp", "lp'", "lhpp", "ɭp͈" },
["ᆶ-ᄉ"] = { "ᆯᄊ", "l;s", "lhs", "lss", "lhs", "ɭs͈" },
["ㅀ-ᄉ"] = { "ㄹᄊ", "l;s", "lhs", "lss", "lhs", "ɭs͈" },
["ᆶ-ᄊ"] = { "ᆯᄊ", "l;ss", "lhss", "lss", "lhss", "ɭs͈" },
["ㅀ-ᄊ"] = { "ㄹᄊ", "l;ss", "lhss", "lss", "lhss", "ɭs͈" },
["ᆶ-ᄋ"] = { "ᄅ", "r;", "lh'", "r", "lh.", "ɾ" },
["ㅀ-ᄋ"] = { "ᄅ", "r;", "lh'", "r", "lh.", "ɾ" },
["ᆶ-ᄌ"] = { "ᆯᄎ", "l;ch", "lhj", "lch'", "lhc", "ʎt͡ɕʰ" },
["ㅀ-ᄌ"] = { "ㄹᄎ", "l;ch", "lhj", "lch'", "lhc", "ʎt͡ɕʰ" },
["ᆶ-ᄍ"] = { "ᆯᄍ", "l;jj", "lhjj", "lch'", "lhcc", "ʎt͡ɕ͈" },
["ㅀ-ᄍ"] = { "ㄹᄍ", "l;jj", "lhjj", "lch'", "lhcc", "ʎt͡ɕ͈" },
["ᆶ-ᄎ"] = { "ᆯᄎ", "l;ch", "lhch", "lch'", "lhch", "ʎt͡ɕʰ" },
["ㅀ-ᄎ"] = { "ㄹᄎ", "l;ch", "lhch", "lch'", "lhch", "ʎt͡ɕʰ" },
["ᆶ-ᄏ"] = { "ᆯᄏ", "l;k", "lhk", "lk'", "lhkh", "ɭkʰ" },
["ㅀ-ᄏ"] = { "ㄹᄏ", "l;k", "lhk", "lk'", "lhkh", "ɭkʰ" },
["ᆶ-ᄐ"] = { "ᆯᄐ", "l;t", "lht", "lt'", "lhth", "ɭtʰ" },
["ㅀ-ᄐ"] = { "ㄹᄐ", "l;t", "lht", "lt'", "lhth", "ɭtʰ" },
["ᆶ-ᄑ"] = { "ᆯᄑ", "l;p", "lhp", "lp'", "lhph", "ɭpʰ" },
["ㅀ-ᄑ"] = { "ㄹᄑ", "l;p", "lhp", "lp'", "lhph", "ɭpʰ" },
["ᆶ-ᄒ"] = { "ᆯᄒ", "l;h", "lhh", "rh", "lhh", "ɾɦ" },
["ㅀ-ᄒ"] = { "ㄹᄒ", "l;h", "lhh", "rh", "lhh", "ɾɦ" },
["ᆷ-Ø"] = { "ᆷ", "m;", "m", "m", "m", "m" },
["ᆷ-ᄀ"] = { "ᆷᄀ", "m;g", "mg", "mg", "mk", "mɡ" },
["ㅁ-ᄀ"] = { "ㅁᄀ", "m;g", "mg", "mg", "mk", "mɡ" },
["ᆷ-ᄁ"] = { "ᆷᄁ", "m;kk", "mkk", "mkk", "mkk", "mk͈" },
["ㅁ-ᄁ"] = { "ㅁᄁ", "m;kk", "mkk", "mkk", "mkk", "mk͈" },
["ᆷ-ᄂ"] = { "ᆷᄂ", "m;n", "mn", "mn", "mn", "mn" },
["ㅁ-ᄂ"] = { "ㅁᄂ", "m;n", "mn", "mn", "mn", "mn" },
["ᆷ-ᄃ"] = { "ᆷᄃ", "m;d", "md", "md", "mt", "md" },
["ㅁ-ᄃ"] = { "ㅁᄃ", "m;d", "md", "md", "mt", "md" },
["ᆷ-ᄄ"] = { "ᆷᄄ", "m;tt", "mtt", "mtt", "mtt", "mt͈" },
["ㅁ-ᄄ"] = { "ㅁᄄ", "m;tt", "mtt", "mtt", "mtt", "mt͈" },
["ᆷ-ᄅ"] = { "ᆷᄂ", "m;n", "ml", "mn", "ml", "mn" },
["ㅁ-ᄅ"] = { "ㅁᄂ", "m;n", "ml", "mn", "ml", "mn" },
["ᆷ-ᄆ"] = { "ᆷᄆ", "m;m", "mm", "mm", "mm", "mm" },
["ㅁ-ᄆ"] = { "ㅁᄆ", "m;m", "mm", "mm", "mm", "mm" },
["ᆷ-ᄇ"] = { "ᆷᄇ", "m;b", "mb", "mb", "mp", "mb" },
["ㅁ-ᄇ"] = { "ㅁᄇ", "m;b", "mb", "mb", "mp", "mb" },
["ᆷ-ᄈ"] = { "ᆷᄈ", "m;pp", "mpp", "mpp", "mpp", "mp͈" },
["ㅁ-ᄈ"] = { "ㅁᄈ", "m;pp", "mpp", "mpp", "mpp", "mp͈" },
["ᆷ-ᄉ"] = { "ᆷᄉ", "m;s", "ms", "ms", "ms", "msʰ" },
["ㅁ-ᄉ"] = { "ㅁᄉ", "m;s", "ms", "ms", "ms", "msʰ" },
["ᆷ-ᄊ"] = { "ᆷᄊ", "m;ss", "mss", "mss", "mss", "ms͈" },
["ㅁ-ᄊ"] = { "ㅁᄊ", "m;ss", "mss", "mss", "mss", "ms͈" },
["ᆷ-ᄋ"] = { "ᄆ", "m;", "m'", "m", "m.", "m" },
["ㅁ-ᄋ"] = { "ᄆ", "m;", "m'", "m", "m.", "m" },
["ᆷ-ᄌ"] = { "ᆷᄌ", "m;j", "mj", "mj", "mc", "md͡ʑ" },
["ㅁ-ᄌ"] = { "ㅁᄌ", "m;j", "mj", "mj", "mc", "md͡ʑ" },
["ᆷ-ᄍ"] = { "ᆷᄍ", "m;jj", "mjj", "mtch", "mcc", "mt͡ɕ͈" },
["ㅁ-ᄍ"] = { "ㅁᄍ", "m;jj", "mjj", "mtch", "mcc", "mt͡ɕ͈" },
["ᆷ-ᄎ"] = { "ᆷᄎ", "m;ch", "mch", "mch'", "mch", "mt͡ɕʰ" },
["ㅁ-ᄎ"] = { "ㅁᄎ", "m;ch", "mch", "mch'", "mch", "mt͡ɕʰ" },
["ᆷ-ᄏ"] = { "ᆷᄏ", "m;k", "mk", "mk'", "mkh", "mkʰ" },
["ㅁ-ᄏ"] = { "ㅁᄏ", "m;k", "mk", "mk'", "mkh", "mkʰ" },
["ᆷ-ᄐ"] = { "ᆷᄐ", "m;t", "mt", "mt'", "mth", "mtʰ" },
["ㅁ-ᄐ"] = { "ㅁᄐ", "m;t", "mt", "mt'", "mth", "mtʰ" },
["ᆷ-ᄑ"] = { "ᆷᄑ", "m;p", "mp", "mp'", "mph", "mpʰ" },
["ㅁ-ᄑ"] = { "ㅁᄑ", "m;p", "mp", "mp'", "mph", "mpʰ" },
["ᆷ-ᄒ"] = { "ᆷᄒ", "m;h", "mh", "mh", "mh", "mɦ" },
["ㅁ-ᄒ"] = { "ㅁᄒ", "m;h", "mh", "mh", "mh", "mɦ" },
["ᆸ-Ø"] = { "ᆸ", "p;", "b", "p", "p", "p̚" },
["ᆸ-ᄀ"] = { "ᆸᄁ", "p;g", "bg", "pk", "pk", "p̚k͈" },
["ㅂ-ᄀ"] = { "ㅂᄁ", "p;g", "bg", "pk", "pk", "p̚k͈" },
["ᆸ-ᄁ"] = { "ᆸᄁ", "p;kk", "bkk", "pkk", "pkk", "p̚k͈" },
["ㅂ-ᄁ"] = { "ㅂᄁ", "p;kk", "bkk", "pkk", "pkk", "p̚k͈" },
["ᆸ-ᄂ"] = { "ᆷᄂ", "m;n", "bn", "mn", "pn", "mn" },
["ㅂ-ᄂ"] = { "ㅁᄂ", "m;n", "bn", "mn", "pn", "mn" },
["ᆸ-ᄃ"] = { "ᆸᄄ", "p;d", "bd", "pt", "pt", "p̚t͈" },
["ㅂ-ᄃ"] = { "ㅂᄄ", "p;d", "bd", "pt", "pt", "p̚t͈" },
["ᆸ-ᄄ"] = { "ᆸᄄ", "p;tt", "btt", "ptt", "ptt", "p̚t͈" },
["ㅂ-ᄄ"] = { "ㅂᄄ", "p;tt", "btt", "ptt", "ptt", "p̚t͈" },
["ᆸ-ᄅ"] = { "ᆷᄂ", "m;n", "bl", "mn", "pl", "mn" },
["ㅂ-ᄅ"] = { "ㅁᄂ", "m;n", "bl", "mn", "pl", "mn" },
["ᆸ-ᄆ"] = { "ᆷᄆ", "m;m", "bm", "mm", "pm", "mm" },
["ㅂ-ᄆ"] = { "ㅁᄆ", "m;m", "bm", "mm", "pm", "mm" },
["ᆸ-ᄇ"] = { "ᆸᄈ", "p;b", "bb", "pp", "p.p", "p̚p͈" },
["ㅂ-ᄇ"] = { "ㅂᄈ", "p;b", "bb", "pp", "p.p", "p̚p͈" },
["ᆸ-ᄈ"] = { "ᆸᄈ", "p;pp", "bpp", "pp", "ppp", "p̚p͈" },
["ㅂ-ᄈ"] = { "ㅂᄈ", "p;pp", "bpp", "pp", "ppp", "p̚p͈" },
["ᆸ-ᄉ"] = { "ᆸᄊ", "p;s", "bs", "ps", "p.s", "ps͈" },
["ㅂ-ᄉ"] = { "ㅂᄊ", "p;s", "bs", "ps", "p.s", "ps͈" },
["ᆸ-ᄊ"] = { "ᆸᄊ", "p;ss", "b'ss", "pss", "p.ss", "ps͈" },
["ㅂ-ᄊ"] = { "ㅂᄊ", "p;ss", "b'ss", "pss", "p.ss", "ps͈" },
["ᆸ-ᄋ"] = { "ᄇ", "b;", "b'", "b", "p.", "b" },
["ㅂ-ᄋ"] = { "ᄇ", "b;", "b'", "b", "p.", "b" },
["ᆸ-ᄌ"] = { "ᆸᄍ", "p;j", "bj", "pch", "pc", "p̚t͡ɕ͈" },
["ㅂ-ᄌ"] = { "ㅂᄍ", "p;j", "bj", "pch", "pc", "p̚t͡ɕ͈" },
["ᆸ-ᄍ"] = { "ᆸᄍ", "p;jj", "bjj", "ptch", "pcc", "p̚t͡ɕ͈" },
["ㅂ-ᄍ"] = { "ㅂᄍ", "p;jj", "bjj", "ptch", "pcc", "p̚t͡ɕ͈" },
["ᆸ-ᄎ"] = { "ᆸᄎ", "p;ch", "bch", "pch'", "pch", "p̚t͡ɕʰ" },
["ㅂ-ᄎ"] = { "ㅂᄎ", "p;ch", "bch", "pch'", "pch", "p̚t͡ɕʰ" },
["ᆸ-ᄏ"] = { "ᆸᄏ", "p;k", "bk", "pk'", "pkh", "p̚kʰ" },
["ㅂ-ᄏ"] = { "ㅂᄏ", "p;k", "bk", "pk'", "pkh", "p̚kʰ" },
["ᆸ-ᄐ"] = { "ᆸᄐ", "p;t", "bt", "pt'", "pth", "p̚tʰ" },
["ㅂ-ᄐ"] = { "ㅂᄐ", "p;t", "bt", "pt'", "pth", "p̚tʰ" },
["ᆸ-ᄑ"] = { "ᆸᄑ", "p;'p", "bp", "pp'", "pph", "p̚pʰ" },
["ㅂ-ᄑ"] = { "ㅂᄑ", "p;'p", "bp", "pp'", "pph", "p̚pʰ" },
["ᆸ-ᄒ"] = { "ᄑ", "p;h", "bh", "ph", "p.h", "pʰ" },
["ㅂ-ᄒ"] = { "ᄑ", "p;h", "bh", "ph", "p.h", "pʰ" },
["ᆹ-Ø"] = { "ᆸ", "p;", "bs", "p", "ps", "p̚" },
["ᆹ-ᄀ"] = { "ᆸᄁ", "p;g", "bsg", "pk", "psk", "p̚k͈" },
["ㅄ-ᄀ"] = { "ㅂᄁ", "p;g", "bsg", "pk", "psk", "p̚k͈" },
["ᆹ-ᄁ"] = { "ᆸᄁ", "p;kk", "bskk", "pkk", "pskk", "p̚k͈" },
["ㅄ-ᄁ"] = { "ㅂᄁ", "p;kk", "bskk", "pkk", "pskk", "p̚k͈" },
["ᆹ-ᄂ"] = { "ᆷᄂ", "m;n", "bsn", "mn", "psn", "mn" },
["ㅄ-ᄂ"] = { "ㅁᄂ", "m;n", "bsn", "mn", "psn", "mn" },
["ᆹ-ᄃ"] = { "ᆸᄄ", "p;d", "bsd", "pt", "pst", "p̚t͈" },
["ㅄ-ᄃ"] = { "ㅂᄄ", "p;d", "bsd", "pt", "pst", "p̚t͈" },
["ᆹ-ᄄ"] = { "ᆸᄄ", "p;tt", "bstt", "ptt", "pstt", "p̚t͈" },
["ㅄ-ᄄ"] = { "ㅂᄄ", "p;tt", "bstt", "ptt", "pstt", "p̚t͈" },
["ᆹ-ᄅ"] = { "ᆷᄂ", "m;n", "bsl", "mn", "psl", "mn" },
["ㅄ-ᄅ"] = { "ㅁᄂ", "m;n", "bsl", "mn", "psl", "mn" },
["ᆹ-ᄆ"] = { "ᆷᄆ", "m;m", "bsm", "mm", "psm", "mm" },
["ㅄ-ᄆ"] = { "ㅁᄆ", "m;m", "bsm", "mm", "psm", "mm" },
["ᆹ-ᄇ"] = { "ᆸᄈ", "p;b", "bsb", "pp", "psp", "p̚p͈" },
["ㅄ-ᄇ"] = { "ㅂᄈ", "p;b", "bsb", "pp", "psp", "p̚p͈" },
["ᆹ-ᄈ"] = { "ᆸᄈ", "p;pp", "bspp", "pp", "pspp", "p̚p͈" },
["ㅄ-ᄈ"] = { "ㅂᄈ", "p;pp", "bspp", "pp", "pspp", "p̚p͈" },
["ᆹ-ᄉ"] = { "ᆸᄊ", "p;s", "bs's", "ps", "ps.s", "ps͈" },
["ㅄ-ᄉ"] = { "ㅂᄊ", "p;s", "bs's", "ps", "ps.s", "ps͈" },
["ᆹ-ᄊ"] = { "ᆸᄊ", "p;ss", "bsss", "pss", "psss", "ps͈" },
["ㅄ-ᄊ"] = { "ㅂᄊ", "p;ss", "bsss", "pss", "psss", "ps͈" },
["ᆹ-ᄋ"] = { "ᆸᄊ", "ps;", "bs'", "ps", "ps.", "ps͈" },
["ㅄ-ᄋ"] = { "ㅂᄊ", "ps;", "bs'", "ps", "ps.", "ps͈" },
["ᆹ-ᄌ"] = { "ᆸᄍ", "p;j", "bsj", "pch", "psc", "p̚t͡ɕ͈" },
["ㅄ-ᄌ"] = { "ㅂᄍ", "p;j", "bsj", "pch", "psc", "p̚t͡ɕ͈" },
["ᆹ-ᄍ"] = { "ᆸᄍ", "p;jj", "bsjj", "ptch", "pscc", "p̚t͡ɕ͈" },
["ㅄ-ᄍ"] = { "ㅂᄍ", "p;jj", "bsjj", "ptch", "pscc", "p̚t͡ɕ͈" },
["ᆹ-ᄎ"] = { "ᆸᄎ", "p;ch", "bsch", "pch'", "psch", "p̚t͡ɕʰ" },
["ㅄ-ᄎ"] = { "ㅂᄎ", "p;ch", "bsch", "pch'", "psch", "p̚t͡ɕʰ" },
["ᆹ-ᄏ"] = { "ᆸᄏ", "p;k", "bsk", "pk'", "pskh", "p̚kʰ" },
["ㅄ-ᄏ"] = { "ㅂᄏ", "p;k", "bsk", "pk'", "pskh", "p̚kʰ" },
["ᆹ-ᄐ"] = { "ᆸᄐ", "p;t", "bst", "pt'", "psth", "p̚tʰ" },
["ㅄ-ᄐ"] = { "ㅂᄐ", "p;t", "bst", "pt'", "psth", "p̚tʰ" },
["ᆹ-ᄑ"] = { "ᆸᄑ", "p;'p", "bsp", "pp'", "psph", "p̚pʰ" },
["ㅄ-ᄑ"] = { "ㅂᄑ", "p;'p", "bsp", "pp'", "psph", "p̚pʰ" },
["ᆹ-ᄒ"] = { "ᄑ", "p;h", "bsh", "ph", "psh", "pʰ" },
["ㅄ-ᄒ"] = { "ᄑ", "p;h", "bsh", "ph", "psh", "pʰ" },
["ᆺ-Ø"] = { "ᆮ", "t;", "s", "t", "s", "t̚" },
["ᆺ-ᄀ"] = { "ᆮᄁ", "t;g", "sg", "tk", "sk", "t̚k͈" },
["ㅅ-ᄀ"] = { "ㄷᄁ", "t;g", "sg", "tk", "sk", "t̚k͈" },
["ᆺ-ᄁ"] = { "ᆮᄁ", "t;kk", "skk", "tkk", "skk", "t̚k͈" },
["ㅅ-ᄁ"] = { "ㄷᄁ", "t;kk", "skk", "tkk", "skk", "t̚k͈" },
["ᆺ-ᄂ"] = { "ᆫᄂ", "n;n", "sn", "nn", "sn", "nn" },
["ㅅ-ᄂ"] = { "ㄴᄂ", "n;n", "sn", "nn", "sn", "nn" },
["ᆺ-ᄃ"] = { "ᆮᄄ", "t;d", "sd", "tt", "st", "t̚t͈" },
["ㅅ-ᄃ"] = { "ㄷᄄ", "t;d", "sd", "tt", "st", "t̚t͈" },
["ᆺ-ᄄ"] = { "ᆮᄄ", "t;tt", "stt", "tt", "stt", "t̚t͈" },
["ㅅ-ᄄ"] = { "ㄷᄄ", "t;tt", "stt", "tt", "stt", "t̚t͈" },
["ᆺ-ᄅ"] = { "ᆫᄂ", "n;n", "sl", "nn", "sl", "nn" },
["ㅅ-ᄅ"] = { "ㄴᄂ", "n;n", "sl", "nn", "sl", "nn" },
["ᆺ-ᄆ"] = { "ᆫᄆ", "n;m", "sm", "nm", "sm", "nm" },
["ㅅ-ᄆ"] = { "ㄴᄆ", "n;m", "sm", "nm", "sm", "nm" },
["ᆺ-ᄇ"] = { "ᆮᄈ", "t;b", "sb", "tp", "sp", "t̚p͈" },
["ㅅ-ᄇ"] = { "ㄷᄈ", "t;b", "sb", "tp", "sp", "t̚p͈" },
["ᆺ-ᄈ"] = { "ᆮᄈ", "t;pp", "spp", "tpp", "spp", "t̚p͈" },
["ㅅ-ᄈ"] = { "ㄷᄈ", "t;pp", "spp", "tpp", "spp", "t̚p͈" },
["ᆺ-ᄉ"] = { "ᆮᄊ", "t;s", "s's", "ss", "s.s", "ss͈" },
["ㅅ-ᄉ"] = { "ㄷᄊ", "t;s", "s's", "ss", "s.s", "ss͈" },
["ᆺ-ᄊ"] = { "ᆮᄊ", "t;ss", "s'ss", "ss", "s.ss", "ss͈" },
["ㅅ-ᄊ"] = { "ㄷᄊ", "t;ss", "s'ss", "ss", "s.ss", "ss͈" },
["ᆺ-ᄋ"] = { "ᄉ", "s;", "s'", "s", "s.", "sʰ" },
["ㅅ-ᄋ"] = { "ᄉ", "s;", "s'", "s", "s.", "sʰ" },
["ᆺ-ᄌ"] = { "ᆮᄍ", "t;j", "sj", "tch", "sc", "t̚t͡ɕ͈" },
["ㅅ-ᄌ"] = { "ㄷᄍ", "t;j", "sj", "tch", "sc", "t̚t͡ɕ͈" },
["ᆺ-ᄍ"] = { "ᆮᄍ", "t;jj", "sjj", "tch", "scc", "t̚t͡ɕ͈" },
["ㅅ-ᄍ"] = { "ㄷᄍ", "t;jj", "sjj", "tch", "scc", "t̚t͡ɕ͈" },
["ᆺ-ᄎ"] = { "ᆮᄎ", "t;ch", "sch", "tch'", "sch", "t̚t͡ɕʰ" },
["ㅅ-ᄎ"] = { "ㄷᄎ", "t;ch", "sch", "tch'", "sch", "t̚t͡ɕʰ" },
["ᆺ-ᄏ"] = { "ᆮᄏ", "t;k", "sk", "tk'", "skh", "t̚kʰ" },
["ㅅ-ᄏ"] = { "ㄷᄏ", "t;k", "sk", "tk'", "skh", "t̚kʰ" },
["ᆺ-ᄐ"] = { "ᆮᄐ", "t;'t", "st", "tt'", "sth", "t̚tʰ" },
["ㅅ-ᄐ"] = { "ㄷᄐ", "t;'t", "st", "tt'", "sth", "t̚tʰ" },
["ᆺ-ᄑ"] = { "ᆮᄑ", "t;p", "sp", "tp'", "sph", "t̚pʰ" },
["ㅅ-ᄑ"] = { "ㄷᄑ", "t;p", "sp", "tp'", "sph", "t̚pʰ" },
["ᆺ-ᄒ"] = { "ᄐ", "t;h", "sh", "th", "sh", "tʰ" },
["ㅅ-ᄒ"] = { "ᄐ", "t;h", "sh", "th", "sh", "tʰ" },
["ᆻ-Ø"] = { "ᆮ", "t;", "ss", "t", "ss", "t̚" },
["ᆻ-ᄀ"] = { "ᆮᄁ", "t;g", "ssg", "tk", "ssk", "t̚k͈" },
["ㅆ-ᄀ"] = { "ㄷᄁ", "t;g", "ssg", "tk", "ssk", "t̚k͈" },
["ᆻ-ᄁ"] = { "ᆮᄁ", "t;kk", "sskk", "tkk", "sskk", "t̚k͈" },
["ㅆ-ᄁ"] = { "ㄷᄁ", "t;kk", "sskk", "tkk", "sskk", "t̚k͈" },
["ᆻ-ᄂ"] = { "ᆫᄂ", "n;n", "ssn", "nn", "ssn", "nn" },
["ㅆ-ᄂ"] = { "ㄴᄂ", "n;n", "ssn", "nn", "ssn", "nn" },
["ᆻ-ᄃ"] = { "ᆮᄄ", "t;d", "ssd", "tt", "sst", "t̚t͈" },
["ㅆ-ᄃ"] = { "ㄷᄄ", "t;d", "ssd", "tt", "sst", "t̚t͈" },
["ᆻ-ᄄ"] = { "ᆮᄄ", "t;tt", "sstt", "tt", "sstt", "t̚t͈" },
["ㅆ-ᄄ"] = { "ㄷᄄ", "t;tt", "sstt", "tt", "sstt", "t̚t͈" },
["ᆻ-ᄅ"] = { "ᆫᄂ", "n;n", "ssl", "nn", "ssl", "nn" },
["ㅆ-ᄅ"] = { "ㄴᄂ", "n;n", "ssl", "nn", "ssl", "nn" },
["ᆻ-ᄆ"] = { "ᆫᄆ", "n;m", "ssm", "nm", "ssm", "nm" },
["ㅆ-ᄆ"] = { "ㄴᄆ", "n;m", "ssm", "nm", "ssm", "nm" },
["ᆻ-ᄇ"] = { "ᆮᄈ", "t;b", "ssb", "tp", "ssp", "t̚p͈" },
["ㅆ-ᄇ"] = { "ㄷᄈ", "t;b", "ssb", "tp", "ssp", "t̚p͈" },
["ᆻ-ᄈ"] = { "ᆮᄈ", "t;pp", "sspp", "tpp", "sspp", "t̚p͈" },
["ㅆ-ᄈ"] = { "ㄷᄈ", "t;pp", "sspp", "tpp", "sspp", "t̚p͈" },
["ᆻ-ᄉ"] = { "ᆮᄊ", "t;s", "ss's", "ss", "ss.s", "ss͈" },
["ㅆ-ᄉ"] = { "ㄷᄊ", "t;s", "ss's", "ss", "ss.s", "ss͈" },
["ᆻ-ᄊ"] = { "ᆮᄊ", "t;ss", "ssss", "ss", "ssss", "ss͈" },
["ㅆ-ᄊ"] = { "ㄷᄊ", "t;ss", "ssss", "ss", "ssss", "ss͈" },
["ᆻ-ᄋ"] = { "ᄊ", "ss;", "ss'", "ss", "ss.", "s͈" },
["ㅆ-ᄋ"] = { "ᄊ", "ss;", "ss'", "ss", "ss.", "s͈" },
["ᆻ-ᄌ"] = { "ᆮᄍ", "t;j", "ssj", "tch", "ssc", "t̚t͡ɕ͈" },
["ㅆ-ᄌ"] = { "ㄷᄍ", "t;j", "ssj", "tch", "ssc", "t̚t͡ɕ͈" },
["ᆻ-ᄍ"] = { "ᆮᄍ", "t;jj", "ssjj", "tch", "sscc", "t̚t͡ɕ͈" },
["ㅆ-ᄍ"] = { "ㄷᄍ", "t;jj", "ssjj", "tch", "sscc", "t̚t͡ɕ͈" },
["ᆻ-ᄎ"] = { "ᆮᄎ", "t;ch", "ssch", "tch'", "ssch", "t̚t͡ɕʰ" },
["ㅆ-ᄎ"] = { "ㄷᄎ", "t;ch", "ssch", "tch'", "ssch", "t̚t͡ɕʰ" },
["ᆻ-ᄏ"] = { "ᆮᄏ", "t;k", "ssk", "tk'", "sskh", "t̚kʰ" },
["ㅆ-ᄏ"] = { "ㄷᄏ", "t;k", "ssk", "tk'", "sskh", "t̚kʰ" },
["ᆻ-ᄐ"] = { "ᆮᄐ", "t;'t", "sst", "tt'", "ssth", "t̚tʰ" },
["ㅆ-ᄐ"] = { "ㄷᄐ", "t;'t", "sst", "tt'", "ssth", "t̚tʰ" },
["ᆻ-ᄑ"] = { "ᆮᄑ", "t;p", "ssp", "tp'", "ssph", "t̚pʰ" },
["ㅆ-ᄑ"] = { "ㄷᄑ", "t;p", "ssp", "tp'", "ssph", "t̚pʰ" },
["ᆻ-ᄒ"] = { "ᄐ", "t;h", "ssh", "th", "ssh", "tʰ" },
["ㅆ-ᄒ"] = { "ᄐ", "t;h", "ssh", "th", "ssh", "tʰ" },
["ᆼ-Ø"] = { "ᆼ", "ng;", "ng", "ng", "ng", "ŋ" },
["ᆼ-ᄀ"] = { "ᆼᄀ", "ng;g", "ngg", "ngg", "ngk", "ŋɡ" },
["ㅇ-ᄀ"] = { "ㅇᄀ", "ng;g", "ngg", "ngg", "ngk", "ŋɡ" },
["ᆼ-ᄁ"] = { "ᆼᄁ", "ng;kk", "ngkk", "ngkk", "ngkk", "ŋk͈" },
["ㅇ-ᄁ"] = { "ㅇᄁ", "ng;kk", "ngkk", "ngkk", "ngkk", "ŋk͈" },
["ᆼ-ᄂ"] = { "ᆼᄂ", "ng;n", "ngn", "ngn", "ngn", "ŋn" },
["ㅇ-ᄂ"] = { "ㅇᄂ", "ng;n", "ngn", "ngn", "ngn", "ŋn" },
["ᆼ-ᄃ"] = { "ᆼᄃ", "ng;d", "ngd", "ngd", "ngt", "ŋd" },
["ㅇ-ᄃ"] = { "ㅇᄃ", "ng;d", "ngd", "ngd", "ngt", "ŋd" },
["ᆼ-ᄄ"] = { "ᆼᄄ", "ng;tt", "ngtt", "ngtt", "ngtt", "ŋt͈" },
["ㅇ-ᄄ"] = { "ㅇᄄ", "ng;tt", "ngtt", "ngtt", "ngtt", "ŋt͈" },
["ᆼ-ᄅ"] = { "ᆼᄂ", "ng;n", "ngl", "ngn", "ngl", "ŋn" },
["ㅇ-ᄅ"] = { "ㅇᄂ", "ng;n", "ngl", "ngn", "ngl", "ŋn" },
["ᆼ-ᄆ"] = { "ᆼᄆ", "ng;m", "ngm", "ngm", "ngm", "ŋm" },
["ㅇ-ᄆ"] = { "ㅇᄆ", "ng;m", "ngm", "ngm", "ngm", "ŋm" },
["ᆼ-ᄇ"] = { "ᆼᄇ", "ng;b", "ngb", "ngb", "ngp", "ŋb" },
["ㅇ-ᄇ"] = { "ㅇᄇ", "ng;b", "ngb", "ngb", "ngp", "ŋb" },
["ᆼ-ᄈ"] = { "ᆼᄈ", "ng;pp", "ngpp", "ngpp", "ngpp", "ŋp͈" },
["ㅇ-ᄈ"] = { "ㅇᄈ", "ng;pp", "ngpp", "ngpp", "ngpp", "ŋp͈" },
["ᆼ-ᄉ"] = { "ᆼᄉ", "ng;s", "ngs", "ngs", "ngs", "ŋsʰ" },
["ㅇ-ᄉ"] = { "ㅇᄉ", "ng;s", "ngs", "ngs", "ngs", "ŋsʰ" },
["ᆼ-ᄊ"] = { "ᆼᄊ", "ng;ss", "ngss", "ngss", "ngss", "ŋs͈" },
["ㅇ-ᄊ"] = { "ㅇᄊ", "ng;ss", "ngss", "ngss", "ngss", "ŋs͈" },
["ᆼ-ᄋ"] = { "ᆼᄋ", "ng;'", "ng'", "ng", "ng", "ŋ" },
["ㅇ-ᄋ"] = { "ㅇᄋ", "ng;'", "ng'", "ng", "ng", "ŋ" },
["ᆼ-ᄌ"] = { "ᆼᄌ", "ng;j", "ngj", "ngj", "ngc", "ŋd͡ʑ" },
["ㅇ-ᄌ"] = { "ㅇᄌ", "ng;j", "ngj", "ngj", "ngc", "ŋd͡ʑ" },
["ᆼ-ᄍ"] = { "ᆼᄍ", "ng;jj", "ngjj", "ngtch", "ngcc", "ŋt͡ɕ͈" },
["ㅇ-ᄍ"] = { "ㅇᄍ", "ng;jj", "ngjj", "ngtch", "ngcc", "ŋt͡ɕ͈" },
["ᆼ-ᄎ"] = { "ᆼᄎ", "ng;ch", "ngch", "ngch'", "ngch", "ŋt͡ɕʰ" },
["ㅇ-ᄎ"] = { "ㅇᄎ", "ng;ch", "ngch", "ngch'", "ngch", "ŋt͡ɕʰ" },
["ᆼ-ᄏ"] = { "ᆼᄏ", "ng;k", "ngk", "ngk'", "ngkh", "ŋkʰ" },
["ㅇ-ᄏ"] = { "ㅇᄏ", "ng;k", "ngk", "ngk'", "ngkh", "ŋkʰ" },
["ᆼ-ᄐ"] = { "ᆼᄐ", "ng;t", "ngt", "ngt'", "ngth", "ŋtʰ" },
["ㅇ-ᄐ"] = { "ㅇᄐ", "ng;t", "ngt", "ngt'", "ngth", "ŋtʰ" },
["ᆼ-ᄑ"] = { "ᆼᄑ", "ng;p", "ngp", "ngp'", "ngph", "ŋpʰ" },
["ㅇ-ᄑ"] = { "ㅇᄑ", "ng;p", "ngp", "ngp'", "ngph", "ŋpʰ" },
["ᆼ-ᄒ"] = { "ᆼᄒ", "ng;h", "ngh", "ngh", "ngh", "ŋɦ" },
["ㅇ-ᄒ"] = { "ㅇᄒ", "ng;h", "ngh", "ngh", "ngh", "ŋɦ" },
["ᆽ-Ø"] = { "ᆮ", "t;", "j", "t", "c", "t̚" },
["ᆽ-ᄀ"] = { "ᆮᄁ", "t;g", "jg", "tk", "ck", "t̚k͈" },
["ㅈ-ᄀ"] = { "ㄷᄁ", "t;g", "jg", "tk", "ck", "t̚k͈" },
["ᆽ-ᄁ"] = { "ᆮᄁ", "t;kk", "jkk", "tkk", "ckk", "t̚k͈" },
["ㅈ-ᄁ"] = { "ㄷᄁ", "t;kk", "jkk", "tkk", "ckk", "t̚k͈" },
["ᆽ-ᄂ"] = { "ᆫᄂ", "n;n", "jn", "nn", "cn", "nn" },
["ㅈ-ᄂ"] = { "ㄴᄂ", "n;n", "jn", "nn", "cn", "nn" },
["ᆽ-ᄃ"] = { "ᆮᄄ", "t;d", "jd", "tt", "ct", "t̚t͈" },
["ㅈ-ᄃ"] = { "ㄷᄄ", "t;d", "jd", "tt", "ct", "t̚t͈" },
["ᆽ-ᄄ"] = { "ᆮᄄ", "t;tt", "jtt", "tt", "ctt", "t̚t͈" },
["ㅈ-ᄄ"] = { "ㄷᄄ", "t;tt", "jtt", "tt", "ctt", "t̚t͈" },
["ᆽ-ᄅ"] = { "ᆫᄂ", "n;n", "jl", "nn", "cl", "nn" },
["ㅈ-ᄅ"] = { "ㄴᄂ", "n;n", "jl", "nn", "cl", "nn" },
["ᆽ-ᄆ"] = { "ᆫᄆ", "n;m", "jm", "nm", "cm", "nm" },
["ㅈ-ᄆ"] = { "ㄴᄆ", "n;m", "jm", "nm", "cm", "nm" },
["ᆽ-ᄇ"] = { "ᆮᄈ", "t;b", "jb", "tp", "cp", "t̚p͈" },
["ㅈ-ᄇ"] = { "ㄷᄈ", "t;b", "jb", "tp", "cp", "t̚p͈" },
["ᆽ-ᄈ"] = { "ᆮᄈ", "t;pp", "jpp", "tpp", "cpp", "t̚p͈" },
["ㅈ-ᄈ"] = { "ㄷᄈ", "t;pp", "jpp", "tpp", "cpp", "t̚p͈" },
["ᆽ-ᄉ"] = { "ᆮᄊ", "t;s", "js", "ss", "cs", "ss͈" },
["ㅈ-ᄉ"] = { "ㄷᄊ", "t;s", "js", "ss", "cs", "ss͈" },
["ᆽ-ᄊ"] = { "ᆮᄊ", "t;ss", "jss", "ss", "css", "ss͈" },
["ㅈ-ᄊ"] = { "ㄷᄊ", "t;ss", "jss", "ss", "css", "ss͈" },
["ᆽ-ᄋ"] = { "ᄌ", "j;", "j'", "j", "c.", "d͡ʑ" },
["ㅈ-ᄋ"] = { "ᄌ", "j;", "j'", "j", "c.", "d͡ʑ" },
["ᆽ-ᄌ"] = { "ᆮᄍ", "t;j", "j'j", "tch", "c.c", "t̚t͡ɕ͈" },
["ㅈ-ᄌ"] = { "ㄷᄍ", "t;j", "j'j", "tch", "c.c", "t̚t͡ɕ͈" },
["ᆽ-ᄍ"] = { "ᆮᄍ", "t;jj", "jjj", "tch", "ccc", "t̚t͡ɕ͈" },
["ㅈ-ᄍ"] = { "ㄷᄍ", "t;jj", "jjj", "tch", "ccc", "t̚t͡ɕ͈" },
["ᆽ-ᄎ"] = { "ᆮᄎ", "t;ch", "jch", "tch'", "cch", "t̚t͡ɕʰ" },
["ㅈ-ᄎ"] = { "ㄷᄎ", "t;ch", "jch", "tch'", "cch", "t̚t͡ɕʰ" },
["ᆽ-ᄏ"] = { "ᆮᄏ", "t;k", "jk", "tk'", "ckh", "t̚kʰ" },
["ㅈ-ᄏ"] = { "ㄷᄏ", "t;k", "jk", "tk'", "ckh", "t̚kʰ" },
["ᆽ-ᄐ"] = { "ᆮᄐ", "t;'t", "jt", "tt'", "cth", "t̚tʰ" },
["ㅈ-ᄐ"] = { "ㄷᄐ", "t;'t", "jt", "tt'", "cth", "t̚tʰ" },
["ᆽ-ᄑ"] = { "ᆮᄑ", "t;p", "jp", "tp'", "cph", "t̚pʰ" },
["ㅈ-ᄑ"] = { "ㄷᄑ", "t;p", "jp", "tp'", "cph", "t̚pʰ" },
["ᆽ-ᄒ"] = { "ᄎ", ";ch", "jh", "ch'", "c.h", "t͡ɕʰ" },
["ㅈ-ᄒ"] = { "ᄎ", ";ch", "jh", "ch'", "c.h", "t͡ɕʰ" },
["ᆾ-Ø"] = { "ᆮ", "t;", "ch", "t", "ch", "t̚" },
["ᆾ-ᄀ"] = { "ᆮᄁ", "t;g", "chg", "tk", "chk", "t̚k͈" },
["ㅊ-ᄀ"] = { "ㄷᄁ", "t;g", "chg", "tk", "chk", "t̚k͈" },
["ᆾ-ᄁ"] = { "ᆮᄁ", "t;kk", "chkk", "tkk", "chkk", "t̚k͈" },
["ㅊ-ᄁ"] = { "ㄷᄁ", "t;kk", "chkk", "tkk", "chkk", "t̚k͈" },
["ᆾ-ᄂ"] = { "ᆫᄂ", "n;n", "chn", "nn", "chn", "nn" },
["ㅊ-ᄂ"] = { "ㄴᄂ", "n;n", "chn", "nn", "chn", "nn" },
["ᆾ-ᄃ"] = { "ᆮᄄ", "t;d", "chd", "tt", "cht", "t̚t͈" },
["ㅊ-ᄃ"] = { "ㄷᄄ", "t;d", "chd", "tt", "cht", "t̚t͈" },
["ᆾ-ᄄ"] = { "ᆮᄄ", "t;tt", "chtt", "tt", "chtt", "t̚t͈" },
["ㅊ-ᄄ"] = { "ㄷᄄ", "t;tt", "chtt", "tt", "chtt", "t̚t͈" },
["ᆾ-ᄅ"] = { "ᆫᄂ", "n;n", "chl", "nn", "chl", "nn" },
["ㅊ-ᄅ"] = { "ㄴᄂ", "n;n", "chl", "nn", "chl", "nn" },
["ᆾ-ᄆ"] = { "ᆫᄆ", "n;m", "chm", "nm", "chm", "nm" },
["ㅊ-ᄆ"] = { "ㄴᄆ", "n;m", "chm", "nm", "chm", "nm" },
["ᆾ-ᄇ"] = { "ᆮᄈ", "t;b", "chb", "tp", "chp", "t̚p͈" },
["ㅊ-ᄇ"] = { "ㄷᄈ", "t;b", "chb", "tp", "chp", "t̚p͈" },
["ᆾ-ᄈ"] = { "ᆮᄈ", "t;pp", "chpp", "tpp", "chpp", "t̚p͈" },
["ㅊ-ᄈ"] = { "ㄷᄈ", "t;pp", "chpp", "tpp", "chpp", "t̚p͈" },
["ᆾ-ᄉ"] = { "ᆮᄊ", "t;s", "chs", "ss", "chs", "ss͈" },
["ㅊ-ᄉ"] = { "ㄷᄊ", "t;s", "chs", "ss", "chs", "ss͈" },
["ᆾ-ᄊ"] = { "ᆮᄊ", "t;ss", "chss", "ss", "chss", "ss͈" },
["ㅊ-ᄊ"] = { "ㄷᄊ", "t;ss", "chss", "ss", "chss", "ss͈" },
["ᆾ-ᄋ"] = { "ᄎ", "ch;", "ch'", "ch'", "ch.", "t͡ɕʰ" },
["ㅊ-ᄋ"] = { "ᄎ", "ch;", "ch'", "ch'", "ch.", "t͡ɕʰ" },
["ᆾ-ᄌ"] = { "ᆮᄍ", "t;j", "chj", "tch", "chc", "t̚t͡ɕ͈" },
["ㅊ-ᄌ"] = { "ㄷᄍ", "t;j", "chj", "tch", "chc", "t̚t͡ɕ͈" },
["ᆾ-ᄍ"] = { "ᆮᄍ", "t;jj", "chjj", "tch", "chcc", "t̚t͡ɕ͈" },
["ㅊ-ᄍ"] = { "ㄷᄍ", "t;jj", "chjj", "tch", "chcc", "t̚t͡ɕ͈" },
["ᆾ-ᄎ"] = { "ᆮᄎ", "t;ch", "chch", "tch'", "chch", "t̚t͡ɕʰ" },
["ㅊ-ᄎ"] = { "ㄷᄎ", "t;ch", "chch", "tch'", "chch", "t̚t͡ɕʰ" },
["ᆾ-ᄏ"] = { "ᆮᄏ", "t;k", "chk", "tk'", "chkh", "t̚kʰ" },
["ㅊ-ᄏ"] = { "ㄷᄏ", "t;k", "chk", "tk'", "chkh", "t̚kʰ" },
["ᆾ-ᄐ"] = { "ᆮᄐ", "t;'t", "cht", "tt'", "chth", "t̚tʰ" },
["ㅊ-ᄐ"] = { "ㄷᄐ", "t;'t", "cht", "tt'", "chth", "t̚tʰ" },
["ᆾ-ᄑ"] = { "ᆮᄑ", "t;p", "chp", "tp'", "chph", "t̚pʰ" },
["ㅊ-ᄑ"] = { "ㄷᄑ", "t;p", "chp", "tp'", "chph", "t̚pʰ" },
["ᆾ-ᄒ"] = { "ᄐ", "t;h", "chh", "th", "chh", "tʰ" },
["ㅊ-ᄒ"] = { "ᄐ", "t;h", "chh", "th", "chh", "tʰ" },
["ᆿ-Ø"] = { "ᆨ", "k;", "k", "k", "kh", "k̚" },
["ᆿ-ᄀ"] = { "ᆨᄁ", "k;g", "kg", "kk", "khk", "k̚k͈" },
["ㅋ-ᄀ"] = { "ㄱᄁ", "k;g", "kg", "kk", "khk", "k̚k͈" },
["ᆿ-ᄁ"] = { "ᆨᄁ", "k;kk", "k'kk", "kk", "khkk", "k̚k͈" },
["ㅋ-ᄁ"] = { "ㄱᄁ", "k;kk", "k'kk", "kk", "khkk", "k̚k͈" },
["ᆿ-ᄂ"] = { "ᆼᄂ", "ng;n", "kn", "ngn", "khn", "ŋn" },
["ㅋ-ᄂ"] = { "ㅇᄂ", "ng;n", "kn", "ngn", "khn", "ŋn" },
["ᆿ-ᄃ"] = { "ᆨᄄ", "k;d", "kd", "kt", "kht", "k̚t͈" },
["ㅋ-ᄃ"] = { "ㄱᄄ", "k;d", "kd", "kt", "kht", "k̚t͈" },
["ᆿ-ᄄ"] = { "ᆨᄄ", "k;tt", "ktt", "ktt", "khtt", "k̚t͈" },
["ㅋ-ᄄ"] = { "ㄱᄄ", "k;tt", "ktt", "ktt", "khtt", "k̚t͈" },
["ᆿ-ᄅ"] = { "ᆼᄂ", "ng;n", "kl", "ngn", "khl", "ŋn" },
["ㅋ-ᄅ"] = { "ㅇᄂ", "ng;n", "kl", "ngn", "khl", "ŋn" },
["ᆿ-ᄆ"] = { "ᆼᄆ", "ng;m", "km", "ngm", "khm", "ŋm" },
["ㅋ-ᄆ"] = { "ㅇᄆ", "ng;m", "km", "ngm", "khm", "ŋm" },
["ᆿ-ᄇ"] = { "ᆨᄈ", "k;b", "kb", "kp", "khp", "k̚p͈" },
["ㅋ-ᄇ"] = { "ㄱᄈ", "k;b", "kb", "kp", "khp", "k̚p͈" },
["ᆿ-ᄈ"] = { "ᆨᄈ", "k;pp", "kpp", "kpp", "khpp", "k̚p͈" },
["ㅋ-ᄈ"] = { "ㄱᄈ", "k;pp", "kpp", "kpp", "khpp", "k̚p͈" },
["ᆿ-ᄉ"] = { "ᆨᄊ", "k;s", "ks", "ks", "khs", "ks͈" },
["ㅋ-ᄉ"] = { "ㄱᄊ", "k;s", "ks", "ks", "khs", "ks͈" },
["ᆿ-ᄊ"] = { "ᆨᄊ", "k;ss", "kss", "kss", "khss", "ks͈" },
["ㅋ-ᄊ"] = { "ㄱᄊ", "k;ss", "kss", "kss", "khss", "ks͈" },
["ᆿ-ᄋ"] = { "ᄏ", "k;", "k'", "k'", "kh.", "kʰ" },
["ㅋ-ᄋ"] = { "ᄏ", "k;", "k'", "k'", "kh.", "kʰ" },
["ᆿ-ᄌ"] = { "ᆨᄍ", "k;j", "kj", "kch", "khc", "k̚t͡ɕ͈" },
["ㅋ-ᄌ"] = { "ㄱᄍ", "k;j", "kj", "kch", "khc", "k̚t͡ɕ͈" },
["ᆿ-ᄍ"] = { "ᆨᄍ", "k;jj", "kjj", "ktch", "khcc", "k̚t͡ɕ͈" },
["ㅋ-ᄍ"] = { "ㄱᄍ", "k;jj", "kjj", "ktch", "khcc", "k̚t͡ɕ͈" },
["ᆿ-ᄎ"] = { "ᆨᄎ", "k;ch", "kch", "kch'", "khch", "k̚t͡ɕʰ" },
["ㅋ-ᄎ"] = { "ㄱᄎ", "k;ch", "kch", "kch'", "khch", "k̚t͡ɕʰ" },
["ᆿ-ᄏ"] = { "ᆨᄏ", "k;'k", "k'k", "kk'", "khkh", "k̚kʰ" },
["ㅋ-ᄏ"] = { "ㄱᄏ", "k;'k", "k'k", "kk'", "khkh", "k̚kʰ" },
["ᆿ-ᄐ"] = { "ᆨᄐ", "k;t", "kt", "kt'", "khth", "k̚tʰ" },
["ㅋ-ᄐ"] = { "ㄱᄐ", "k;t", "kt", "kt'", "khth", "k̚tʰ" },
["ᆿ-ᄑ"] = { "ᆨᄑ", "k;p", "kp", "kp'", "khph", "k̚pʰ" },
["ㅋ-ᄑ"] = { "ㄱᄑ", "k;p", "kp", "kp'", "khph", "k̚pʰ" },
["ᆿ-ᄒ"] = { "ᄏ", "k;h", "kh", "kh", "khh", "kʰ" },
["ㅋ-ᄒ"] = { "ᄏ", "k;h", "kh", "kh", "khh", "kʰ" },
["ᇀ-Ø"] = { "ᆮ", "t;", "t", "t", "th", "t̚" },
["ᇀ-ᄀ"] = { "ᆮᄁ", "t;g", "tg", "tk", "thk", "t̚k͈" },
["ㅌ-ᄀ"] = { "ㄷᄁ", "t;g", "tg", "tk", "thk", "t̚k͈" },
["ᇀ-ᄁ"] = { "ᆮᄁ", "t;kk", "tkk", "tkk", "thkk", "t̚k͈" },
["ㅌ-ᄁ"] = { "ㄷᄁ", "t;kk", "tkk", "tkk", "thkk", "t̚k͈" },
["ᇀ-ᄂ"] = { "ᆫᄂ", "n;n", "tn", "nn", "thn", "nn" },
["ㅌ-ᄂ"] = { "ㄴᄂ", "n;n", "tn", "nn", "thn", "nn" },
["ᇀ-ᄃ"] = { "ᆮᄄ", "t;d", "td", "tt", "tht", "t̚t͈" },
["ㅌ-ᄃ"] = { "ㄷᄄ", "t;d", "td", "tt", "tht", "t̚t͈" },
["ᇀ-ᄄ"] = { "ᆮᄄ", "t;tt", "ttt", "tt", "thtt", "t̚t͈" },
["ㅌ-ᄄ"] = { "ㄷᄄ", "t;tt", "ttt", "tt", "thtt", "t̚t͈" },
["ᇀ-ᄅ"] = { "ᆫᄂ", "n;n", "tl", "nn", "thl", "nn" },
["ㅌ-ᄅ"] = { "ㄴᄂ", "n;n", "tl", "nn", "thl", "nn" },
["ᇀ-ᄆ"] = { "ᆫᄆ", "n;m", "tm", "nm", "thm", "nm" },
["ㅌ-ᄆ"] = { "ㄴᄆ", "n;m", "tm", "nm", "thm", "nm" },
["ᇀ-ᄇ"] = { "ᆮᄈ", "t;b", "tb", "tp", "thp", "t̚p͈" },
["ㅌ-ᄇ"] = { "ㄷᄈ", "t;b", "tb", "tp", "thp", "t̚p͈" },
["ᇀ-ᄈ"] = { "ᆮᄈ", "t;pp", "tpp", "tpp", "thpp", "t̚p͈" },
["ㅌ-ᄈ"] = { "ㄷᄈ", "t;pp", "tpp", "tpp", "thpp", "t̚p͈" },
["ᇀ-ᄉ"] = { "ᆮᄊ", "t;s", "ts", "ss", "ths", "ss͈" },
["ㅌ-ᄉ"] = { "ㄷᄊ", "t;s", "ts", "ss", "ths", "ss͈" },
["ᇀ-ᄊ"] = { "ᆮᄊ", "t;ss", "tss", "ss", "thss", "ss͈" },
["ㅌ-ᄊ"] = { "ㄷᄊ", "t;ss", "tss", "ss", "thss", "ss͈" },
["ᇀ-ᄋ"] = { "ᄐ", "t;", "t'", "t'", "th.", "tʰ" },
["ㅌ-ᄋ"] = { "ᄐ", "t;", "t'", "t'", "th.", "tʰ" },
["ᇀ-ᄌ"] = { "ᆮᄍ", "t;j", "tj", "tch", "thc", "t̚t͡ɕ͈" },
["ㅌ-ᄌ"] = { "ㄷᄍ", "t;j", "tj", "tch", "thc", "t̚t͡ɕ͈" },
["ᇀ-ᄍ"] = { "ᆮᄍ", "t;jj", "tjj", "tch", "thcc", "t̚t͡ɕ͈" },
["ㅌ-ᄍ"] = { "ㄷᄍ", "t;jj", "tjj", "tch", "thcc", "t̚t͡ɕ͈" },
["ᇀ-ᄎ"] = { "ᆮᄎ", "t;ch", "tch", "tch'", "thch", "t̚t͡ɕʰ" },
["ㅌ-ᄎ"] = { "ㄷᄎ", "t;ch", "tch", "tch'", "thch", "t̚t͡ɕʰ" },
["ᇀ-ᄏ"] = { "ᆮᄏ", "t;k", "tk", "tk'", "thkh", "t̚kʰ" },
["ㅌ-ᄏ"] = { "ㄷᄏ", "t;k", "tk", "tk'", "thkh", "t̚kʰ" },
["ᇀ-ᄐ"] = { "ᆮᄐ", "t;'t", "t't", "tt'", "thth", "t̚tʰ" },
["ㅌ-ᄐ"] = { "ㄷᄐ", "t;'t", "t't", "tt'", "thth", "t̚tʰ" },
["ᇀ-ᄑ"] = { "ᆮᄑ", "t;p", "tp", "tp'", "thph", "t̚pʰ" },
["ㅌ-ᄑ"] = { "ㄷᄑ", "t;p", "tp", "tp'", "thph", "t̚pʰ" },
["ᇀ-ᄒ"] = { "ᄐ", "t;h", "th", "th", "thh", "tʰ" },
["ㅌ-ᄒ"] = { "ᄐ", "t;h", "th", "th", "thh", "tʰ" },
["ᇁ-Ø"] = { "ᆸ", "p;", "p", "p", "ph", "p̚" },
["ᇁ-ᄀ"] = { "ᆸᄁ", "p;g", "pg", "pk", "phk", "p̚k͈" },
["ㅍ-ᄀ"] = { "ㅂᄁ", "p;g", "pg", "pk", "phk", "p̚k͈" },
["ᇁ-ᄁ"] = { "ᆸᄁ", "p;kk", "pkk", "pkk", "phkk", "p̚k͈" },
["ㅍ-ᄁ"] = { "ㅂᄁ", "p;kk", "pkk", "pkk", "phkk", "p̚k͈" },
["ᇁ-ᄂ"] = { "ᆷᄂ", "m;n", "pn", "mn", "phn", "mn" },
["ㅍ-ᄂ"] = { "ㅁᄂ", "m;n", "pn", "mn", "phn", "mn" },
["ᇁ-ᄃ"] = { "ᆸᄄ", "p;d", "pd", "pt", "pht", "p̚t͈" },
["ㅍ-ᄃ"] = { "ㅂᄄ", "p;d", "pd", "pt", "pht", "p̚t͈" },
["ᇁ-ᄄ"] = { "ᆸᄄ", "p;tt", "ptt", "ptt", "phtt", "p̚t͈" },
["ㅍ-ᄄ"] = { "ㅂᄄ", "p;tt", "ptt", "ptt", "phtt", "p̚t͈" },
["ᇁ-ᄅ"] = { "ᆷᄂ", "m;n", "pl", "mn", "phl", "mn" },
["ㅍ-ᄅ"] = { "ㅁᄂ", "m;n", "pl", "mn", "phl", "mn" },
["ᇁ-ᄆ"] = { "ᆷᄆ", "m;m", "pm", "mm", "phm", "mm" },
["ㅍ-ᄆ"] = { "ㅁᄆ", "m;m", "pm", "mm", "phm", "mm" },
["ᇁ-ᄇ"] = { "ᆸᄈ", "p;b", "pb", "pp", "php", "p̚p͈" },
["ㅍ-ᄇ"] = { "ㅂᄈ", "p;b", "pb", "pp", "php", "p̚p͈" },
["ᇁ-ᄈ"] = { "ᆸᄈ", "p;pp", "ppp", "pp", "phpp", "p̚p͈" },
["ㅍ-ᄈ"] = { "ㅂᄈ", "p;pp", "ppp", "pp", "phpp", "p̚p͈" },
["ᇁ-ᄉ"] = { "ᆸᄊ", "p;s", "ps", "ps", "phs", "ps͈" },
["ㅍ-ᄉ"] = { "ㅂᄊ", "p;s", "ps", "ps", "phs", "ps͈" },
["ᇁ-ᄊ"] = { "ᆸᄊ", "p;ss", "pss", "pss", "phss", "ps͈" },
["ㅍ-ᄊ"] = { "ㅂᄊ", "p;ss", "pss", "pss", "phss", "ps͈" },
["ᇁ-ᄋ"] = { "ᄑ", "p;", "p'", "p'", "ph.", "pʰ" },
["ㅍ-ᄋ"] = { "ᄑ", "p;", "p'", "p'", "ph.", "pʰ" },
["ᇁ-ᄌ"] = { "ᆸᄍ", "p;j", "pj", "pch", "phc", "p̚t͡ɕ͈" },
["ㅍ-ᄌ"] = { "ㅂᄍ", "p;j", "pj", "pch", "phc", "p̚t͡ɕ͈" },
["ᇁ-ᄍ"] = { "ᆸᄍ", "p;jj", "pjj", "ptch", "phcc", "p̚t͡ɕ͈" },
["ㅍ-ᄍ"] = { "ㅂᄍ", "p;jj", "pjj", "ptch", "phcc", "p̚t͡ɕ͈" },
["ᇁ-ᄎ"] = { "ᆸᄎ", "p;ch", "pch", "pch'", "phch", "p̚t͡ɕʰ" },
["ㅍ-ᄎ"] = { "ㅂᄎ", "p;ch", "pch", "pch'", "phch", "p̚t͡ɕʰ" },
["ᇁ-ᄏ"] = { "ᆸᄏ", "p;k", "pk", "pk'", "phkh", "p̚kʰ" },
["ㅍ-ᄏ"] = { "ㅂᄏ", "p;k", "pk", "pk'", "phkh", "p̚kʰ" },
["ᇁ-ᄐ"] = { "ᆸᄐ", "p;t", "pt", "pt'", "phth", "p̚tʰ" },
["ㅍ-ᄐ"] = { "ㅂᄐ", "p;t", "pt", "pt'", "phth", "p̚tʰ" },
["ᇁ-ᄑ"] = { "ᆸᄑ", "p;'p", "p'p", "pp'", "phph", "p̚pʰ" },
["ㅍ-ᄑ"] = { "ㅂᄑ", "p;'p", "p'p", "pp'", "phph", "p̚pʰ" },
["ᇁ-ᄒ"] = { "ᄑ", "p;h", "ph", "ph", "phh", "pʰ" },
["ㅍ-ᄒ"] = { "ᄑ", "p;h", "ph", "ph", "phh", "pʰ" },
["ᇂ-Ø"] = { "ᆮ", "t;", "h", "t", "h", "t̚" },
["ᇂ-ᄀ"] = { "ᄏ", ";k", "hg", "k'", "hk", "kʰ" },
["ㅎ-ᄀ"] = { "ᄏ", ";k", "hg", "k'", "hk", "kʰ" },
["ᇂ-ᄁ"] = { "ᆮᄁ", "t;kk", "hkk", "k'", "hkk", "t̚k͈" },
["ㅎ-ᄁ"] = { "ㄷᄁ", "t;kk", "hkk", "k'", "hkk", "t̚k͈" },
["ᇂ-ᄂ"] = { "ᆫᄂ", "n;n", "hn", "nn", "hn", "nn" },
["ㅎ-ᄂ"] = { "ㄴᄂ", "n;n", "hn", "nn", "hn", "nn" },
["ᇂ-ᄃ"] = { "ᄐ", ";t", "hd", "t'", "ht", "tʰ" },
["ㅎ-ᄃ"] = { "ᄐ", ";t", "hd", "t'", "ht", "tʰ" },
["ᇂ-ᄄ"] = { "ᆮᄄ", "t;tt", "htt", "t'", "htt", "t̚t͈" },
["ㅎ-ᄄ"] = { "ㄷᄄ", "t;tt", "htt", "t'", "htt", "t̚t͈" },
["ᇂ-ᄅ"] = { "ᆫᄂ", "n;n", "hl", "nn", "hl", "nn" },
["ㅎ-ᄅ"] = { "ㄴᄂ", "n;n", "hl", "nn", "hl", "nn" },
["ᇂ-ᄆ"] = { "ᆫᄆ", "n;m", "hm", "nm", "hm", "nm" },
["ㅎ-ᄆ"] = { "ㄴᄆ", "n;m", "hm", "nm", "hm", "nm" },
["ᇂ-ᄇ"] = { "ᄑ", ";p", "hb", "p'", "hp", "pʰ" },
["ㅎ-ᄇ"] = { "ᄑ", ";p", "hb", "p'", "hp", "pʰ" },
["ᇂ-ᄈ"] = { "ᆮᄈ", "t;pp", "hpp", "p'", "hpp", "t̚p͈" },
["ㅎ-ᄈ"] = { "ㄷᄈ", "t;pp", "hpp", "p'", "hpp", "t̚p͈" },
["ᇂ-ᄉ"] = { "ᄊ", ";s", "hs", "ss", "hs", "s͈" },
["ㅎ-ᄉ"] = { "ᄊ", ";s", "hs", "ss", "hs", "s͈" },
["ᇂ-ᄊ"] = { "ᆮᄊ", "t;ss", "hss", "ss", "hss", "ss͈" },
["ㅎ-ᄊ"] = { "ㄷᄊ", "t;ss", "hss", "ss", "hss", "ss͈" },
["ᇂ-ᄋ"] = { "ᄋ", ";…", "h'", "…", "h.", "" },
["ㅎ-ᄋ"] = { "ᄋ", ";…", "h'", "…", "h.", "" },
["ᇂ-ᄌ"] = { "ᄎ", ";ch", "hj", "ch'", "hc", "t͡ɕʰ" },
["ㅎ-ᄌ"] = { "ᄎ", ";ch", "hj", "ch'", "hc", "t͡ɕʰ" },
["ᇂ-ᄍ"] = { "ᆮᄍ", "t;jj", "hjj", "ch'", "hcc", "t̚t͡ɕ͈" },
["ㅎ-ᄍ"] = { "ㄷᄍ", "t;jj", "hjj", "ch'", "hcc", "t̚t͡ɕ͈" },
["ᇂ-ᄎ"] = { "ᆮᄎ", "t;ch", "hch", "tch'", "hch", "t̚t͡ɕʰ" },
["ㅎ-ᄎ"] = { "ㄷᄎ", "t;ch", "hch", "tch'", "hch", "t̚t͡ɕʰ" },
["ᇂ-ᄏ"] = { "ᆮᄏ", "t;k", "hk", "k'", "hkh", "t̚kʰ" },
["ㅎ-ᄏ"] = { "ㄷᄏ", "t;k", "hk", "k'", "hkh", "t̚kʰ" },
["ᇂ-ᄐ"] = { "ᆮᄐ", "t;'t", "ht", "t'", "hth", "t̚tʰ" },
["ㅎ-ᄐ"] = { "ㄷᄐ", "t;'t", "ht", "t'", "hth", "t̚tʰ" },
["ᇂ-ᄑ"] = { "ᆮᄑ", "t;p", "hp", "p'", "hph", "t̚pʰ" },
["ㅎ-ᄑ"] = { "ㄷᄑ", "t;p", "hp", "p'", "hph", "t̚pʰ" },
["ᇂ-ᄒ"] = { "ᄐ", "t;h", "hh", "th", "hh", "tʰ" },
["ㅎ-ᄒ"] = { "ᄐ", "t;h", "hh", "th", "hh", "tʰ" },
-- single compatibility jamo
["ㄱ-Ø"] = { "ㄱ", "g;", "g", "k", "k", "k" },
["ㄲ-Ø"] = { "ㄲ", "kk;", "kk", "kk", "kk", "k͈" },
["ㄳ-Ø"] = { "ㄳ", "ks;", "gs", "ks", "ks", "ks͈" },
["ㄴ-Ø"] = { "ㄴ", "n;", "n", "n", "n", "n" },
["ㄵ-Ø"] = { "ㄵ", "nj;", "nj", "nj", "nc", "ɲd͡ʑ" },
["ㄶ-Ø"] = { "ㄶ", "nh;", "nh", "nh", "nh", "n" },
["ㄷ-Ø"] = { "ㄷ", "d;", "d", "t", "t", "t" },
["ㄸ-Ø"] = { "ㄸ", "tt;", "tt", "tt", "tt", "t͈" },
["ㄹ-Ø"] = { "ㄹ", "l;", "l", "l", "l", "ɭ" },
["ㄺ-Ø"] = { "ㄺ", "lg;", "lg", "lg", "lk", "ɭɡ" },
["ㄻ-Ø"] = { "ㄻ", "lm;", "lm", "lm", "lm", "ɭm" },
["ㄼ-Ø"] = { "ㄼ", "lb;", "lb", "lb", "lp", "ɭb" },
["ㄽ-Ø"] = { "ㄽ", "ls;", "ls", "ls", "ls", "ɭs͈" },
["ㄾ-Ø"] = { "ㄾ", "lt;", "lt", "lt'", "lth", "ɭtʰ" },
["ㄿ-Ø"] = { "ㄿ", "lp;", "lp", "lp'", "lph", "ɭpʰ" },
["ㅀ-Ø"] = { "ㅀ", "lh;", "lh", "rh", "lh", "ɭ" },
["ㅁ-Ø"] = { "ㅁ", "m;", "m", "m", "m", "m" },
["ㅂ-Ø"] = { "ㅂ", "b;", "b", "p", "p", "p" },
["ㅃ-Ø"] = { "ㅃ", "pp;", "pp", "pp", "pp", "p͈" },
["ㅄ-Ø"] = { "ㅄ", "ps;", "bs", "ps", "ps", "ps͈" },
["ㅅ-Ø"] = { "ㅅ", "s;", "s", "s", "s", "sʰ" },
["ㅆ-Ø"] = { "ㅆ", "ss;", "ss", "ss", "ss", "s͈" },
["ㅇ-Ø"] = { "ㅇ", "';", "'", "", ".", "" },
["ㅈ-Ø"] = { "ㅈ", "j;", "j", "ch", "c", "t͡ɕ" },
["ㅉ-Ø"] = { "ㅉ", "jj;", "jj", "tch", "cc", "t͡ɕ͈" },
["ㅊ-Ø"] = { "ㅊ", "ch;", "ch", "ch'", "ch", "t͡ɕʰ" },
["ㅋ-Ø"] = { "ㅋ", "k;", "k", "k'", "kh", "kʰ" },
["ㅌ-Ø"] = { "ㅌ", "t;", "t", "t'", "th", "tʰ" },
["ㅍ-Ø"] = { "ㅍ", "p;", "p", "p'", "ph", "pʰ" },
["ㅎ-Ø"] = { "ㅎ", "h;", "h", "h", "h", "h" },
}
return export
bnlygxeh46qm47lfkm94lypmsgbzq5v
मॉड्यूल:my-pron
828
307222
488620
2026-09-12T13:14:13Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488620
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local sub = mw.ustring.sub
local match = mw.ustring.match
local system_list = {
{ 1, ["type"] = "phonetic", ["name"] = "IPA" },
{ 2, ["type"] = "orthographic", ["name"] = "MLCTS" },
{ 3, ["type"] = "orthographic", ["name"] = "ALA-LC" },
{ 4, ["type"] = "phonetic", ["name"] = "BGN/PCGN" },
{ 5, ["type"] = "phonetic", ["name"] = "Okell" },
}
local initial_table = {
["က"] = { "k", "k", "k", "k", "k" },
["ကျ"] = { "t͡ɕ", "ky", "ky", "ky", "c" },
["ကြ"] = { "t͡ɕ", "kr", "kr", "ky", "c" },
["ကျွ"] = { "t͡ɕw", "kyw", "kyv", "kyw", "cw" },
["ကြွ"] = { "t͡ɕw", "krw", "krv", "kyw", "cw" },
["ကွ"] = { "kw", "kw", "kv", "kw", "kw" },
["ခ"] = { "kʰ", "hk", "kh", "hk", "hk" },
["ချ"] = { "t͡ɕʰ", "hky", "khy", "ch", "hc" },
["ခြ"] = { "t͡ɕʰ", "hkr", "khr", "ch", "hc" },
["ချွ"] = { "t͡ɕʰw", "hkyw", "khyv", "chw", "hcw" },
["ခြွ"] = { "t͡ɕʰw", "hkrw", "khrv", "chw", "hcw" },
["ခွ"] = { "kʰw", "hkw", "khv", "hkw", "hkw" },
["ဂ"] = { "ɡ", "g", "g", "g", "g" },
["ဂျ"] = { "d͡ʑ", "gy", "gy", "gy", "j" },
["ဂြ"] = { "d͡ʑ", "gr", "gr", "gy", "j" },
["ဂျွ"] = { "d͡ʑw", "gyw", "gyv", "gyw", "jw" },
["ဂွ"] = { "ɡw", "gw", "gv", "gw", "gw" },
["ဃ"] = { "ɡ", "gh", "gh", "g", "g" },
["င"] = { "ŋ", "ng", "ṅ", "ng", "ng" },
["ငှ"] = { "ŋ̊", "hng", "ṅh", "hng", "hng" },
["ငြ"] = { "ɲ", "ngr", "ṅr", "ny", "ny" },
["ငြှ"] = { "ɲ̊", "hngr", "ṅrh", "hny", "hny" },
["ငွ"] = { "ŋw", "ngw", "ṅv", "ngw", "ngw" },
["ငွှ"] = { "ŋ̊w", "hngw", "ṅvh", "hngw", "hngw" },
["စ"] = { "s", "c", "c", "s", "s" },
["စွ"] = { "sw", "cw", "cv", "sw", "sw" },
["ဆ"] = { "sʰ", "hc", "ch", "hs", "hs" },
["ဆွ"] = { "sʰw", "hcw", "chv", "hsw", "hsw" },
["ဇ"] = { "z", "j", "j", "z", "z" },
["ဇွ"] = { "zw", "jw", "jv", "zw", "zw" },
["ဈ"] = { "z", "jh", "jh", "z", "z" },
["ဉ"] = { "ɲ", "ny", "ñ", "ny", "ny" },
["ည"] = { "ɲ", "ny", "ññ", "ny", "ny" },
["ဉှ"] = { "ɲ̊", "hny", "ñh", "hny", "hny" },
["ညှ"] = { "ɲ̊", "hny", "ññh", "hny", "hny" },
["ညွ"] = { "ɲw", "nyw", "ñv", "nyw", "nyw" },
["ညွှ"] = { "ɲ̊w", "hnyw", "ñvh", "hnyw", "hnyw" },
["ဋ"] = { "t", "t", "ṭ", "t", "t" },
["ဌ"] = { "tʰ", "ht", "ṭh", "ht", "ht" },
["ဍ"] = { "d", "d", "ḍ", "d", "d" },
["ဎ"] = { "d", "dh", "ḍh", "d", "d" },
["ဏ"] = { "n", "n", "ṇ", "n", "n" },
["ဏှ"] = { "n̥", "hn", "ṇh", "hn", "hn" },
["တ"] = { "t", "t", "t", "t", "t" },
["တျ"] = { "tj", "ty", "ty", "ty", "ty" },
["တြ"] = { "tɹ", "tr", "tr", "tr", "tr" },
["တွ"] = { "tw", "tw", "tv", "tw", "tw" },
["ထ"] = { "tʰ", "ht", "th", "ht", "ht" },
["ထွ"] = { "tʰw", "htw", "thv", "htw", "htw" },
["ဒ"] = { "d", "d", "d", "d", "d" },
["ဒျ"] = { "dj", "dy", "dy", "dy", "dy" },
["ဒြ"] = { "dɹ", "dr", "dr", "dr", "dr" },
["ဒွ"] = { "dw", "dw", "dv", "dw", "dw" },
["ဓ"] = { "d", "dh", "dh", "d", "d" },
["န"] = { "n", "n", "n", "n", "n" },
["နှ"] = { "n̥", "hn", "nh", "hn", "hn" },
["နျ"] = { "nj", "ny", "ny", "ny", "ny" },
["နွ"] = { "nw", "nw", "nv", "nw", "nw" },
["နွှ"] = { "n̥w", "hnw", "nvh", "hnw", "hnw" },
["ပ"] = { "p", "p", "p", "p", "p" },
["ပျ"] = { "pj", "py", "py", "py", "py" },
["ပြ"] = { "pj", "pr", "pr", "py", "py" },
["ပြွ"] = { "pw", "prw", "prv", "pw", "pw" },
["ပွ"] = { "pw", "pw", "pv", "pw", "pw" },
["ဖ"] = { "pʰ", "hp", "ph", "hp", "hp" },
["ဖျ"] = { "pʰj", "hpy", "phy", "hpy", "hpy" },
["ဖြ"] = { "pʰj", "hpr", "phr", "hpy", "hpy" },
["ဖွ"] = { "pʰw", "hpw", "phv", "hpw", "hpw" },
["ဗ"] = { "b", "b", "b", "b", "b" },
["ဗျ"] = { "bj", "by", "by", "by", "by" },
["ဗြ"] = { "bj", "br", "br", "by", "by" },
["ဗွ"] = { "bw", "bw", "bv", "bw", "bw" },
["ဘ"] = { "b", "bh", "bh", "b", "b" },
["-ဘ"] = { "pʰ", "bh", "bh", "hp", "hp" },
["ဘွ"] = { "bw", "bhw", "bhv", "bw", "bw" },
["-ဘွ"] = { "pʰw", "bhw", "bhw", "hpw", "hpw" },
["မ"] = { "m", "m", "m", "m", "m" },
["မှ"] = { "m̥", "hm", "mh", "hm", "hm" },
["မျ"] = { "mj", "my", "my", "my", "my" },
["မျှ"] = { "m̥j", "hmy", "myh", "hmy", "hmy" },
["မြ"] = { "mj", "mr", "mr", "my", "my" },
["မြှ"] = { "m̥j", "hmr", "mrh", "hmy", "hmy" },
["မြွ"] = { "mjw", "mrw", "mrv", "myw", "myw" },
["မြွှ"] = { "m̥w", "hmrw", "mrvh", "hmw", "hmw" },
["မွ"] = { "mw", "mw", "mv", "mw", "mw" },
["မွှ"] = { "m̥w", "hmw", "mvh", "hmw", "hmw" },
["ယ"] = { "j", "y", "y", "y", "y" },
["ယှ"] = { "ʃ", "hy", "yh", "sh", "hy" },
["သျှ"] = { "ʃ", "hsy", "syh", "sh", "hy" },
["ယွ"] = { "jw", "yw", "yv", "yw", "yw" },
["ရ"] = { "j", "r", "r", "y", "y" },
["*ရ"] = { "ɹ", "r", "r", "r", "r" },
["ရှ"] = { "ʃ", "hr", "rh", "sh", "hy" },
["ရွ"] = { "jw", "rw", "rv", "yw", "yw" },
["ရွှ"] = { "ʃw", "hrw", "rvh", "shw", "hyw" },
["လ"] = { "l", "l", "l", "l", "l" },
["လှ"] = { "l̥", "hl", "lh", "hl", "hl" },
["လျ"] = { "j", "ly", "ly", "y", "y" },
["+သျှ"] = { "j", "hsy", "syh", "y", "y" },
["*လျ"] = { "lj", "ly", "ly", "ly", "ly" },
["လျှ"] = { "ʃ", "hly", "lyh", "sh", "hy" },
["*လျှ"] = { "l̥j", "hly", "lyh", "hly", "hly" },
["လွ"] = { "lw", "lw", "lv", "lw", "lw" },
["လွှ"] = { "l̥w", "hlw", "lvh", "hlw", "hlw" },
["ဝ"] = { "w", "w", "v", "w", "w" },
["ဝှ"] = { "ʍ", "hw", "vh", "hw", "hw" },
["သ"] = { "θ", "s", "s", "th", "th" },
["+သ"] = { "ð", "s", "s", "dh", "th" },
["သွ"] = { "θw", "sw", "sv", "thw", "thw" },
["+သွ"] = { "ðw", "sw", "sw", "dhw", "thw" },
["ဟ"] = { "h", "h", "h", "h", "h" },
["ဟွ"] = { "hw", "hw", "hv", "hw", "hw" },
["ဠ"] = { "l", "l", "ḷ", "l", "l" },
["အ"] = { "ʔ", "", "ʼ", "", "" },
-- only appears after a vowel in the same word
["ဿ"] = { "ʔθ", "ss", "ss", "tth", "ʔth" },
[""] = { "ʔ", "", "", "", "" },
["-"] = { "", "", "", "", "" },
["ျ"] = { nil, "y", "y", nil, nil },
["ြ"] = { nil, "r", "r", nil, nil },
["ွ"] = { nil, "w", "w", nil, nil },
}
local initial_voicing = {
["+က"] = "ဂ",
["+ခ"] = "ဂ",
["+စ"] = "ဇ",
["+ဆ"] = "ဇ",
["+ဋ"] = "ဍ",
["+ဌ"] = "ဍ",
["+တ"] = "ဒ",
["+ထ"] = "ဒ",
["+ပ"] = "ဗ",
["+ဖ"] = "ဗ",
["-ဘ"] = "ဖ",
}
local final_table = {
[""] = { "a̰", "a.", "a", "a.", "á" },
["က်"] = { "ɛʔ", "ak", "akʻ", "et", "eʔ" },
["င်"] = { "ɪ̀ɴ", "ang", "aṅʻ", "in", "iñ" },
["စ်"] = { "ɪʔ", "ac", "acʻ", "it", "iʔ" },
["ည်"] = { "ì", "any", "aññʻ", "i", "i" },
["ည်2"] = { "è", "any", "aññʻ", "e", "ei" },
["ည်3"] = { "ɛ̀", "any", "aññʻ", "è", "e" },
["ဉ်"] = { "ɪ̀ɴ", "any", "añʻ", "in", "iñ" },
["တ်"] = { "aʔ", "at", "atʻ", "at", "aʔ" },
["န်"] = { "àɴ", "an", "anʻ", "an", "añ" },
["ပ်"] = { "aʔ", "ap", "apʻ", "at", "aʔ" },
["မ်"] = { "àɴ", "am", "amʻ", "an", "añ" },
["ယ်"] = { "ɛ̀", "ai", "ayʻ", "è", "e" },
["ံ"] = { "àɴ", "am", "aṃ", "an", "añ" },
["ာ"] = { "à", "a", "ā", "a", "a" },
["ါ"] = { "à", "a", "ā", "a", "a" },
["ိ"] = { "ḭ", "i.", "i", "i.", "í" },
["ိတ်"] = { "eɪʔ", "it", "itʻ", "eik", "eiʔ" },
["ိန်"] = { "èɪɴ", "in", "inʻ", "ein", "eiñ" },
["ိပ်"] = { "eɪʔ", "ip", "ipʻ", "eik", "eiʔ" },
["ိမ်"] = { "èɪɴ", "im", "imʻ", "ein", "eiñ" },
["ိံ"] = { "èɪɴ", "im", "iṃ", "ein", "eiñ" },
["ီ"] = { "ì", "i", "ī", "i", "i" },
["ု"] = { "ṵ", "u.", "u", "u.", "ú" },
["ုတ်"] = { "oʊʔ", "ut", "utʻ", "ok", "ouʔ" },
["ုန်"] = { "òʊɴ", "un", "unʻ", "on", "ouñ" },
["ုပ်"] = { "oʊʔ", "up", "upʻ", "ok", "ouʔ" },
["ုမ်"] = { "òʊɴ", "um", "umʻ", "on", "ouñ" },
["ုံ"] = { "òʊɴ", "um", "uṃ", "on", "ouñ" },
["ူ"] = { "ù", "u", "ū", "u", "u" },
["ေ"] = { "è", "e", "e", "e", "ei" },
["ဲ"] = { "ɛ́", "ai:", "ai", "è:", "è" },
["ော"] = { "ɔ́", "au:", "o", "aw:", "ò" },
["ောက်"] = { "aʊʔ", "auk", "okʻ", "auk", "auʔ" },
["ောင်"] = { "àʊɴ", "aung", "oṅʻ", "aung", "auñ" },
["ော်"] = { "ɔ̀", "au", "oʻ", "aw", "o" },
["ို"] = { "ò", "ui", "ui", "o", "ou" },
["ိုက်"] = { "aɪʔ", "uik", "uikʻ", "aik", "aiʔ" },
["ိုင်"] = { "àɪɴ", "uing", "uiṅʻ", "aing", "aiñ" },
["ွတ်"] = { "ʊʔ", "wat", "vatʻ", "ut", "uʔ" },
["ွန်"] = { "ʊ̀ɴ", "wan", "vanʻ", "un", "uñ" },
["ွပ်"] = { "ʊʔ", "wap", "vapʻ", "ut", "uʔ" },
["ွမ်"] = { "ʊ̀ɴ", "wam", "vamʻ", "un", "uñ" },
["ွံ"] = { "ʊ̀ɴ", "wam", "vaṃ", "un", "uñ" },
["'"] = { "ə", "a", "a", "ă", "ă" },
["်"] = { "", "", "ʻ", "", "" },
}
local nucleus_table = {
[""] = { "à", "a", "a", "a", "a" },
["ိ"] = { "ì", "i", "i", "i", "i" },
["ု"] = { "ù", "u", "u", "u", "u" },
["ော"] = { "ɔ̀", "au", "o", "aw", "o" },
["ေါ"] = { "ɔ̀", "au", "o", "aw", "o" },
["ွ"] = { "ʊ̀", "wa", "va", "u", "u" },
}
local indep_letter_table = {
["ဣ"] = { "ḭ", "i.", "i", "i.", "í" },
["ဤ"] = { "ì", "i", "ī", "i", "i" },
["ဥ"] = { "ṵ", "u.", "u", "u.", "ú" },
["ဦ"] = { "ù", "u", "ū", "u", "u" },
["ဧ"] = { "è", "e", "e", "e", "ei" },
["၏"] = { "ɛ̰", "e", "e*", "è.", "é" },
["ဩ"] = { "ɔ́", "au:", "o", "aw:", "ò" },
["ဪ"] = { "ɔ̀", "au", "oʻ", "aw", "o" },
["၌"] = { "n̥aɪʔ", "hnai.", "n*", "hnaik", "hnaiʔ" },
["၍"] = { "jwḛ", "rwe", "r*", "ywe.", "yweí" },
}
local tone_table = {
["း"] = { "́", ":", "ʺ", ":", "̀" },
["့"] = { "̰", ".", "ʹ", ".", "́" },
}
local ambig_intersyl = {
[1] = {
},
[2] = {
["ky"] = 1, ["kr"] = 1, ["kw"] = 1,
["gy"] = 1, ["gr"] = 1, ["gw"] = 1,
["ng"] = 1, ["ny"] = 1,
["cw"] = 1, ["tw"] = 1, ["nw"] = 1,
["py"] = 1, ["pr"] = 1, ["pw"] = 1,
["my"] = 1, ["mr"] = 1, ["mw"] = 1,
},
[3] = {
},
[4] = {
["ky"] = 1, ["kr"] = 1, ["kw"] = 1,
["gy"] = 1, ["gr"] = 1, ["gw"] = 1,
["ng"] = 1, ["ny"] = 1,
["cw"] = 1, ["tw"] = 1, ["nw"] = 1,
["tr"] = 1, ["tw"] = 1,
["py"] = 1, ["pr"] = 1, ["pw"] = 1,
["my"] = 1, ["mr"] = 1, ["mw"] = 1,
},
[5] = {
["ou"] = 1,
},
}
local reverse_table = {
["hm"] = "မှ", ["m"] = "မ",
["hn"] = "နှ", ["n"] = "န",
["hny"] = "ညှ", ["ny"] = "ည",
["hng"] = "ငှ", ["ng"] = "င",
["p"] = "ပ", ["hp"] = "ဖ", ["b"] = "ဗ",
["t"] = "တ", ["ht"] = "ထ", ["d"] = "ဒ",
["c"] = "ကျ", ["hc"] = "ချ", ["j"] = "ဂျ",
["k"] = "က", ["hk"] = "ခ", ["g"] = "ဂ",
[""] = "အ",
["th"] = "သ", ["+th"] = "+သ",
["s"] = "စ", ["hs"] = "ဆ", ["z"] = "ဇ",
["hy"] = "ရှ",
["h"] = "ဟ",
["r"] = "*ရ",
["y"] = "ယ",
["hw"] = "ဝှ", ["w"] = "ဝ",
["hl"] = "လှ", ["l"] = "လ",
["hmw"] = "မွှ", ["mw"] = "မွ", ["hmy"] = "မျှ", ["my"] = "မျ",
["hnw"] = "နွှ", ["nw"] = "နွ",
["hnyw"] = "ညွှ", ["nyw"] = "ညွ",
["hngw"] = "ငွှ", ["ngw"] = "ငွ",
["pw"] = "ပွ", ["hpw"] = "ဖွ", ["bw"] = "ဗွ",
["py"] = "ပျ", ["hpy"] = "ဖျ", ["by"] = "ဗျ",
["tw"] = "တွ", ["htw"] = "ထွ", ["dw"] = "ဒွ",
["cw"] = "ကျွ", ["hcw"] = "ချွ", ["jw"] = "ဂျွ",
["kw"] = "ကွ", ["hkw"] = "ခွ", ["gw"] = "ဂွ",
["thw"] = "သွ",
["sw"] = "စွ", ["hsw"] = "ဆွ", ["zw"] = "ဇွ",
["hyw"] = "ရွှ",
["hw"] = "ဟွ",
["yw"] = "ယွ",
["hlw"] = "လွှ", ["lw"] = "လွ", ["hly"] = "*လျှ", ["ly"] = "*လျ",
["i"] = "ီ", ["i\\"] = "ီး", ["i/"] = "ိ", ["i?"] = "စ်",
["i~"] = "င်", ["i\\~"] = "င်း", ["i/~"] = "င့်",
["ei"] = "ေ", ["ei\\"] = "ေး", ["ei/"] = "ေ့", ["ei?"] = "ိတ်",
["ei~"] = "ိန်", ["ei\\~"] = "ိန်း", ["ei/~"] = "ိန့်",
["e"] = "ယ်", ["e\\"] = "ဲ", ["e/"] = "ယ့်", ["e?"] = "က်",
["ai~"] = "ိုင်", ["ai\\~"] = "ိုင်း", ["ai/~"] = "ိုင့်",
["ai?"] = "ိုက်",
["a"] = "ာ", ["a\\"] = "ား", ["a/"] = "", ["a?"] = "တ်",
["a~"] = "န်", ["a\\~"] = "န်း", ["a/~"] = "န့်",
["o"] = "ော်", ["o\\"] = "ော", ["o/"] = "ော့", ["au?"] = "ောက်",
["au~"] = "ောင်", ["au\\~"] = "ောင်း", ["au/~"] = "ောင့်",
["ou"] = "ို", ["ou\\"] = "ိုး", ["ou/"] = "ို့", ["ou?"] = "ုပ်",
["ou~"] = "ုန်", ["ou\\~"] = "ုန်း", ["ou/~"] = "ုန့်",
["u"] = "ူ", ["u\\"] = "ူး", ["u/"] = "ု", ["u?"] = "ွတ်",
["u~"] = "ွန်", ["u\\~"] = "ွန်း", ["u/~"] = "ွန့်",
["a'"] = "'",
}
local repl_string = "([ကခဂဃငစဆဇဈဉညဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝသဟဠအဿ][ျြွှ]*[ံ့းွာါါိီုူေဲ]*)([ကခဂဃငစဆဇဈဉညဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝသဟဠအဿ][့]?[^့်္])"
local function syllabify(text)
text = gsub(text, "('?)([%+%-%*]*)", function(a, b)
if a .. b ~= "" then return a .. " " .. b end
end)
text = gsub(text, "([ဣဤဥဦဧဩဪ၏၌၍][့း်]?)(.?)(.?)", function(a, b, c)
return (c == "္" and " "..a..b.." "..c or (c == "်" and " "..a..b..c or " "..a.." "..b..c))
end) .. " "
text = gsub(text, "(်း?'?)", "%1 ")
text = gsub(text, "([း့])([ကခဂဃငစဆဇဈဉညဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝသဟဠအ]်)", "%2%1")
while match(text, repl_string) do
text = gsub(text, repl_string, "%1 %2")
end
text = gsub(text, "္", " , ")
text = gsub(text, " +", " ")
text = gsub(text, "^ ?(.*[^ ]) ?$", "%1")
text = gsub(text, " , ", " ")
text = gsub(text, " ([23])", "%1")
return text
end
local function initial_by_char(initial_string, system_index, ref_table)
local initial_set = {}
for character in mw.text.gsplit(initial_string, "") do
local temp_initial = ref_table[character] or error("Initial data not found.")
table.insert(initial_set, temp_initial[system_index] or temp_initial)
end
return table.concat(initial_set)
end
local function generate_respelling(text)
text = gsub(text, " ", " ")
text = gsub(text, "ါ", "ာ")
if match(text, "[က-႟ꩠ-ꩻ]") then return text end
text = gsub(text, "(%+?)([^%?%+'/\\~aeiou ]*)(/?)([%?'/\\~aeiou]+)", function(voicing_mark, latin_initial, opt_sep, latin_final)
return
voicing_mark ..
(reverse_table[latin_initial] or initial_by_char(latin_initial, nil, reverse_table)) ..
opt_sep ..
reverse_table[latin_final]
end)
return text
end
local function process(initial, final, tone, schwa, system, system_index)
if match(initial .. final, "ွှ?[တနပမံ]") and system["type"] == "phonetic" then
initial = gsub(initial, "[ွ/]", "")
final = "ွ" .. final
else
initial = gsub(initial, "/", "")
end
initial_new = system["type"] == "phonetic" and gsub(initial, "%+.", initial_voicing) or initial
if indep_letter_table[initial_new] then
initial_new = match(initial_new, "[၌၍]") and "-" or ""
final = initial .. final
end
if initial_new == "မြွ" then require('Module:debug').track('my-pron/mrw') end
initial_data =
initial_table[initial_new]
or initial_table[gsub(initial_new, "[%+%-%*]", "")]
or (system["type"] == "orthographic"
and initial_by_char(initial_new, system_index, initial_table)
or error("Initial data not found."))
initial_value = initial_data[system_index] or initial_data
if match(initial, "^%+") and system_index == 5 then
initial_value = initial_table[gsub(initial, "%+", "")][system_index]
initial_value = gsub(initial_value, "^([^rwy]+)", "<u>%1</u>")
end
final_data =
final_table[system["type"] .. schwa == "phonetic'" and schwa or final]
or (system["type"] == "phonetic"
and (final_table[final .. "်"] or indep_letter_table[final])
or indep_letter_table[final])
or gsub(final, "^([^်]*)([^်])(်?)$", function(first, second, third)
first_data = nucleus_table[first] or final_table[first] or indep_letter_table[first] or first
second_data = initial_table[second] or second
first = first_data ~= first and first_data[system_index] or first
second = second_data ~= second
and second_data[system_index] .. ((system_index == 3 and third ~= "") and "ʻ" or "")
or second
return (gsub(first .. second, "([%.:])(.*)", "%2"))
end)
final_value = type(final_data) == "table" and final_data[system_index] or final_data
final_value = mw.ustring.toNFD(final_value)
if tone == "" then
tone_value = ""
else
if system_index ~= 4 then final_value = gsub(final_value, "̀", "") end
final_value = gsub(final_value, "[́:%.]", "")
if system["type"] .. schwa == "phonetic'" then
tone_value = ""
else
tone_data = tone_table[tone] or error("Tone data not found.")
tone_value = tone_data[system_index]
end
end
if system_index == 1 then
final_value = gsub(final_value, "^([aeəɛiɪoɔuʊ])", "%1" .. tone_value)
elseif system_index == 5 then
final_value = gsub(final_value, "([aeiou])([^aeiou]*)$", "%1" .. tone_value .. "%2")
else
final_value = final_value .. tone_value
end
return mw.ustring.toNFC(initial_value .. final_value)
end
local function remove_wide_space(text)
return (gsub(text, " ", ""))
end
local function concatenate(set, system_index)
if system_index == 1 then return remove_wide_space(table.concat(set)) end
result_text = remove_wide_space(table.concat(set, " "))
for count = 1, 3 do
result_text = gsub(result_text, "(.) (.)([^ ]?)",
function(previous, next, after_next)
if ambig_intersyl[system_index][previous .. next]
or ((system_index == 2 or system_index == 4)
and (match(previous .. " " .. next, "[ptkgmngy] [aeiou]")
or (match(previous .. next .. after_next, "[aeiou][ptkmn][rwyg]") and not match(after_next, "[aeiou]")))) then
return previous .. "-" .. next .. after_next
else
return previous .. next .. after_next
end
end)
end
return result_text
end
function export.get_romanisation(word, pronunciations, system, system_index, mode)
local sentences = {}
word = gsub(word, " ", "|")
if system["type"] == "phonetic" then
word = gsub(word, "ဿ", "တ်သ")
end
word = syllabify(word)
word = gsub(word, "ါ", "ာ")
if system["type"] == "phonetic" then
word = gsub(word, "ဝ([တနပမံ])", "ဝွ%1")
end
for phrase in mw.text.gsplit(word, "|", true) do
local temp = {}
local syllable = mw.text.split(phrase, " ", true)
for syllable_index = 1, #syllable do
syllable[syllable_index] = gsub(syllable[syllable_index], "([း့])(်)", "%2%1")
temp[syllable_index] = gsub(
syllable[syllable_index],
"^([%+%-%*]*[ကခဂဃငစဆဇဈဉညဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝသဟဠအဣဤဥဦဧဩဪ၏၌၍ဿ][ျြ]?ွ?ှ?/?)([^း့']*)([း့]?)('?)$",
function(initial, final, tone, schwa)
return process(initial, final, tone, schwa, system, system_index)
end)
end
table.insert(sentences, concatenate(temp, system_index))
end
if mode == "translit_module" then return table.concat(sentences, " ") end
table.insert(pronunciations[system_index], table.concat(sentences, " "))
return pronunciations[system_index]
end
local function respelling_format(phonetic, page_title)
local page_title_set = mw.text.split(syllabify(page_title), " ")
local new_respellings = {}
for _, respelling in ipairs(phonetic) do
local respelling_set = mw.text.split(syllabify(respelling), " ")
if gsub(table.concat(respelling_set), "[%+%-%*']", "") == (gsub(table.concat(page_title_set), "ါ", "ာ")) then
for index, element in ipairs(respelling_set) do
if element ~= page_title_set[index] then
respelling_set[index] = '<span style="font-size:110%; color:var(--wikt-palette-deepred,#A32214); font-weight: bold">' .. element .. '</span>'
end
end
end
table.insert(new_respellings, table.concat(respelling_set))
end
text = table.concat(new_respellings, ", ")
text = remove_wide_space(text)
text = gsub(text, "[%+%-].", initial_voicing)
text = gsub(text, "([ခဂငဒပဝ]ေ?)ာ", "%1ါ")
return text
end
function export.generate_tests(word, respelling)
respelling, word = generate_respelling(respelling), generate_respelling(word)
local pronunciations = {
[1] = {},
[2] = {},
[3] = {},
[4] = {},
[5] = {},
}
local p, result = { ["orthographic"] = word, ["phonetic"] = respelling or word }, {}
table.sort(system_list, function(first, second) return first[1] < second[1] end)
for system_index, system in ipairs(system_list) do
pronunciations[system_index] = export.get_romanisation(p[system["type"]], pronunciations, system, system_index)
end
for system_index = 1, 5 do
table.insert(result, table.concat(pronunciations[system_index]))
end
return (gsub(gsub(table.concat(result, " | "), "<u>", "("), "</u>", ")"))
end
function export.make(frame)
local args = frame:getParent().args
local page_title = mw.loadData("Module:headword/data").pagename
local title = generate_respelling(args["word"] or page_title)
local p, result = { ["orthographic"] = { title }, ["phonetic"] = {} }, {}
local pronunciations = {
[1] = {},
[2] = {},
[3] = {},
[4] = {},
[5] = {},
}
if not args[1] then args = { title } end
for index, item in ipairs(args) do
table.insert(p["phonetic"], (item ~= "") and generate_respelling(item) or nil)
end
table.sort(system_list, function(first, second) return first[1] < second[1] end)
for system_index, system in ipairs(system_list) do
for _, word in ipairs(p[system["type"]]) do
pronunciations[system_index] = export.get_romanisation(word, pronunciations, system, system_index)
end
end
if title ~= table.concat(args) then
table.insert(result,
"* Phonetic respelling" .. (#p["phonetic"] > 1 and "s" or "") .. ": " ..
tostring( mw.html.create( "span" )
:attr( "lang", "my" )
:attr( "class", "Mymr" )
:wikitext( respelling_format( p["phonetic"], page_title ))) .. "\n" )
end
table.insert(result,
'* [[Wiktionary:International Phonetic Alphabet|IPA]]' ..
'<sup>([[Appendix:Burmese pronunciation|key]])</sup>: ' ..
(tostring( mw.html.create( "span" )
:attr( "class", "IPA" )
:wikitext( "/" .. gsub(table.concat(pronunciations[1], "/, /"), "ʔʔ", "ʔ.ʔ") .. "/" ))) ..
'\n* [[Wiktionary:Burmese transliteration|Romanization:]] ')
for system_index = 2, 5 do
table.insert(result,
(system_index ~= 2 and " • " or "") ..
"''" .. system_list[system_index]["name"] .. ":'' " ..
table.concat(pronunciations[system_index], "/"))
end
return table.concat(result)
end
return export
io48zon12fzghuf1l0s27t36sxwa9jc
मॉड्यूल:Ethi-translit
828
307223
488621
2026-09-12T13:23:20Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488621
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local gsub = m_str_utils.gsub
local GEM = m_str_utils.char(0x135F)
local tt = {
["ሀ"]="hä", ["ሁ"]="hu", ["ሂ"]="hi", ["ሃ"]="ha", ["ሄ"]="he", ["ህ"]="hə", ["ሆ"]="ho",
["ለ"]="lä", ["ሉ"]="lu", ["ሊ"]="li", ["ላ"]="la", ["ሌ"]="le", ["ል"]="lə", ["ሎ"]="lo",
["ሏ"]="lʷa",
["ሐ"]="ḥä", ["ሑ"]="ḥu", ["ሒ"]="ḥi", ["ሓ"]="ḥa", ["ሔ"]="ḥe", ["ሕ"]="ḥə", ["ሖ"]="ḥo",
["ሗ"]="ḥʷa",
["መ"]="mä", ["ሙ"]="mu", ["ሚ"]="mi", ["ማ"]="ma", ["ሜ"]="me", ["ም"]="mə", ["ሞ"]="mo",
["ሟ"]="mʷa", ["ፙ"]="mʲä",
["ሠ"]="śä", ["ሡ"]="śu", ["ሢ"]="śi", ["ሣ"]="śa", ["ሤ"]="śe", ["ሥ"]="śə", ["ሦ"]="śo",
["ሧ"]="śʷa",
["ረ"]="rä", ["ሩ"]="ru", ["ሪ"]="ri", ["ራ"]="ra", ["ሬ"]="re", ["ር"]="rə", ["ሮ"]="ro",
["ሯ"]="rʷa", ["ፘ"]="rʲä",
["ሰ"]="sä", ["ሱ"]="su", ["ሲ"]="si", ["ሳ"]="sa", ["ሴ"]="se", ["ስ"]="sə", ["ሶ"]="so",
["ሷ"]="sʷa",
["ሸ"]="šä", ["ሹ"]="šu", ["ሺ"]="ši", ["ሻ"]="ša", ["ሼ"]="še", ["ሽ"]="šə", ["ሾ"]="šo",
["ሿ"]="šʷa",
["ቀ"]="ḳä", ["ቁ"]="ḳu", ["ቂ"]="ḳi", ["ቃ"]="ḳa", ["ቄ"]="ḳe", ["ቅ"]="ḳə", ["ቆ"]="ḳo",
["ቈ"]="ḳʷä", ["ቊ"]="ḳʷi", ["ቋ"]="ḳʷa", ["ቌ"]="ḳʷe", ["ቍ"]="ḳʷə",
["ቐ"]="x̣ä", ["ቑ"]="x̣u", ["ቒ"]="x̣i", ["ቓ"]="x̣a", ["ቔ"]="x̣e", ["ቕ"]="x̣ə", ["ቖ"]="x̣o",
["ቘ"]="x̣ʷä", ["ቚ"]="x̣ʷi", ["ቛ"]="x̣ʷa", ["ቜ"]="x̣ʷe", ["ቝ"]="x̣ʷə",
["በ"]="bä", ["ቡ"]="bu", ["ቢ"]="bi", ["ባ"]="ba", ["ቤ"]="be", ["ብ"]="bə", ["ቦ"]="bo",
["ቧ"]="bʷa",
["ቨ"]="vä", ["ቩ"]="vu", ["ቪ"]="vi", ["ቫ"]="va", ["ቬ"]="ve", ["ቭ"]="və", ["ቮ"]="vo",
["ቯ"]="vʷa",
["ተ"]="tä", ["ቱ"]="tu", ["ቲ"]="ti", ["ታ"]="ta", ["ቴ"]="te", ["ት"]="tə", ["ቶ"]="to",
["ቷ"]="tʷa",
["ቸ"]="čä", ["ቹ"]="ču", ["ቺ"]="či", ["ቻ"]="ča", ["ቼ"]="če", ["ች"]="čə", ["ቾ"]="čo",
["ቿ"]="čʷa",
["ኀ"]="ḫä", ["ኁ"]="ḫu", ["ኂ"]="ḫi", ["ኃ"]="ḫa", ["ኄ"]="ḫe", ["ኅ"]="ḫə", ["ኆ"]="ḫo",
["ኈ"]="ḫʷä", ["ኊ"]="ḫʷi", ["ኋ"]="ḫʷa", ["ኌ"]="ḫʷe", ["ኍ"]="ḫʷə",
["ነ"]="nä", ["ኑ"]="nu", ["ኒ"]="ni", ["ና"]="na", ["ኔ"]="ne", ["ን"]="nə", ["ኖ"]="no",
["ኗ"]="nʷa",
["ኘ"]="ñä", ["ኙ"]="ñu", ["ኚ"]="ñi", ["ኛ"]="ña", ["ኜ"]="ñe", ["ኝ"]="ñə", ["ኞ"]="ño",
["ኟ"]="ñʷa",
["አ"]="ʾä", ["ኡ"]="ʾu", ["ኢ"]="ʾi", ["ኣ"]="ʾa", ["ኤ"]="ʾe", ["እ"]="ʾə", ["ኦ"]="ʾo",
["ኧ"]="ʾʷa",
["ከ"]="kä", ["ኩ"]="ku", ["ኪ"]="ki", ["ካ"]="ka", ["ኬ"]="ke", ["ክ"]="kə", ["ኮ"]="ko",
["ኰ"]="kʷä", ["ኲ"]="kʷi", ["ኳ"]="kʷa", ["ኴ"]="kʷe", ["ኵ"]="kʷə",
["ኸ"]="xä", ["ኹ"]="xu", ["ኺ"]="xi", ["ኻ"]="xa", ["ኼ"]="xe", ["ኽ"]="xə", ["ኾ"]="xo",
["ዅ"] = "xʷə", ["ዀ"] = "xʷä", ["ዂ"] = "xʷi", ["ዃ"]= "xʷa", ["ዄ"]= "xʷe",
["ወ"]="wä", ["ዉ"]="wu", ["ዊ"]="wi", ["ዋ"]="wa", ["ዌ"]="we", ["ው"]="wə", ["ዎ"]="wo",
["ዐ"]="ʿä", ["ዑ"]="ʿu", ["ዒ"]="ʿi", ["ዓ"]="ʿa", ["ዔ"]="ʿe", ["ዕ"]="ʿə", ["ዖ"]="ʿo",
["ዘ"]="zä", ["ዙ"]="zu", ["ዚ"]="zi", ["ዛ"]="za", ["ዜ"]="ze", ["ዝ"]="zə", ["ዞ"]="zo",
["ዟ"]="zʷa",
["ዠ"]="žä", ["ዡ"]="žu", ["ዢ"]="ži", ["ዣ"]="ža", ["ዤ"]="že", ["ዥ"]="žə", ["ዦ"]="žo",
["ዧ"]="žʷa",
["የ"]="yä", ["ዩ"]="yu", ["ዪ"]="yi", ["ያ"]="ya", ["ዬ"]="ye", ["ይ"]="yə", ["ዮ"]="yo",
["ደ"]="dä", ["ዱ"]="du", ["ዲ"]="di", ["ዳ"]="da", ["ዴ"]="de", ["ድ"]="də", ["ዶ"]="do",
["ዷ"]="dʷa",
["ጀ"]="ǧä", ["ጁ"]="ǧu", ["ጂ"]="ǧi", ["ጃ"]="ǧa", ["ጄ"]="ǧe", ["ጅ"]="ǧə", ["ጆ"]="ǧo",
["ጇ"]="ǧʷa",
["ገ"]="gä", ["ጉ"]="gu", ["ጊ"]="gi", ["ጋ"]="ga", ["ጌ"]="ge", ["ግ"]="gə", ["ጎ"]="go",
["ጐ"]="gʷä", ["ጒ"]="gʷi", ["ጓ"]="gʷa", ["ጔ"]="gʷe", ["ጕ"]="gʷə",
["ጘ"]="ŋä", ["ጙ"]="ŋu", ["ጚ"]="ŋi", ["ጛ"]="ŋa", ["ጜ"]="ŋe", ["ጝ"]="ŋə", ["ጞ"]="ŋo",
["ⶓ"]="ŋʷä", ["ⶔ"]="ŋʷi", ["ጟ"]="ŋʷa", ["ⶕ"]="ŋʷe", ["ⶖ"]="ŋʷə",
["ጠ"]="ṭä", ["ጡ"]="ṭu", ["ጢ"]="ṭi", ["ጣ"]="ṭa", ["ጤ"]="ṭe", ["ጥ"]="ṭə", ["ጦ"]="ṭo",
["ጧ"]="ṭʷa",
["ጨ"]="č̣ä", ["ጩ"]="č̣u", ["ጪ"]="č̣i", ["ጫ"]="č̣a", ["ጬ"]="č̣e", ["ጭ"]="č̣ə", ["ጮ"]="č̣o",
["ጯ"]="č̣ʷa",
["ጰ"]="p̣ä", ["ጱ"]="p̣u", ["ጲ"]="p̣i", ["ጳ"]="p̣a", ["ጴ"]="p̣e", ["ጵ"]="p̣ə", ["ጶ"]="p̣o",
["ጷ"]="p̣ʷa",
["ጸ"]="ṣä", ["ጹ"]="ṣu", ["ጺ"]="ṣi", ["ጻ"]="ṣa", ["ጼ"]="ṣe", ["ጽ"]="ṣə", ["ጾ"]="ṣo",
["ጿ"]="ṣʷa",
["ፀ"]="ṣ́ä", ["ፁ"]="ṣ́u", ["ፂ"]="ṣ́i", ["ፃ"]="ṣ́a", ["ፄ"]="ṣ́e", ["ፅ"]="ṣ́ə", ["ፆ"]="ṣ́o",
["ፈ"]="fä", ["ፉ"]="fu", ["ፊ"]="fi", ["ፋ"]="fa", ["ፌ"]="fe", ["ፍ"]="fə", ["ፎ"]="fo",
["ፏ"]="fʷa", ["ፚ"]="fʲä",
["ፐ"]="pä", ["ፑ"]="pu", ["ፒ"]="pi", ["ፓ"]="pa", ["ፔ"]="pe", ["ፕ"]="pə", ["ፖ"]="po",
["ፗ"]="pʷa",
--punctuation
["፠"]="§", ["፡"]=" ", ["።"]=".", ["፣"]=",", ["፤"]=";", ["፥"]=":", ["፦"]=":-", ["፧"]="?", ["፨"]="¶",
}
local number = {
['፩']=1, ['፪']=2, ['፫']=3, ['፬']=4, ['፭']=5, ['፮']=6, ['፯']=7, ['፰']=8, ['፱']=9,
['፲']=10, ['፳']=20, ['፴']=30, ['፵']=40, ['፶']=50, ['፷']=60, ['፸']=70, ['፹']=80, ['፺']=90
}
function export.number(geez)
local val = 0
if mw.ustring.find(geez, '^[፻፼]') then
geez = '፩' .. geez -- prepend 1
end
geez = gsub(geez, '፼፻', '፼፩፻')
-- following 3 lines are a hack, so that both ፻ and ፼ can be interpreted by the code as "multiply value by 100"
geez = gsub(geez, '፼([^፻፼]*)$', '፼፻%1')
geez = gsub(geez, '፼([^፻፼]*፼)', '፼፻%1')
-- same line again (accounting for overlapping patterns)
geez = gsub(geez, '፼([^፻፼]*፼)', '፼፻%1')
local func = mw.text.gsplit(geez, '')
while true do
local digit = func()
if (not digit) then break end
if mw.ustring.find(digit, '[፩-፺]') then
val = val + number[digit]
elseif digit == '፻' or digit == '፼' then
val = val * 100
end
end
return val
end
function export.tr(text, lang, sc)
--Remove gemination marks
text = mw.ustring.gsub(text, "(.)" .. GEM, "Q%1W")
--Basic transliteration
text = (mw.ustring.gsub(text, ".", tt))
--Geminate consonants (keep ə before geminates and after non-final geminates, internally we'll use Ə for these ə-s)
text = mw.ustring.gsub(text, "Qx̣", "Vx̣x̣")
text = mw.ustring.gsub(text, "Qč̣", "Vč̣č̣")
text = mw.ustring.gsub(text, "Qp̣", "Vp̣p̣")
text = mw.ustring.gsub(text, "Qṣ́", "Vṣ́ṣ́")
text = mw.ustring.gsub(text, "Q(.)", "V%1%1")
text = mw.ustring.gsub(text, "əW?V", "Ə")
text = mw.ustring.gsub(text, "əW([hlḥmśrsšḳxbvtčḫnñʾkxwʿzžydǧgṭṣfp])", "Ə%1")
-- remove ə that is not in the first syllable
-- [bdfghklmnprstvwxyzñčŋśšžǧʾʿḥḫḳṣṭ][ʰʲʷ̣́]*
-- matches one transliterated consonant
local prev_end_pos
local prev_schwa_removed = false
local text_len = mw.ustring.len(text)
text = mw.ustring.gsub(
text,
"()(([bdfghklmnprstvwxyzñčŋśšžǧʾʿḥḫḳṣṭ][ʲʷ̣́]*)ə)()",
function(start_pos, syllable, consonant, end_pos)
local ret
if (start_pos == 1 or mw.ustring.find(text, "^[%s%p]", start_pos - 1))
or (prev_end_pos == start_pos and prev_schwa_removed
and not (end_pos == text_len + 1 or mw.ustring.find(text, "^[%s%p]", end_pos))) then
ret = syllable
else
ret = consonant
end
prev_schwa_removed = ret == consonant
prev_end_pos = end_pos
return ret
end)
text = mw.ustring.gsub(text, "[፩-፼]+", export.number)
text = mw.ustring.gsub(text, "-ʾ", "-")
text = mw.ustring.gsub(text, "Ə", "ə")
text = mw.ustring.gsub(text, "[VW]", "")
return text
end
return export
ngxxvkw9nj7wnx600lnoym9hp9hmh6b
मॉड्यूल:ko
828
307224
488626
2026-09-12T13:32:14Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488626
Scribunto
text/plain
local export = {}
local m_str_utils = require("Module:string utilities")
local codepoint = m_str_utils.codepoint
local concat = table.concat
local floor = math.floor
local gmatch = m_str_utils.gmatch
local gsplit = m_str_utils.gsplit
local gsub = m_str_utils.gsub
local insert = table.insert
local len = m_str_utils.len
local match = m_str_utils.match
local min = math.min
local remove = table.remove
local sub = m_str_utils.sub
local u = m_str_utils.char
local upper = m_str_utils.upper
local lang = require("Module:languages").getByCode("ko")
export.lang = lang
local HangChars = require("Module:scripts").getByCode("Hang"):getCharacters()
local HaniChars = require("Module:scripts").getByCode("Hani"):getCharacters()
-- makes hanjatab automatically
function export.hanjatab()
local hanja = gsub(mw.loadData("Module:headword/data").pagename, '[^' .. HaniChars .. ']', '')
local table_head = '<table class="floatright wikitable" style="text-align:center; font-size:small;"><tr><th colspan="' ..
len(hanja) ..
'" style="font-weight:normal;">[[hanja|Hanja]] in this term</th></tr><tr lang="ko" class="Kore" style="font-size:2em; background:var(--wikt-palette-white,#ffffff); color:inherit; line-height:1em;">'
return table_head ..
gsub(hanja, '(.)', '<td style="padding:0.5em;">[[%1#Korean|%1]]</td>') ..
'</tr></table>'
end
-- return only non-hangeul contained in text
function export.remove_hangeul(f)
local nonhangeul = gsub(f.args[1], '[' .. HangChars .. ']', '')
return nonhangeul
end
function export.boldify(f)
local pagename = mw.loadData("Module:headword/data").pagename
hangul = f.args[1]
if match(hangul, pagename) and not match(hangul, "'") then
hangul = gsub(hangul, pagename, "'''" .. pagename .. "'''")
end
return hangul
end
function export.usex_hangul(f)
local pagename = mw.loadData("Module:headword/data").pagename
hangul = f.args[1]
if match(hangul, pagename) and not match(hangul, "'") then
hangul = gsub(hangul, pagename, "'''" .. pagename .. "'''")
end
i = 1
local front, back = '<b>', '</b>'
for bold in gmatch(hangul, "'''") do
hangul = gsub(hangul, "'''", (i % 2 == 1 and front or back), 1)
i = i + 1
end
hangul = gsub(hangul, '%^', '')
return hangul
end
function export.link(arg)
local args, distances = {}, {}
local m_pron = require("Module:ko-translit")
local curr_distance, closest_match = 1000, 0
local word, translit, definition, hanja, note = false, false, false, false, false
for i = 1, 4, 1 do
if arg[i] and arg[i] ~= "" then
insert(args, arg[i])
end
end
local curr_hangul_level, closest_hangul = 0, 0
for i, parameter in ipairs(args) do
local _, tentative_hangul_level = gsub(parameter, "[" .. HangChars .. "]", "")
if tentative_hangul_level > curr_hangul_level then
curr_hangul_level = tentative_hangul_level
closest_hangul = i
end
end
if curr_hangul_level > 0 then
word = args[closest_hangul]
remove(args, closest_hangul)
end
local function compute_distance(str1, str2)
local len1, len2 = #str1, #str2
local char1, char2, distance = {}, {}, {}
str1:gsub('.', function (c)
insert(char1, c) end)
str2:gsub('.', function (c)
insert(char2, c) end)
for i = 0, len1 do
distance[i] = {}
end
for i = 0, len1 do
distance[i][0] = i
end
for i = 0, len2 do
distance[0][i] = i
end
for i = 1, len1 do
for j = 1, len2 do
distance[i][j] = min(
distance[i-1][j] + 1,
distance[i][j-1] + 1,
distance[i-1][j-1] + (char1[i] == char2[j] and 0 or 1)
)
end
end
return distance[len1][len2]
end
local m_link = require("Module:links")
local test_translit = m_pron.tr_revised(m_link.remove_links(word or arg[1])) or ""
if arg[5] and arg[5] ~= "" then
note = arg[5]
elseif arg["note"] and arg["note"] ~= "" then
note = arg["note"]
end
if arg["gloss"] then
definition = arg["gloss"]
arg["gloss"] = nil
end
for i, parameter in ipairs(args) do
if not match(parameter, '[' .. HangChars .. HaniChars .. ']') then
local tentative_distance = compute_distance(test_translit, parameter)
if tentative_distance < curr_distance then
curr_distance = tentative_distance
closest_match = i
end
end
end
if curr_distance < 3 and #args > 1 then
translit = args[closest_match]
remove(args, closest_match)
end
for i, parameter in ipairs(args) do
if match(parameter, "[" .. HaniChars .. "]") then
hanja = parameter
remove(args, i)
end
end
if not hanja and not word then
word = args[1]
remove(args, 1)
end
if #args > 1 then
translit = args[1]
definition = args[2]
elseif #args > 0 then
if definition then
translit = args[1]
else
definition = args[1]
end
end
if hanja and not match(hanja, "[%[%]]") then
for hanja_word in gmatch(hanja, "[" .. HaniChars .. "]+") do
hanja = gsub(hanja, hanja_word, "[[" .. hanja_word .. "]]")
end
for hangul_word in gmatch(hanja, "[" .. HangChars .. "]+") do
hanja = gsub(hanja, hangul_word, "[[" .. hangul_word .. "]]")
end
hanja = gsub(hanja, "%[%[%[%[", "[[")
hanja = gsub(hanja, "%]%]%]%]", "]]")
end
local tr = arg["tr"] or translit or test_translit
if (translit or test_translit) and not arg["tr"] then
tr = gsub(tr, "%^(%a)", upper)
end
if tr then
tr = '<span lang="ko-Latn" class="mention-tr tr Latn">' ..
tr .. "</span>"
end
if definition then
if not match(definition, "^''.+''$") then definition = "“" .. definition .. "”" end
end
if hanja then
hanja = '<span lang="ko" class="Kore">' .. m_link.language_link{lang = lang, term = hanja} .. '</span>'
end
word = gsub(word, "%^", "")
if not match(word, "[%[%]]") then
if match(word, "^—.+—$") then
word = gsub(word, "—(.+)—", "[[-%1-|—%1—]]")
elseif match(word, "^—.+$") then
word = gsub(word, "—(.+)", "[[-%1|—%1]]")
elseif match(word, "^.+—$") then
word = gsub(word, "(.+)—", "[[%1다|%1—]]")
elseif match(word, "^%*") then
word = gsub(word, "%*", "")
else
word = "[[" .. word .. "]]"
end
end
local info = {}
insert(info, word and (hanja or nil) or nil)
insert(info, tr or nil)
insert(info, definition or nil)
local result = word
and
("<span lang=\"ko\" class=\"Kore\">" .. word .. "</span>")
or
('<span lang="ko" class="Kore">' .. m_link.language_link{lang = lang, term = hanja} .. '</span>')
if #info > 0 then
result = result .. " (" .. concat(info, ", ") .. ")"
end
if note then
result = result .. " (<i>" .. note .. "</i>)"
end
return result
end
function export.link_t(frame)
return export.link(frame:getParent().args)
end
function export.new(frame)
local title = mw.loadData("Module:headword/data").pagename
local args = frame:getParent().args
local poses = { args[1] or "", args[3] or (args[4] and "" or false), args[5] or (args[6] and "" or false) }
local defs = { (args[2] ~= "" and args[2]), (args[4] ~= "" and args[4]), (args[6] ~= "" and args[6]) }
local etym = args["e"] or false
local head = args["head"] or false
local cat = args["cat"] or false
local image = args["pic"] or false
local caption = args["capt"] or false
local pedia = args["wp"] or false
local irreg = args["irreg"] or false
local result = ""
local function genTitle(text)
local pos_title = {
[""] = "Noun", ["n"] = "Noun", ["pn"] = "Proper noun", ["propn"] = "Proper noun", ["pron"] = "Pronoun",
["v"] = "Verb", ["a"] = "Adjective", ["adj"] = "Adjective", ["adv"] = "Adverb",
["prep"] = "Preposition", ["postp"] = "Postposition", ["conj"] = "Conjunction",
["part"] = "Particle", ["suf"] = "Suffix",
["prov"] = "Proverb", ["id"] = "Idiom", ["ph"] = "Phrase", ["intj"] = "Interjection", ["interj"] = "Interjection",
["cl"] = "Classifier", ["cls"] = "Classifier", ["num"] = "Numeral", ["abb"] = "Abbreviation",
["det"] = "Determiner", ["deter"] = "Determiner", ["root"] = "Root",
};
return pos_title[text] or upper(sub(text, 1, 1)) .. sub(text, 2, -1)
end
local function genHead(text)
local pos_head = {
[""] = "noun", ["n"] = "noun", ["pn"] = "proper noun", ["propn"] = "proper noun", ["v"] = "verb", ["a"] = "adj", ["adv"] = "adv",
["postp"] = "pos|post", ["conj"] = "pos|con", ["part"] = "pos|particle", ["pron"] = "pos|pronoun",
["prov"] = "proverb", ["id"] = "pos|idiom", ["ph"] = "pos|phrase", ["intj"] = "interj",
["abb"] = "pos|abbr", ["cl"] = "pos|cls", ["det"] = "det", ["deter"] = "det", ["root"] = "root", ["num"] = "num",
};
return pos_head[text] or "pos|" .. text
end
local function other(class, title, args, level)
local code = ""
if args[class] then
code = code .. "\n\n" .. level .. title .. level .. "\n* {{l|ko|" .. gsub(args[class], ":", "|") .. "}}"
i = 2
while args[class .. i] do
code = code .. "\n* {{l|ko|" .. gsub(args[class .. i], ":", "|") .. "}}"
i = i + 1
end
end
return code
end
if args["2e"] or args["2h"] or args["2nat"] or args["2ee"] or args["2c1"] or args["2p"] or args["multiEtym"] then
multiEtym = true
end
local function iterate_param(args, genPos, etymNo)
if genPos == "proper noun" then args[(etymNo > 1 and etymNo or "") .. "cap"] = "y" end
text = ""
for _, arg in ipairs( { "l", "com", "nn", "ui", "nobc", "cap", "ni", "bcred", "a", "uie" } ) do
if etymNo > 1 then arg_temp = etymNo .. arg else arg_temp = arg end
if args[arg_temp] then text = text .. "|" .. arg .. "=" .. args[arg_temp] end
end
return text
end
local function add_etym(args, etymNo)
etymText = ""
n = etymNo > 1 and etymNo or ""
if args[n.."e"] then etymText = etymText .. args[n.."e"]
elseif args[n.."h"] then etymText = etymText .. "{{ko-etym-sino|" .. args[n.."h"] .. (args[n.."he"] and "|" .. args[n.."he"] or "") .. "}}."
elseif args[n.."nat"] then etymText = etymText .. "{{ko-etym-native|" .. gsub(args[n.."nat"], ",", "|") .. "}}"
elseif args[n.."ee"] then etymText = etymText .. "From {{bor|ko|" .. (args[n.."el"] or "en") .. "|" .. args[n.."ee"] .. "}}."
elseif args[n.."c1"] then etymText = etymText ..
"{{compound|ko|" .. args[n.."c1"] .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. (args[n.."t1"] and "|t1=" .. args[n.."t1"] or "") ..
"|" .. args[n.."c2"] .. (args[n.."hj2"] and "(" .. args[n.."hj2"] .. ")" or "") .. (args[n.."t2"] and "|t2=" .. args[n.."t2"] or "") ..
(args[n.."c3"] and "|" .. args[n.."c3"] .. (args[n.."hj3"] and "(" .. args[n.."hj3"] .. ")" or "") .. (args[n.."t3"] and "|t3=" .. args[n.."t3"] or "") or "") ..
(args[n.."c4"] and "|" .. args[n.."c4"] .. (args[n.."hj4"] and "(" .. args[n.."hj4"] .. ")" or "") .. (args[n.."t4"] and "|t4=" .. args[n.."t4"] or "") or "") .. "}}."
elseif match(title, "[하되롭]다$") then
local suffix_data = {
['하다'] = "|t2=to do|pos2=[[light verb]] deriving " .. (genHead(poses[1]) == "adj" and "adjectives" or "active verbs"),
['되다'] = "|t2=to become|pos2=[[light verb]] deriving " .. (genHead(poses[1]) == "adj" and "adjectives" or "passive verbs"),
['롭다'] = "|pos2=suffix deriving adjectives",
}
etymText = etymText
.. "{{af|ko"
.. "|" .. sub(title, 1, -3) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "")
.. "|-" .. sub(title, -2, -1)
.. (args["c1r"] and "|pos1=root" or "")
.. (args["t1"] and "|t1=" .. args["t1"] or "")
.. suffix_data[sub(title, -2, -1)]
.. "}}"
.. "."
elseif match(title, "시키다$") or match(title, "스럽다$") then
etymText = etymText
.. "{{af|ko"
.. "|" .. sub(title, 1, -4) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "")
.. "|-" .. sub(title, -3, -1)
.. (args["c1r"] and "|pos1=root" or "")
.. (args["t1"] and "|t1=" .. args["t1"] or "")
.. "}}"
.. "."
end
return etymText
end
local function add_regional(text, etymNo)
local regionalText = ""
local n = etymNo > 1 and etymNo or ""
if args[n .. "nk"] then
if match(title, "[하되롭]다$") then
regionalText = regionalText .. "\n{{ko-regional"
.. "|" .. sub(title, 1, -3) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. sub(title, -2, -1)
.. "|" .. sub(args[n .. "nk"], 1, -3) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. sub(args[n .. "nk"], -2, -1)
.."}}"
elseif match(title, "시키다$") or match(title, "스럽다$") then
regionalText = regionalText .. "\n{{ko-regional"
.. "|" .. sub(title, 1, -4) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. sub(title, -3, -1)
.. "|" .. sub(args[n .. "nk"], 1, -4) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. sub(args[n .. "nk"], -3, -1)
.."}}"
else
regionalText = regionalText .. "\n{{ko-regional"
.. "|" .. (args[n .. "cap"] and "^" or "") .. title .. (args[n.."h"] and "(" .. args[n.."h"] .. ")" or "")
.. "|" .. (args[n .. "cap"] and "^" or "") .. args[n .. "nk"] .. (args[n.."h"] and "(" .. args[n.."h"] .. ")" or "")
.."}}"
end
elseif args[n .. "sk"] then
if match(title, "[하되롭]다$") then
regionalText = regionalText .. "\n{{ko-regional"
.. "|" .. sub(args[n .. "sk"], 1, -3) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. sub(args[n .. "sk"], -2, -1)
.. "|" .. sub(title, 1, -3) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. sub(title, -2, -1)
.."}}"
elseif match(title, "시키다$") or match(title, "스럽다$") then
regionalText = regionalText .. "\n{{ko-regional"
.. "|" .. sub(args[n .. "sk"], 1, -4) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. sub(args[n .. "sk"], -3, -1)
.. "|" .. sub(title, 1, -4) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. sub(title, -3, -1)
.."}}"
else
regionalText = regionalText .. "\n{{ko-regional"
.. "|" .. (args[n .. "cap"] and "^" or "") .. args[n .. "sk"] .. (args[n.."h"] and "(" .. args[n.."h"] .. ")" or "")
.. "|" .. (args[n .. "cap"] and "^" or "") .. title .. (args[n.."h"] and "(" .. args[n.."h"] .. ")" or "")
.."}}"
end
end
return regionalText
end
-- generate {{standard form of}} if definition is not given
-- XXX: |ncap= which is set automatically by add_etym() doesn't happen yet here
-- WISHLIST: choose between {{standard spelling of}} and {{standard form of}}?
-- no difference in categorization though. really not worth it
for _, etymNo in ipairs({1, 2, 3}) do
local n = etymNo > 1 and etymNo or ""
if args[n.."sk"] then
if not defs[etymNo] then
if match(title, "[하되롭]다$") then
defs[etymNo] = "{{standard form of|ko"
.. "|" .. sub(args[n .. "sk"], 1, -3) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. sub(args[n .. "sk"], -2, -1)
.."|from=North Korea}}"
elseif match(title, "시키다$") or match(title, "스럽다$") then
defs[etymNo] = "{{standard form of|ko"
.. "|" .. sub(args[n .. "sk"], 1, -4) .. (args[n.."hj1"] and "(" .. args[n.."hj1"] .. ")" or "") .. sub(args[n .. "sk"], -3, -1)
.."|from=North Korea}}"
else
defs[etymNo] = "{{standard form of|ko"
.. "|" .. (args[n .. "cap"] and "^" or "") .. args[n .. "sk"] .. (args[n.."h"] and "(" .. args[n.."h"] .. ")" or "")
.."|from=North Korea}}"
end
end
end
end
result = result .. "==Korean=="
if pedia then result = result .. "\n{{wp|ko:" .. (pedia ~= "y" and pedia or "") .. "}}" end
if image then result = result .. "\n[[File:" .. image .. "|thumb|right|250px|" .. (caption or title) .. ".]]" end
result = result .. other("alt", "Alternative forms", args, "===")
if match(title, "[하되롭]다$") or match(title, "시키다$") or match(title, "스럽다$") then autoEtym = true end
if args["e"] or args["2e"] or args["3e"] or args["h"] or args["nat"] or args["ee"] or args["c1"] or autoEtym or multiEtym then
etym = "\n\n===Etymology" .. (multiEtym and " 1" or "") .. "===\n"
etym = etym .. add_etym(args, 1)
end
if etym then result = result .. etym end
level = multiEtym and "====" or "==="
result = result .. other("1alt", "Alternative forms", args, "====")
result = result .. "\n\n" .. level .. "Pronunciation" .. level ..
"\n{{ko-IPA" .. iterate_param(args, genHead(poses[1]), 1) .. "}}"
if genHead(poses[1]) == "root" then defs[1] = "{{ko-root of|" .. defs[1] .. "}}" end
result = result .. "\n\n" .. level .. genTitle(poses[1]) .. level .. "\n{{ko-" .. genHead(poses[1]) ..
(head and ("|head=" .. head) or "") .. (args["h"] and ("|hanja=" .. args["h"]) or "") ..
(irreg and "|irreg=y" or "") .. "}}" .. add_regional(args, 1) .. "\n\n# " .. (defs[1] or "{{rfdef|ko}}")
local function add_der(args, etymNo, hanja)
n = etymNo > 1 and etymNo or ""
local translDer = { ["h"] = "하다", ["d"] = "되다", ["s"] = "시키다" }
if args[n .. "der"] and gsub(args[n .. "der"], "[sdh]", "") == "" then
i = 1
for ch in gsplit(args[n .. "der"], "") do
args[n .. "der" .. (i == 1 and "" or i)] = title .. (hanja and "(" .. hanja .. ")" or "") .. translDer[ch]
i = i + 1
end
end
return args
end
args = add_der(args, 1, args["h"] or false)
result = result .. other("syn", "=Synonyms=", args, level)
result = result .. other("ant", "=Antonyms=", args, level)
result = result .. other("der", "=Derived terms=", args, level)
result = result .. other("rel", "=Related terms=", args, level)
result = result .. other("also", "=See also=", args, level)
if genHead(poses[1]) == "adj" or genHead(poses[1]) == "verb" then
result = result .. "\n\n=" .. level .. "Conjugation" .. level .. "=\n{{ko-conj/" .. genHead(poses[1]) .. (irreg and "|irreg=y" or "") .. "}}"
end
if poses[2] then
if multiEtym then
result = result .. "\n\n===Etymology 2===\n" .. add_etym(args, 2)
level = "===="
result = result .. other("2alt", "Alternative forms", args, level)
result = result .. "\n\n" .. level .. "Pronunciation" .. level ..
"\n{{ko-IPA" .. iterate_param(args, genHead(poses[2]), 2) .. "}}"
if genHead(poses[2]) == "root" then defs[2] = "{{ko-root of|" .. defs[2] .. "}}" end
result = result .. "\n\n" .. level .. genTitle(poses[2]) .. level .. "\n{{ko-" .. genHead(poses[2]) ..
(head and ("|head=" .. head) or "") .. (args["2h"] and ("|hanja=" .. args["2h"]) or "") .. "}}" .. add_regional(args, 2) .. "\n\n# " .. (defs[2] or "{{rfdef|ko}}")
args = add_der(args, 2, args["2h"] or false)
result = result .. other("2syn", "=Synonyms=", args, level)
result = result .. other("2ant", "=Antonyms=", args, level)
result = result .. other("2der", "=Derived terms=", args, level)
result = result .. other("2rel", "=Related terms=", args, level)
result = result .. other("2also", "=See also=", args, level)
if genHead(poses[2]) == "adj" or genHead(poses[2]) == "verb" then
result = result .. "\n\n=" .. level .. "Conjugation" .. level .. "=\n{{ko-conj/" .. genHead(poses[2]) .. (irreg and "|irreg=y" or "") .. "}}"
end
else
result = result .. "\n\n===" .. genTitle(poses[2]) .. "===\n{{ko-" .. genHead(poses[2]) ..
(head and ("|head=" .. head) or "") .. (args["2h"] and ("|hanja=" .. args["2h"]) or "") ..
"}}\n\n# " .. (defs[2] or "{{rfdef|ko}}")
if genHead(poses[2]) == "adj" or genHead(poses[2]) == "verb" then
result = result .. "\n\n====Conjugation====\n{{ko-conj/" .. genHead(poses[2]) .. (irreg and "|irreg=y" or "") .. "}}"
end
end
end
if poses[3] then
if multiEtym then
result = result .. "\n\n===Etymology 3===\n" .. add_etym(args, 3)
level = "===="
result = result .. other("3alt", "Alternative forms", args, level)
result = result .. "\n\n" .. level .. "Pronunciation" .. level ..
"\n{{ko-IPA" .. iterate_param(args, genHead(poses[3]), 3) .. "}}"
if genHead(poses[3]) == "root" then defs[3] = "{{ko-root of|" .. defs[3] .. "}}" end
result = result .. "\n\n" .. level .. genTitle(poses[3]) .. level .. "\n{{ko-" .. genHead(poses[3]) ..
(head and ("|head=" .. head) or "") .. (args["3h"] and ("|hanja=" .. args["3h"]) or "") .. "}}" .. add_regional(args, 3) .. "\n\n# " .. (defs[3] or "{{rfdef|ko}}")
args = add_der(args, 3, args["3h"] or false)
result = result .. other("3syn", "=Synonyms=", args, level)
result = result .. other("3ant", "=Antonyms=", args, level)
result = result .. other("3der", "=Derived terms=", args, level)
result = result .. other("3rel", "=Related terms=", args, level)
result = result .. other("3also", "=See also=", args, level)
if genHead(poses[3]) == "adj" or genHead(poses[3]) == "verb" then
result = result .. "\n\n=" .. level .. "Conjugation" .. level .. "=\n{{ko-conj/" .. genHead(poses[3]) .. (irreg and "|irreg=y" or "") .. "}}"
end
else
result = result .. "\n\n===" .. genTitle(poses[3]) .. "===\n{{ko-" .. genHead(poses[3]) ..
(head and ("|head=" .. head) or "") .. (args["3h"] and ("|hanja=" .. args["3h"]) or "") ..
"}}\n\n# " .. (defs[3] or "{{rfdef|ko}}")
if genHead(poses[3]) == "adj" or genHead(poses[3]) == "verb" then
result = result .. "\n\n====Conjugation====\n{{ko-conj/" .. genHead(poses[3]) .. (irreg and "|irreg=y" or "") .. "}}"
end
end
end
if cat then
result = result .. "\n\n{{C|ko|" .. cat .. "}}"
end
return result
end
function export.decompose_jamo(syllable)
if not match(syllable, "[가-힣]") then
if match(syllable, "[ᄀ-ᄒ]") then return { initial = syllable, vowel = "Ø", final = "Ø" }
elseif match(syllable, "[ᅡ-ᅵ]") then return { initial = "Ø", vowel = syllable, final = "Ø" }
elseif match(syllable, "[ᆨ-ᇂ]") then return { initial = "Ø", vowel = "Ø", final = syllable }
elseif match(syllable, "[ㄱ-ㅎ]") then return { initial = "Ø", vowel = "Ø", final = syllable }
elseif match(syllable, "[ㅏ-ㅣ]") then return { initial = "Ø", vowel = syllable, final = "Ø" }
else return { initial = "Ø", vowel = " ", final = "X" } end
end
local cp = codepoint(syllable)
if not cp then return { "", "", "" } end
local relative_cp = cp - 0xAC00
local jongseong = relative_cp % 28
local jungseong = floor((relative_cp % 588) / 28)
local choseong = floor(relative_cp / 588)
choseong, jungseong, jongseong =
u(0x1100 + choseong),
u(0x1161 + jungseong),
jongseong ~= 0 and u(0x11A7 + jongseong) or ""
return { initial = choseong, vowel = jungseong, final = jongseong }
end
return export
degxcvdog3nq6enpt1ttuqo55qx1m47
साँचा:anchor/documentation
10
307225
488630
2026-09-12T16:51:15Z
SM7
6218
"{{documentation subpage}} {{uses lua|Module:anchors/templates}} This template generates an html anchor (link target). ==Parameters== ; {{para|1|req=1}} : The ID that you want to assign to the anchor. This can be almost anything and can include spaces, but double quote signs (") should be avoided. However, you should probably keep it short and concise, as it will have to be typed verbatim by anyone who wants to create a link to th..." के साथ नया पृष्ठ बनाया
488630
wikitext
text/x-wiki
{{documentation subpage}}
{{uses lua|Module:anchors/templates}}
This template generates an html anchor (link target).
==Parameters==
; {{para|1|req=1}}
: The ID that you want to assign to the anchor. This can be almost anything and can include spaces, but double quote signs (") should be avoided. However, you should probably keep it short and concise, as it will have to be typed verbatim by anyone who wants to create a link to this anchor.
; {{para|2}}, {{para|3}} and so on {{i|optional}}
: Any further IDs that you want to assign to the anchor.
==Examples==
Suppose you want to create an anchor for the abbreviation "Ezek." on the page [[Appendix:Abbreviations for English given names]].
First choose one or more appropriate IDs, such as "Ezek-abbrev", "Ezek." and "Ezek", then replace <tt>Ezek.</tt> with
<pre>
{{anchor|Ezek-abbrev|Ezek.|Ezek}}Ezek.
</pre>
This does not change the way the page looks.
Now, when you want to link to this line on the appendix page from within Wiktionary, you can use:
<pre>
[[Appendix:Abbreviations for English given names#Ezek-abbrev|Ezek.]]
</pre>
or
<pre>
[[Appendix:Abbreviations for English given names#Ezek.|Ezek.]]
</pre>
or
<pre>
[[Appendix:Abbreviations for English given names#Ezek|Ezek.]]
</pre>
==See also==
* {{tl|senseid}}
* {{tl|etymid}}
<includeonly>
[[Category:साँचे]]
</includeonly>
n4aduo1y70blrxvzjw5hijtk3z6he07
मॉड्यूल:table of contents/style.css
828
307226
488635
2026-09-12T17:18:09Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488635
sanitized-css
text/css
/* enforce a minimal width on all links in TOC (otherwise they can be super narrow and hard to click, like "I") */
table#toc a {
min-width: 1em;
}
/* need minimal padding on these gigantic full TOC tables. Ugly, but necessary */
table.categoryTOC-full tr.tocrow td {
text-align: center;
padding: 0 2px;
}
fk72m3qjzby1n80er9zygqr5kdll43h
मीडियाविकि:Scribunto-doc-page-header
8
307227
488636
2026-09-12T17:20:34Z
SM7
6218
...using {{documentation subpage}}
488636
wikitext
text/x-wiki
{{documentation subpage}}
0s9h21547owpcsc9cace2bhwbqw8ij3
मॉड्यूल:Scribunto
828
307228
488638
2026-09-12T17:28:34Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488638
Scribunto
text/plain
local export = {}
local math_module = "Module:math"
local dump = mw.dumpObject
local format = string.format
local gsub = string.gsub
local match = string.match
local php_trim -- defined below
local sub = string.sub
local tonumber = tonumber
local tostring = tostring
local type = type
do
local php_htmlspecialchars_data
local function get_php_htmlspecialchars_data()
php_htmlspecialchars_data, get_php_htmlspecialchars_data = {
["\""] = """,
["&"] = "&",
["'"] = "'",
["<"] = "<",
[">"] = ">",
}, nil
return php_htmlspecialchars_data
end
--[==[Lua equivalent of PHP's {{code|php|htmlspecialchars($string)}}, which converts the characters `&"'<>` to HTML entities.
If the `quotes` flag is set to {"compat"}, then `'` will not be converted, and if it is set to {"noquotes"}, then neither `"` nor `'` will be converted.]==]
function export.php_htmlspecialchars(str, quotes)
if quotes == nil or quotes == "quotes" then
quotes = "'\""
elseif quotes == "compat" then
quotes = "\""
elseif quotes == "noquotes" then
quotes = ""
else
local quotes_type = type(quotes)
error('`quotes` must be "quotes", "compat", "noquotes" or nil; received ' ..
(quotes_type == "string" and dump(quotes) or "a " .. quotes_type))
end
return (gsub(str, "[&<>" .. quotes .. "]", php_htmlspecialchars_data or get_php_htmlspecialchars_data()))
end
end
do
local function tonumber_extended(...)
tonumber_extended = require(math_module).tonumber_extended
return tonumber_extended(...)
end
-- Normalizes a string for use in comparisons which emulate PHP's equals
-- operator, which coerces certain strings to numbers: those within the
-- range -2^63 to 2^63 - 1 which don't have decimal points or exponents are
-- coerced to integers, while any others are coerced to doubles if possible;
-- otherwise, they remain as strings. PHP and Lua have the same precision
-- for doubles, but Lua's integer precision range is -2^53 + 1 to 2^53 - 1.
-- Any integers within Lua's precision, as well as all doubles, are simply
-- coerced to numbers, but PHP integers outside of Lua's precision are
-- emulated as normalized strings, with leading 0s and any + sign removed.
-- The `not_long` flag is used for the second comparator if the first did
-- not get normalized to a long integer, as PHP will only coerce strings to
-- integers if it's possible for both comparators.
local function php_normalize_string(str, not_long)
local num = tonumber_extended(str, nil, true)
-- Must be a number that isn't ±infinity, NaN or hexadecimal.
if not num or match(str, "^%s*[+-]?0[xX]()") then
return str
-- If `not_long` is set or `num` is within Lua's precision, return as a
-- number.
elseif not_long or num < 9007199254740992 and num > -9007199254740992 then
return num, "number"
end
-- Check if it could be a long integer, and return as a double if not.
local sign, str_no_0 = match(str, "^%s*([+-]?)0*(%d+)$")
if not str_no_0 then
return num, "number"
end
-- Otherwise, check if it's a long integer. 2^63 is 9223372036854775808,
-- so slice off the last 15 digits and deal with the two parts
-- separately. If the integer value would be too high/low, return as a
-- string.
local high = tonumber(sub(str_no_0, 1, -16))
if high > 9223 then
return str
elseif high == 9223 then
local low = tonumber(sub(str_no_0, -15))
-- Range is -2^63 to 2^63 - 1 (not symmetrical).
if low > 372036854775808 or low == 372036854775808 and sign ~= "-" then
return str
end
end
return (sign == "+" and "" or sign) .. str_no_0, "long integer", num
end
--[==[Lua equivalent of PHP's {{code|php|===}} operator for strings.]==]
function export.php_string_equals(str1, str2)
if str1 == str2 then
return true
end
local str1, str1_type, str1_num = php_normalize_string(str1)
if str1 == str2 then
return true
elseif str1_type == "long integer" then
local str2, str2_type = php_normalize_string(str2)
return str2 == (str2_type == "number" and str1_num or str1)
elseif str1_type == "number" then
return str1 == php_normalize_string(str2, true)
end
return false
end
end
--[==[Lua equivalent of PHP's {{code|php|trim($string)}}, which trims {"\0"}, {"\t"}, {"\n"}, {"\v"}, {"\r"} and {" "}. This is useful when dealing with template parameters, since the native parser trims them like this.]==]
function export.php_trim(str)
return match(str, "[^ \t-\v\r%z].*%f[ \t-\v\r%z]") or ""
end
php_trim = export.php_trim
--[==[Lua equivalent of PHP's {{code|php|ltrim($string)}}, which trims {"\0"}, {"\t"}, {"\n"}, {"\v"}, {"\r"} and {" "} from the beginning of the input string.]==]
function export.php_ltrim(str)
return (gsub(str, "^[ \t-\v\r%z]+", ""))
end
--[==[Lua equivalent of PHP's {{code|php|rtrim($string)}}, which trims {"\0"}, {"\t"}, {"\n"}, {"\v"}, {"\r"} and {" "} from the end of the input string.]==]
function export.php_rtrim(str)
return match(str, "^.+%f[ \t-\v\r%z]") or ""
end
--[==[Takes a template or module parameter name as either a string or number, and returns the Scribunto-normalized form (i.e. the key that that parameter would have in a {frame.args} table). For example, {"1"} (a string) is normalized to {1} (a number), {" foo "} is normalized to {"foo"}, and {1.5} (a number) is normalized to {"1.5"} (a string). Inputs which cannot be normalized (e.g. booleans) return {nil}.
Strings are trimmed with {export.php_trim}, unless the `no_trim` flag is set. If it is, then string parameters are not trimmed, but strings may still be converted to numbers if they do not contain whitespace; this is necessary when normalizing keys into the form received by PHP during callbacks, before any trimming occurs (e.g. in the table of arguments when calling {frame:expandTemplates()}).
After trimming (if applicable), keys are then converted to numbers if '''all''' of the following are true:
# They are integers; i.e. no decimals or leading zeroes (e.g. {"2"}, but not {"2.0"} or {"02"}).
# They are ≤ 2{{sup|53}} and ≥ -2{{sup|53}}.
# There is no leading sign unless < 0 (e.g. {"2"} or {"-2"}, but not {"+2"} or {"-0"}).
# They contain no leading or trailing whitespace (which may be present when the `no_trim` flag is set).
Numbers are converted to strings if '''either''':
# They are not integers (e.g. {1.5}).
# They are > 2{{sup|53}} or < -2{{sup|53}}.
When converted to strings, integers ≤ 2{{sup|63}} and ≥ -2{{sup|63}} are formatted as integers (i.e. all digits are given), which is the range of PHP's integer precision, though the actual output may be imprecise since Lua's integer precision is > 2{{sup|53}} to < -2{{sup|53}}. All other numbers use the standard formatting output by {tostring()}.]==]
function export.scribunto_parameter_key(key, no_trim)
local key_type = type(key)
if key_type == "string" then
if not no_trim then
key = php_trim(key)
end
if match(key, "^()-?[1-9]%d*$") then
local num = tonumber(key)
-- Lua integers are only precise to 2^53 - 1, so specifically check
-- for 2^53 and -2^53 as strings, since a numerical comparison won't
-- work as it can't distinguish 2^53 from 2^53 + 1.
return (
num <= 9007199254740991 and num >= -9007199254740991 or
key == "9007199254740992" or
key == "-9007199254740992"
) and num or key
end
return key == "0" and 0 or key
elseif key_type == "number" then
-- No special handling needed for inf or NaN.
return key % 1 == 0 and (
key <= 9007199254740992 and key >= -9007199254740992 and key or
key <= 9223372036854775808 and key >= -9223372036854775808 and format("%d", key)
) or tostring(key)
end
return nil
end
--[==[Takes a template or module parameter value as either a string, number or boolean, and returns the Scribunto-normalized form (i.e. the value that that parameter would have in a {frame.args} table), which is always a string. For example, {"foo"} remains the same, {2} (a number) is normalized to {"2"} (a string), {true} is normalized to {"1"}, and {false} is normalized to {""}. Inputs which cannot be normalized (e.g. tables) return {nil}.
By default, returned values are not trimmed, which matches the treatment of unnamed parameters (e.g. `bar` in {{tl|<nowiki/>foo|bar}}). If the `named` flag is set, then returned values will be trimmed, which matches the treatment of named parameters (e.g. `baz` in {{tl|<nowiki/>foo|bar=baz}}).]==]
function export.scribunto_parameter_value(value, named)
local value_type = type(value)
if value_type == "string" then
return named and php_trim(value) or value
elseif value_type == "number" then
return tostring(value)
elseif value_type == "boolean" then
return value and "1" or ""
end
return nil
end
return export
90dvo9iqmpdordtuzghbnnl9rw4476r
मॉड्यूल:title/exists
828
307229
488640
2026-09-12T18:06:14Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488640
Scribunto
text/plain
local title_is_title_module = "Module:title/isTitle"
local title_new_title_module = "Module:title/newTitle"
local error = error
local format = string.format
local pcall = pcall
local require = require
local type = type
local at_limit
local function is_title(...)
is_title = require(title_is_title_module)
return is_title(...)
end
local function new_title(...)
new_title = require(title_new_title_module)
return new_title(...)
end
local function exists(title)
return title.exists
end
--[==[
Receives a title object or string, and returns {true} if the page for the input title exists, or {false} if not.
By default, this function checks the {title.exists} key of the relevant title object, which increments the expensive function count. Normally, attempting to exceed the expensive function limit of 500 will result in an error being thrown, but this function will instead fall back to checking {title.content}, which does not increment the count. It is, however, considerably slower to check, and (unlike {title.exists}) will register as a page transclusion.
The {force_transclusion} flag may be set to force the use of transclusion ({title.content}) in all instances, which can be used to avoid incrementing the expensive function count; this is sometimes useful when making a large number of checks, as hitting the expensive function limit can be disruptive to other modules or templates.]==]
return function(title, force_transclusion)
local title_type = type(title)
if title_type == "string" then
title = new_title(title)
-- If it's an invalid string, return false.
if not title then
return false
end
elseif not is_title(title) then
error(format("bad argument #1 to 'title/exists' (title object or string expected, got %s)", title_type), 2)
end
if not (force_transclusion or at_limit) then
local success, result = pcall(exists, title)
if success then
return result
end
at_limit = true
end
return title.content ~= false
end
5kz0uhgst8887seua8722d5dz4kmw4o
मीडियाविकि:Scribunto-doc-page-does-not-exist
8
307230
488643
2026-09-12T18:18:40Z
SM7
6218
निर्मित (अंग्रेजी अनुसार) / translatewiki से स्वचालित आ रहे संदेश को रोकने के लिये
488643
wikitext
text/x-wiki
{{documentation|hr=below}}
2zxlv85dc5bbrimgijtz8hlg5lbrat9
मीडियाविकि:Scribunto-doc-page-name
8
307231
488644
2026-09-12T18:22:13Z
SM7
6218
निर्मित (अंग्रेजी अनुसार) / translatewiki से स्वचालित आ रहे संदेश को रोकने के लिये
488644
wikitext
text/x-wiki
Module:$1/documentation
bauuvit86bp9nvrsgj3o485pfu1wuaa
मीडियाविकि:Scribunto-doc-page-show
8
307232
488645
2026-09-12T18:23:30Z
SM7
6218
निर्मित (अंग्रेजी अनुसार) / translatewiki से स्वचालित आ रहे संदेश को रोकने के लिये
488645
wikitext
text/x-wiki
{{documentation|from=$1|hr=below}}
ho8cvxtbvvh4bhvvxklaze9cbf4fxy8
मॉड्यूल:documentation/documentation
828
307233
488649
2026-09-12T18:36:22Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488649
wikitext
text/x-wiki
Serves {{tl|documentation}} along with {{tl|translit module documentation}}, {{tl|sortkey module documentation}} and {{tl|strip diacritics module documentation}}. {{tl|documentation}} is added to modules automatically (through [[MediaWiki:Scribunto-doc-page-show]] if the doc page exists, otherwise through [[MediaWiki:Scribunto-doc-page-does-not-exist]]); added to user JavaScript pages automatically (through [[MediaWiki:Clearyourcache]]); and manually added to template pages. It automatically adds categories, or categories and documentation, to some modules based on their titles.
More specifically, for modules:
# When there is no doc page for the module, [[Module:documentation]] checks for various sorts of special modules (based on the module title) and autogenerates the documentation and categories of those modules. If this check fails, the module is added to [[:Category:Templates and modules needing documentation]], and [[Module:module categorization]] is called to autogenerate the categories for lang-specific modules of the form {{cd|LANGCODE-TYPE}}, optionally with a subpage (e.g. {{cd|LANGCODE-TYPE/data}}, {{cd|LANGCODE-TYPE/testcases}}, {{cd|LANGCODE-TYPE/data/testcases}}, or any other subpage). If this check also fails, the module is added to [[:Category:Uncategorized modules]].
# When there is a doc page for the module, the contents of that page take precedence over any autogenerated content. However, if that page does not have an {{cd|<nowiki><includeonly>...</includeonly></nowiki>}} section and does not have an invocation of {{tl|module cat}}, the same checks are done as when no doc page exists (including checks for specially-titled modules and falling back to calling [[Module:module categorization]]), but only for the purposes of autogenerating categories. If no such categories could be determined, the module is added to [[:Category:Uncategorized modules]].
More specifically, for templates:
* ... (DOCUMENT ME)
Ideas:
* Make more usable on other Wiktionaries by creating data module with translations of text, and moving module regex to separate module.
==Automatic module documentation generators==
{{#invoke:documentation|module_auto_doc_table}}
<includeonly>
[[Category:Documentation modules]]
</includeonly>
1fywky5u6xtbi746u491jezi12ej7op
मॉड्यूल:data/entities
828
307234
488650
2026-09-12T18:37:25Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488650
Scribunto
text/plain
return {
aacute = "\195\161", -- á
Aacute = "\195\129", -- Á
abreve = "\196\131", -- ă
Abreve = "\196\130", -- Ă
ac = "\226\136\190", -- ∾
acd = "\226\136\191", -- ∿
acE = "\226\136\190\204\179", -- ∾̳
acirc = "\195\162", -- â
Acirc = "\195\130", -- Â
acute = "\194\180", -- ´
acy = "\208\176", -- а
Acy = "\208\144", -- А
aelig = "\195\166", -- æ
AElig = "\195\134", -- Æ
af = "\226\129\161", -- [function application]
afr = "\240\157\148\158", -- 𝔞
Afr = "\240\157\148\132", -- 𝔄
agrave = "\195\160", -- à
Agrave = "\195\128", -- À
alefsym = "\226\132\181", -- ℵ
aleph = "\226\132\181", -- ℵ
alpha = "\206\177", -- α
Alpha = "\206\145", -- Α
amacr = "\196\129", -- ā
Amacr = "\196\128", -- Ā
amalg = "\226\168\191", -- ⨿
amp = "\38", -- &
AMP = "\38", -- &
["and"] = "\226\136\167", -- ∧
And = "\226\169\147", -- ⩓
andand = "\226\169\149", -- ⩕
andd = "\226\169\156", -- ⩜
andslope = "\226\169\152", -- ⩘
andv = "\226\169\154", -- ⩚
ang = "\226\136\160", -- ∠
ange = "\226\166\164", -- ⦤
angle = "\226\136\160", -- ∠
angmsd = "\226\136\161", -- ∡
angmsdaa = "\226\166\168", -- ⦨
angmsdab = "\226\166\169", -- ⦩
angmsdac = "\226\166\170", -- ⦪
angmsdad = "\226\166\171", -- ⦫
angmsdae = "\226\166\172", -- ⦬
angmsdaf = "\226\166\173", -- ⦭
angmsdag = "\226\166\174", -- ⦮
angmsdah = "\226\166\175", -- ⦯
angrt = "\226\136\159", -- ∟
angrtvb = "\226\138\190", -- ⊾
angrtvbd = "\226\166\157", -- ⦝
angsph = "\226\136\162", -- ∢
angst = "\195\133", -- Å
angzarr = "\226\141\188", -- ⍼
aogon = "\196\133", -- ą
Aogon = "\196\132", -- Ą
aopf = "\240\157\149\146", -- 𝕒
Aopf = "\240\157\148\184", -- 𝔸
ap = "\226\137\136", -- ≈
apacir = "\226\169\175", -- ⩯
ape = "\226\137\138", -- ≊
apE = "\226\169\176", -- ⩰
apid = "\226\137\139", -- ≋
apos = "\39", -- '
ApplyFunction = "\226\129\161", -- [function application]
approx = "\226\137\136", -- ≈
approxeq = "\226\137\138", -- ≊
aring = "\195\165", -- å
Aring = "\195\133", -- Å
ascr = "\240\157\146\182", -- 𝒶
Ascr = "\240\157\146\156", -- 𝒜
Assign = "\226\137\148", -- ≔
ast = "\42", -- *
asymp = "\226\137\136", -- ≈
asympeq = "\226\137\141", -- ≍
atilde = "\195\163", -- ã
Atilde = "\195\131", -- Ã
auml = "\195\164", -- ä
Auml = "\195\132", -- Ä
awconint = "\226\136\179", -- ∳
awint = "\226\168\145", -- ⨑
backcong = "\226\137\140", -- ≌
backepsilon = "\207\182", -- ϶
backprime = "\226\128\181", -- ‵
backsim = "\226\136\189", -- ∽
backsimeq = "\226\139\141", -- ⋍
Backslash = "\226\136\150", -- ∖
Barv = "\226\171\167", -- ⫧
barvee = "\226\138\189", -- ⊽
barwed = "\226\140\133", -- ⌅
Barwed = "\226\140\134", -- ⌆
barwedge = "\226\140\133", -- ⌅
bbrk = "\226\142\181", -- ⎵
bbrktbrk = "\226\142\182", -- ⎶
bcong = "\226\137\140", -- ≌
bcy = "\208\177", -- б
Bcy = "\208\145", -- Б
bdquo = "\226\128\158", -- „
becaus = "\226\136\181", -- ∵
because = "\226\136\181", -- ∵
Because = "\226\136\181", -- ∵
bemptyv = "\226\166\176", -- ⦰
bepsi = "\207\182", -- ϶
bernou = "\226\132\172", -- ℬ
Bernoullis = "\226\132\172", -- ℬ
beta = "\206\178", -- β
Beta = "\206\146", -- Β
beth = "\226\132\182", -- ℶ
between = "\226\137\172", -- ≬
bfr = "\240\157\148\159", -- 𝔟
Bfr = "\240\157\148\133", -- 𝔅
bigcap = "\226\139\130", -- ⋂
bigcirc = "\226\151\175", -- ◯
bigcup = "\226\139\131", -- ⋃
bigodot = "\226\168\128", -- ⨀
bigoplus = "\226\168\129", -- ⨁
bigotimes = "\226\168\130", -- ⨂
bigsqcup = "\226\168\134", -- ⨆
bigstar = "\226\152\133", -- ★
bigtriangledown = "\226\150\189", -- ▽
bigtriangleup = "\226\150\179", -- △
biguplus = "\226\168\132", -- ⨄
bigvee = "\226\139\129", -- ⋁
bigwedge = "\226\139\128", -- ⋀
bkarow = "\226\164\141", -- ⤍
blacklozenge = "\226\167\171", -- ⧫
blacksquare = "\226\150\170", -- ▪
blacktriangle = "\226\150\180", -- ▴
blacktriangledown = "\226\150\190", -- ▾
blacktriangleleft = "\226\151\130", -- ◂
blacktriangleright = "\226\150\184", -- ▸
blank = "\226\144\163", -- ␣
blk12 = "\226\150\146", -- ▒
blk14 = "\226\150\145", -- ░
blk34 = "\226\150\147", -- ▓
block = "\226\150\136", -- █
bne = "\61\226\131\165", -- =⃥
bnequiv = "\226\137\161\226\131\165", -- ≡⃥
bnot = "\226\140\144", -- ⌐
bNot = "\226\171\173", -- ⫭
bopf = "\240\157\149\147", -- 𝕓
Bopf = "\240\157\148\185", -- 𝔹
bot = "\226\138\165", -- ⊥
bottom = "\226\138\165", -- ⊥
bowtie = "\226\139\136", -- ⋈
boxbox = "\226\167\137", -- ⧉
boxdl = "\226\148\144", -- ┐
boxdL = "\226\149\149", -- ╕
boxDl = "\226\149\150", -- ╖
boxDL = "\226\149\151", -- ╗
boxdr = "\226\148\140", -- ┌
boxdR = "\226\149\146", -- ╒
boxDr = "\226\149\147", -- ╓
boxDR = "\226\149\148", -- ╔
boxh = "\226\148\128", -- ─
boxH = "\226\149\144", -- ═
boxhd = "\226\148\172", -- ┬
boxhD = "\226\149\165", -- ╥
boxHd = "\226\149\164", -- ╤
boxHD = "\226\149\166", -- ╦
boxhu = "\226\148\180", -- ┴
boxhU = "\226\149\168", -- ╨
boxHu = "\226\149\167", -- ╧
boxHU = "\226\149\169", -- ╩
boxminus = "\226\138\159", -- ⊟
boxplus = "\226\138\158", -- ⊞
boxtimes = "\226\138\160", -- ⊠
boxul = "\226\148\152", -- ┘
boxuL = "\226\149\155", -- ╛
boxUl = "\226\149\156", -- ╜
boxUL = "\226\149\157", -- ╝
boxur = "\226\148\148", -- └
boxuR = "\226\149\152", -- ╘
boxUr = "\226\149\153", -- ╙
boxUR = "\226\149\154", -- ╚
boxv = "\226\148\130", -- │
boxV = "\226\149\145", -- ║
boxvh = "\226\148\188", -- ┼
boxvH = "\226\149\170", -- ╪
boxVh = "\226\149\171", -- ╫
boxVH = "\226\149\172", -- ╬
boxvl = "\226\148\164", -- ┤
boxvL = "\226\149\161", -- ╡
boxVl = "\226\149\162", -- ╢
boxVL = "\226\149\163", -- ╣
boxvr = "\226\148\156", -- ├
boxvR = "\226\149\158", -- ╞
boxVr = "\226\149\159", -- ╟
boxVR = "\226\149\160", -- ╠
bprime = "\226\128\181", -- ‵
breve = "\203\152", -- ˘
Breve = "\203\152", -- ˘
brvbar = "\194\166", -- ¦
bscr = "\240\157\146\183", -- 𝒷
Bscr = "\226\132\172", -- ℬ
bsemi = "\226\129\143", -- ⁏
bsim = "\226\136\189", -- ∽
bsime = "\226\139\141", -- ⋍
bsol = "\92", -- \
bsolb = "\226\167\133", -- ⧅
bsolhsub = "\226\159\136", -- ⟈
bull = "\226\128\162", -- •
bullet = "\226\128\162", -- •
bump = "\226\137\142", -- ≎
bumpe = "\226\137\143", -- ≏
bumpE = "\226\170\174", -- ⪮
bumpeq = "\226\137\143", -- ≏
Bumpeq = "\226\137\142", -- ≎
cacute = "\196\135", -- ć
Cacute = "\196\134", -- Ć
cap = "\226\136\169", -- ∩
Cap = "\226\139\146", -- ⋒
capand = "\226\169\132", -- ⩄
capbrcup = "\226\169\137", -- ⩉
capcap = "\226\169\139", -- ⩋
capcup = "\226\169\135", -- ⩇
capdot = "\226\169\128", -- ⩀
CapitalDifferentialD = "\226\133\133", -- ⅅ
caps = "\226\136\169\239\184\128", -- ∩︀
caret = "\226\129\129", -- ⁁
caron = "\203\135", -- ˇ
Cayleys = "\226\132\173", -- ℭ
ccaps = "\226\169\141", -- ⩍
ccaron = "\196\141", -- č
Ccaron = "\196\140", -- Č
ccedil = "\195\167", -- ç
Ccedil = "\195\135", -- Ç
ccirc = "\196\137", -- ĉ
Ccirc = "\196\136", -- Ĉ
Cconint = "\226\136\176", -- ∰
ccups = "\226\169\140", -- ⩌
ccupssm = "\226\169\144", -- ⩐
cdot = "\196\139", -- ċ
Cdot = "\196\138", -- Ċ
cedil = "\194\184", -- ¸
Cedilla = "\194\184", -- ¸
cemptyv = "\226\166\178", -- ⦲
cent = "\194\162", -- ¢
centerdot = "\194\183", -- ·
CenterDot = "\194\183", -- ·
cfr = "\240\157\148\160", -- 𝔠
Cfr = "\226\132\173", -- ℭ
chcy = "\209\135", -- ч
CHcy = "\208\167", -- Ч
check = "\226\156\147", -- ✓
checkmark = "\226\156\147", -- ✓
chi = "\207\135", -- χ
Chi = "\206\167", -- Χ
cir = "\226\151\139", -- ○
circ = "\203\134", -- ˆ
circeq = "\226\137\151", -- ≗
circlearrowleft = "\226\134\186", -- ↺
circlearrowright = "\226\134\187", -- ↻
circledast = "\226\138\155", -- ⊛
circledcirc = "\226\138\154", -- ⊚
circleddash = "\226\138\157", -- ⊝
CircleDot = "\226\138\153", -- ⊙
circledR = "\194\174", -- ®
circledS = "\226\147\136", -- Ⓢ
CircleMinus = "\226\138\150", -- ⊖
CirclePlus = "\226\138\149", -- ⊕
CircleTimes = "\226\138\151", -- ⊗
cire = "\226\137\151", -- ≗
cirE = "\226\167\131", -- ⧃
cirfnint = "\226\168\144", -- ⨐
cirmid = "\226\171\175", -- ⫯
cirscir = "\226\167\130", -- ⧂
ClockwiseContourIntegral = "\226\136\178", -- ∲
CloseCurlyDoubleQuote = "\226\128\157", -- ”
CloseCurlyQuote = "\226\128\153", -- ’
clubs = "\226\153\163", -- ♣
clubsuit = "\226\153\163", -- ♣
colon = "\58", -- :
Colon = "\226\136\183", -- ∷
colone = "\226\137\148", -- ≔
Colone = "\226\169\180", -- ⩴
coloneq = "\226\137\148", -- ≔
comma = "\44", -- ,
commat = "\64", -- @
comp = "\226\136\129", -- ∁
compfn = "\226\136\152", -- ∘
complement = "\226\136\129", -- ∁
complexes = "\226\132\130", -- ℂ
cong = "\226\137\133", -- ≅
congdot = "\226\169\173", -- ⩭
Congruent = "\226\137\161", -- ≡
conint = "\226\136\174", -- ∮
Conint = "\226\136\175", -- ∯
ContourIntegral = "\226\136\174", -- ∮
copf = "\240\157\149\148", -- 𝕔
Copf = "\226\132\130", -- ℂ
coprod = "\226\136\144", -- ∐
Coproduct = "\226\136\144", -- ∐
copy = "\194\169", -- ©
COPY = "\194\169", -- ©
copysr = "\226\132\151", -- ℗
CounterClockwiseContourIntegral = "\226\136\179", -- ∳
crarr = "\226\134\181", -- ↵
cross = "\226\156\151", -- ✗
Cross = "\226\168\175", -- ⨯
cscr = "\240\157\146\184", -- 𝒸
Cscr = "\240\157\146\158", -- 𝒞
csub = "\226\171\143", -- ⫏
csube = "\226\171\145", -- ⫑
csup = "\226\171\144", -- ⫐
csupe = "\226\171\146", -- ⫒
ctdot = "\226\139\175", -- ⋯
cudarrl = "\226\164\184", -- ⤸
cudarrr = "\226\164\181", -- ⤵
cuepr = "\226\139\158", -- ⋞
cuesc = "\226\139\159", -- ⋟
cularr = "\226\134\182", -- ↶
cularrp = "\226\164\189", -- ⤽
cup = "\226\136\170", -- ∪
Cup = "\226\139\147", -- ⋓
cupbrcap = "\226\169\136", -- ⩈
cupcap = "\226\169\134", -- ⩆
CupCap = "\226\137\141", -- ≍
cupcup = "\226\169\138", -- ⩊
cupdot = "\226\138\141", -- ⊍
cupor = "\226\169\133", -- ⩅
cups = "\226\136\170\239\184\128", -- ∪︀
curarr = "\226\134\183", -- ↷
curarrm = "\226\164\188", -- ⤼
curlyeqprec = "\226\139\158", -- ⋞
curlyeqsucc = "\226\139\159", -- ⋟
curlyvee = "\226\139\142", -- ⋎
curlywedge = "\226\139\143", -- ⋏
curren = "\194\164", -- ¤
curvearrowleft = "\226\134\182", -- ↶
curvearrowright = "\226\134\183", -- ↷
cuvee = "\226\139\142", -- ⋎
cuwed = "\226\139\143", -- ⋏
cwconint = "\226\136\178", -- ∲
cwint = "\226\136\177", -- ∱
cylcty = "\226\140\173", -- ⌭
dagger = "\226\128\160", -- †
Dagger = "\226\128\161", -- ‡
daleth = "\226\132\184", -- ℸ
darr = "\226\134\147", -- ↓
dArr = "\226\135\147", -- ⇓
Darr = "\226\134\161", -- ↡
dash = "\226\128\144", -- ‐
dashv = "\226\138\163", -- ⊣
Dashv = "\226\171\164", -- ⫤
dbkarow = "\226\164\143", -- ⤏
dblac = "\203\157", -- ˝
dcaron = "\196\143", -- ď
Dcaron = "\196\142", -- Ď
dcy = "\208\180", -- д
Dcy = "\208\148", -- Д
dd = "\226\133\134", -- ⅆ
DD = "\226\133\133", -- ⅅ
ddagger = "\226\128\161", -- ‡
ddarr = "\226\135\138", -- ⇊
DDotrahd = "\226\164\145", -- ⤑
ddotseq = "\226\169\183", -- ⩷
deg = "\194\176", -- °
Del = "\226\136\135", -- ∇
delta = "\206\180", -- δ
Delta = "\206\148", -- Δ
demptyv = "\226\166\177", -- ⦱
dfisht = "\226\165\191", -- ⥿
dfr = "\240\157\148\161", -- 𝔡
Dfr = "\240\157\148\135", -- 𝔇
dHar = "\226\165\165", -- ⥥
dharl = "\226\135\131", -- ⇃
dharr = "\226\135\130", -- ⇂
DiacriticalAcute = "\194\180", -- ´
DiacriticalDot = "\203\153", -- ˙
DiacriticalDoubleAcute = "\203\157", -- ˝
DiacriticalGrave = "\96", -- `
DiacriticalTilde = "\203\156", -- ˜
diam = "\226\139\132", -- ⋄
diamond = "\226\139\132", -- ⋄
Diamond = "\226\139\132", -- ⋄
diamondsuit = "\226\153\166", -- ♦
diams = "\226\153\166", -- ♦
die = "\194\168", -- ¨
DifferentialD = "\226\133\134", -- ⅆ
digamma = "\207\157", -- ϝ
disin = "\226\139\178", -- ⋲
div = "\195\183", -- ÷
divide = "\195\183", -- ÷
divideontimes = "\226\139\135", -- ⋇
divonx = "\226\139\135", -- ⋇
djcy = "\209\146", -- ђ
DJcy = "\208\130", -- Ђ
dlcorn = "\226\140\158", -- ⌞
dlcrop = "\226\140\141", -- ⌍
dollar = "\36", -- $
dopf = "\240\157\149\149", -- 𝕕
Dopf = "\240\157\148\187", -- 𝔻
dot = "\203\153", -- ˙
Dot = "\194\168", -- ¨
DotDot = "\226\131\156", -- ⃜
doteq = "\226\137\144", -- ≐
doteqdot = "\226\137\145", -- ≑
DotEqual = "\226\137\144", -- ≐
dotminus = "\226\136\184", -- ∸
dotplus = "\226\136\148", -- ∔
dotsquare = "\226\138\161", -- ⊡
doublebarwedge = "\226\140\134", -- ⌆
DoubleContourIntegral = "\226\136\175", -- ∯
DoubleDot = "\194\168", -- ¨
DoubleDownArrow = "\226\135\147", -- ⇓
DoubleLeftArrow = "\226\135\144", -- ⇐
DoubleLeftRightArrow = "\226\135\148", -- ⇔
DoubleLeftTee = "\226\171\164", -- ⫤
DoubleLongLeftArrow = "\226\159\184", -- ⟸
DoubleLongLeftRightArrow = "\226\159\186", -- ⟺
DoubleLongRightArrow = "\226\159\185", -- ⟹
DoubleRightArrow = "\226\135\146", -- ⇒
DoubleRightTee = "\226\138\168", -- ⊨
DoubleUpArrow = "\226\135\145", -- ⇑
DoubleUpDownArrow = "\226\135\149", -- ⇕
DoubleVerticalBar = "\226\136\165", -- ∥
downarrow = "\226\134\147", -- ↓
Downarrow = "\226\135\147", -- ⇓
DownArrow = "\226\134\147", -- ↓
DownArrowBar = "\226\164\147", -- ⤓
DownArrowUpArrow = "\226\135\181", -- ⇵
DownBreve = "\204\145", -- ̑
downdownarrows = "\226\135\138", -- ⇊
downharpoonleft = "\226\135\131", -- ⇃
downharpoonright = "\226\135\130", -- ⇂
DownLeftRightVector = "\226\165\144", -- ⥐
DownLeftTeeVector = "\226\165\158", -- ⥞
DownLeftVector = "\226\134\189", -- ↽
DownLeftVectorBar = "\226\165\150", -- ⥖
DownRightTeeVector = "\226\165\159", -- ⥟
DownRightVector = "\226\135\129", -- ⇁
DownRightVectorBar = "\226\165\151", -- ⥗
DownTee = "\226\138\164", -- ⊤
DownTeeArrow = "\226\134\167", -- ↧
drbkarow = "\226\164\144", -- ⤐
drcorn = "\226\140\159", -- ⌟
drcrop = "\226\140\140", -- ⌌
dscr = "\240\157\146\185", -- 𝒹
Dscr = "\240\157\146\159", -- 𝒟
dscy = "\209\149", -- ѕ
DScy = "\208\133", -- Ѕ
dsol = "\226\167\182", -- ⧶
dstrok = "\196\145", -- đ
Dstrok = "\196\144", -- Đ
dtdot = "\226\139\177", -- ⋱
dtri = "\226\150\191", -- ▿
dtrif = "\226\150\190", -- ▾
duarr = "\226\135\181", -- ⇵
duhar = "\226\165\175", -- ⥯
dwangle = "\226\166\166", -- ⦦
dzcy = "\209\159", -- џ
DZcy = "\208\143", -- Џ
dzigrarr = "\226\159\191", -- ⟿
eacute = "\195\169", -- é
Eacute = "\195\137", -- É
easter = "\226\169\174", -- ⩮
ecaron = "\196\155", -- ě
Ecaron = "\196\154", -- Ě
ecir = "\226\137\150", -- ≖
ecirc = "\195\170", -- ê
Ecirc = "\195\138", -- Ê
ecolon = "\226\137\149", -- ≕
ecy = "\209\141", -- э
Ecy = "\208\173", -- Э
eDDot = "\226\169\183", -- ⩷
edot = "\196\151", -- ė
eDot = "\226\137\145", -- ≑
Edot = "\196\150", -- Ė
ee = "\226\133\135", -- ⅇ
efDot = "\226\137\146", -- ≒
efr = "\240\157\148\162", -- 𝔢
Efr = "\240\157\148\136", -- 𝔈
eg = "\226\170\154", -- ⪚
egrave = "\195\168", -- è
Egrave = "\195\136", -- È
egs = "\226\170\150", -- ⪖
egsdot = "\226\170\152", -- ⪘
el = "\226\170\153", -- ⪙
Element = "\226\136\136", -- ∈
elinters = "\226\143\167", -- ⏧
ell = "\226\132\147", -- ℓ
els = "\226\170\149", -- ⪕
elsdot = "\226\170\151", -- ⪗
emacr = "\196\147", -- ē
Emacr = "\196\146", -- Ē
empty = "\226\136\133", -- ∅
emptyset = "\226\136\133", -- ∅
EmptySmallSquare = "\226\151\187", -- ◻
emptyv = "\226\136\133", -- ∅
EmptyVerySmallSquare = "\226\150\171", -- ▫
emsp = "\226\128\131", -- [em space]
emsp13 = "\226\128\132", -- [three-per-em space]
emsp14 = "\226\128\133", -- [four-per-em space]
eng = "\197\139", -- ŋ
ENG = "\197\138", -- Ŋ
ensp = "\226\128\130", -- [en space]
eogon = "\196\153", -- ę
Eogon = "\196\152", -- Ę
eopf = "\240\157\149\150", -- 𝕖
Eopf = "\240\157\148\188", -- 𝔼
epar = "\226\139\149", -- ⋕
eparsl = "\226\167\163", -- ⧣
eplus = "\226\169\177", -- ⩱
epsi = "\206\181", -- ε
epsilon = "\206\181", -- ε
Epsilon = "\206\149", -- Ε
epsiv = "\207\181", -- ϵ
eqcirc = "\226\137\150", -- ≖
eqcolon = "\226\137\149", -- ≕
eqsim = "\226\137\130", -- ≂
eqslantgtr = "\226\170\150", -- ⪖
eqslantless = "\226\170\149", -- ⪕
Equal = "\226\169\181", -- ⩵
equals = "\61", -- =
EqualTilde = "\226\137\130", -- ≂
equest = "\226\137\159", -- ≟
Equilibrium = "\226\135\140", -- ⇌
equiv = "\226\137\161", -- ≡
equivDD = "\226\169\184", -- ⩸
eqvparsl = "\226\167\165", -- ⧥
erarr = "\226\165\177", -- ⥱
erDot = "\226\137\147", -- ≓
escr = "\226\132\175", -- ℯ
Escr = "\226\132\176", -- ℰ
esdot = "\226\137\144", -- ≐
esim = "\226\137\130", -- ≂
Esim = "\226\169\179", -- ⩳
eta = "\206\183", -- η
Eta = "\206\151", -- Η
eth = "\195\176", -- ð
ETH = "\195\144", -- Ð
euml = "\195\171", -- ë
Euml = "\195\139", -- Ë
euro = "\226\130\172", -- €
excl = "\33", -- !
exist = "\226\136\131", -- ∃
Exists = "\226\136\131", -- ∃
expectation = "\226\132\176", -- ℰ
exponentiale = "\226\133\135", -- ⅇ
ExponentialE = "\226\133\135", -- ⅇ
fallingdotseq = "\226\137\146", -- ≒
fcy = "\209\132", -- ф
Fcy = "\208\164", -- Ф
female = "\226\153\128", -- ♀
ffilig = "\239\172\131", -- ffi
fflig = "\239\172\128", -- ff
ffllig = "\239\172\132", -- ffl
ffr = "\240\157\148\163", -- 𝔣
Ffr = "\240\157\148\137", -- 𝔉
filig = "\239\172\129", -- fi
FilledSmallSquare = "\226\151\188", -- ◼
FilledVerySmallSquare = "\226\150\170", -- ▪
fjlig = "\102\106", -- fj
flat = "\226\153\173", -- ♭
fllig = "\239\172\130", -- fl
fltns = "\226\150\177", -- ▱
fnof = "\198\146", -- ƒ
fopf = "\240\157\149\151", -- 𝕗
Fopf = "\240\157\148\189", -- 𝔽
forall = "\226\136\128", -- ∀
ForAll = "\226\136\128", -- ∀
fork = "\226\139\148", -- ⋔
forkv = "\226\171\153", -- ⫙
Fouriertrf = "\226\132\177", -- ℱ
fpartint = "\226\168\141", -- ⨍
frac12 = "\194\189", -- ½
frac13 = "\226\133\147", -- ⅓
frac14 = "\194\188", -- ¼
frac15 = "\226\133\149", -- ⅕
frac16 = "\226\133\153", -- ⅙
frac18 = "\226\133\155", -- ⅛
frac23 = "\226\133\148", -- ⅔
frac25 = "\226\133\150", -- ⅖
frac34 = "\194\190", -- ¾
frac35 = "\226\133\151", -- ⅗
frac38 = "\226\133\156", -- ⅜
frac45 = "\226\133\152", -- ⅘
frac56 = "\226\133\154", -- ⅚
frac58 = "\226\133\157", -- ⅝
frac78 = "\226\133\158", -- ⅞
frasl = "\226\129\132", -- ⁄
frown = "\226\140\162", -- ⌢
fscr = "\240\157\146\187", -- 𝒻
Fscr = "\226\132\177", -- ℱ
gacute = "\199\181", -- ǵ
gamma = "\206\179", -- γ
Gamma = "\206\147", -- Γ
gammad = "\207\157", -- ϝ
Gammad = "\207\156", -- Ϝ
gap = "\226\170\134", -- ⪆
gbreve = "\196\159", -- ğ
Gbreve = "\196\158", -- Ğ
Gcedil = "\196\162", -- Ģ
gcirc = "\196\157", -- ĝ
Gcirc = "\196\156", -- Ĝ
gcy = "\208\179", -- г
Gcy = "\208\147", -- Г
gdot = "\196\161", -- ġ
Gdot = "\196\160", -- Ġ
ge = "\226\137\165", -- ≥
gE = "\226\137\167", -- ≧
gel = "\226\139\155", -- ⋛
gEl = "\226\170\140", -- ⪌
geq = "\226\137\165", -- ≥
geqq = "\226\137\167", -- ≧
geqslant = "\226\169\190", -- ⩾
ges = "\226\169\190", -- ⩾
gescc = "\226\170\169", -- ⪩
gesdot = "\226\170\128", -- ⪀
gesdoto = "\226\170\130", -- ⪂
gesdotol = "\226\170\132", -- ⪄
gesl = "\226\139\155\239\184\128", -- ⋛︀
gesles = "\226\170\148", -- ⪔
gfr = "\240\157\148\164", -- 𝔤
Gfr = "\240\157\148\138", -- 𝔊
gg = "\226\137\171", -- ≫
Gg = "\226\139\153", -- ⋙
ggg = "\226\139\153", -- ⋙
gimel = "\226\132\183", -- ℷ
gjcy = "\209\147", -- ѓ
GJcy = "\208\131", -- Ѓ
gl = "\226\137\183", -- ≷
gla = "\226\170\165", -- ⪥
glE = "\226\170\146", -- ⪒
glj = "\226\170\164", -- ⪤
gnap = "\226\170\138", -- ⪊
gnapprox = "\226\170\138", -- ⪊
gne = "\226\170\136", -- ⪈
gnE = "\226\137\169", -- ≩
gneq = "\226\170\136", -- ⪈
gneqq = "\226\137\169", -- ≩
gnsim = "\226\139\167", -- ⋧
gopf = "\240\157\149\152", -- 𝕘
Gopf = "\240\157\148\190", -- 𝔾
grave = "\96", -- `
GreaterEqual = "\226\137\165", -- ≥
GreaterEqualLess = "\226\139\155", -- ⋛
GreaterFullEqual = "\226\137\167", -- ≧
GreaterGreater = "\226\170\162", -- ⪢
GreaterLess = "\226\137\183", -- ≷
GreaterSlantEqual = "\226\169\190", -- ⩾
GreaterTilde = "\226\137\179", -- ≳
gscr = "\226\132\138", -- ℊ
Gscr = "\240\157\146\162", -- 𝒢
gsim = "\226\137\179", -- ≳
gsime = "\226\170\142", -- ⪎
gsiml = "\226\170\144", -- ⪐
gt = "\62", -- >
Gt = "\226\137\171", -- ≫
GT = "\62", -- >
gtcc = "\226\170\167", -- ⪧
gtcir = "\226\169\186", -- ⩺
gtdot = "\226\139\151", -- ⋗
gtlPar = "\226\166\149", -- ⦕
gtquest = "\226\169\188", -- ⩼
gtrapprox = "\226\170\134", -- ⪆
gtrarr = "\226\165\184", -- ⥸
gtrdot = "\226\139\151", -- ⋗
gtreqless = "\226\139\155", -- ⋛
gtreqqless = "\226\170\140", -- ⪌
gtrless = "\226\137\183", -- ≷
gtrsim = "\226\137\179", -- ≳
gvertneqq = "\226\137\169\239\184\128", -- ≩︀
gvnE = "\226\137\169\239\184\128", -- ≩︀
Hacek = "\203\135", -- ˇ
hairsp = "\226\128\138", -- [hair space]
half = "\194\189", -- ½
hamilt = "\226\132\139", -- ℋ
hardcy = "\209\138", -- ъ
HARDcy = "\208\170", -- Ъ
harr = "\226\134\148", -- ↔
hArr = "\226\135\148", -- ⇔
harrcir = "\226\165\136", -- ⥈
harrw = "\226\134\173", -- ↭
Hat = "\94", -- ^
hbar = "\226\132\143", -- ℏ
hcirc = "\196\165", -- ĥ
Hcirc = "\196\164", -- Ĥ
hearts = "\226\153\165", -- ♥
heartsuit = "\226\153\165", -- ♥
hellip = "\226\128\166", -- …
hercon = "\226\138\185", -- ⊹
hfr = "\240\157\148\165", -- 𝔥
Hfr = "\226\132\140", -- ℌ
HilbertSpace = "\226\132\139", -- ℋ
hksearow = "\226\164\165", -- ⤥
hkswarow = "\226\164\166", -- ⤦
hoarr = "\226\135\191", -- ⇿
homtht = "\226\136\187", -- ∻
hookleftarrow = "\226\134\169", -- ↩
hookrightarrow = "\226\134\170", -- ↪
hopf = "\240\157\149\153", -- 𝕙
Hopf = "\226\132\141", -- ℍ
horbar = "\226\128\149", -- ―
HorizontalLine = "\226\148\128", -- ─
hscr = "\240\157\146\189", -- 𝒽
Hscr = "\226\132\139", -- ℋ
hslash = "\226\132\143", -- ℏ
hstrok = "\196\167", -- ħ
Hstrok = "\196\166", -- Ħ
HumpDownHump = "\226\137\142", -- ≎
HumpEqual = "\226\137\143", -- ≏
hybull = "\226\129\131", -- ⁃
hyphen = "\226\128\144", -- ‐
iacute = "\195\173", -- í
Iacute = "\195\141", -- Í
ic = "\226\129\163", -- [invisible separator]
icirc = "\195\174", -- î
Icirc = "\195\142", -- Î
icy = "\208\184", -- и
Icy = "\208\152", -- И
Idot = "\196\176", -- İ
iecy = "\208\181", -- е
IEcy = "\208\149", -- Е
iexcl = "\194\161", -- ¡
iff = "\226\135\148", -- ⇔
ifr = "\240\157\148\166", -- 𝔦
Ifr = "\226\132\145", -- ℑ
igrave = "\195\172", -- ì
Igrave = "\195\140", -- Ì
ii = "\226\133\136", -- ⅈ
iiiint = "\226\168\140", -- ⨌
iiint = "\226\136\173", -- ∭
iinfin = "\226\167\156", -- ⧜
iiota = "\226\132\169", -- ℩
ijlig = "\196\179", -- ij
IJlig = "\196\178", -- IJ
Im = "\226\132\145", -- ℑ
imacr = "\196\171", -- ī
Imacr = "\196\170", -- Ī
image = "\226\132\145", -- ℑ
ImaginaryI = "\226\133\136", -- ⅈ
imagline = "\226\132\144", -- ℐ
imagpart = "\226\132\145", -- ℑ
imath = "\196\177", -- ı
imof = "\226\138\183", -- ⊷
imped = "\198\181", -- Ƶ
Implies = "\226\135\146", -- ⇒
["in"] = "\226\136\136", -- ∈
incare = "\226\132\133", -- ℅
infin = "\226\136\158", -- ∞
infintie = "\226\167\157", -- ⧝
inodot = "\196\177", -- ı
int = "\226\136\171", -- ∫
Int = "\226\136\172", -- ∬
intcal = "\226\138\186", -- ⊺
integers = "\226\132\164", -- ℤ
Integral = "\226\136\171", -- ∫
intercal = "\226\138\186", -- ⊺
Intersection = "\226\139\130", -- ⋂
intlarhk = "\226\168\151", -- ⨗
intprod = "\226\168\188", -- ⨼
InvisibleComma = "\226\129\163", -- [invisible separator]
InvisibleTimes = "\226\129\162", -- [invisible times]
iocy = "\209\145", -- ё
IOcy = "\208\129", -- Ё
iogon = "\196\175", -- į
Iogon = "\196\174", -- Į
iopf = "\240\157\149\154", -- 𝕚
Iopf = "\240\157\149\128", -- 𝕀
iota = "\206\185", -- ι
Iota = "\206\153", -- Ι
iprod = "\226\168\188", -- ⨼
iquest = "\194\191", -- ¿
iscr = "\240\157\146\190", -- 𝒾
Iscr = "\226\132\144", -- ℐ
isin = "\226\136\136", -- ∈
isindot = "\226\139\181", -- ⋵
isinE = "\226\139\185", -- ⋹
isins = "\226\139\180", -- ⋴
isinsv = "\226\139\179", -- ⋳
isinv = "\226\136\136", -- ∈
it = "\226\129\162", -- [invisible times]
itilde = "\196\169", -- ĩ
Itilde = "\196\168", -- Ĩ
iukcy = "\209\150", -- і
Iukcy = "\208\134", -- І
iuml = "\195\175", -- ï
Iuml = "\195\143", -- Ï
jcirc = "\196\181", -- ĵ
Jcirc = "\196\180", -- Ĵ
jcy = "\208\185", -- й
Jcy = "\208\153", -- Й
jfr = "\240\157\148\167", -- 𝔧
Jfr = "\240\157\148\141", -- 𝔍
jmath = "\200\183", -- ȷ
jopf = "\240\157\149\155", -- 𝕛
Jopf = "\240\157\149\129", -- 𝕁
jscr = "\240\157\146\191", -- 𝒿
Jscr = "\240\157\146\165", -- 𝒥
jsercy = "\209\152", -- ј
Jsercy = "\208\136", -- Ј
jukcy = "\209\148", -- є
Jukcy = "\208\132", -- Є
kappa = "\206\186", -- κ
Kappa = "\206\154", -- Κ
kappav = "\207\176", -- ϰ
kcedil = "\196\183", -- ķ
Kcedil = "\196\182", -- Ķ
kcy = "\208\186", -- к
Kcy = "\208\154", -- К
kfr = "\240\157\148\168", -- 𝔨
Kfr = "\240\157\148\142", -- 𝔎
kgreen = "\196\184", -- ĸ
khcy = "\209\133", -- х
KHcy = "\208\165", -- Х
kjcy = "\209\156", -- ќ
KJcy = "\208\140", -- Ќ
kopf = "\240\157\149\156", -- 𝕜
Kopf = "\240\157\149\130", -- 𝕂
kscr = "\240\157\147\128", -- 𝓀
Kscr = "\240\157\146\166", -- 𝒦
lAarr = "\226\135\154", -- ⇚
lacute = "\196\186", -- ĺ
Lacute = "\196\185", -- Ĺ
laemptyv = "\226\166\180", -- ⦴
lagran = "\226\132\146", -- ℒ
lambda = "\206\187", -- λ
Lambda = "\206\155", -- Λ
lang = "\226\159\168", -- ⟨
Lang = "\226\159\170", -- ⟪
langd = "\226\166\145", -- ⦑
langle = "\226\159\168", -- ⟨
lap = "\226\170\133", -- ⪅
Laplacetrf = "\226\132\146", -- ℒ
laquo = "\194\171", -- «
larr = "\226\134\144", -- ←
lArr = "\226\135\144", -- ⇐
Larr = "\226\134\158", -- ↞
larrb = "\226\135\164", -- ⇤
larrbfs = "\226\164\159", -- ⤟
larrfs = "\226\164\157", -- ⤝
larrhk = "\226\134\169", -- ↩
larrlp = "\226\134\171", -- ↫
larrpl = "\226\164\185", -- ⤹
larrsim = "\226\165\179", -- ⥳
larrtl = "\226\134\162", -- ↢
lat = "\226\170\171", -- ⪫
latail = "\226\164\153", -- ⤙
lAtail = "\226\164\155", -- ⤛
late = "\226\170\173", -- ⪭
lates = "\226\170\173\239\184\128", -- ⪭︀
lbarr = "\226\164\140", -- ⤌
lBarr = "\226\164\142", -- ⤎
lbbrk = "\226\157\178", -- ❲
lbrace = "\123", -- {
lbrack = "\91", -- [
lbrke = "\226\166\139", -- ⦋
lbrksld = "\226\166\143", -- ⦏
lbrkslu = "\226\166\141", -- ⦍
lcaron = "\196\190", -- ľ
Lcaron = "\196\189", -- Ľ
lcedil = "\196\188", -- ļ
Lcedil = "\196\187", -- Ļ
lceil = "\226\140\136", -- ⌈
lcub = "\123", -- {
lcy = "\208\187", -- л
Lcy = "\208\155", -- Л
ldca = "\226\164\182", -- ⤶
ldquo = "\226\128\156", -- “
ldquor = "\226\128\158", -- „
ldrdhar = "\226\165\167", -- ⥧
ldrushar = "\226\165\139", -- ⥋
ldsh = "\226\134\178", -- ↲
le = "\226\137\164", -- ≤
lE = "\226\137\166", -- ≦
LeftAngleBracket = "\226\159\168", -- ⟨
leftarrow = "\226\134\144", -- ←
Leftarrow = "\226\135\144", -- ⇐
LeftArrow = "\226\134\144", -- ←
LeftArrowBar = "\226\135\164", -- ⇤
LeftArrowRightArrow = "\226\135\134", -- ⇆
leftarrowtail = "\226\134\162", -- ↢
LeftCeiling = "\226\140\136", -- ⌈
LeftDoubleBracket = "\226\159\166", -- ⟦
LeftDownTeeVector = "\226\165\161", -- ⥡
LeftDownVector = "\226\135\131", -- ⇃
LeftDownVectorBar = "\226\165\153", -- ⥙
LeftFloor = "\226\140\138", -- ⌊
leftharpoondown = "\226\134\189", -- ↽
leftharpoonup = "\226\134\188", -- ↼
leftleftarrows = "\226\135\135", -- ⇇
leftrightarrow = "\226\134\148", -- ↔
Leftrightarrow = "\226\135\148", -- ⇔
LeftRightArrow = "\226\134\148", -- ↔
leftrightarrows = "\226\135\134", -- ⇆
leftrightharpoons = "\226\135\139", -- ⇋
leftrightsquigarrow = "\226\134\173", -- ↭
LeftRightVector = "\226\165\142", -- ⥎
LeftTee = "\226\138\163", -- ⊣
LeftTeeArrow = "\226\134\164", -- ↤
LeftTeeVector = "\226\165\154", -- ⥚
leftthreetimes = "\226\139\139", -- ⋋
LeftTriangle = "\226\138\178", -- ⊲
LeftTriangleBar = "\226\167\143", -- ⧏
LeftTriangleEqual = "\226\138\180", -- ⊴
LeftUpDownVector = "\226\165\145", -- ⥑
LeftUpTeeVector = "\226\165\160", -- ⥠
LeftUpVector = "\226\134\191", -- ↿
LeftUpVectorBar = "\226\165\152", -- ⥘
LeftVector = "\226\134\188", -- ↼
LeftVectorBar = "\226\165\146", -- ⥒
leg = "\226\139\154", -- ⋚
lEg = "\226\170\139", -- ⪋
leq = "\226\137\164", -- ≤
leqq = "\226\137\166", -- ≦
leqslant = "\226\169\189", -- ⩽
les = "\226\169\189", -- ⩽
lescc = "\226\170\168", -- ⪨
lesdot = "\226\169\191", -- ⩿
lesdoto = "\226\170\129", -- ⪁
lesdotor = "\226\170\131", -- ⪃
lesg = "\226\139\154\239\184\128", -- ⋚︀
lesges = "\226\170\147", -- ⪓
lessapprox = "\226\170\133", -- ⪅
lessdot = "\226\139\150", -- ⋖
lesseqgtr = "\226\139\154", -- ⋚
lesseqqgtr = "\226\170\139", -- ⪋
LessEqualGreater = "\226\139\154", -- ⋚
LessFullEqual = "\226\137\166", -- ≦
LessGreater = "\226\137\182", -- ≶
lessgtr = "\226\137\182", -- ≶
LessLess = "\226\170\161", -- ⪡
lesssim = "\226\137\178", -- ≲
LessSlantEqual = "\226\169\189", -- ⩽
LessTilde = "\226\137\178", -- ≲
lfisht = "\226\165\188", -- ⥼
lfloor = "\226\140\138", -- ⌊
lfr = "\240\157\148\169", -- 𝔩
Lfr = "\240\157\148\143", -- 𝔏
lg = "\226\137\182", -- ≶
lgE = "\226\170\145", -- ⪑
lHar = "\226\165\162", -- ⥢
lhard = "\226\134\189", -- ↽
lharu = "\226\134\188", -- ↼
lharul = "\226\165\170", -- ⥪
lhblk = "\226\150\132", -- ▄
ljcy = "\209\153", -- љ
LJcy = "\208\137", -- Љ
ll = "\226\137\170", -- ≪
Ll = "\226\139\152", -- ⋘
llarr = "\226\135\135", -- ⇇
llcorner = "\226\140\158", -- ⌞
Lleftarrow = "\226\135\154", -- ⇚
llhard = "\226\165\171", -- ⥫
lltri = "\226\151\186", -- ◺
lmidot = "\197\128", -- ŀ
Lmidot = "\196\191", -- Ŀ
lmoust = "\226\142\176", -- ⎰
lmoustache = "\226\142\176", -- ⎰
lnap = "\226\170\137", -- ⪉
lnapprox = "\226\170\137", -- ⪉
lne = "\226\170\135", -- ⪇
lnE = "\226\137\168", -- ≨
lneq = "\226\170\135", -- ⪇
lneqq = "\226\137\168", -- ≨
lnsim = "\226\139\166", -- ⋦
loang = "\226\159\172", -- ⟬
loarr = "\226\135\189", -- ⇽
lobrk = "\226\159\166", -- ⟦
longleftarrow = "\226\159\181", -- ⟵
Longleftarrow = "\226\159\184", -- ⟸
LongLeftArrow = "\226\159\181", -- ⟵
longleftrightarrow = "\226\159\183", -- ⟷
Longleftrightarrow = "\226\159\186", -- ⟺
LongLeftRightArrow = "\226\159\183", -- ⟷
longmapsto = "\226\159\188", -- ⟼
longrightarrow = "\226\159\182", -- ⟶
Longrightarrow = "\226\159\185", -- ⟹
LongRightArrow = "\226\159\182", -- ⟶
looparrowleft = "\226\134\171", -- ↫
looparrowright = "\226\134\172", -- ↬
lopar = "\226\166\133", -- ⦅
lopf = "\240\157\149\157", -- 𝕝
Lopf = "\240\157\149\131", -- 𝕃
loplus = "\226\168\173", -- ⨭
lotimes = "\226\168\180", -- ⨴
lowast = "\226\136\151", -- ∗
lowbar = "\95", -- _
LowerLeftArrow = "\226\134\153", -- ↙
LowerRightArrow = "\226\134\152", -- ↘
loz = "\226\151\138", -- ◊
lozenge = "\226\151\138", -- ◊
lozf = "\226\167\171", -- ⧫
lpar = "\40", -- (
lparlt = "\226\166\147", -- ⦓
lrarr = "\226\135\134", -- ⇆
lrcorner = "\226\140\159", -- ⌟
lrhar = "\226\135\139", -- ⇋
lrhard = "\226\165\173", -- ⥭
lrm = "\226\128\142", -- [left-to-right mark]
lrtri = "\226\138\191", -- ⊿
lsaquo = "\226\128\185", -- ‹
lscr = "\240\157\147\129", -- 𝓁
Lscr = "\226\132\146", -- ℒ
lsh = "\226\134\176", -- ↰
Lsh = "\226\134\176", -- ↰
lsim = "\226\137\178", -- ≲
lsime = "\226\170\141", -- ⪍
lsimg = "\226\170\143", -- ⪏
lsqb = "\91", -- [
lsquo = "\226\128\152", -- ‘
lsquor = "\226\128\154", -- ‚
lstrok = "\197\130", -- ł
Lstrok = "\197\129", -- Ł
lt = "\60", -- <
Lt = "\226\137\170", -- ≪
LT = "\60", -- <
ltcc = "\226\170\166", -- ⪦
ltcir = "\226\169\185", -- ⩹
ltdot = "\226\139\150", -- ⋖
lthree = "\226\139\139", -- ⋋
ltimes = "\226\139\137", -- ⋉
ltlarr = "\226\165\182", -- ⥶
ltquest = "\226\169\187", -- ⩻
ltri = "\226\151\131", -- ◃
ltrie = "\226\138\180", -- ⊴
ltrif = "\226\151\130", -- ◂
ltrPar = "\226\166\150", -- ⦖
lurdshar = "\226\165\138", -- ⥊
luruhar = "\226\165\166", -- ⥦
lvertneqq = "\226\137\168\239\184\128", -- ≨︀
lvnE = "\226\137\168\239\184\128", -- ≨︀
macr = "\194\175", -- ¯
male = "\226\153\130", -- ♂
malt = "\226\156\160", -- ✠
maltese = "\226\156\160", -- ✠
map = "\226\134\166", -- ↦
Map = "\226\164\133", -- ⤅
mapsto = "\226\134\166", -- ↦
mapstodown = "\226\134\167", -- ↧
mapstoleft = "\226\134\164", -- ↤
mapstoup = "\226\134\165", -- ↥
marker = "\226\150\174", -- ▮
mcomma = "\226\168\169", -- ⨩
mcy = "\208\188", -- м
Mcy = "\208\156", -- М
mdash = "\226\128\148", -- —
mDDot = "\226\136\186", -- ∺
measuredangle = "\226\136\161", -- ∡
MediumSpace = "\226\129\159", -- [medium mathematical space]
Mellintrf = "\226\132\179", -- ℳ
mfr = "\240\157\148\170", -- 𝔪
Mfr = "\240\157\148\144", -- 𝔐
mho = "\226\132\167", -- ℧
micro = "\194\181", -- µ
mid = "\226\136\163", -- ∣
midast = "\42", -- *
midcir = "\226\171\176", -- ⫰
middot = "\194\183", -- ·
minus = "\226\136\146", -- −
minusb = "\226\138\159", -- ⊟
minusd = "\226\136\184", -- ∸
minusdu = "\226\168\170", -- ⨪
MinusPlus = "\226\136\147", -- ∓
mlcp = "\226\171\155", -- ⫛
mldr = "\226\128\166", -- …
mnplus = "\226\136\147", -- ∓
models = "\226\138\167", -- ⊧
mopf = "\240\157\149\158", -- 𝕞
Mopf = "\240\157\149\132", -- 𝕄
mp = "\226\136\147", -- ∓
mscr = "\240\157\147\130", -- 𝓂
Mscr = "\226\132\179", -- ℳ
mstpos = "\226\136\190", -- ∾
mu = "\206\188", -- μ
Mu = "\206\156", -- Μ
multimap = "\226\138\184", -- ⊸
mumap = "\226\138\184", -- ⊸
nabla = "\226\136\135", -- ∇
nacute = "\197\132", -- ń
Nacute = "\197\131", -- Ń
nang = "\226\136\160\226\131\146", -- ∠⃒
nap = "\226\137\137", -- ≉
napE = "\226\169\176\204\184", -- ⩰̸
napid = "\226\137\139\204\184", -- ≋̸
napos = "\197\137", -- ʼn
napprox = "\226\137\137", -- ≉
natur = "\226\153\174", -- ♮
natural = "\226\153\174", -- ♮
naturals = "\226\132\149", -- ℕ
nbsp = "\194\160", -- [no-break space]
nbump = "\226\137\142\204\184", -- ≎̸
nbumpe = "\226\137\143\204\184", -- ≏̸
ncap = "\226\169\131", -- ⩃
ncaron = "\197\136", -- ň
Ncaron = "\197\135", -- Ň
ncedil = "\197\134", -- ņ
Ncedil = "\197\133", -- Ņ
ncong = "\226\137\135", -- ≇
ncongdot = "\226\169\173\204\184", -- ⩭̸
ncup = "\226\169\130", -- ⩂
ncy = "\208\189", -- н
Ncy = "\208\157", -- Н
ndash = "\226\128\147", -- –
ne = "\226\137\160", -- ≠
nearhk = "\226\164\164", -- ⤤
nearr = "\226\134\151", -- ↗
neArr = "\226\135\151", -- ⇗
nearrow = "\226\134\151", -- ↗
nedot = "\226\137\144\204\184", -- ≐̸
NegativeMediumSpace = "\226\128\139", -- [zero width space]
NegativeThickSpace = "\226\128\139", -- [zero width space]
NegativeThinSpace = "\226\128\139", -- [zero width space]
NegativeVeryThinSpace = "\226\128\139", -- [zero width space]
nequiv = "\226\137\162", -- ≢
nesear = "\226\164\168", -- ⤨
nesim = "\226\137\130\204\184", -- ≂̸
NestedGreaterGreater = "\226\137\171", -- ≫
NestedLessLess = "\226\137\170", -- ≪
NewLine = "\n", -- [new line]
nexist = "\226\136\132", -- ∄
nexists = "\226\136\132", -- ∄
nfr = "\240\157\148\171", -- 𝔫
Nfr = "\240\157\148\145", -- 𝔑
nge = "\226\137\177", -- ≱
ngE = "\226\137\167\204\184", -- ≧̸
ngeq = "\226\137\177", -- ≱
ngeqq = "\226\137\167\204\184", -- ≧̸
ngeqslant = "\226\169\190\204\184", -- ⩾̸
nges = "\226\169\190\204\184", -- ⩾̸
nGg = "\226\139\153\204\184", -- ⋙̸
ngsim = "\226\137\181", -- ≵
ngt = "\226\137\175", -- ≯
nGt = "\226\137\171\226\131\146", -- ≫⃒
ngtr = "\226\137\175", -- ≯
nGtv = "\226\137\171\204\184", -- ≫̸
nharr = "\226\134\174", -- ↮
nhArr = "\226\135\142", -- ⇎
nhpar = "\226\171\178", -- ⫲
ni = "\226\136\139", -- ∋
nis = "\226\139\188", -- ⋼
nisd = "\226\139\186", -- ⋺
niv = "\226\136\139", -- ∋
njcy = "\209\154", -- њ
NJcy = "\208\138", -- Њ
nlarr = "\226\134\154", -- ↚
nlArr = "\226\135\141", -- ⇍
nldr = "\226\128\165", -- ‥
nle = "\226\137\176", -- ≰
nlE = "\226\137\166\204\184", -- ≦̸
nleftarrow = "\226\134\154", -- ↚
nLeftarrow = "\226\135\141", -- ⇍
nleftrightarrow = "\226\134\174", -- ↮
nLeftrightarrow = "\226\135\142", -- ⇎
nleq = "\226\137\176", -- ≰
nleqq = "\226\137\166\204\184", -- ≦̸
nleqslant = "\226\169\189\204\184", -- ⩽̸
nles = "\226\169\189\204\184", -- ⩽̸
nless = "\226\137\174", -- ≮
nLl = "\226\139\152\204\184", -- ⋘̸
nlsim = "\226\137\180", -- ≴
nlt = "\226\137\174", -- ≮
nLt = "\226\137\170\226\131\146", -- ≪⃒
nltri = "\226\139\170", -- ⋪
nltrie = "\226\139\172", -- ⋬
nLtv = "\226\137\170\204\184", -- ≪̸
nmid = "\226\136\164", -- ∤
NoBreak = "\226\129\160", -- [word joiner]
NonBreakingSpace = "\194\160", -- [no-break space]
nopf = "\240\157\149\159", -- 𝕟
Nopf = "\226\132\149", -- ℕ
["not"] = "\194\172", -- ¬
Not = "\226\171\172", -- ⫬
NotCongruent = "\226\137\162", -- ≢
NotCupCap = "\226\137\173", -- ≭
NotDoubleVerticalBar = "\226\136\166", -- ∦
NotElement = "\226\136\137", -- ∉
NotEqual = "\226\137\160", -- ≠
NotEqualTilde = "\226\137\130\204\184", -- ≂̸
NotExists = "\226\136\132", -- ∄
NotGreater = "\226\137\175", -- ≯
NotGreaterEqual = "\226\137\177", -- ≱
NotGreaterFullEqual = "\226\137\167\204\184", -- ≧̸
NotGreaterGreater = "\226\137\171\204\184", -- ≫̸
NotGreaterLess = "\226\137\185", -- ≹
NotGreaterSlantEqual = "\226\169\190\204\184", -- ⩾̸
NotGreaterTilde = "\226\137\181", -- ≵
NotHumpDownHump = "\226\137\142\204\184", -- ≎̸
NotHumpEqual = "\226\137\143\204\184", -- ≏̸
notin = "\226\136\137", -- ∉
notindot = "\226\139\181\204\184", -- ⋵̸
notinE = "\226\139\185\204\184", -- ⋹̸
notinva = "\226\136\137", -- ∉
notinvb = "\226\139\183", -- ⋷
notinvc = "\226\139\182", -- ⋶
NotLeftTriangle = "\226\139\170", -- ⋪
NotLeftTriangleBar = "\226\167\143\204\184", -- ⧏̸
NotLeftTriangleEqual = "\226\139\172", -- ⋬
NotLess = "\226\137\174", -- ≮
NotLessEqual = "\226\137\176", -- ≰
NotLessGreater = "\226\137\184", -- ≸
NotLessLess = "\226\137\170\204\184", -- ≪̸
NotLessSlantEqual = "\226\169\189\204\184", -- ⩽̸
NotLessTilde = "\226\137\180", -- ≴
NotNestedGreaterGreater = "\226\170\162\204\184", -- ⪢̸
NotNestedLessLess = "\226\170\161\204\184", -- ⪡̸
notni = "\226\136\140", -- ∌
notniva = "\226\136\140", -- ∌
notnivb = "\226\139\190", -- ⋾
notnivc = "\226\139\189", -- ⋽
NotPrecedes = "\226\138\128", -- ⊀
NotPrecedesEqual = "\226\170\175\204\184", -- ⪯̸
NotPrecedesSlantEqual = "\226\139\160", -- ⋠
NotReverseElement = "\226\136\140", -- ∌
NotRightTriangle = "\226\139\171", -- ⋫
NotRightTriangleBar = "\226\167\144\204\184", -- ⧐̸
NotRightTriangleEqual = "\226\139\173", -- ⋭
NotSquareSubset = "\226\138\143\204\184", -- ⊏̸
NotSquareSubsetEqual = "\226\139\162", -- ⋢
NotSquareSuperset = "\226\138\144\204\184", -- ⊐̸
NotSquareSupersetEqual = "\226\139\163", -- ⋣
NotSubset = "\226\138\130\226\131\146", -- ⊂⃒
NotSubsetEqual = "\226\138\136", -- ⊈
NotSucceeds = "\226\138\129", -- ⊁
NotSucceedsEqual = "\226\170\176\204\184", -- ⪰̸
NotSucceedsSlantEqual = "\226\139\161", -- ⋡
NotSucceedsTilde = "\226\137\191\204\184", -- ≿̸
NotSuperset = "\226\138\131\226\131\146", -- ⊃⃒
NotSupersetEqual = "\226\138\137", -- ⊉
NotTilde = "\226\137\129", -- ≁
NotTildeEqual = "\226\137\132", -- ≄
NotTildeFullEqual = "\226\137\135", -- ≇
NotTildeTilde = "\226\137\137", -- ≉
NotVerticalBar = "\226\136\164", -- ∤
npar = "\226\136\166", -- ∦
nparallel = "\226\136\166", -- ∦
nparsl = "\226\171\189\226\131\165", -- ⫽⃥
npart = "\226\136\130\204\184", -- ∂̸
npolint = "\226\168\148", -- ⨔
npr = "\226\138\128", -- ⊀
nprcue = "\226\139\160", -- ⋠
npre = "\226\170\175\204\184", -- ⪯̸
nprec = "\226\138\128", -- ⊀
npreceq = "\226\170\175\204\184", -- ⪯̸
nrarr = "\226\134\155", -- ↛
nrArr = "\226\135\143", -- ⇏
nrarrc = "\226\164\179\204\184", -- ⤳̸
nrarrw = "\226\134\157\204\184", -- ↝̸
nrightarrow = "\226\134\155", -- ↛
nRightarrow = "\226\135\143", -- ⇏
nrtri = "\226\139\171", -- ⋫
nrtrie = "\226\139\173", -- ⋭
nsc = "\226\138\129", -- ⊁
nsccue = "\226\139\161", -- ⋡
nsce = "\226\170\176\204\184", -- ⪰̸
nscr = "\240\157\147\131", -- 𝓃
Nscr = "\240\157\146\169", -- 𝒩
nshortmid = "\226\136\164", -- ∤
nshortparallel = "\226\136\166", -- ∦
nsim = "\226\137\129", -- ≁
nsime = "\226\137\132", -- ≄
nsimeq = "\226\137\132", -- ≄
nsmid = "\226\136\164", -- ∤
nspar = "\226\136\166", -- ∦
nsqsube = "\226\139\162", -- ⋢
nsqsupe = "\226\139\163", -- ⋣
nsub = "\226\138\132", -- ⊄
nsube = "\226\138\136", -- ⊈
nsubE = "\226\171\133\204\184", -- ⫅̸
nsubset = "\226\138\130\226\131\146", -- ⊂⃒
nsubseteq = "\226\138\136", -- ⊈
nsubseteqq = "\226\171\133\204\184", -- ⫅̸
nsucc = "\226\138\129", -- ⊁
nsucceq = "\226\170\176\204\184", -- ⪰̸
nsup = "\226\138\133", -- ⊅
nsupe = "\226\138\137", -- ⊉
nsupE = "\226\171\134\204\184", -- ⫆̸
nsupset = "\226\138\131\226\131\146", -- ⊃⃒
nsupseteq = "\226\138\137", -- ⊉
nsupseteqq = "\226\171\134\204\184", -- ⫆̸
ntgl = "\226\137\185", -- ≹
ntilde = "\195\177", -- ñ
Ntilde = "\195\145", -- Ñ
ntlg = "\226\137\184", -- ≸
ntriangleleft = "\226\139\170", -- ⋪
ntrianglelefteq = "\226\139\172", -- ⋬
ntriangleright = "\226\139\171", -- ⋫
ntrianglerighteq = "\226\139\173", -- ⋭
nu = "\206\189", -- ν
Nu = "\206\157", -- Ν
num = "\35", -- #
numero = "\226\132\150", -- №
numsp = "\226\128\135", -- [figure space]
nvap = "\226\137\141\226\131\146", -- ≍⃒
nvdash = "\226\138\172", -- ⊬
nvDash = "\226\138\173", -- ⊭
nVdash = "\226\138\174", -- ⊮
nVDash = "\226\138\175", -- ⊯
nvge = "\226\137\165\226\131\146", -- ≥⃒
nvgt = "\62\226\131\146", -- >⃒
nvHarr = "\226\164\132", -- ⤄
nvinfin = "\226\167\158", -- ⧞
nvlArr = "\226\164\130", -- ⤂
nvle = "\226\137\164\226\131\146", -- ≤⃒
nvlt = "\60\226\131\146", -- <⃒
nvltrie = "\226\138\180\226\131\146", -- ⊴⃒
nvrArr = "\226\164\131", -- ⤃
nvrtrie = "\226\138\181\226\131\146", -- ⊵⃒
nvsim = "\226\136\188\226\131\146", -- ∼⃒
nwarhk = "\226\164\163", -- ⤣
nwarr = "\226\134\150", -- ↖
nwArr = "\226\135\150", -- ⇖
nwarrow = "\226\134\150", -- ↖
nwnear = "\226\164\167", -- ⤧
oacute = "\195\179", -- ó
Oacute = "\195\147", -- Ó
oast = "\226\138\155", -- ⊛
ocir = "\226\138\154", -- ⊚
ocirc = "\195\180", -- ô
Ocirc = "\195\148", -- Ô
ocy = "\208\190", -- о
Ocy = "\208\158", -- О
odash = "\226\138\157", -- ⊝
odblac = "\197\145", -- ő
Odblac = "\197\144", -- Ő
odiv = "\226\168\184", -- ⨸
odot = "\226\138\153", -- ⊙
odsold = "\226\166\188", -- ⦼
oelig = "\197\147", -- œ
OElig = "\197\146", -- Œ
ofcir = "\226\166\191", -- ⦿
ofr = "\240\157\148\172", -- 𝔬
Ofr = "\240\157\148\146", -- 𝔒
ogon = "\203\155", -- ˛
ograve = "\195\178", -- ò
Ograve = "\195\146", -- Ò
ogt = "\226\167\129", -- ⧁
ohbar = "\226\166\181", -- ⦵
ohm = "\206\169", -- Ω
oint = "\226\136\174", -- ∮
olarr = "\226\134\186", -- ↺
olcir = "\226\166\190", -- ⦾
olcross = "\226\166\187", -- ⦻
oline = "\226\128\190", -- ‾
olt = "\226\167\128", -- ⧀
omacr = "\197\141", -- ō
Omacr = "\197\140", -- Ō
omega = "\207\137", -- ω
Omega = "\206\169", -- Ω
omicron = "\206\191", -- ο
Omicron = "\206\159", -- Ο
omid = "\226\166\182", -- ⦶
ominus = "\226\138\150", -- ⊖
oopf = "\240\157\149\160", -- 𝕠
Oopf = "\240\157\149\134", -- 𝕆
opar = "\226\166\183", -- ⦷
OpenCurlyDoubleQuote = "\226\128\156", -- “
OpenCurlyQuote = "\226\128\152", -- ‘
operp = "\226\166\185", -- ⦹
oplus = "\226\138\149", -- ⊕
["or"] = "\226\136\168", -- ∨
Or = "\226\169\148", -- ⩔
orarr = "\226\134\187", -- ↻
ord = "\226\169\157", -- ⩝
order = "\226\132\180", -- ℴ
orderof = "\226\132\180", -- ℴ
ordf = "\194\170", -- ª
ordm = "\194\186", -- º
origof = "\226\138\182", -- ⊶
oror = "\226\169\150", -- ⩖
orslope = "\226\169\151", -- ⩗
orv = "\226\169\155", -- ⩛
oS = "\226\147\136", -- Ⓢ
oscr = "\226\132\180", -- ℴ
Oscr = "\240\157\146\170", -- 𝒪
oslash = "\195\184", -- ø
Oslash = "\195\152", -- Ø
osol = "\226\138\152", -- ⊘
otilde = "\195\181", -- õ
Otilde = "\195\149", -- Õ
otimes = "\226\138\151", -- ⊗
Otimes = "\226\168\183", -- ⨷
otimesas = "\226\168\182", -- ⨶
ouml = "\195\182", -- ö
Ouml = "\195\150", -- Ö
ovbar = "\226\140\189", -- ⌽
OverBar = "\226\128\190", -- ‾
OverBrace = "\226\143\158", -- ⏞
OverBracket = "\226\142\180", -- ⎴
OverParenthesis = "\226\143\156", -- ⏜
par = "\226\136\165", -- ∥
para = "\194\182", -- ¶
parallel = "\226\136\165", -- ∥
parsim = "\226\171\179", -- ⫳
parsl = "\226\171\189", -- ⫽
part = "\226\136\130", -- ∂
PartialD = "\226\136\130", -- ∂
pcy = "\208\191", -- п
Pcy = "\208\159", -- П
percnt = "\37", -- %
period = "\46", -- .
permil = "\226\128\176", -- ‰
perp = "\226\138\165", -- ⊥
pertenk = "\226\128\177", -- ‱
pfr = "\240\157\148\173", -- 𝔭
Pfr = "\240\157\148\147", -- 𝔓
phi = "\207\134", -- φ
Phi = "\206\166", -- Φ
phiv = "\207\149", -- ϕ
phmmat = "\226\132\179", -- ℳ
phone = "\226\152\142", -- ☎
pi = "\207\128", -- π
Pi = "\206\160", -- Π
pitchfork = "\226\139\148", -- ⋔
piv = "\207\150", -- ϖ
planck = "\226\132\143", -- ℏ
planckh = "\226\132\142", -- ℎ
plankv = "\226\132\143", -- ℏ
plus = "\43", -- +
plusacir = "\226\168\163", -- ⨣
plusb = "\226\138\158", -- ⊞
pluscir = "\226\168\162", -- ⨢
plusdo = "\226\136\148", -- ∔
plusdu = "\226\168\165", -- ⨥
pluse = "\226\169\178", -- ⩲
PlusMinus = "\194\177", -- ±
plusmn = "\194\177", -- ±
plussim = "\226\168\166", -- ⨦
plustwo = "\226\168\167", -- ⨧
pm = "\194\177", -- ±
Poincareplane = "\226\132\140", -- ℌ
pointint = "\226\168\149", -- ⨕
popf = "\240\157\149\161", -- 𝕡
Popf = "\226\132\153", -- ℙ
pound = "\194\163", -- £
pr = "\226\137\186", -- ≺
Pr = "\226\170\187", -- ⪻
prap = "\226\170\183", -- ⪷
prcue = "\226\137\188", -- ≼
pre = "\226\170\175", -- ⪯
prE = "\226\170\179", -- ⪳
prec = "\226\137\186", -- ≺
precapprox = "\226\170\183", -- ⪷
preccurlyeq = "\226\137\188", -- ≼
Precedes = "\226\137\186", -- ≺
PrecedesEqual = "\226\170\175", -- ⪯
PrecedesSlantEqual = "\226\137\188", -- ≼
PrecedesTilde = "\226\137\190", -- ≾
preceq = "\226\170\175", -- ⪯
precnapprox = "\226\170\185", -- ⪹
precneqq = "\226\170\181", -- ⪵
precnsim = "\226\139\168", -- ⋨
precsim = "\226\137\190", -- ≾
prime = "\226\128\178", -- ′
Prime = "\226\128\179", -- ″
primes = "\226\132\153", -- ℙ
prnap = "\226\170\185", -- ⪹
prnE = "\226\170\181", -- ⪵
prnsim = "\226\139\168", -- ⋨
prod = "\226\136\143", -- ∏
Product = "\226\136\143", -- ∏
profalar = "\226\140\174", -- ⌮
profline = "\226\140\146", -- ⌒
profsurf = "\226\140\147", -- ⌓
prop = "\226\136\157", -- ∝
Proportion = "\226\136\183", -- ∷
Proportional = "\226\136\157", -- ∝
propto = "\226\136\157", -- ∝
prsim = "\226\137\190", -- ≾
prurel = "\226\138\176", -- ⊰
pscr = "\240\157\147\133", -- 𝓅
Pscr = "\240\157\146\171", -- 𝒫
psi = "\207\136", -- ψ
Psi = "\206\168", -- Ψ
puncsp = "\226\128\136", -- [punctuation space]
qfr = "\240\157\148\174", -- 𝔮
Qfr = "\240\157\148\148", -- 𝔔
qint = "\226\168\140", -- ⨌
qopf = "\240\157\149\162", -- 𝕢
Qopf = "\226\132\154", -- ℚ
qprime = "\226\129\151", -- ⁗
qscr = "\240\157\147\134", -- 𝓆
Qscr = "\240\157\146\172", -- 𝒬
quaternions = "\226\132\141", -- ℍ
quatint = "\226\168\150", -- ⨖
quest = "\63", -- ?
questeq = "\226\137\159", -- ≟
quot = "\34", -- "
QUOT = "\34", -- "
rAarr = "\226\135\155", -- ⇛
race = "\226\136\189\204\177", -- ∽̱
racute = "\197\149", -- ŕ
Racute = "\197\148", -- Ŕ
radic = "\226\136\154", -- √
raemptyv = "\226\166\179", -- ⦳
rang = "\226\159\169", -- ⟩
Rang = "\226\159\171", -- ⟫
rangd = "\226\166\146", -- ⦒
range = "\226\166\165", -- ⦥
rangle = "\226\159\169", -- ⟩
raquo = "\194\187", -- »
rarr = "\226\134\146", -- →
rArr = "\226\135\146", -- ⇒
Rarr = "\226\134\160", -- ↠
rarrap = "\226\165\181", -- ⥵
rarrb = "\226\135\165", -- ⇥
rarrbfs = "\226\164\160", -- ⤠
rarrc = "\226\164\179", -- ⤳
rarrfs = "\226\164\158", -- ⤞
rarrhk = "\226\134\170", -- ↪
rarrlp = "\226\134\172", -- ↬
rarrpl = "\226\165\133", -- ⥅
rarrsim = "\226\165\180", -- ⥴
rarrtl = "\226\134\163", -- ↣
Rarrtl = "\226\164\150", -- ⤖
rarrw = "\226\134\157", -- ↝
ratail = "\226\164\154", -- ⤚
rAtail = "\226\164\156", -- ⤜
ratio = "\226\136\182", -- ∶
rationals = "\226\132\154", -- ℚ
rbarr = "\226\164\141", -- ⤍
rBarr = "\226\164\143", -- ⤏
RBarr = "\226\164\144", -- ⤐
rbbrk = "\226\157\179", -- ❳
rbrace = "\125", -- }
rbrack = "\93", -- ]
rbrke = "\226\166\140", -- ⦌
rbrksld = "\226\166\142", -- ⦎
rbrkslu = "\226\166\144", -- ⦐
rcaron = "\197\153", -- ř
Rcaron = "\197\152", -- Ř
rcedil = "\197\151", -- ŗ
Rcedil = "\197\150", -- Ŗ
rceil = "\226\140\137", -- ⌉
rcub = "\125", -- }
rcy = "\209\128", -- р
Rcy = "\208\160", -- Р
rdca = "\226\164\183", -- ⤷
rdldhar = "\226\165\169", -- ⥩
rdquo = "\226\128\157", -- ”
rdquor = "\226\128\157", -- ”
rdsh = "\226\134\179", -- ↳
Re = "\226\132\156", -- ℜ
real = "\226\132\156", -- ℜ
realine = "\226\132\155", -- ℛ
realpart = "\226\132\156", -- ℜ
reals = "\226\132\157", -- ℝ
rect = "\226\150\173", -- ▭
reg = "\194\174", -- ®
REG = "\194\174", -- ®
ReverseElement = "\226\136\139", -- ∋
ReverseEquilibrium = "\226\135\139", -- ⇋
ReverseUpEquilibrium = "\226\165\175", -- ⥯
rfisht = "\226\165\189", -- ⥽
rfloor = "\226\140\139", -- ⌋
rfr = "\240\157\148\175", -- 𝔯
Rfr = "\226\132\156", -- ℜ
rHar = "\226\165\164", -- ⥤
rhard = "\226\135\129", -- ⇁
rharu = "\226\135\128", -- ⇀
rharul = "\226\165\172", -- ⥬
rho = "\207\129", -- ρ
Rho = "\206\161", -- Ρ
rhov = "\207\177", -- ϱ
RightAngleBracket = "\226\159\169", -- ⟩
rightarrow = "\226\134\146", -- →
Rightarrow = "\226\135\146", -- ⇒
RightArrow = "\226\134\146", -- →
RightArrowBar = "\226\135\165", -- ⇥
RightArrowLeftArrow = "\226\135\132", -- ⇄
rightarrowtail = "\226\134\163", -- ↣
RightCeiling = "\226\140\137", -- ⌉
RightDoubleBracket = "\226\159\167", -- ⟧
RightDownTeeVector = "\226\165\157", -- ⥝
RightDownVector = "\226\135\130", -- ⇂
RightDownVectorBar = "\226\165\149", -- ⥕
RightFloor = "\226\140\139", -- ⌋
rightharpoondown = "\226\135\129", -- ⇁
rightharpoonup = "\226\135\128", -- ⇀
rightleftarrows = "\226\135\132", -- ⇄
rightleftharpoons = "\226\135\140", -- ⇌
rightrightarrows = "\226\135\137", -- ⇉
rightsquigarrow = "\226\134\157", -- ↝
RightTee = "\226\138\162", -- ⊢
RightTeeArrow = "\226\134\166", -- ↦
RightTeeVector = "\226\165\155", -- ⥛
rightthreetimes = "\226\139\140", -- ⋌
RightTriangle = "\226\138\179", -- ⊳
RightTriangleBar = "\226\167\144", -- ⧐
RightTriangleEqual = "\226\138\181", -- ⊵
RightUpDownVector = "\226\165\143", -- ⥏
RightUpTeeVector = "\226\165\156", -- ⥜
RightUpVector = "\226\134\190", -- ↾
RightUpVectorBar = "\226\165\148", -- ⥔
RightVector = "\226\135\128", -- ⇀
RightVectorBar = "\226\165\147", -- ⥓
ring = "\203\154", -- ˚
risingdotseq = "\226\137\147", -- ≓
rlarr = "\226\135\132", -- ⇄
rlhar = "\226\135\140", -- ⇌
rlm = "\226\128\143", -- [right-to-left mark]
rmoust = "\226\142\177", -- ⎱
rmoustache = "\226\142\177", -- ⎱
rnmid = "\226\171\174", -- ⫮
roang = "\226\159\173", -- ⟭
roarr = "\226\135\190", -- ⇾
robrk = "\226\159\167", -- ⟧
ropar = "\226\166\134", -- ⦆
ropf = "\240\157\149\163", -- 𝕣
Ropf = "\226\132\157", -- ℝ
roplus = "\226\168\174", -- ⨮
rotimes = "\226\168\181", -- ⨵
RoundImplies = "\226\165\176", -- ⥰
rpar = "\41", -- )
rpargt = "\226\166\148", -- ⦔
rppolint = "\226\168\146", -- ⨒
rrarr = "\226\135\137", -- ⇉
Rrightarrow = "\226\135\155", -- ⇛
rsaquo = "\226\128\186", -- ›
rscr = "\240\157\147\135", -- 𝓇
Rscr = "\226\132\155", -- ℛ
rsh = "\226\134\177", -- ↱
Rsh = "\226\134\177", -- ↱
rsqb = "\93", -- ]
rsquo = "\226\128\153", -- ’
rsquor = "\226\128\153", -- ’
rthree = "\226\139\140", -- ⋌
rtimes = "\226\139\138", -- ⋊
rtri = "\226\150\185", -- ▹
rtrie = "\226\138\181", -- ⊵
rtrif = "\226\150\184", -- ▸
rtriltri = "\226\167\142", -- ⧎
RuleDelayed = "\226\167\180", -- ⧴
ruluhar = "\226\165\168", -- ⥨
rx = "\226\132\158", -- ℞
sacute = "\197\155", -- ś
Sacute = "\197\154", -- Ś
sbquo = "\226\128\154", -- ‚
sc = "\226\137\187", -- ≻
Sc = "\226\170\188", -- ⪼
scap = "\226\170\184", -- ⪸
scaron = "\197\161", -- š
Scaron = "\197\160", -- Š
sccue = "\226\137\189", -- ≽
sce = "\226\170\176", -- ⪰
scE = "\226\170\180", -- ⪴
scedil = "\197\159", -- ş
Scedil = "\197\158", -- Ş
scirc = "\197\157", -- ŝ
Scirc = "\197\156", -- Ŝ
scnap = "\226\170\186", -- ⪺
scnE = "\226\170\182", -- ⪶
scnsim = "\226\139\169", -- ⋩
scpolint = "\226\168\147", -- ⨓
scsim = "\226\137\191", -- ≿
scy = "\209\129", -- с
Scy = "\208\161", -- С
sdot = "\226\139\133", -- ⋅
sdotb = "\226\138\161", -- ⊡
sdote = "\226\169\166", -- ⩦
searhk = "\226\164\165", -- ⤥
searr = "\226\134\152", -- ↘
seArr = "\226\135\152", -- ⇘
searrow = "\226\134\152", -- ↘
sect = "\194\167", -- §
semi = "\59", -- ;
seswar = "\226\164\169", -- ⤩
setminus = "\226\136\150", -- ∖
setmn = "\226\136\150", -- ∖
sext = "\226\156\182", -- ✶
sfr = "\240\157\148\176", -- 𝔰
Sfr = "\240\157\148\150", -- 𝔖
sfrown = "\226\140\162", -- ⌢
sharp = "\226\153\175", -- ♯
shchcy = "\209\137", -- щ
SHCHcy = "\208\169", -- Щ
shcy = "\209\136", -- ш
SHcy = "\208\168", -- Ш
ShortDownArrow = "\226\134\147", -- ↓
ShortLeftArrow = "\226\134\144", -- ←
shortmid = "\226\136\163", -- ∣
shortparallel = "\226\136\165", -- ∥
ShortRightArrow = "\226\134\146", -- →
ShortUpArrow = "\226\134\145", -- ↑
shy = "\194\173", -- [soft hyphen]
sigma = "\207\131", -- σ
Sigma = "\206\163", -- Σ
sigmaf = "\207\130", -- ς
sigmav = "\207\130", -- ς
sim = "\226\136\188", -- ∼
simdot = "\226\169\170", -- ⩪
sime = "\226\137\131", -- ≃
simeq = "\226\137\131", -- ≃
simg = "\226\170\158", -- ⪞
simgE = "\226\170\160", -- ⪠
siml = "\226\170\157", -- ⪝
simlE = "\226\170\159", -- ⪟
simne = "\226\137\134", -- ≆
simplus = "\226\168\164", -- ⨤
simrarr = "\226\165\178", -- ⥲
slarr = "\226\134\144", -- ←
SmallCircle = "\226\136\152", -- ∘
smallsetminus = "\226\136\150", -- ∖
smashp = "\226\168\179", -- ⨳
smeparsl = "\226\167\164", -- ⧤
smid = "\226\136\163", -- ∣
smile = "\226\140\163", -- ⌣
smt = "\226\170\170", -- ⪪
smte = "\226\170\172", -- ⪬
smtes = "\226\170\172\239\184\128", -- ⪬︀
softcy = "\209\140", -- ь
SOFTcy = "\208\172", -- Ь
sol = "\47", -- /
solb = "\226\167\132", -- ⧄
solbar = "\226\140\191", -- ⌿
sopf = "\240\157\149\164", -- 𝕤
Sopf = "\240\157\149\138", -- 𝕊
spades = "\226\153\160", -- ♠
spadesuit = "\226\153\160", -- ♠
spar = "\226\136\165", -- ∥
sqcap = "\226\138\147", -- ⊓
sqcaps = "\226\138\147\239\184\128", -- ⊓︀
sqcup = "\226\138\148", -- ⊔
sqcups = "\226\138\148\239\184\128", -- ⊔︀
Sqrt = "\226\136\154", -- √
sqsub = "\226\138\143", -- ⊏
sqsube = "\226\138\145", -- ⊑
sqsubset = "\226\138\143", -- ⊏
sqsubseteq = "\226\138\145", -- ⊑
sqsup = "\226\138\144", -- ⊐
sqsupe = "\226\138\146", -- ⊒
sqsupset = "\226\138\144", -- ⊐
sqsupseteq = "\226\138\146", -- ⊒
squ = "\226\150\161", -- □
square = "\226\150\161", -- □
Square = "\226\150\161", -- □
SquareIntersection = "\226\138\147", -- ⊓
SquareSubset = "\226\138\143", -- ⊏
SquareSubsetEqual = "\226\138\145", -- ⊑
SquareSuperset = "\226\138\144", -- ⊐
SquareSupersetEqual = "\226\138\146", -- ⊒
SquareUnion = "\226\138\148", -- ⊔
squarf = "\226\150\170", -- ▪
squf = "\226\150\170", -- ▪
srarr = "\226\134\146", -- →
sscr = "\240\157\147\136", -- 𝓈
Sscr = "\240\157\146\174", -- 𝒮
ssetmn = "\226\136\150", -- ∖
ssmile = "\226\140\163", -- ⌣
sstarf = "\226\139\134", -- ⋆
star = "\226\152\134", -- ☆
Star = "\226\139\134", -- ⋆
starf = "\226\152\133", -- ★
straightepsilon = "\207\181", -- ϵ
straightphi = "\207\149", -- ϕ
strns = "\194\175", -- ¯
sub = "\226\138\130", -- ⊂
Sub = "\226\139\144", -- ⋐
subdot = "\226\170\189", -- ⪽
sube = "\226\138\134", -- ⊆
subE = "\226\171\133", -- ⫅
subedot = "\226\171\131", -- ⫃
submult = "\226\171\129", -- ⫁
subne = "\226\138\138", -- ⊊
subnE = "\226\171\139", -- ⫋
subplus = "\226\170\191", -- ⪿
subrarr = "\226\165\185", -- ⥹
subset = "\226\138\130", -- ⊂
Subset = "\226\139\144", -- ⋐
subseteq = "\226\138\134", -- ⊆
subseteqq = "\226\171\133", -- ⫅
SubsetEqual = "\226\138\134", -- ⊆
subsetneq = "\226\138\138", -- ⊊
subsetneqq = "\226\171\139", -- ⫋
subsim = "\226\171\135", -- ⫇
subsub = "\226\171\149", -- ⫕
subsup = "\226\171\147", -- ⫓
succ = "\226\137\187", -- ≻
succapprox = "\226\170\184", -- ⪸
succcurlyeq = "\226\137\189", -- ≽
Succeeds = "\226\137\187", -- ≻
SucceedsEqual = "\226\170\176", -- ⪰
SucceedsSlantEqual = "\226\137\189", -- ≽
SucceedsTilde = "\226\137\191", -- ≿
succeq = "\226\170\176", -- ⪰
succnapprox = "\226\170\186", -- ⪺
succneqq = "\226\170\182", -- ⪶
succnsim = "\226\139\169", -- ⋩
succsim = "\226\137\191", -- ≿
SuchThat = "\226\136\139", -- ∋
sum = "\226\136\145", -- ∑
Sum = "\226\136\145", -- ∑
sung = "\226\153\170", -- ♪
sup = "\226\138\131", -- ⊃
Sup = "\226\139\145", -- ⋑
sup1 = "\194\185", -- ¹
sup2 = "\194\178", -- ²
sup3 = "\194\179", -- ³
supdot = "\226\170\190", -- ⪾
supdsub = "\226\171\152", -- ⫘
supe = "\226\138\135", -- ⊇
supE = "\226\171\134", -- ⫆
supedot = "\226\171\132", -- ⫄
Superset = "\226\138\131", -- ⊃
SupersetEqual = "\226\138\135", -- ⊇
suphsol = "\226\159\137", -- ⟉
suphsub = "\226\171\151", -- ⫗
suplarr = "\226\165\187", -- ⥻
supmult = "\226\171\130", -- ⫂
supne = "\226\138\139", -- ⊋
supnE = "\226\171\140", -- ⫌
supplus = "\226\171\128", -- ⫀
supset = "\226\138\131", -- ⊃
Supset = "\226\139\145", -- ⋑
supseteq = "\226\138\135", -- ⊇
supseteqq = "\226\171\134", -- ⫆
supsetneq = "\226\138\139", -- ⊋
supsetneqq = "\226\171\140", -- ⫌
supsim = "\226\171\136", -- ⫈
supsub = "\226\171\148", -- ⫔
supsup = "\226\171\150", -- ⫖
swarhk = "\226\164\166", -- ⤦
swarr = "\226\134\153", -- ↙
swArr = "\226\135\153", -- ⇙
swarrow = "\226\134\153", -- ↙
swnwar = "\226\164\170", -- ⤪
szlig = "\195\159", -- ß
Tab = "\t", -- [tab]
target = "\226\140\150", -- ⌖
tau = "\207\132", -- τ
Tau = "\206\164", -- Τ
tbrk = "\226\142\180", -- ⎴
tcaron = "\197\165", -- ť
Tcaron = "\197\164", -- Ť
tcedil = "\197\163", -- ţ
Tcedil = "\197\162", -- Ţ
tcy = "\209\130", -- т
Tcy = "\208\162", -- Т
tdot = "\226\131\155", -- ⃛
telrec = "\226\140\149", -- ⌕
tfr = "\240\157\148\177", -- 𝔱
Tfr = "\240\157\148\151", -- 𝔗
there4 = "\226\136\180", -- ∴
therefore = "\226\136\180", -- ∴
Therefore = "\226\136\180", -- ∴
theta = "\206\184", -- θ
Theta = "\206\152", -- Θ
thetasym = "\207\145", -- ϑ
thetav = "\207\145", -- ϑ
thickapprox = "\226\137\136", -- ≈
thicksim = "\226\136\188", -- ∼
ThickSpace = "\226\129\159\226\128\138", -- [medium mathematical space] + [hair space]
thinsp = "\226\128\137", -- [thin space]
ThinSpace = "\226\128\137", -- [thin space]
thkap = "\226\137\136", -- ≈
thksim = "\226\136\188", -- ∼
thorn = "\195\190", -- þ
THORN = "\195\158", -- Þ
tilde = "\203\156", -- ˜
Tilde = "\226\136\188", -- ∼
TildeEqual = "\226\137\131", -- ≃
TildeFullEqual = "\226\137\133", -- ≅
TildeTilde = "\226\137\136", -- ≈
times = "\195\151", -- ×
timesb = "\226\138\160", -- ⊠
timesbar = "\226\168\177", -- ⨱
timesd = "\226\168\176", -- ⨰
tint = "\226\136\173", -- ∭
toea = "\226\164\168", -- ⤨
top = "\226\138\164", -- ⊤
topbot = "\226\140\182", -- ⌶
topcir = "\226\171\177", -- ⫱
topf = "\240\157\149\165", -- 𝕥
Topf = "\240\157\149\139", -- 𝕋
topfork = "\226\171\154", -- ⫚
tosa = "\226\164\169", -- ⤩
tprime = "\226\128\180", -- ‴
trade = "\226\132\162", -- ™
TRADE = "\226\132\162", -- ™
triangle = "\226\150\181", -- ▵
triangledown = "\226\150\191", -- ▿
triangleleft = "\226\151\131", -- ◃
trianglelefteq = "\226\138\180", -- ⊴
triangleq = "\226\137\156", -- ≜
triangleright = "\226\150\185", -- ▹
trianglerighteq = "\226\138\181", -- ⊵
tridot = "\226\151\172", -- ◬
trie = "\226\137\156", -- ≜
triminus = "\226\168\186", -- ⨺
TripleDot = "\226\131\155", -- ⃛
triplus = "\226\168\185", -- ⨹
trisb = "\226\167\141", -- ⧍
tritime = "\226\168\187", -- ⨻
trpezium = "\226\143\162", -- ⏢
tscr = "\240\157\147\137", -- 𝓉
Tscr = "\240\157\146\175", -- 𝒯
tscy = "\209\134", -- ц
TScy = "\208\166", -- Ц
tshcy = "\209\155", -- ћ
TSHcy = "\208\139", -- Ћ
tstrok = "\197\167", -- ŧ
Tstrok = "\197\166", -- Ŧ
twixt = "\226\137\172", -- ≬
twoheadleftarrow = "\226\134\158", -- ↞
twoheadrightarrow = "\226\134\160", -- ↠
uacute = "\195\186", -- ú
Uacute = "\195\154", -- Ú
uarr = "\226\134\145", -- ↑
uArr = "\226\135\145", -- ⇑
Uarr = "\226\134\159", -- ↟
Uarrocir = "\226\165\137", -- ⥉
ubrcy = "\209\158", -- ў
Ubrcy = "\208\142", -- Ў
ubreve = "\197\173", -- ŭ
Ubreve = "\197\172", -- Ŭ
ucirc = "\195\187", -- û
Ucirc = "\195\155", -- Û
ucy = "\209\131", -- у
Ucy = "\208\163", -- У
udarr = "\226\135\133", -- ⇅
udblac = "\197\177", -- ű
Udblac = "\197\176", -- Ű
udhar = "\226\165\174", -- ⥮
ufisht = "\226\165\190", -- ⥾
ufr = "\240\157\148\178", -- 𝔲
Ufr = "\240\157\148\152", -- 𝔘
ugrave = "\195\185", -- ù
Ugrave = "\195\153", -- Ù
uHar = "\226\165\163", -- ⥣
uharl = "\226\134\191", -- ↿
uharr = "\226\134\190", -- ↾
uhblk = "\226\150\128", -- ▀
ulcorn = "\226\140\156", -- ⌜
ulcorner = "\226\140\156", -- ⌜
ulcrop = "\226\140\143", -- ⌏
ultri = "\226\151\184", -- ◸
umacr = "\197\171", -- ū
Umacr = "\197\170", -- Ū
uml = "\194\168", -- ¨
UnderBar = "\95", -- _
UnderBrace = "\226\143\159", -- ⏟
UnderBracket = "\226\142\181", -- ⎵
UnderParenthesis = "\226\143\157", -- ⏝
Union = "\226\139\131", -- ⋃
UnionPlus = "\226\138\142", -- ⊎
uogon = "\197\179", -- ų
Uogon = "\197\178", -- Ų
uopf = "\240\157\149\166", -- 𝕦
Uopf = "\240\157\149\140", -- 𝕌
uparrow = "\226\134\145", -- ↑
Uparrow = "\226\135\145", -- ⇑
UpArrow = "\226\134\145", -- ↑
UpArrowBar = "\226\164\146", -- ⤒
UpArrowDownArrow = "\226\135\133", -- ⇅
updownarrow = "\226\134\149", -- ↕
Updownarrow = "\226\135\149", -- ⇕
UpDownArrow = "\226\134\149", -- ↕
UpEquilibrium = "\226\165\174", -- ⥮
upharpoonleft = "\226\134\191", -- ↿
upharpoonright = "\226\134\190", -- ↾
uplus = "\226\138\142", -- ⊎
UpperLeftArrow = "\226\134\150", -- ↖
UpperRightArrow = "\226\134\151", -- ↗
upsi = "\207\133", -- υ
Upsi = "\207\146", -- ϒ
upsih = "\207\146", -- ϒ
upsilon = "\207\133", -- υ
Upsilon = "\206\165", -- Υ
UpTee = "\226\138\165", -- ⊥
UpTeeArrow = "\226\134\165", -- ↥
upuparrows = "\226\135\136", -- ⇈
urcorn = "\226\140\157", -- ⌝
urcorner = "\226\140\157", -- ⌝
urcrop = "\226\140\142", -- ⌎
uring = "\197\175", -- ů
Uring = "\197\174", -- Ů
urtri = "\226\151\185", -- ◹
uscr = "\240\157\147\138", -- 𝓊
Uscr = "\240\157\146\176", -- 𝒰
utdot = "\226\139\176", -- ⋰
utilde = "\197\169", -- ũ
Utilde = "\197\168", -- Ũ
utri = "\226\150\181", -- ▵
utrif = "\226\150\180", -- ▴
uuarr = "\226\135\136", -- ⇈
uuml = "\195\188", -- ü
Uuml = "\195\156", -- Ü
uwangle = "\226\166\167", -- ⦧
vangrt = "\226\166\156", -- ⦜
varepsilon = "\207\181", -- ϵ
varkappa = "\207\176", -- ϰ
varnothing = "\226\136\133", -- ∅
varphi = "\207\149", -- ϕ
varpi = "\207\150", -- ϖ
varpropto = "\226\136\157", -- ∝
varr = "\226\134\149", -- ↕
vArr = "\226\135\149", -- ⇕
varrho = "\207\177", -- ϱ
varsigma = "\207\130", -- ς
varsubsetneq = "\226\138\138\239\184\128", -- ⊊︀
varsubsetneqq = "\226\171\139\239\184\128", -- ⫋︀
varsupsetneq = "\226\138\139\239\184\128", -- ⊋︀
varsupsetneqq = "\226\171\140\239\184\128", -- ⫌︀
vartheta = "\207\145", -- ϑ
vartriangleleft = "\226\138\178", -- ⊲
vartriangleright = "\226\138\179", -- ⊳
vBar = "\226\171\168", -- ⫨
Vbar = "\226\171\171", -- ⫫
vBarv = "\226\171\169", -- ⫩
vcy = "\208\178", -- в
Vcy = "\208\146", -- В
vdash = "\226\138\162", -- ⊢
vDash = "\226\138\168", -- ⊨
Vdash = "\226\138\169", -- ⊩
VDash = "\226\138\171", -- ⊫
Vdashl = "\226\171\166", -- ⫦
vee = "\226\136\168", -- ∨
Vee = "\226\139\129", -- ⋁
veebar = "\226\138\187", -- ⊻
veeeq = "\226\137\154", -- ≚
vellip = "\226\139\174", -- ⋮
verbar = "\124", -- |
Verbar = "\226\128\150", -- ‖
vert = "\124", -- |
Vert = "\226\128\150", -- ‖
VerticalBar = "\226\136\163", -- ∣
VerticalLine = "\124", -- |
VerticalSeparator = "\226\157\152", -- ❘
VerticalTilde = "\226\137\128", -- ≀
VeryThinSpace = "\226\128\138", -- [hair space]
vfr = "\240\157\148\179", -- 𝔳
Vfr = "\240\157\148\153", -- 𝔙
vltri = "\226\138\178", -- ⊲
vnsub = "\226\138\130\226\131\146", -- ⊂⃒
vnsup = "\226\138\131\226\131\146", -- ⊃⃒
vopf = "\240\157\149\167", -- 𝕧
Vopf = "\240\157\149\141", -- 𝕍
vprop = "\226\136\157", -- ∝
vrtri = "\226\138\179", -- ⊳
vscr = "\240\157\147\139", -- 𝓋
Vscr = "\240\157\146\177", -- 𝒱
vsubne = "\226\138\138\239\184\128", -- ⊊︀
vsubnE = "\226\171\139\239\184\128", -- ⫋︀
vsupne = "\226\138\139\239\184\128", -- ⊋︀
vsupnE = "\226\171\140\239\184\128", -- ⫌︀
Vvdash = "\226\138\170", -- ⊪
vzigzag = "\226\166\154", -- ⦚
wcirc = "\197\181", -- ŵ
Wcirc = "\197\180", -- Ŵ
wedbar = "\226\169\159", -- ⩟
wedge = "\226\136\167", -- ∧
Wedge = "\226\139\128", -- ⋀
wedgeq = "\226\137\153", -- ≙
weierp = "\226\132\152", -- ℘
wfr = "\240\157\148\180", -- 𝔴
Wfr = "\240\157\148\154", -- 𝔚
wopf = "\240\157\149\168", -- 𝕨
Wopf = "\240\157\149\142", -- 𝕎
wp = "\226\132\152", -- ℘
wr = "\226\137\128", -- ≀
wreath = "\226\137\128", -- ≀
wscr = "\240\157\147\140", -- 𝓌
Wscr = "\240\157\146\178", -- 𝒲
xcap = "\226\139\130", -- ⋂
xcirc = "\226\151\175", -- ◯
xcup = "\226\139\131", -- ⋃
xdtri = "\226\150\189", -- ▽
xfr = "\240\157\148\181", -- 𝔵
Xfr = "\240\157\148\155", -- 𝔛
xharr = "\226\159\183", -- ⟷
xhArr = "\226\159\186", -- ⟺
xi = "\206\190", -- ξ
Xi = "\206\158", -- Ξ
xlarr = "\226\159\181", -- ⟵
xlArr = "\226\159\184", -- ⟸
xmap = "\226\159\188", -- ⟼
xnis = "\226\139\187", -- ⋻
xodot = "\226\168\128", -- ⨀
xopf = "\240\157\149\169", -- 𝕩
Xopf = "\240\157\149\143", -- 𝕏
xoplus = "\226\168\129", -- ⨁
xotime = "\226\168\130", -- ⨂
xrarr = "\226\159\182", -- ⟶
xrArr = "\226\159\185", -- ⟹
xscr = "\240\157\147\141", -- 𝓍
Xscr = "\240\157\146\179", -- 𝒳
xsqcup = "\226\168\134", -- ⨆
xuplus = "\226\168\132", -- ⨄
xutri = "\226\150\179", -- △
xvee = "\226\139\129", -- ⋁
xwedge = "\226\139\128", -- ⋀
yacute = "\195\189", -- ý
Yacute = "\195\157", -- Ý
yacy = "\209\143", -- я
YAcy = "\208\175", -- Я
ycirc = "\197\183", -- ŷ
Ycirc = "\197\182", -- Ŷ
ycy = "\209\139", -- ы
Ycy = "\208\171", -- Ы
yen = "\194\165", -- ¥
yfr = "\240\157\148\182", -- 𝔶
Yfr = "\240\157\148\156", -- 𝔜
yicy = "\209\151", -- ї
YIcy = "\208\135", -- Ї
yopf = "\240\157\149\170", -- 𝕪
Yopf = "\240\157\149\144", -- 𝕐
yscr = "\240\157\147\142", -- 𝓎
Yscr = "\240\157\146\180", -- 𝒴
yucy = "\209\142", -- ю
YUcy = "\208\174", -- Ю
yuml = "\195\191", -- ÿ
Yuml = "\197\184", -- Ÿ
zacute = "\197\186", -- ź
Zacute = "\197\185", -- Ź
zcaron = "\197\190", -- ž
Zcaron = "\197\189", -- Ž
zcy = "\208\183", -- з
Zcy = "\208\151", -- З
zdot = "\197\188", -- ż
Zdot = "\197\187", -- Ż
zeetrf = "\226\132\168", -- ℨ
ZeroWidthSpace = "\226\128\139", -- [zero width space]
zeta = "\206\182", -- ζ
Zeta = "\206\150", -- Ζ
zfr = "\240\157\148\183", -- 𝔷
Zfr = "\226\132\168", -- ℨ
zhcy = "\208\182", -- ж
ZHcy = "\208\150", -- Ж
zigrarr = "\226\135\157", -- ⇝
zopf = "\240\157\149\171", -- 𝕫
Zopf = "\226\132\164", -- ℤ
zscr = "\240\157\147\143", -- 𝓏
Zscr = "\240\157\146\181", -- 𝒵
zwj = "\226\128\141", -- [zero width joiner]
zwnj = "\226\128\140", -- [zero width non-joiner]
-- Nonstandard, but accepted by MediaWiki.
["רלמ"] = "\226\128\143", -- [right-to-left mark]
["رلم"] = "\226\128\143", -- [right-to-left mark]
}
8o4sqdodbkfwk9xmp2f1xlrb7zei3p7
साँचा:plural of
10
307235
488654
2026-09-12T19:04:17Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488654
wikitext
text/x-wiki
{{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!--
-->{{#invoke:form of/templates|tagged_form_of_t|p}}<!--
-->}}<!-- (end of {{check deprecated lang param usage}})
--><noinclude>{{documentation}}</noinclude>
k1pd739jmndfrq1wg4ur8yjqyjsqdms
साँचा:plural of/documentation
10
307236
488655
2026-09-12T19:04:57Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488655
wikitext
text/x-wiki
{{form of/infldoc|form=form}}
==Examples==
{|class="wikitable"
! Term !! Wikicode !! Output
|-
| {{m+|en|cats}} || {{demo2c|<nowiki>{{plural of|en|cat}}</nowiki>}}
|-
| {{m+|ga|náimhde}} || {{demo2c|<nowiki>{{alt form|ga|naimhde}}: {{plural of|ga|námhaid,námha}}</nowiki>}}
|}
<includeonly>
[[Category:Form-of templates]]
[[Category:Declension form-of templates]]
</includeonly>
n69i9pvql4jq8vlf3t8gx3ab9kf9ks9
साँचा:form of/infldoc
10
307237
488656
2026-09-12T19:05:42Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488656
wikitext
text/x-wiki
<noinclude>
'''BEGIN SAMPLE OUTPUT OF TEMPLATE:'''
</noinclude>{{#invoke:form of doc/templates|infldoc_t}}<noinclude>
'''END SAMPLE OUTPUT OF TEMPLATE'''
{{documentation}}</noinclude>
2xk1lx9l9zml8koz4mygfsagaeyyj03
साँचा:form of
10
307238
488679
2026-09-12T19:53:35Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488679
wikitext
text/x-wiki
{{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!--
-->{{#if:{{{lang|}}}|{{#invoke:form of/templates|form_of_t|{{#if:{{{1|}}}|{{{1|}}}|form}} of|term_param=2|ignore=1}}|{{#invoke:form of/templates|form_of_t|{{#if:{{{2|}}}|{{{2|}}}|form}} of|term_param=3|ignore=2}}}}<!--
-->}}<!--
--><noinclude>{{documentation}}</noinclude>
qebs4bh4y3klt1i9aw55uo2maq90k8m
साँचा:form of/documentation
10
307239
488680
2026-09-12T19:54:53Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488680
wikitext
text/x-wiki
{{documentation subpage}}
{{uses lua|Module:form of/templates}}
This is the most general of the [[:Category:Form-of templates|form-of templates]]. It can be used to apply the correct styling of the definition line to any description as the first parameter.
Use this template for forms that don't fit the mold. For instance, the zeroeth-person plural subjunctive of a highly unusual word. If there is already another template available, it's preferred to use that instead. This template '''should not''' be used in other templates, only directly in entries.
==Parameters==
This template takes the same general parameters as {{temp|m}}, and it uses the same post-processing on the parameters. This includes script detection, removing diacritics, processing embedded links, and so on.
; {{para|1|req=1}}
: The [[WT:LANGCODE|language code]] of the term linked to (which this page is a form of). See [[Wiktionary:List of languages]]. <small>The parameter {{para|lang}} is a deprecated synonym; please do not use. If this is used, all numbered parameters move down by one.</small>
; {{para|2|req=1}}
: The definition to display, without the "of" at the end.
; {{para|3|req=1}}
: The term to be linked to.
; {{para|alt}} or {{para|4}}
: Alternate text to display as the link title, if different from the term.
; {{para|t}} or {{para|5}}
: A gloss or short translation of the word. <small>The parameter {{para|gloss}} is a deprecated synonym; please do not use.</small>
; {{para|tr}}
: Transliteration for non-Latin-script words, if different from the automatically-generated one.
; {{para|ts}}
: Transcription for non-Latin-script words whose transliteration is markedly different from the actual pronunciation. Should not be used for IPA pronunciations.
; {{para|id}}
: A sense id for the term, which links to anchors on the page set by the {{temp|senseid}} template.
; {{para|sc}}
: Script code to use, if script detection does not work.
==Examples==
{{temp|form of|en|rare alternative form|<var>word</var>}}
: {{form of|en|rare alternative form|word}}
{{temp|form of|en|alternative form|<var>word link</var>|<var>link name</var>}}
: {{form of|en|alternative form|word|link name}}
<includeonly>
[[Category:Form-of templates|*]]
</includeonly>
ttw12dem3e386i1e7uqbmhlkf3bdfkp
विक्षनरी:कोरवा-मगही शब्दकोश
4
307240
488684
2026-09-13T10:21:56Z
अनुनाद सिंह
149
" '''विदवाइमी''' -- छीट '''चुडुयुपमी''' -- कूद '''दुबलामी''' -- कोड़ '''लुइमी''' -- भर '''हेण्डे मियां''' -- दोहराव '''ओतेवइमी''' -- चीप '''बांजमी''' -- बजाव '''ओन्जामी''' -- लगाव '''सुनुम ओन्जामी''' -- तेल ल..." के साथ नया पृष्ठ बनाया
488684
wikitext
text/x-wiki
'''विदवाइमी''' -- छीट
'''चुडुयुपमी''' -- कूद
'''दुबलामी''' -- कोड़
'''लुइमी''' -- भर
'''हेण्डे मियां''' -- दोहराव
'''ओतेवइमी''' -- चीप
'''बांजमी''' -- बजाव
'''ओन्जामी''' -- लगाव
'''सुनुम ओन्जामी''' -- तेल लगाव
'''ततंगमी''' -- प्यासे हैं
'''रंगेचमी''' -- भूखे हैं
'''कचड़रेमी''' -- पटक
'''मिडुघुहमीह''' -- घुम
'''चेटकेन कि मेने चेटकेन''' -- सिखले कि नई सिखले
'''ईया होड़उ मेचकेन''' -- कौन आ रहा है
'''उँट''' -- खुखडी
'''हेलेट''' -- करील
'''कोड़ी इंगाम टेबुपे हेण्डे मे चिदई पे''' -- बचवा के माई बोली तबे बचवन सिखीहन
'''लड़ेचकेन''' -- सिरागइल ; ठंडा हो गइल
'''निरमी ईया मेचताना''' -- कौन त आवत हउ भाग
'''लिड़ीगमी''' -- विसरत ही
'''होनर होड़मी''' -- आदमी है
'''जोमता आही''' -- खइहे
'''आले बुढ़ा, बुढ़ी टेबु आ हेण्डैम चोण्डींग चेदुआ''' -- हमन बोलब तब लइकुवन सिखिहन
'''इंज सेनुउह''' -- हम जाईब ( हम जायेंगे )
'''लिमिर''' -- बदरी
'''सिगड़''' -- साझ
'''बेर हेट चलवयेना''' -- बेर डुबल जात हउ
'''सिगड चलवयेना''' -- रात होवत जात हइ
'''दु''' -- चल ( छोटे के लिए )
'''सेनमी''' -- चल ( बड़ो के लिए )
'''चलवकेडा''' -- चले गये थे
'''जुआ हाली ते मिजुआ''' -- जो हाली अइहे
'''बुरु''' -- पहाड़
'''बीर''' -- जंगल
'''चिल्ली घयाउह''' -- कैंसन लागत बा
'''निठरकुउ चोड़ीकु इदाना''' -- लईका ना बुझलक
'''जुबा नेलमी''' -- जा देख
'''इंज सेनुआ नेलेइदिया''' -- हम देख जात ही
'''नेलेएमी''' -- देख
'''अगुदरयाइमी''' -- लेले अइहा
'''सिन्ज''' -- रात
'''लिमिरकेना''' -- बदरी कइले बा
'''तांगिजमि''' -- रूक जो
'''किमिन''' -- पतोह के
'''आमदो किमिन कारेआ चलव केन''' -- तोर पुतोह कहा गलउ
'''आम कोड़ा होपन कारे आ चलव केन''' -- तोर बेटा कहा गलउ
'''बेगर नेलेएमी''' -- नई देखली
'''एकलयाना''' -- कापत ही ; थरथरात ही
'''चि घइते अरूयाना''' -- कैसा कर रहा है
'''इंज गोजुवा की मेने''' -- हम मुअब की जियब
'''नेलेज मेजुमीह''' -- देखते आव
'''आम सिरिजमी''' -- आप गीत गाइए
'''आम''' -- आप
'''सीरींज''' -- गाना
'''उँगा''' -- गाँव
'''सेंगेल तीगींमी''' -- आगी जोर
'''तोरोज''' -- राख
'''तोरोज घिरेमी''' -- राख फेक
'''लोड़मी''' -- चालकर
'''लोमड़ीयाना''' -- चाल कर रहा है
'''तीबयाना''' -- बता रहा है
'''तिबईमी''' -- बताव
'''लेटे जोमोउह''' -- खाना खाऐंगे ( भविष्य काल )
'''लेटे जोम याना''' -- खाना खा रहा है ( वर्तमान काल )
'''लेटे जोम केडे''' -- खाना खाए थे ( भुतकाल )
'''हेनी ओड़ा झगड़ा येना''' -- ओकर घर देन लड़ रहा है
'''ईंज ओड़ा झगड़ा येना''' -- मेरा घर लड़ रहे है
'''तिमउ थपड़ी बजाउ उपे''' -- हाथ से ताली बजाइए
'''दू मड़ग''' -- आगे चल
'''सिड़कु''' -- सब कोइ ( सब )
'''मड़ंग''' -- आगे
'''तवम''' -- पिछे
'''जोरोय येना''' -- जोड़ रहा है
'''उमुन केन''' -- जाम गेल
'''लड़ीजमी''' -- सेराव
'''जड़ाउ''' -- चाट
'''बिकेना''' -- पेट भरल बा
'''हेजयेमी''' -- तोड़
'''मगा''' -- भाई
'''बड़े मगा''' -- बड़ा भाई
'''मीही मगा''' -- छोटा भाई
'''मिसिट''' -- बहन
'''गुगुवाइमी''' -- ले जो
'''मगा गोजहर''' -- भसुर
'''कुमा''' -- मामा
'''गेड़े''' -- भगीना
'''टिपोकोयाना''' -- चुवतहई
'''जिलिम''' -- लम्बा
'''होडा''' -- मोटा
'''हुडिंग''' -- छोटा
'''मिहि''' -- पातर
'''ने दोहन मी''' -- ले रख
'''जिलिम ईदाना''' -- लम्बा है
'''मिहि ईदाना''' -- पातर है
'''जुरमुठ''' -- नेटा
'''जुरमुठ टिपको याना''' -- नेटा चुवत हई
'''बाबातियामी''' -- खजुवात है
'''ओधड़ेजमी''' -- भोसड़ा गइली
'''खलरी''' -- चमड़ी
'''वेजैमी''' -- थुक
'''खुखुइकेन''' -- खोखले बड़े
'''खुखुइमी''' -- खोख
'''कारावारी अकेटट ले''' -- कहा से नानले
'''बिलिकेना''' -- पाकल है
'''उब बिलिकेना''' -- बाल पाकत है
'''हरसियाना''' -- जोतत है
'''कुल्ह''' -- बाध
'''उल्ह''' -- आम
'''लेटे लौउयाना''' -- भात जरत हउ
'''जिरिट केना''' -- सुन्दर है
'''मसेर''' -- कन्दा
'''पेसका''' -- गेठी
'''दन्तरोम''' -- हसुआ
'''मेरयाडा''' -- बुन थे
'''चिली मेरयाडा''' -- का घुनले बड़ा
'''मेरूम उ''' -- बकरी
'''उमुलकेडा''' -- जाम गेल ( भुतकाल )
'''उमुलयेना''' -- जामत हउ ( वर्तमान काल )
'''उमुलउ''' -- जामत उ ( भविष्य काल )
'''उमुहुउ''' -- नहाएंगे ( भविष्य काल )
'''उमुहुयेकेन''' -- नहा लिए है ( भुतकाल )
'''उमुहयेना''' -- नहा रहे है ( वर्तमान काल )
'''सेंग''' -- साथे
'''करेएदिया''' -- कहा बा
'''आटाकेन''' -- बचल बा
'''आटाउ''' -- बचाउगा
'''आटाकेडा''' -- बचल रहे
'''आड़ीपी''' -- हटाव
'''ओरेमू''' -- खींच
'''आड़ीपीयाना''' -- हटावत है
'''ओकुकोमामी''' -- लुकाइब
'''दुख उकु''' -- चला लुकाइब
'''नमीयेना''' -- मिलत है
'''नमीनेडा''' -- मिला था
'''नमीउगा''' -- मिलेगा
'''नुमु''' -- नाम
'''उरूदयपे''' -- रगड़
'''लेण्डेजकु''' -- जोकटी
'''छेकामी''' -- रोक
'''युसुरेपे''' -- उसराव
'''सुरूवईमी''' -- सुरूकर
'''इज ओड़ा विदिग धंधा इदना''' -- हमरा घरे बहुत काम है
'''लौ आना''' -- जरबे
'''इंज जोय गिसिन ताना''' -- हमरा खायला मन करता बा
'''नाई तु याना''' -- नदी बहत हई
'''मेजुमिह इन थरे''' -- हमरा पास अइहे
'''बोरोकेना''' -- डर गये
'''बोरो''' -- डर
'''इंज ब्रोरोबोरो चलव येना''' -- हम डरे डरे जात ही
'''खेनतेरे धान्धा याना''' -- खेत मे का कर रहा है
'''खेनतरे धान्धा मी''' -- खेत मे काम कर
'''गेरमू बेजायमी''' -- काट काट के थुकत बा
'''बजड़''' -- मजबूत है ( भारी है )
'''नेदाईमी''' -- मार
'''मिडुघुहमीह''' -- चक्कर ( घुमर-घुमर )
'''लड़ई मी''' -- खोल
'''तोलयाडा''' -- बांध
'''गुगुवाइमी''' -- लेले जो
'''गुगुवाइमी मि दोहो केना''' -- लेजो रख दिहे
'''टोरोंग टोरोंग चलवयेना''' -- आराम आराम से जा रहे है
'''टोरोग अरुयेना''' -- आराम कर रहा है
'''टोरोंग इदना''' -- आराम है
'''रीमते रीमते रंगेज केन''' -- उठते उठते भुख लग गइल
'''जोदेम''' -- पोछ
'''आलोम जोदेम''' -- मत पोछ
'''बिलवइपे''' -- बिछाव
'''बोरा बिलवइमी''' -- बोरा बिछाव
'''चटाई बिलवइमी''' -- चटाई बिछाव
'''अगुई मी''' -- नान
'''कुर्सी अगुई मी''' -- कुर्सी नान
'''लेटे अगुई मी''' -- भात नान
'''दा अगुई मी''' -- पानी नान
'''आगुदारियाइमी''' -- लेले अइहा
'''सेगर ढुवई मेजुमीह''' -- साथ में लेते आइए
'''डुमुरकु छडव चलवयेना''' -- मध छोडाव जात हिए
'''डुमुरकु''' -- मध
'''छड़वमी''' -- छोड़ाव
'''संगील''' -- दुर
'''निरमी दुवर चड़ापेगा''' -- भाग देंहारी मे खड़ा है
'''रापामी''' -- पकाव
'''रापामी जोम''' -- पकाव खो
'''हेनी बेचिएटा''' -- ओकर थुकल हई
'''मुनिदो''' -- उहे ( उहेबा )
'''रापायेना''' -- पकावत ही
'''रापाकेउ''' -- पकाउंगा
'''रापाककेना''' -- पकाए है
'''सेताकेन''' -- सटल बा
'''सेतामी''' -- सटल है
'''टुण्डुयपे''' -- चलाव
'''लेटे टुण्डुयपे''' -- भात चलाव
'''दालनटुण्डुयपे''' -- दाल चलाव
'''बुलुग टुण्डुयपे''' -- नमक चलाव
'''गाड़ी टुण्डुयपे''' -- मोटर साइकल चलाव
'''लेटे जेरेटे याना टुण्डुयपे''' -- भात चलाव चिटकत हउ
'''कनायु''' -- कुछ
'''कनाय होड़ाकु''' -- कुछ लोग
'''नेदा मी नेदाय मी गोजु आ''' -- मार मार के मुआ देंगे
'''आलोपे धागड़ामी''' -- मत धांग
'''नेदाय निरमी''' -- मार के भगाव
'''अम नेन जोखरे दोहो इदन''' -- तू यही जगह रह
'''नेन जोखरे आड़ेपी''' -- यहाँ से हट जो
'''कुटा टुवमी मि''' -- झार केलेजो
'''कुटा कुटा''' -- झार झार
'''कुटामी''' -- झार
'''लुडुगमी''' -- कुट
'''जोखरे''' -- जगह
'''बुसु''' -- पुरा
'''कुटा बुसु''' -- पुरा झार
'''ढुवइ उड़गयु''' -- ढोकर निकालो
'''टेबु''' -- बात
'''मेट जपिट याना''' -- ऑख मुनात बा
'''लन्दायाना''' -- हसत बड़े
'''इदिआकतुम''' -- नान रखा
'''जूबा इदिआकतुम''' -- जा नान रखा
'''उदधुवइमी''' -- लिल ( निगल )
'''उवइ किमिजंमी''' -- दे दीजिए (बड़ो के लिए) )
'''उवइ मी''' -- दे
'''मिया कोड़ेच उवइ मी''' -- एक कवर दे
'''येहेरेमी''' -- ठेहुनिया मोर
'''येहेरे दुडूप मि''' -- ठेहुनिया मोड़ के बैठ
'''कनारे कुवानु''' -- कहा कुछु नइखे
'''ओरेमु''' -- खिंच
'''लोहा केना (लोहामी)''' -- भिंच गइल (भींगा है)
'''लोहड़केना (लोहड़मी)''' -- सुखल है
'''बेरेला''' -- ओदा है
'''उडुगयु''' -- निकाल
'''उडुगवइ मी''' -- निकाल के देहु
'''रकप मी''' -- चढ़
'''अगडुपमि''' -- उतर
'''लोहड़ केना''' -- सुखल बा
'''सिड़कुदाह रकप मि''' -- सब पानी चढ़ाव
'''हेनि कहड़ि उवइतना''' -- ओकरा कहले ही देवेला
'''घिरेमी''' -- फेक
'''हेनि एदना''' -- ओकर है
'''उवइमिंज मि''' -- दे दुहुन बड़े के लिए (दे दिजीए)
'''उवईउह''' -- देवेला हइ ( देंगे )
'''तोसाडु''' -- घास फुस
'''उवइकेन''' -- देंलें ही
'''इंज चधड़उ केन''' -- हम भोसड़ा गइली
'''चिल्ली लिमिड़ याना''' -- का बराव ला
'''लिमिड़मी''' -- बराव
'''इंज थरे''' -- हमरा पास
'''आमथरे''' -- आपके पास
'''हेनी थरे''' -- ओकरा पास
'''उढ़वइ मि चलव येना''' -- उड़त जात हुई
'''सिड़कु''' -- पुरा ( पुरे / समुचे / समस्त )
'''केडम मचताना''' -- उछड़त आइल हइ
'''तिम चाटा अहमउपे''' -- थपड़ से मुहं मे मार देबउ
'''न्युबा''' -- पिबे
'''न्युयेना''' -- पियतहई ( पी रहा है )
'''न्युकेडा''' -- पीए थे
'''बिडोमी''' -- बँजाव
'''सडिया''' -- आवाज
'''अनजोमयेना''' -- सुनात हई
'''बेनेस इदना सड़िया''' -- अच्छा आवाज बा
'''हेनी ओड़ा सडीया''' -- ओकर घरे देन सुनात बा
'''नेन घइते''' -- अइसन हइ
'''इंज घइते''' -- हमारा जिसन
'''हेन घइते''' -- ओइसन है
'''चि घइते''' -- कइसन है
'''चेटकेन इदना हेनी होमोर''' -- सिखल है उससे पुछ
'''होमोरीमी''' -- पुछ
'''इंज होमोरीमी''' -- हम पुछे है
'''आम होमोरीमी''' -- आप पुछे हैं
'''इदी''' -- जो
'''कान्ही''' -- जुता
'''चटी''' -- चप्पल
'''सान्ही''' -- छान्ही ; छप्पर
'''आरूते''' -- करते हो
'''चि आरूयना''' -- क्या कर रहा है
'''उवई दोहोमी''' -- दे रखा
'''तयामेते''' -- बाद मे
'''निहो''' -- अभि या अधर
'''करेआ''' -- कहा
'''नेन लागड''' -- एही खातिर
'''टेबो मी मेजुलगड''' -- बोली है आने के लिए
'''मेजुमीह''' -- आव
'''होयोआ''' -- हुआ है
'''तेले''' -- तरह
'''दाह तेले इदना''' -- पानी के तरह है
'''नामुताना''' -- मिलता है
'''हेना रे''' -- वहाँ
'''नेना रे''' -- यहाँ
'''चड़ापेगा''' -- खड़ा रह ( ठहर जा )
'''आपदो''' -- आपलोग ( तुमलोग )
'''कहड़ी मी''' -- कहो
'''सेनकेन''' -- चला गया
'''हेनी''' -- ओकर
'''तेसिन्जयु मेजयाना''' -- आज आ रहा है
'''हेनी होड़ ईदाना''' -- ओकर आदमी है
'''तेदो''' -- उसे ( उसको / उसका / उसके )
'''नादो''' -- इसे ( इसको )
'''एचे''' -- और
'''तीबआउ''' -- बताऐंगे
'''नादो चिली कहड़ी मी''' -- इसे क्या कहते है
'''इज कहड़ी याना''' -- हम कह रहे है
'''कहड़ीमी''' -- कह
'''कहड़ीउ''' -- कहेंगे
'''कहड़ीपे''' -- कहते है
'''कहड़ीयाडा''' -- कहा था
'''टेबोमी''' -- बोल
'''करे अ''' -- कहा
'''कोटे''' -- चारूभर
'''कोण्टा''' -- कोणा
'''कोटेनेलयेना''' -- चारों ओर देख रहा है
'''नेलया''' -- देखा
'''ने''' -- ले
'''तिलामी''' -- खरीद बा
'''तिलायाना''' -- खरीदत ही
'''तिला केडा''' -- खरीद कर लिए थे
'''तिला उ''' -- खरीदेंगे
'''चिठला''' -- कादो ( कीचड़ ( काई )
'''रीमुमीह''' -- उठाव
'''रीमेन''' -- उठाया है
'''रे''' -- मे
'''आराएमु''' -- कर लो
'''होरीजमी''' -- बुलाव
'''होरींजकेन''' -- बुलाइले हउ ( बुलाया है )
'''न्युनकेन''' -- पि लेली ( पिए हैं )
'''आकेटमी''' -- ले आउ
'''टुमभर''' -- थोड़ा सा ( जरा सा )
'''इंजसिड़कु''' -- हम सब लोग
'''लाटोयाना''' -- कमजोर
'''आप सिड़कु''' -- आप सब लोग
'''लांटोयाना इदाना''' -- कमजोर है
'''आकेटकेन''' -- लाया है
'''आशीमी''' -- मांगते है ( चाहिए )
'''आलोम अरू''' -- मत कर
'''मेने आरुउह''' -- नही करेंगे
'''इंज अरूउ येना''' -- हम करेंगे
'''ईया''' -- कौन
'''पड़ागे''' -- फार
'''मुखारी हाली ते पड़ागे''' -- दतवन हाली फार
'''अहम बुंहल याना''' -- मुँह धोवत ही
'''हाली पे पड़ागे''' -- जल्दी फरीए
'''हुजुड़ याना''' -- चौबरात बाड़े
'''गुगवाई मी''' -- ले जो
'''होयो''' -- हवा
'''होयोतुयेना''' -- हवा बहत हई
'''जार''' -- बुखार
'''तुयाना''' -- बहत है
'''दाहतुयाना''' -- पानी बाहत है
'''नेया दो''' -- इहे बा
'''पड़ागे घिरे''' -- फार के फेंक
'''चिड़ ओड़ेव केन (चिड़ा आड्रेचकेन)''' -- कपड़ा फाट गेल
'''हटप ढ़ोवई मि''' -- मुह से पकड़ के ल जात हई
'''भुतेंज''' -- पाख
'''नोचड़ाउपे''' -- नोच
'''तिमिन संगील''' -- कितना दुर
'''ताँगोमी''' -- चबाव
'''तोंस''' -- नीचे
'''तेंक तेंक''' -- उपर उपर
'''संग रे सेनु आ''' -- संगे जाइब
'''चिवा नुमुअह''' -- क्या नाम है
'''नुमुअह तिबिया''' -- नाम बताव
'''आमदो चिवा नुमुअह''' -- आपका क्या नाम है
'''उब नकिजु''' -- जूलफी बनाव
'''बुहलयेना''' -- धोवत ही
'''जोड़वई मी''' -- जोड़
'''घटवउ मि''' -- घटाव
'''गुण्वमि''' -- गुणा
'''भगवमि''' -- भाग
'''इंज कहड़ी ऐडा''' -- हम कह थे
'''इंज कहड़ी मी''' -- हम कहत ही
'''ईज कहड़ी उ''' -- हम कहेंगे
'''दू उकूमी''' -- चल लुकाए
'''सुबीटमी''' -- सान
'''सुबिटयाना''' -- सान रहा है
'''ओत''' -- जमीन ( मिटटी )
'''ओत सुवीट याना''' -- माटी सानत ही
'''आटा सुवीट याना''' -- आटा साना ही
'''धन्धा मी''' -- काम कर
'''न्युएना''' -- पियत ही
'''जोलय मी''' -- कुदाव ( जानवर के लिए )
'''तयमी''' -- छिपाद
'''लोईयाना''' -- जरबे
'''हेनी लोईयाना''' -- उजरत हई
'''चि लगड़''' -- किस लिए
'''नेन लगड़''' -- इसलिए
'''जोम लगड़''' -- खाने के लिए
'''ऐनेबबा''' -- एतने बा
'''न्यु लगड़''' -- पिने के लिए
'''दू लगड़''' -- जाने के लिए
'''दुलगड़ मेयकेन''' -- जाने के लिए आए है
'''दोहोपे (दोहापे)''' -- रहते हैं
'''दोहोनमी''' -- रख
'''दोहोनयाडा''' -- रखे थे
'''दोहोन उ''' -- रखेंगे
'''नेन्दे''' -- जरूरी
'''नेन्दे इदाना''' -- जरूरी है
'''कानर कानर''' -- कभी कभी
'''तोलोगु''' -- उधार
'''चिड़ा तोलोगु आसियाना''' -- कपड़ा उधारी मांगत हउ
'''ताया केन''' -- पहुच गइली
'''तयमयाना''' -- छिपावत बड़े
'''ओड़ा''' -- घर
'''बोनोम''' -- कस के
'''मेच केन''' -- आ गइली ( आ गए )
'''सिगंड़ घड़ी''' -- साझ घरी ( शाम समय )
'''हर्सियाना''' -- हर जोत रहे हैं
'''लिड़िगमि''' -- बिसरत ही
'''लिड़िग केना''' -- बिसर गईली
'''होड़ मी''' -- आदमी
'''तवम तवम ते मेजु मी''' -- पिछे पिछे आव
'''कारा येगा सेन केन''' -- कहा गईल रहा
'''मिटिंग येगा सेन केन''' -- मिटिंग मे गईल रजउ
'''एके ते, लेटे इदना''' -- छुछे भात है
'''एके ते लेटे जामेयाना''' -- छुछे भात खात हई
'''हुडिंग हुडिंग''' -- छोटा छोटा
'''सकम''' -- पतई
'''कारवारीमेचताना''' -- कहा से आवले
'''ईज लोजोर केना''' -- हम गिर गइली
'''अकेना''' -- लाए है
'''चि अरुकेन''' -- का होलई
'''चिआरुउह''' -- कैसे होगा
'''उजड़ आलोपे टेबू''' -- खराब मत बोल
'''उतोंगयेना''' -- गोहनावत ही ( पीछा कर रहा है )
'''उजड़येना''' -- खराब हो रहा है
'''उजड़''' -- खराब
'''ओड़ा उजड़''' -- खराब घर
'''उजड़ आकेडा''' -- खराब लाए थे
'''खिदोर दाह''' -- खराब पानी
'''इंजदो उजड़ लेटे जोम केन''' -- बासी खाना खात ही
'''कुलामि''' -- कुला कर
'''ढेबेरइड़ीककेन''' -- देबरी बित गया
'''ढेबेर''' -- तीगीमी
'''लादूहोड़ एदना / लादूहोड़''' -- लापरवाही आदमी है
'''कुइथर''' -- कुआ
'''प्रोममी''' -- पार हो
'''कोड़िन''' -- नाती
'''कुड़ीन''' -- नातीन
'''हाड़िमी''' -- दुर (कुत्ता के भागने की आवाज)
'''चेचेरयाना''' -- तिता लागत बा
'''देडुमयेना''' -- झुप रहा है
'''कोड़ा''' -- लड़का
'''कोड़ी''' -- लड़की
'''दु सेनेम''' -- चल हीठ
'''मेनी दु चिवा रे''' -- का है रे ( क्या है )
'''शिट केन''' -- खोटले ही
'''अड़ा''' -- साग
'''अड़ा सिटकेना''' -- साग खोटली है
'''दा अगुईमी''' -- पानी नान दिहे
'''मिनि दो आलोम येना''' -- मत दिहे
'''चेदइमी''' -- सिख
'''मेने आगुइमी''' -- नईखे नानत
'''विर''' -- जंगल
'''सहन''' -- लकड़ी
'''विर हनते सहन अगुईमी''' -- जंगल से लकड़ी नान
'''नोचड़ा''' -- नोच
'''अईका सईका मेच केना''' -- मन मनिसा के आया है
'''रोवा कु''' -- मक्खी
'''बगीवइ मी''' -- अलग कर ; हिगार
'''तुड़वइमी''' -- भेज
'''आम दुड़ुपमी''' -- आप बैठिए
'''हाटिंगमीपे''' -- बांट
'''हाटिंग उपे चुनिंग जोमेय''' -- बाट के बाल बच्चा के खिवाव
'''दु उमुह उ''' -- चल नहाए
'''दु चिड़ा सोवोदमी''' -- चल कपड़ा साफ करे
'''नाई वरी मेजुमीह''' -- नदी देन अइहे
'''उलायाडा महि उलयहमीह''' -- बोकलउ ; बोकत है ( उल्टा करते हैं )
'''लुढुग''' -- ढेकी
'''लुडुगमी''' -- कुट
'''पटायमु''' -- पटाव
'''कोकोई मेच ताना''' -- कोवन त आवत हई
'''जोला कु''' -- भगाव
'''हमलइदीया''' -- बोझ बा
'''कण्डादिपिल केना मोह''' -- घड़ा कपार मे लेले हउ
'''कण्डा''' -- घड़ा
'''चिड़ा तुगवयेना''' -- कपडा सी रहा है
'''रोहेयेना''' -- गड़ रहा है
'''चिड़ा''' -- कपड़ा
'''चड़ा चड़ा जोमयाना''' -- खड़े खड़ा खात बड़ा
'''ईकावा''' -- रहे दे
'''चिल्ली चड़ा येना''' -- काहे खड़ा है
'''सेता येना''' -- सटल बड़ा
'''जवई मी''' -- पत्ती
'''हाप्पा मोन''' -- जवान छोकड़ी
'''ढ़िगवा मोन''' -- जवान छवड़
'''जिरिट याना''' -- सोभत बड़े ( सुन्दर है )
'''गान्डु''' -- पिढ़ा
'''परकोम''' -- खाटी
'''तिमिन मोटा इदाना''' -- कितना मोटा हउ
'''चिल्ली असियाना''' -- का मांगले
'''दु हुयुरमी''' -- जो घुमे
'''इंज सेनुमी होयुरू''' -- हम जात हियउ घुमे
'''तीम इचाकुमी''' -- हाथ धो
'''उमुल''' -- छाया
'''सितोम केना''' -- घामा हो गइल
'''उमुलकुवईमी''' -- छाहा ले
'''निहो दो एचे हासु केना''' -- अधर बेसे चिपा गईल रहे
'''जूबा''' -- जा
'''सुजाड़ा''' -- आप जानत हैं
'''जनते''' -- सच्चो
'''आडिते''' -- झुठ
'''बोरा केडा''' -- डेरा गए ते
'''होपोन''' -- बच्चा
'''ओगेमु''' -- फुक
'''मेनीहोड़ सुसुमयाना''' -- बड़िया नाचत हउ
'''सुसुमयाना''' -- नाचत है
'''चि लगड़ होमोर एदिया''' -- काहे पुछत बड़े
'''आम सुजाड़ा इंज चि लगड होमोरएदिया''' -- तु जानते बड़े हमरा से काहे पुछत बड़े
'''होना आगा ते चलव एना''' -- ओने जात रहउ
'''पुरूब आगा चलवा येना''' -- पुरबे जात रहउ
'''पछिम आगा चलव एना''' -- पछमे जात रहउ
'''लगे आम टेबो मी''' -- तू बोल
'''या होरीजमी''' -- कौन बोलइले है
'''मेने''' -- नही
'''निहो''' -- अधर
'''आम सुजाड़ा''' -- तुंत जानते बड़े
'''ईन थरे''' -- हमरा पास
'''मेन घइते मेन घइते''' -- ओइसही ओइसही
'''रोहेमी''' -- रोप ( गाड़ )
'''नेल मेने सहोदमी''' -- देख नखउ सहात
'''नेय दो घिनिन''' -- नाई घमलउ
'''हुतुर केना''' -- नंगे है
'''हास लाय मि''' -- माटी कोड़
'''लुतुर अइठानी''' -- कान अइठदेबउ
'''सिमकु होपोन''' -- मुर्गी का बच्चा
'''नेलेजमी''' -- देख
'''चिल्ली हेजयाना''' -- का तोड़ ला
'''बेसईपे झोरायमु''' -- कसके हिलाव
'''बोनोम ते अगुइ मि''' -- कसके लेले अइहा
'''इन दो मेने पपड़याना''' -- हम नइखी जानत
'''मेने उईहुर इदाना''' -- नईखे याद
'''उईहुर केना''' -- याद बा
'''दू सोआदमी''' -- चल साफ करे
'''राचउ''' -- आंगन
'''होला सिंगर''' -- कल रात
'''तेसेन सिंगर''' -- आज रात
'''हासुयाना''' -- दर्द हो रहा है
'''मोह हासुयाना''' -- कपार दर्द करत बा
'''लाजउ हसुयेना''' -- पेट दर्द करत बा
'''सुनुम''' -- तेल
'''करूवा सुनुम''' -- करूवा तेल
'''मिट्टी सुनुम''' -- मिटटी तेल
'''पोहा गमु''' -- फोड़
'''दिरिपोहागमु''' -- पत्थर फोड़
'''नेलेकेदिया''' -- देख लेतउ
'''इसिन केना''' -- सिझल बा
'''गेरेमु''' -- काट
'''ओड़ा इदिआकतु''' -- घरे पहुचा दिहे
'''चिल्ली थिरा याना मियाटांग''' -- एक्के जगह खड़ा बड़ा
'''बुहल केना''' -- धोइले ही
'''सोहे एना''' -- पहन रहे हैं
'''ओड़ेचकेन''' -- फाट गईल
'''दूं उडूंग ओड़ा ते बहेर्र''' -- जो घरे से बहरे निकाल
'''फुला''' -- दिरखा
'''फुला दोहन याना''' -- दिरखा में रखत हैं
'''अटकेन दोहो ताना''' -- भुला रहा है
'''मिया टाग''' -- एगो
'''बा टाग''' -- दुगो
'''पई टाग''' -- तीन गो
'''मंघेर''' -- पोरोदिन
'''नमकेना''' -- मिलगईल
'''नेलमि कारी हन्ते चलव एना''' -- देखिहे केने जात हउ
'''अनजोमकेडा''' -- सुनलेलक
'''अनजोमयाना''' -- सुनत बड़े
'''अनजोम उ''' -- सुनेंगे
'''इति इति''' -- धीरे धीरे
'''इति इति टेबु मि''' -- धीरे धीरे बतियो
'''इसिड़ केना''' -- दात निपरोत बड़े
'''लन्दा येना''' -- हसत बड़े
'''इयम याना''' -- रोवत बड़े
'''इड़िक केन''' -- बिताइ गेल
'''सबकेदिया''' -- धर लेलक
'''चिमरिडीया''' -- का पिस ला
'''लुड़याना''' -- कुट रहा है
'''उजड़ा केना''' -- बिगड़ गलउ
'''दू एनेज मि''' -- चल खेले
'''एनेज''' -- खेल
'''दु गेंदा एनेज मि''' -- चल गेंदा खेले
'''दु किकेट एनेज मि''' -- चल क्रिकेट खेले
'''हेनेन मि इदाना''' -- इतने बा
'''चिहेण्डे मी निहो मेचताना''' -- का बनावत रह कि आवत बड़े
'''उधव केना''' -- लेटाइल ही
'''दु मड़ग ते''' -- आगे आगे चल
'''जु उमुह उ''' -- जा नहा ले
'''दू मसेर पेसकादुबलामी''' -- चला कोड़े काना गेठी
'''आलो चुडुयुपमि''' -- मत कुद
'''टाठड़ा''' -- टाटी
'''छपा ते हेन्डेमी''' -- खोज के बनाइब
'''छपाते''' -- खोज
'''कान रे कूवा नू''' -- कुछु नइखे
'''नेन आंगा ते मेच आना''' -- एन्ही आवत हई
'''बितिल''' -- बालू
'''बेगर ऐमया''' -- नई देबउ
'''दू लेटे जोम''' -- चल खाना खाए
'''सेंगेल तिकियाना''' -- आगी जोर रहा है
'''सेंगेल जुरूमी''' -- आग ताप
'''लुइ मि''' -- भर
'''मेन कण्डा लुइ मि''' -- घड़ा मे पानी भर
'''हाटा''' -- सुप
'''हाटा करेआ''' -- सुप कहा हउ
'''जोनो''' -- बढनी
'''जागेमी''' -- बहार
'''जोनो जागेम राँचऊ''' -- बड़नी से आंगन बहार
'''इंज लगड़ अगुइ मि''' -- हमरा नान दिहे
'''उवइ मि टुमपभर''' -- थोड़े सा दे
'''इयारा गाड़ी मेच ताना''' -- केकर गाड़ी त आवत हई
'''दु चिड़ा तुगवइमी''' -- चल कपड़ा सिवाए
'''दा बसग उपे''' -- पानी अधन कर
'''दाह लोलो अरुमी''' -- पानी गर्म कर
'''लो लो दाहइदाना''' -- गरम पानी है
'''विदिग ते उगर ताना''' -- बड़ी गरम लागत बा
'''उतौमी''' -- भुंज
'''उता याना''' -- भुंज रहा है
'''तुसीनमी''' -- पहन
'''इंज उतंगमी''' -- हम गोहनावत ही
'''उत्तोग केना''' -- गोहनाव है
'''दु ओड़ा ते''' -- चल घरे
'''हापामोन दोहनावा''' -- बाप बेटा रहा
'''होयोर मेजुमिह''' -- घुम के आव
'''आलोम छडवमी''' -- मत छोड़
'''बगी दोहोनमी''' -- अलग रख
'''बोनोम चेचेरयाना''' -- बहुत तिता
'''चिल्ली लखन सोओआ''' -- कइसन गमकत हउ
'''रिमते''' -- उठाव
'''सोओयामू''' -- सरल है
'''असुल केना''' -- पोसले ही
'''दोछ''' -- तोता
'''असुल केना दोछ''' -- तोता पोसले ही
'''उमुहकेन''' -- नहा लिए है
'''चिल्ली नेन अरुयाना''' -- का अइसे करत बड़ा
'''दु ओड़ा ते''' -- चल घरे
'''दु बहरे रे''' -- चल बहरे
'''गोरियाना''' -- लिप रहा है
'''ओड़ा गोरियाना''' -- घर लिप रहा है
'''हानि केना''' -- खत्म हो गइल
'''होलोक चलव केन''' -- निचे गिरत रहे
'''होरिज उपे''' -- बुलाते हैं
'''हारू एपे''' -- ढ़ाप दे
'''हनतेर इदना''' -- उहा बा
'''नेदायगिल रोचोटकेन''' -- मारब कि धस जइब
'''भेदयेना''' -- समझ रहा है
'''उयुलमी''' -- ओढ़
'''बिलतेमी''' -- बिछाव
'''हेन्डेमिया''' -- दोहराव
'''मेने लेयड़ येदिया''' -- नही जाड़ लगलउ
'''दलन उवइमी''' -- दाल दे
'''लेटे अगुइ मि''' -- भात दे
'''मुखारी अगुइ मि''' -- दतवन नान
'''इया थरे''' -- केकरा जग
'''परकोम हलंग हेण्डयीना''' -- खटिया बिन रहा है
'''परकोम बिलतेपी''' -- खटिया बिछाव
'''होर''' -- रास्ता
'''नुमइपे''' -- नाम पकड़
'''होर सेनमी''' -- रास्ता देन चल
'''गेमूमी''' -- फटिक
'''छाप''' -- फोटो
'''छाप ओरेयु''' -- फोटो खिंच
'''आकेट केन''' -- ले आनली
'''इंज पपड़मी नेदायकेन''' -- हम जनले कि मरले हथिन
'''आटर इदना''' -- गोलमरूवा है
'''सोयातमू''' -- सरल है
'''बिड़ो अरू मि''' -- दावा कर
'''मसाला अगुइमि''' -- मसाला लेले अइहा
'''नइहर सेनू लगड''' -- नइहर जाएला बा
'''निहो दो आलम चलव येना''' -- अभि मत जो
'''आम सेगरे इन्जो सेन्हुआ''' -- तोहार संगे हामु जबउ
'''हलंग''' -- बिन
'''जु बेर हलम अगुइ मि''' -- जो बइर बिनले आव
'''रकप ते झोराव मु''' -- चढ़ के हिलाव
'''आलोम जोमोमीह''' -- मत खो
'''इन दो मेने पपड़याना''' -- हम नइखी जानत
'''कटटत रे घाव इदाना''' -- गोड़ मे घाव बा
'''सहन बोगरी मी''' -- लकड़ी बोग
'''सहन गेरू मु''' -- लकड़ी गिराव
'''लोजोरमी''' -- गिराव
'''बेला''' -- समय
'''पड़ीकेना''' -- जानकारी
'''हटपमी''' -- दातॉ से पकड़
'''इंज लोआ''' -- मैं चलुंगा
'''दा आरूयु''' -- पानी छिटना
'''दाह ऊयूमी''' -- पानी बरसत है
'''सहन गेरमु पे''' -- लकड़ी काट
'''सहन लोजोर गेरू मु''' -- लकडी काट के गिराव
'''लोलोदा न्युयू पे''' -- गरम पानी पिबे
'''लंगा केना''' -- थक गइली
'''इज दो लंगा केना''' -- हम थक गइली
'''ढेबरी तीगींमी''' -- ढीबरी बार
'''टिंगामी''' -- टाँग
'''अलोम लंदा येना''' -- मत हस
'''सिंगिल संलगाउपे''' -- आगी सलगाव
'''विदिक लेयंड़ ताना''' -- बहुत जाड़ लग रहा है
'''आलोम होपोन इयम याना''' -- चेगा मत रोवाव
'''ततय ओड़ा चलव केन''' -- नाना घर जात ही
'''आसिरेदे मेने ओइ ताना''' -- मांगत ही नइखे देवत
'''आप अपुंग दो नूमू चिवाना''' -- तोर पापा का क्या नाम है
'''आप इंगम दो नुमू चिवाना''' -- तोर माई के क्या नाम है
'''तिमिल सिगिल चला उ''' -- कितना दुर जइबा
'''टोटा केना''' -- टुट गइल
'''विरोम लाइजमी''' -- दावा डाल
'''रोटी रप्पा केन''' -- रोटी पक गया
'''ओगे मु''' -- फुक
'''उवदिया''' -- देले हिए
'''अंगाआकेन''' -- बिहान हो गइल
'''कारावरीमेच केना''' -- कहा से आइल बडा
'''ठाउ येरा''' -- नजदीक भीरी
'''बरियो इदना''' -- दोनों है
'''ठाउ येरा नेलकेन''' -- भीरी जा के देखलि
'''छडव केना''' -- छुट गइल
'''उसुरेपे''' -- आच लगाव
'''कटम उलवइमी''' -- गोड़ सोट दे
'''लुइमी''' -- भर
'''जो होरिज अगुइ मी''' -- जो बोलइले आव
'''दीपील''' -- समान
'''संगरे दिपिल ढूवइयेमी''' -- साथ में समान ढोवत हइ
'''भोह दिपिल दुवइमीडा''' -- कपार मे लेले है
'''जुबा मेरूम चारायएमु''' -- जा बकरी चरावे
'''जुबा डोगरा चरायएमु''' -- जो गाय चरावे
'''अलोरे इदना''' -- हमार है
'''आले''' -- हम
'''अलारे''' -- हमारे
'''इलि''' -- दारू
'''इलि न्यूमी''' -- दारू पी
'''गोदर''' -- बराबर
'''गोदर हाटिगंउपे''' -- बराबर वाट
'''ओत गोदरमीपे''' -- जमीन बराबर कर
'''ओत गोदर हाटिग उपे''' -- जमीन बराबर बाट
'''पुटिट''' -- लादी
'''सिम कु पुटिट''' -- मुर्गी के लादी
'''लोलो''' -- गर्म
'''दाह बसंग उपे''' -- पानी गर्म कर
'''वितिल बसंग उपे''' -- बालु गर्म कर
'''दुध वसंग उपे''' -- दुध गर्म कर
'''उडुंगयु''' -- निकाल
'''होयो उडुंगकेना''' -- हवा निकल गया
'''सुकुल उडुंकेना''' -- कुहिया निकल गया
'''आमदो चिल्ली बुझाआ''' -- तोरा का बुझाला
'''दू नेदायामी''' -- जो मार
'''विदिक सुड़िया''' -- बहुत मिठा
'''सुड़िया''' -- मिठा
'''लेटे सुड़िया''' -- मिठा बात
'''हेनी होड़ कनखी चलावयेना''' -- आख मारत है
'''जुबा घिरे आकतुम''' -- जो बिग दे
'''आलेपे घिरे''' -- मत फेक
'''बगी, दोहोमी''' -- अलग रह
'''वोगवउकेना''' -- नाश देतउ
'''रिमते''' -- उठाव
'''छापते''' -- खोजत
'''होयो तुइयाना''' -- हवा बहत है
'''बोयो तुइयना डुवकेन''' -- हवा बहा के ले गलव
'''गेसनताना''' -- लागत बा
'''गीतिज गेसताना''' -- नींद लागत बा
'''हमल इदना''' -- बोझ है
'''हमल''' -- बोझ
'''हमल एदिया''' -- बोझ लागत बा
'''इंज नेलमी''' -- हम देखबउ
'''किनु मेजुमिह''' -- फिर अइहा
'''आलोम खिशउ''' -- मत गोसइहा
'''जार एदना''' -- बिमार बा
'''हासुयेना''' -- दर्द होवत है
'''चुचुक मेचताना''' -- मूत के आवत ही
'''पोहागमू''' -- फोड़
'''मिया टांग बुढी इदना''' -- एक बुढिया है
'''मेनी थोथडाव एरमदो''' -- मेरारू धका मुका कइले है
'''आधा दो उयुलमी आधा दो विलवमी''' -- आधा ओढे है आधा बिछाए है
'''ढुडमुच़येना''' -- ढुनमुनात ही
'''रबुआ''' -- फुट जाई
'''जपीटयाना''' -- मुंद
'''चुटुकु याना जपिटयाना''' -- मुसा के माना मुन
'''मियाहोड़ होयरयु''' -- अकेले घुमत बड़ा
'''कानारे मेने चलवकेन''' -- कही नइखी जात
'''मेने अंजोययेरा''' -- नही सुनले
'''मेन सेनगनूउ''' -- नई गइली
'''थोथराव अरु''' -- धक्का मुक्का कर
'''मेने जोमकेन''' -- नई खइली
'''चिलगेड मेने मेचकेन''' -- काहे नइ अइले
'''तोस''' -- निचे
'''तेंग''' -- उपर
'''आवा चि अशियाना''' -- तोहन का मांगत बडा
'''अम अगीयाड़ा''' -- तुम नलेन बड़े
'''सकोयेना''' -- सकता है
'''नयुडा''' -- पिये थे
'''दाह नयुडा''' -- पानी पिते थे
'''शरबरत नयुडा''' -- शराब पिते थे
'''पड़ोआ''' -- पड़ेगा
'''हासु पड़ोआ''' -- दर्द पड़ेगा
'''मेने पापड़ो ताना''' -- नही जानते है
'''अगुमि''' -- आइए
'''धइते''' -- प्रकार
'''क्वाआना''' -- नही है
'''वेकु''' -- वे
'''दोहोताना''' -- रह रहा है
'''दोहोनमी''' -- रख दिहा
'''इंज दोहोनयाना''' -- हम रख रहे हैं
'''इंज दोहोनयाना''' -- हम रख रहे हैं
'''दोहान''' -- रख
'''दोहो''' -- रह
'''दोहोनकेडा''' -- रख दिए है
'''लगड''' -- के लिए
'''दोहो उ''' -- रहेंगे
'''अरूकेन''' -- करत है
'''अरूयेना''' -- कर रहे हैं
'''अरूउ''' -- करेंगे
'''असुलयेना''' -- पोसते है पालते हैं
'''भेदयाना''' -- समझते है समझ रहे है
'''भेदकेडा''' -- समझ गए थे
'''इंज भेदउ''' -- हम समझेंगे
'''हेण्डेते''' -- बनाते है
'''खेपु''' -- बार
'''जुबा मिया खेपु''' -- एक बार जो
'''ते''' -- से
'''रेदो''' -- तथा
'''येदो''' -- अन्य
'''वऱो''' -- ओर
'''नाई इन्दरा पूरब वारो इदना''' -- नदी कुआ पुरब ओर है
'''आरू''' -- कर
'''धंधा आरू''' -- काम कर
'''साड़ामु''' -- छपर
'''नीहो दोहोने''' -- अभी रह
'''सकोयेना''' -- सकता है
'''गेदवइमी''' -- पुज
'''इंजदो हास दुबलायाना''' -- हम माटी कोड़ रहे हैं
'''ओत, हास''' -- जमीन
'''जवाकु''' -- जिनकी
'''दो''' -- को
'''ज्वारी''' -- जमा
'''ज्वारी इदना''' -- जमा है
'''आर''' -- मेह
'''येरमी''' -- उगाँव ( जमाँव )
'''येर मेने सकु''' -- उगा नही सकते
'''नेनी इदना''' -- इसी में है
'''नेऐ इदना''' -- ऐसा है
'''नेनी घइते''' -- इसी प्रकार
'''साकोताना''' -- सकता है
'''साकोयेडा''' -- सकती थी
'''साकोयेना''' -- सक रही है ( सह रहा है )
'''साकाउह''' -- सकेंगे
'''चिवा''' -- क्यों
'''चिल्ली''' -- क्या
'''हेण्डेमी''' -- बनाव
'''हेनारे''' -- उसको ( उसका / उसकी / उसके )
'''किदो''' -- हो कि
'''कनाई इदना''' -- कुछ है
'''कि''' -- हो
'''नेलताना चिवा''' -- देखते रहे है क्या
'''नेलयेना''' -- देख रहा है
'''इया''' -- कौन
'''आम इया इदना''' -- आप कौन है
'''चिघइते''' -- कैसे ; कैसन ( कैसा )
'''धंधा चिघइते इदना''' -- काम कैसे हैं
'''कानारे''' -- कोई
'''बगीमी''' -- अंतर ( अलग )
'''सगा''' -- जाति
'''रे''' -- मे
'''रेनी''' -- कि
'''आरोइमी''' -- करो ; कर
'''होताना''' -- हो रहा है
'''होतेडा''' -- होता था
'''होहो''' -- होगा
'''रेदो''' -- तो
'''नाआ''' -- इस ( इसका / इसे / इसको )
'''नदा''' -- यहा
'''झीझपे''' -- कवाडी खोल
'''टठडा झीझपे''' -- डाही खोल
'''सीझइपे''' -- लगाव
'''टठडा सिझइपे''' -- टाटी लगाव
'''सीझइपे कवाड़ी''' -- कवाडी लगाव
'''तिगिया सहन''' -- जलावन लकड़ी
'''बींज हबकेयेदिया''' -- साप काटा है
'''टेबो कानर कुवाना''' -- बात कुछ नही है
'''कनारा इदना''' -- कुछ है
'''जेलेटकेन''' -- बिछुल गइल
'''जेलेट लोजर केन''' -- बिछुल के गिर गइल
'''जनत जनत तिबयाना''' -- सच सच बता रहा हूँ
'''आपेदो''' -- आप लोग
'''हुडिंग''' -- कम छोटा
'''बेबोहरू''' -- प्रयोग ; इस्तेमाल ( व्यवहार )
'''रूख''' -- पेड़
'''चिघइते''' -- कैसे
'''लागोताना''' -- लग रहा है
'''डाड़''' -- दण्ड
'''लइमी''' -- खोद कोड़
'''लरंग''' -- लता
'''लाबितु''' -- बच्चा का नाभी
'''लंगटा होड़''' -- गरीब आदमी
'''खोहड़ी''' -- खोह
'''रिझुमी''' -- आनन्द मनाना
'''मी''' -- पर
'''दाहलुयुमि''' -- पानी भर
'''लुलुसिकु होइ एदना''' -- लुटमार आदमी ह
'''जेरमूगोज इदिया''' -- कत्ल करना
'''लोगरी''' -- पहाड़ी क्षेत्र ( घुटरा )
'''कोढ़ी होड़ इदना''' -- कोइ काम के ब्यक्ति नही
'''पसन''' -- पसन्द
'''मेने पसन''' -- नापसंद है
'''मगम''' -- बंधु
'''मनोकेन''' -- मानी जाती है
'''बेगार''' -- बिना
'''मनायाना''' -- माना जा रहा है
'''बितरी''' -- बोदी
'''दाह बसंग यैना''' -- पानी उबल रहा है
'''पेरेज''' -- भरना
'''सहन पड़ागे''' -- लकड़ी फाड़
'''कटट पाखार (कटट बुहलमी)''' -- पैर धोना
'''कटट बुलहयाना''' -- पैर धोआ रहा है
'''धावा''' -- सरहुल
'''तीगमी''' -- जलाव
'''जुरमी''' -- ताप
'''तोसंग''' -- जाम करना
'''सहन तोसंग''' -- लकड़ी जाम कर
'''तुसिंग''' -- पहनना
'''आम तुसिंग''' -- आप पहनिए
'''उटकरू''' -- उसर
'''ओतरे उटकरू''' -- जमीन उसर है
'''उदवइमि''' -- उड़ना
'''एगेरमी''' -- गाली देगा
'''सहोदमी''' -- महसुस करना
'''उड़न खटोली''' -- हवाई जहाज
'''ओतोंगयेना''' -- पिछा करना
'''ओवइमी''' -- प्रदान करवा देना
'''ओरेमु''' -- खिंचो
'''इसिनमी''' -- पकाव
'''एटा इदाना''' -- दुसर के है
'''एटा''' -- दुसर
'''काडोम''' -- नेठो
'''खेतहोड़ा''' -- किसान
'''कठाडु होड़''' -- सिकारी आदमी
'''बोनोम होड़''' -- अबादी
'''फउरा''' -- कुदाली
'''गैतु''' -- गइता
'''गेरमू''' -- छेछना ( काटना )
'''चपुतमी''' -- मोड़ना
'''कोतरी''' -- पोठी मछली
'''हन्ते''' -- तरफ से
'''अम हन्ते''' -- आपके तरफ से
'''खीस''' -- गुस्सा
'''खीस इदना''' -- गुस्सा मे है
'''कोसा''' -- खोपा
'''कोड़ा''' -- पुरूप
'''कोड़ी''' -- महिला
'''कोड़या होड़ मियां टांग मेट होड''' -- एक आख वाला आदमी
'''खचडा होड़कु''' -- बदमास आदमी
'''अलियार''' -- गंदा ( गंदगी )
'''खाचली''' -- टोकरी
'''खुन्टा''' -- खुटा
'''गहिरू''' -- गहरा
'''गुतली''' -- कुदकुदाना
'''गुनदरी''' -- लेदरा
'''गोइतु''' -- बहन के ननद के गोर कहते है
'''गोधा''' -- साथी
'''गोरधा''' -- अखैन
'''वीदीकघन''' -- घना
'''दलमुलव इदना''' -- घायल है
'''चुनिज (सिमनी सीमकू चुनिज)''' -- बच्चा
'''चेदुआ''' -- सिख
'''चेटकेन''' -- सिखा
'''रक्त''' -- खुन
'''पखरमी''' -- जॉच कर
'''सेतामी''' -- सटना
'''सेताकेन''' -- साट दो
'''जवानू''' -- जिसे
'''जिहेन्ते''' -- ध्यान से
'''जुना''' -- जाओ
'''करामीन''' -- जहिया ( कहिरा )
'''लतर''' -- लरंग
'''जोख''' -- तौलना
'''दलकी''' -- दलदल
'''दलदली इदना''' -- दलदल है
'''पावलगी''' -- प्रणाम
'''लाइजमी''' -- डालना
'''सुनुम लाइजमी''' -- तेल डाल
'''लेटे लाइजमी''' -- भात डाल
'''कुदी लाइजमी''' -- चावल डाल
'''जोड़ोम''' -- जोड़ना
'''ठाठवतु''' -- गमला
'''ठिलि''' -- छोटा गघरी
'''टुडामी''' -- छुना ( छु )
'''टोटाकेन''' -- टुट गइल
'''चपोम''' -- हड़कराही
'''मुखु''' -- प्रधान
'''कारावरी लड़इमी''' -- किधर से खुली
'''दाह जोरोन''' -- झरना
'''ठावयेरा''' -- नजदीक
'''टॉगा''' -- कुल्हाड़ी
'''नेनमिन''' -- मात्र
'''झेफ''' -- मासाहारी
'''सेफ''' -- साकाहारी
'''जीवतु''' -- जिवन
'''तोहोड''' -- ठेस
'''तोहोडकेना''' -- ठेस लागल बा
'''पोतनी''' -- पोतन
'''पुरब अंगा''' -- पुरब
'''पश्चिमअंगा''' -- पश्चिम
'''दक्षिणअंगा''' -- दक्षिण
'''उत्तरअंगा''' -- उत्तर
'''सीड़कु''' -- सभी
'''सोमोय लगड''' -- सदा के लिए
'''हीनुहोह येदिया''' -- अधिनता लगाते हो
'''उमेरू''' -- उम्र
'''गोजकेन''' -- मर गई
'''करा''' -- किस कब
'''आम करा बेला मेचकेन''' -- आप कब समय आये
'''बाटांगयो''' -- दोनों है
'''हेनी लगड''' -- उसके लिए
'''छुतुर''' -- छुत
'''सिड़कु लेंगड''' -- सबके लिए
'''हेनारे चिली नुमु इदना पापडीताना''' -- उसका क्या नाम है जानते हो ( जान रहा है )
'''मेने एमयाडा''' -- नही देता था
'''मेने एमयाना''' -- नही दे रहा है
'''बंडेतानायु''' -- बढ़ रहा है
'''तीला''' -- लुंगा
'''तीलामी''' -- खर दुगां
'''तीलामियाना''' -- खरीद रहा हूँ
'''आरू''' -- कर
'''तेसिंजदो''' -- आज
'''आले''' -- हम
'''आलेरे''' -- हमारे
'''हेनोर''' -- उस ( उसको )
'''हेनामे''' -- उसमें
'''ने''' -- ले
'''ते''' -- से
'''इंज''' -- हम
'''कानायू''' -- कोई
'''कारेआ''' -- कहा
'''हेनी''' -- वह
'''हन्तेर''' -- वहां
'''हेनीयुदो''' -- वे तो
'''तेले''' -- तरह
'''हेनीयुआले''' -- वे हमसे
'''नेलेपे आलोपे अडिते''' -- देखो मत ठगा जाना
'''जनते''' -- सचमुच
'''ठावर वाला''' -- सामने वाला
'''तोहोडतनायु''' -- ठेस लागल है
'''भारीरेया कोड़ी''' -- गर्भवती महिला है
'''बौराह होड़ इदना''' -- पागल आदमी है
'''आरूपी''' -- कर दुंगा
'''टेबोकुआना''' -- कोई बात नहीं
'''पड़ोआ''' -- पड़ेगा
'''दो''' -- तो
'''हेमखा''' -- हाँ
'''तेंग होड़''' -- उँचा आदमी
'''तोग होड़''' -- नाटा आदमी
'''नमकेन''' -- मिल
'''होलावाजमी''' -- साइड दे
'''होलावाजमी मड़ंग ते लोआ''' -- साइड दे आगे चलुंगा
'''खेतरे दाह इज पटोआह''' -- खेत के पानी पटाउंगा
'''बेजायमीबाजा''' -- बाजा बजाओ
'''वन्दआरू''' -- बंद कर
'''तयमकेना''' -- छिपाए है
'''हेइनेदेया''' -- ओ मारेगा
'''इंजनेदेया''' -- हम मारूंगा
'''आलेनेदाया''' -- हम मारेंगे
'''आलेनेदाया''' -- हम मार रहे थे
'''तीसींगगापा''' -- आजकल
'''बेसइपे''' -- बहुत
'''खिधोड़ दाह''' -- खराब पानी
'''ओड़ा हुडिंग इदना''' -- घर छोटा है
'''ओतत बेनेश इदना''' -- जमीन अच्छा है
'''मैंने''' -- नही
'''मिया सेंगतेगति''' -- एक साथी के साथ
'''मड़ग''' -- पहिले
'''मड़ग मेजुबा''' -- पहले आइए
'''ओतरे रोहेमी''' -- जमीन में गाड़ ( जमीन में रोपना )
'''मेनु''' -- उतना
'''आपोलयाना''' -- तैर रहा है
'''जापाकेन''' -- चपा गया
'''बानधेड़''' -- बांध
'''हाडामु''' -- बुढ़ापा
'''लागोताना''' -- लगता है
'''आसु पासु रे''' -- आस पास मे
'''कानारा एरो होहो''' -- कुछ नही होगा
'''मेने उडुगकेना''' -- नही निकलती है
'''गुनु होड़''' -- बुद्धिमान आदमी
'''तजड़उ ढुवइमी''' -- लुट केले गये
'''चटाकेन''' -- पत्थर हो गया
'''चीलीम खीसकेन''' -- काहे गुस्सा है
'''बेनेश आ दो धन्यवाद उवइयेना''' -- अच्छा आपको धन्यवाद देता हूँ
'''उपोलोआ''' -- तैरना
'''दाहरे अपोलोयेना''' -- पानी मे तैरते है
'''होलोकयाना''' -- डुब रहा है
'''दाहरे होलोकयाना''' -- पानी मे डुब रहा है
'''रोचेटकेन''' -- धस गया
'''चेरचेरे''' -- परपरात बा
'''हटिया''' -- तीता
'''ढुडा''' -- छु
'''हान्डे''' -- उधर
'''हेण्डे''' -- इधर
'''हेण्डेते''' -- ऐसी ही रह
'''ओ''' -- का
'''रे''' -- में
'''ते''' -- से
'''हो''' -- को
'''बोतना''' -- घुस्ता है
'''पडुवा''' -- पड़ेगा
'''विदयाइमी''' -- छिटना
'''मनोकेना''' -- मनाई जाती है
'''नमकेन''' -- मिलल
'''बन्देगोते''' -- बन्द कर
'''लागोताना''' -- लग रहा है
'''अरूयेना''' -- कर रहा है
'''आरूपा''' -- कर दुंगा
'''इंज चिवा अरू''' -- मैं क्या करू
'''इंज लौआ''' -- मैं चलुंगा
'''एमगोतम''' -- दे रखा
'''नमुआ''' -- मिली
'''दो''' -- तो
'''चड़ामी''' -- खड़ा हो
'''दुडुपमी''' -- बैठिल
'''गिसीनमी''' -- लगा
'''बधीरमी''' -- बझाँव ( फसाँव )
'''उब''' -- बाल
'''समंग''' -- लिलार
'''लुंतुर''' -- कान
'''अहम''' -- मुँह
'''अलंग''' -- जिभ
'''खंदी''' -- कंधा
'''अगरी''' -- अंगुली
'''मोह''' -- सिर
'''मेट''' -- आँख
'''मुम''' -- नाक
'''तिरिंग''' -- दातं
'''होटोप''' -- गर्दन ( टोटा )
'''तीम''' -- हाथ
'''नाहे''' -- नाह
'''कुडुम''' -- छाती
'''बुकी''' -- नाभी
'''देया''' -- पीठ
'''चपती''' -- हथेली
'''केवा उब''' -- दाढ़ी
'''मुकड़े''' -- घुटना
'''जोहा''' -- गाल
'''केवा''' -- ठोली
'''आहाउब''' -- मुँछ
'''पिटट''' -- जाँघ
'''लाजउ''' -- पेट
'''मयंग''' -- कमर ; डांड़
'''खाल''' -- चमड़ी
'''ठोठम''' -- ओठ
'''इडगी''' -- एड़ी
'''हतलअ''' -- कॉख
'''होटोअप''' -- टोटा
'''खाल''' -- चमड़ी
'''कटह''' -- पैर
'''सिंज ओ नूमू''' -- दिन का नाम
'''सोमरू''' -- सोमवार
'''मंगरू''' -- मंगलवार
'''बुधरू''' -- बुधवार
'''विफरू''' -- वृस्पतिवार
'''शुकरू''' -- शुक्रवार
'''शनिरू''' -- शनिवार
'''इतवारू''' -- रविवार
'''1''' -- मियाटॉग
'''2''' -- बाटॉग
'''3''' -- पेइटॉग
'''4''' -- चाटॉग
'''5''' -- पाटॉग
'''6''' -- छाटॉग
'''7''' -- साटॉग
'''8''' -- आटॉग
'''9''' -- नाटॉग
'''10''' -- दशटॉग
'''11''' -- दमियाटॉग
'''12''' -- दबाटॉग
'''13''' -- दपेइटॉग
'''14''' -- दचाटॉग
'''15''' -- दपटॉग
'''16''' -- दछाटॉग
'''17''' -- दसाटॉग
'''18''' -- दआटॉग
'''19''' -- दनाटॉग
'''20''' -- बीसटॉग
'''21''' -- बीमियॉटॉग
'''22''' -- बीबाटॉग
'''23''' -- बीपेइटॉग
'''24''' -- बीचाटॉग
'''25''' -- बीपाटॉग
'''26''' -- बीछाटॉग
'''27''' -- बीसाटॉग
'''28''' -- बीआटॉग
'''29''' -- बीनाटॉग
'''30''' -- तीसटॉग
'''31''' -- तीमियॉटॉग
'''32''' -- तीबाटॉग
'''33''' -- तीपेइटॉग
'''34''' -- तीचाटॉग
'''35''' -- तीपाटॉग
'''36''' -- तीछाटॉग
'''37''' -- तीसाटॉग
'''38''' -- तीआटॉग
'''39''' -- तीनाटॉग
'''40''' -- चालिसटॉग
'''41''' -- चामियॉटॉग
'''42''' -- चाबाटॉग
'''43''' -- चापेइटॉग
'''44''' -- चाचाटॉग
'''45''' -- चापाटॉग
'''46''' -- चाछाटॉग
'''47''' -- चासाटॉग
'''48''' -- चाआटॉग
'''49''' -- चानाटॉग
'''50''' -- पचासटॉग
'''51''' -- पमियॉटॉग
'''52''' -- पबाटॉग
'''53''' -- पपेइटॉग
'''54''' -- पचाटॉग
'''55''' -- पपाटॉग
'''56''' -- पछाटॉग
'''57''' -- पसाटॉग
'''58''' -- पआटॉग
'''59''' -- पनाटॉग
'''60''' -- साठटॉग
'''61''' -- सामियॉटाग
'''62''' -- साबाटॉग
'''63''' -- सापेइटॉग
'''64''' -- साचाटॉग
'''65''' -- सापाटॉग
'''66''' -- साछाटॉग
'''67''' -- सासाटॉग
'''68''' -- साआटॉग
'''69''' -- सानाटॉग
'''70''' -- सतरटॉग
'''71''' -- सतमियॉटॉग
'''72''' -- सतबाटॉग
'''73''' -- सतपेइटॉग
'''74''' -- सतचाटॉग
'''75''' -- सतपाटॉग
'''76''' -- सतछाटॉग
'''77''' -- सतसाटॉग
'''78''' -- सतआटॉग
'''79''' -- सतनाटॉग
'''80''' -- असीटॉग
'''81''' -- अमियॉटॉग
'''82''' -- अबाटॉग
'''83''' -- अपेइटॉग
'''84''' -- अचाटॉग
'''85''' -- अपाटॉग
'''86''' -- अछाटॉग
'''87''' -- असाटॉग
'''88''' -- अआटॉग
'''89''' -- अनाटॉग
'''90''' -- नबेटॉग
'''91''' -- नमियॉटॉग
'''92''' -- नबाटॉग
'''93''' -- नपेइटॉग
'''94''' -- नचाटॉग
'''95''' -- नपाटॉग
'''96''' -- नछाटॉग
'''97''' -- नसाटॉग
'''98''' -- नआटॉग
'''99''' -- ननाटॉग
'''100''' -- सौटॉग
'''10''' -- दसटॉग
'''20''' -- बीसटॉग
'''30''' -- तीसटॉग
'''40''' -- चालिसटॉग
'''50''' -- पचासटॉग
'''60''' -- साठटॉग
'''70''' -- सतरटॉग
'''80''' -- असीटॉग
'''90''' -- नबेटॉग
'''100''' -- सौटॉग
'''1000''' -- मियॉजार
'''2000''' -- बाजार
'''3000''' -- तीजार
'''4000''' -- चाजार
'''5000''' -- पाजार
'''6000''' -- छाजार
'''7000''' -- साजार
'''8000''' -- आजार
'''9000''' -- नाजार
'''10000''' -- दसजार
'''100000''' -- मिया दास
'''200000''' -- बादाख
'''ईकाई''' -- इकाईरू
'''दहाई''' -- दहाईरू
'''सैकड़ा''' -- सौटॉग
'''हजार''' -- जार
'''लाख''' -- दाख
'''दसलाख''' -- दस दाख
'''करोड़''' -- करोर
'''दस करोड़''' -- दस करोर
'''अरब''' -- करब
'''दस अरब''' -- दस करब
'''खरब''' -- गरब
'''दस खरब''' -- दसगरब
'''नील''' -- ईल
'''दस नील''' -- दसईल
'''पदम''' -- हदम
'''दस पदम''' -- दसहदम
'''शंख''' -- अंख
'''दस शंख''' -- दस अंख
'''महाशंख''' -- महाअंख
'''बोताना''' -- घुसता है
'''इज्जतु''' -- इज्जत
'''मनोकेना''' -- मानई जाती है
'''मेहनाइता''' -- मेहनत
'''जतनु दोहो केना''' -- सुरक्षित रखे
'''मारिआ''' -- पुराना
'''इतिजु''' -- कोथना
'''कोसा''' -- खोपा
'''खेन्ता''' -- रानी
'''गादरो''' -- दिवार
'''लातु''' -- खोह
'''रिमियु''' -- उठा देना
'''रूकुम''' -- हिलाना
'''चीड़ा मरीआ''' -- कपड़ पुराना है
'''गोधा''' -- साथ में दोस्त
'''गारादु होड़''' -- अगयानी आदमी
'''गुंगुंरू''' -- मच
'''चोचोरा''' -- चुराना
'''लोजोर केना''' -- गिराव
'''टेसरा''' -- बाल फसल का
'''करेइदिय''' -- कहा बा
'''ओड़ा ओ दीपिल''' -- गृहस्थी का सामग्री
'''अमारी''' -- अलमारी
'''बटखारा''' -- तराजु
'''परंग''' -- पलंग
'''बोलट''' -- बोतल
'''बेच''' -- बेंच
'''ब्रश''' -- ब्रश
'''मचिया''' -- कुर्सी
'''कराही''' -- कडाही
'''अकड़ी''' -- सिकडी
'''मुनबती''' -- मुमबती
'''छिपी''' -- थाली
'''परकोम''' -- खटिया
'''ढपन''' -- ढक्कन
'''नकाशा''' -- नक्शा
'''पतिया''' -- चटाइ
'''चेहरनी''' -- दर्पण
'''ओखरी''' -- ओखली
'''सुइजी''' -- सुई
'''ताकिया''' -- तकिया
'''तश्तरी''' -- तश्तरी
'''शीशी''' -- शीशी
'''अमच''' -- चम्मच
'''सोटी''' -- छड़ी
'''बेलन''' -- बेलन
'''बेलन गन्डु''' -- पिडा
'''टान्गी''' -- कहुलहाडी
'''खाचली''' -- टोकरी
'''बारटी''' -- बाल्टी
'''बकास''' -- बॉक्स
'''नकीज''' -- कंघी
'''सिंगादान''' -- सिंगरदान
'''एजर''' -- रेजर
'''नामरू''' -- स्केल
'''ग्लास''' -- ग्लास
'''दिरू''' -- दिया
'''खोरना''' -- सलाई
'''झाकन''' -- खिड़की
'''छरौता''' -- सरौता
'''छाप''' -- च़ित्र
'''जमवाड़ा''' -- चबुतरा
'''छर्तन''' -- बर्तन
'''सड़सी''' -- सडसी
'''लुडुम''' -- रस्सी
'''अलनी''' -- चलनी
'''रोहर''' -- मोहर
'''इमटा''' -- चिमटा
'''छमा''' -- छाता
'''डेगची''' -- तसला
'''डुवा''' -- डुभा
'''लुडु''' -- ढेकी
'''जान्ता''' -- जाता
'''लोरटा''' -- लोटा
'''सिरवट''' -- सिलवट
'''लुडुगमी''' -- कुट
'''कंडा''' -- घड़ा
'''बहैगा''' -- सिन्का
'''टेप''' -- फिता
'''मोबती''' -- मोमबती
'''बादा''' -- ताला
'''खोलनी''' -- चाबी
'''गैतु''' -- गइता
'''फउरा''' -- कुदाल
'''गुनदरी''' -- लेदरा
'''रीडीया''' -- पिस
'''रीडीया''' -- पिस
'''खटोला''' -- हवाई जहाज
'''डोंगा''' -- नाव
'''पैसा''' -- रूपया
'''कगद''' -- किताब
'''कोपी''' -- कॉपी
'''फोल्टेन''' -- कलम
'''गोछा''' -- बोझा
'''चपोम''' -- हड़कराही
'''पतड़ी''' -- पतल
'''लोरहा''' -- लोड़हा
'''सकमओड़ा''' -- झोपड़ी
'''एटा जोम्य पदार्थ''' -- अन्य तथा स्वादय पदार्थ
'''रोन्टी''' -- रोटी
'''होहोन''' -- अंडा
'''अन्टा''' -- आटा
'''ड़गु''' -- गुड़
'''मुनुगफली''' -- मुन्गफली
'''लेटे''' -- भोजन
'''हाकुकु''' -- मछली
'''बुनुट''' -- चना
'''मन्सुर''' -- मसुर
'''जिनोर''' -- मकई
'''हुडु''' -- धान
'''दुधरू''' -- दुध
'''जिल''' -- मांस
'''मन्टर''' -- मटर
'''रस''' -- रस
'''चीडी''' -- चीनी
'''मिमठाइ''' -- मिठाई
'''चखनी''' -- चटनी
'''चाहु''' -- चाय
'''तमक''' -- खैनी
'''गेहुन्ट''' -- गेहूँ
'''दाह''' -- पानी
'''उतु''' -- दाल
'''सुड़िया''' -- मिठा
'''चेरेचेरे''' -- तिता
'''बुलुम''' -- नमक
'''सोरत''' -- शरबत
'''गाजेर''' -- मट्ठा
'''इलि''' -- शराब
'''मुरन्बा''' -- मुरब्बा
'''मनलाठ''' -- मलाई
'''तियन''' -- सब्जि
'''भुनजिया''' -- भुजिया
'''बवरफ''' -- बर्फ
'''अन्चार''' -- अचार
'''बितरू''' -- बोदी
'''कुन्दी''' -- चावल
'''जनौब''' -- जौ
'''कुरून्थी''' -- कुरथी
'''बनटुरा''' -- बटुरा
'''मननडीया''' -- मरूवा
'''लहेड़''' -- रहर
'''चाहु''' -- चाय
'''तीलमीज''' -- तील
'''तुसिन ओयुल ओ चिड़ा''' -- पहनने एवं ओढ़ने का वस्त्र
'''कबल''' -- कम्बल
'''ओली''' -- चोली
'''कोन्ट''' -- कोट
'''गद्दा''' -- गद्दा
'''मुकिट''' -- मुकुट
'''रूमान''' -- रूमाल
'''मुपलर''' -- मफलर
'''चिडा''' -- कपड़ा
'''टाई''' -- टाई
'''टोन्पी''' -- टोपी
'''रूबा''' -- रूई
'''हथछेपी''' -- दस्ताना
'''साफी''' -- गमछी
'''गंजा''' -- गंजी
'''पैंट''' -- पैंट
'''लहगा''' -- लहंगा
'''अंगा''' -- कमीज
'''ओढनी''' -- शाल
'''तौडिया''' -- तौलिया
'''सुतर''' -- धागा
'''तादर''' -- चादर
'''रजाइ''' -- रजाइ
'''पताबा''' -- मोजा
'''टुपा''' -- दुपट्टा
'''फान्हीकु''' -- जुता
'''पगरी''' -- पगड़ी
'''करछा''' -- कछा
'''जीरस''' -- जिंस
'''लुगा''' -- साडी
'''चटी''' -- चप्पल
'''जनावर ए नुमु''' -- जानवर के नाम
'''डागरी''' -- गाय
'''डगरा''' -- बैल
'''मेरोम''' -- बकरी
'''गदही''' -- गदहा
'''कुलामी''' -- खरगोश
'''उत''' -- उँट
'''हान्थी''' -- हाथी
'''बरदा''' -- बैल
'''कुतकु''' -- कुता
'''होपो''' -- घोड़ा
'''कुल्ह''' -- बाघ
'''पिशु''' -- बिल्ली
'''टिकरी''' -- बंदर
'''सरायू''' -- हिरण
'''मन्झर''' -- बिच्छु
'''सुकरी''' -- सुअर
'''छाडा''' -- हनुमान
'''बुआकु''' -- सियार
'''बिंज''' -- सांप
'''काटकोम''' -- खेखड़ा
'''चितडाकु''' -- चितर
'''भइसी''' -- भैसी
'''भइसा''' -- भैंस
'''लेरूकु''' -- बछड़ा
'''भेड़िकु''' -- भेड़ी
'''चुटुकु''' -- चुहा
'''हापटकू''' -- जोंक
'''रोकेय''' -- बेंग
'''गोवरू''' -- गोबर
'''चिरई ओ नुमु''' -- पक्षी का नाम
'''परेवा''' -- कबुतर
'''कोकाट''' -- उल्लु
'''सिमकु''' -- मुर्गी
'''कोको''' -- कोयल
'''दोछ''' -- तोता
'''पनकी''' -- पठकी
'''काहु''' -- कौआ
'''गोरेया''' -- गौरया
'''मराअ''' -- मोर
'''गेडे''' -- बतख
'''बोकली''' -- बकुला
'''सुइच''' -- सुइया
'''जोकुउ ओ नुमु''' -- फल का नाम
'''केडा''' -- केला
'''उल्ह''' -- आम
'''मेवा''' -- पपिता
'''विहि''' -- अमरूद
'''तहेर''' -- खीरा
'''सेव''' -- सेव
'''कटहर''' -- कटहल
'''अमली''' -- इमली
'''जाम''' -- जामन
'''सन्तरा''' -- संतरा
'''अंगुर''' -- अंगुर
'''खरबुजा''' -- तरबुज
'''इगुडाटी''' -- ईख
'''बइर''' -- बैर
'''मदकम''' -- महुआ
'''गुलर''' -- डुमर
'''तियन ओ नुमु''' -- सब्जि का नाम
'''कोहडा''' -- कददु
'''लखआ''' -- लौकी
'''मलहन''' -- सेमी
'''अड़ा''' -- साग
'''पिठारू''' -- आलु
'''बेगा''' -- बैंगन
'''गाबा''' -- कोभी
'''लसुड़''' -- लसुन
'''ठारू''' -- प्याज
'''मुरइ''' -- मुली
'''चेचेर''' -- मिर्च
'''पवटल''' -- पटल
'''कोहड़ा''' -- कोहड़ा
'''पोनडी''' -- सफेद
'''केदे''' -- काला
'''पिलिया''' -- पिला
'''निलिया''' -- निला
'''कइथा''' -- कथा
'''भुरू''' -- भुरा
'''हेन्दे''' -- हरा
'''लेन्दे''' -- लाल
'''रूधु ओ नुमु''' -- पेड़ का नाम
'''सकम''' -- पतइ
'''कोकड़ा''' -- सुखा वृक्ष
'''रूधु''' -- पेड़
'''लेड़''' -- जड़
'''लरंग''' -- लता
'''साहन''' -- लकड़ी
'''जिगडी''' -- गिजन
'''येदेल''' -- सेमर
'''धावा''' -- सरहुल
'''तसार''' -- खैर
'''तारोब''' -- पियार
'''बहा''' -- फुल
'''कोराकुटु''' -- फल
'''सरजोम''' -- सखुवा
'''जरी''' -- जड़
'''लुडुम''' -- रस्सी
'''अनम इदना''' -- तोर है
'''आपे इदना''' -- आपका है
'''केडमा''' -- उछड़
'''तवम यु''' -- पीछे
'''विदवाइमी''' -- छींटना
'''हितो नातो''' -- रिश्ता
'''आजा''' -- बाबा
'''आजी''' -- दाई
'''ततम''' -- नाना
'''जियम''' -- नानी
'''नुनु''' -- चाचा
'''ककी''' -- चाची
'''ईगम''' -- माई
'''अपुंग''' -- बाप
'''तेजा''' -- जीजा
'''मांजी''' -- बहनोई
'''इयार''' -- इयार
'''गोइ''' -- गोइ
'''होजरमी''' -- ससुर
'''हनहर''' -- सास
'''अरदकु''' -- दमाद
'''एरम''' -- कन्या
'''बुढ़िज''' -- पत्नि
'''हडम''' -- पति
'''कुडी''' -- नाती
'''कुडिम''' -- नातिन
'''कुम्म''' -- मामा
'''हातोम''' -- मामी
'''गेड़े''' -- भगीना
'''बोहोम''' -- छोटा भाई
'''भाची''' -- भगनी
'''साडुह''' -- साडु
'''मिसिट''' -- बहन
'''मगम''' -- भाई
'''काया''' -- शरीर
'''धातु ओ नुमु''' -- धातु का नाम
'''सोनाकू''' -- सोना
'''चाँदीकू''' -- चाँदी
'''लाहे''' -- लोहा
'''पितलकू''' -- पितल
'''कासकू''' -- काश
'''खोखा''' -- सिल्वर
'''स्टिलकू''' -- स्टील
== स्रोत ==
*[https://bharatavani.in//home/book?id=कोरवा भाषा शब्दकोष | Korwa Bhasha Shabdkosh]
g4ovydxg7x9f78e3o6mb1enc91ej90q