विक्षनरी
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
विक्षनरी:भाषाओं की सूची
4
1114
488566
488297
2026-09-10T18:12:40Z
SM7
6218
updating...per enwikt
488566
wikitext
text/x-wiki
{{shortcut|WT:LANGLIST|WT:LOL|WT:LL}}
{{main|विक्षनरी:भाषाएँ}}
This page lists all languages that may have level-2 language headers in Wiktionary entries. The contents of this page is generated directly from [[Module:languages]], and any changes to that module will be automatically reflected on this page, once the software refreshes it. See [[Wiktionary:List of languages/special#Etymology-only languages]] for additional codes for language subvarieties that appear in various places, such as in link templates. See the other sections of [[Wiktionary:List of languages/special]] for lists of languages that have special settings or properties. This includes languages that are reconstructed, languages that have automatic generation of sort keys, and so on.
To find a language code quickly, add the code to your URL as a section link. For example, [[Wiktionary:List of languages#en]] will link directly to English.
See also [[Wiktionary:List of families]] and [[Wiktionary:List of scripts]].
If you are running a bot or other automation tool which needs to access Wiktionary data, see [[WT:LOLCSV]] or [[Module:languages/javascript-interface]].
There are currently {{#invoke:list of languages|count}} language codes.
==Two-letter codes==
These codes are taken from [[w:ISO 639-1|ISO 639-1]].
{{#invoke:list of languages|show|ids=1|two-letter code}}
==Three-letter codes==
These codes are taken from [[w:ISO 639-3|ISO 639-3]], a few from [[w:ISO 639-2|ISO 639-2]].
===a===
{{#invoke:list of languages|show|ids=1|three-letter code|a}}
===b===
{{#invoke:list of languages|show|ids=1|three-letter code|b}}
===c===
{{#invoke:list of languages|show|ids=1|three-letter code|c}}
===d===
{{#invoke:list of languages|show|ids=1|three-letter code|d}}
===e===
{{#invoke:list of languages|show|ids=1|three-letter code|e}}
===f===
{{#invoke:list of languages|show|ids=1|three-letter code|f}}
===g===
{{#invoke:list of languages|show|ids=1|three-letter code|g}}
===h===
{{#invoke:list of languages|show|ids=1|three-letter code|h}}
===i===
{{#invoke:list of languages|show|ids=1|three-letter code|i}}
===j===
{{#invoke:list of languages|show|ids=1|three-letter code|j}}
===k===
{{#invoke:list of languages|show|ids=1|three-letter code|k}}
===l===
{{#invoke:list of languages|show|ids=1|three-letter code|l}}
===m===
{{#invoke:list of languages|show|ids=1|three-letter code|m}}
===n===
{{#invoke:list of languages|show|ids=1|three-letter code|n}}
===o===
{{#invoke:list of languages|show|ids=1|three-letter code|o}}
===p===
{{#invoke:list of languages|show|ids=1|three-letter code|p}}
===q===
{{#invoke:list of languages|show|ids=1|three-letter code|q}}
===r===
{{#invoke:list of languages|show|ids=1|three-letter code|r}}
===s===
{{#invoke:list of languages|show|ids=1|three-letter code|s}}
===t===
{{#invoke:list of languages|show|ids=1|three-letter code|t}}
===u===
{{#invoke:list of languages|show|ids=1|three-letter code|u}}
===v===
{{#invoke:list of languages|show|ids=1|three-letter code|v}}
===w===
{{#invoke:list of languages|show|ids=1|three-letter code|w}}
===x===
{{#invoke:list of languages|show|ids=1|three-letter code|x}}
===y===
{{#invoke:list of languages|show|ids=1|three-letter code|y}}
===z===
{{#invoke:list of languages|show|ids=1|three-letter code|z}}
==Exceptional codes==
These codes are not part of any standard, but have been adopted within Wiktionary.
{{#invoke:list of languages|show|ids=1|exceptional}}
[[श्रेणी:सभी भाषाएँ]]
ckq91qaxseqoc97j6jf7iz0qon5zcw1
488567
488566
2026-09-10T18:14:45Z
SM7
6218
टेम्प hide
488567
wikitext
text/x-wiki
<!--{{shortcut|WT:LANGLIST|WT:LOL|WT:LL}}-->
{{main|विक्षनरी:भाषाएँ}}
This page lists all languages that may have level-2 language headers in Wiktionary entries. The contents of this page is generated directly from [[Module:languages]], and any changes to that module will be automatically reflected on this page, once the software refreshes it. See [[Wiktionary:List of languages/special#Etymology-only languages]] for additional codes for language subvarieties that appear in various places, such as in link templates. See the other sections of [[Wiktionary:List of languages/special]] for lists of languages that have special settings or properties. This includes languages that are reconstructed, languages that have automatic generation of sort keys, and so on.
To find a language code quickly, add the code to your URL as a section link. For example, [[Wiktionary:List of languages#en]] will link directly to English.
See also [[Wiktionary:List of families]] and [[Wiktionary:List of scripts]].
If you are running a bot or other automation tool which needs to access Wiktionary data, see [[WT:LOLCSV]] or [[Module:languages/javascript-interface]].
There are currently {{#invoke:list of languages|count}} language codes.
==Two-letter codes==
These codes are taken from [[w:ISO 639-1|ISO 639-1]].
{{#invoke:list of languages|show|ids=1|two-letter code}}
==Three-letter codes==
These codes are taken from [[w:ISO 639-3|ISO 639-3]], a few from [[w:ISO 639-2|ISO 639-2]].
===a===
{{#invoke:list of languages|show|ids=1|three-letter code|a}}
===b===
{{#invoke:list of languages|show|ids=1|three-letter code|b}}
===c===
{{#invoke:list of languages|show|ids=1|three-letter code|c}}
===d===
{{#invoke:list of languages|show|ids=1|three-letter code|d}}
===e===
{{#invoke:list of languages|show|ids=1|three-letter code|e}}
===f===
{{#invoke:list of languages|show|ids=1|three-letter code|f}}
===g===
{{#invoke:list of languages|show|ids=1|three-letter code|g}}
===h===
{{#invoke:list of languages|show|ids=1|three-letter code|h}}
===i===
{{#invoke:list of languages|show|ids=1|three-letter code|i}}
===j===
{{#invoke:list of languages|show|ids=1|three-letter code|j}}
===k===
{{#invoke:list of languages|show|ids=1|three-letter code|k}}
===l===
{{#invoke:list of languages|show|ids=1|three-letter code|l}}
===m===
{{#invoke:list of languages|show|ids=1|three-letter code|m}}
===n===
{{#invoke:list of languages|show|ids=1|three-letter code|n}}
===o===
{{#invoke:list of languages|show|ids=1|three-letter code|o}}
===p===
{{#invoke:list of languages|show|ids=1|three-letter code|p}}
===q===
{{#invoke:list of languages|show|ids=1|three-letter code|q}}
===r===
{{#invoke:list of languages|show|ids=1|three-letter code|r}}
===s===
{{#invoke:list of languages|show|ids=1|three-letter code|s}}
===t===
{{#invoke:list of languages|show|ids=1|three-letter code|t}}
===u===
{{#invoke:list of languages|show|ids=1|three-letter code|u}}
===v===
{{#invoke:list of languages|show|ids=1|three-letter code|v}}
===w===
{{#invoke:list of languages|show|ids=1|three-letter code|w}}
===x===
{{#invoke:list of languages|show|ids=1|three-letter code|x}}
===y===
{{#invoke:list of languages|show|ids=1|three-letter code|y}}
===z===
{{#invoke:list of languages|show|ids=1|three-letter code|z}}
==Exceptional codes==
These codes are not part of any standard, but have been adopted within Wiktionary.
{{#invoke:list of languages|show|ids=1|exceptional}}
[[श्रेणी:सभी भाषाएँ]]
8wcdtqb12yo74tvxha4jo6w2co2hmmq
20
0
3779
488565
478164
2026-09-10T18:05:16Z
SM7
6218
टेम्प hide
488565
wikitext
text/x-wiki
==अनुभाषी==
{{wikipedia}}
===सूचकांक===
{{head|mul|symbol|previous|19|next|21}}
# गणन संख्या [[बीस]]।
<!--
====वैकल्पिक रूप====
{{mul-numberchart/20}}--><!--फिलहाल छुपाया गया, साँचा अभी काम नहीं कर रहा। -->
31ai79vjehw4yuqhcx6wq7rxe6218t1
साँचा:para
10
6117
488540
479815
2026-09-10T16:20:59Z
SM7
6218
updating...
488540
wikitext
text/x-wiki
<code>|{{#if:{{{}}}|{{#if:{{{1<includeonly>|</includeonly>}}}|{{{1}}}{{#if:{{{list|}}}|<var>N</var>}}=}}{{{2<includeonly>|</includeonly>}}}|={{{1|}}}}}</code><!--
-->{{#if:{{{3|}}}<!--
-->| ({{#if:{{{req|}}}|'''''required''''', }}{{#if:{{{opt|}}}|''optional'', }}{{{3}}})<!--
-->|{{#if:{{{req|}}}| ('''''required''''')}}{{#if:{{{opt|}}}| (''optional'')}}<!--
-->}}<!--
--><noinclude>{{documentation}}</noinclude>
ila07avdxjfpqibvzqu562e2zqxw53f
488541
488540
2026-09-10T16:22:00Z
SM7
6218
SM7 ने पृष्ठ [[साँचा:p]] को [[साँचा:para]] पर स्थानांतरित किया
488540
wikitext
text/x-wiki
<code>|{{#if:{{{}}}|{{#if:{{{1<includeonly>|</includeonly>}}}|{{{1}}}{{#if:{{{list|}}}|<var>N</var>}}=}}{{{2<includeonly>|</includeonly>}}}|={{{1|}}}}}</code><!--
-->{{#if:{{{3|}}}<!--
-->| ({{#if:{{{req|}}}|'''''required''''', }}{{#if:{{{opt|}}}|''optional'', }}{{{3}}})<!--
-->|{{#if:{{{req|}}}| ('''''required''''')}}{{#if:{{{opt|}}}| (''optional'')}}<!--
-->}}<!--
--><noinclude>{{documentation}}</noinclude>
ila07avdxjfpqibvzqu562e2zqxw53f
नृशंस
0
6399
488569
387666
2026-09-10T18:23:59Z
SM7
6218
सफाई
488569
wikitext
text/x-wiki
==हिंदी==
* अंग्रेजी: [[atrocious]] [[:en:atrocious]]
=== प्रकाशितकोशों से अर्थ ===
==== शब्दसागर ====
नृशंस वि॰ [सं॰] <br><br>१. लोगों को कष्ट या पीड़ा पहुँचानेवाला । क्रूर । निर्दय । <br><br>२. अनिष्टकारी । अपकारी । अत्याचारी । जालिम ।
[[श्रेणी: हिन्दी-प्रकाशितकोशों से अर्थ-शब्दसागर]]
e2p0rayosmt5umliep1l83sd8qri6t9
मीडियाविकि:Monobook.js
8
6512
488568
427709
2026-09-10T18:19:55Z
SM7
6218
blanking...
488568
javascript
text/javascript
/* All JavaScript here will be loaded for users of the MonoBook skin */
n4p2htswh0xrnsfmlyrsynxfkoonto6
साँचा:documentation
10
12762
488572
36895
2026-09-10T18:35:12Z
SM7
6218
पुनःस्थापित
488572
wikitext
text/x-wiki
<div class="documentation" style="display:block; clear:both">
----
{{#ifexist:साँचा:{{{1|{{PAGENAME}}/documentation}}}|:''The following [[Help:Documenting templates|documentation]] is located at'' [[Template:{{{1|{{PAGENAME}}/documentation}}}]]. <sup class="plainlinks">[[{{fullurl:साँचा:{{{1|{{PAGENAME}}/documentation}}}|action=edit}} edit]]</sup>
{{साँचा:{{{1|{{PAGENAME}}/documentation}}}}}|:''इस साँचे पर [[सहायता:साँचों एवं मॉड्यूल का दस्तावेज़ीकरण|दस्तावेज़ीकरण]] और वर्गीकरण की आवश्यकता है।'' कृपया <span class="plainlinks">[{{fullurl:साँचा:{{{1|{{PAGENAME}}/documentation}}}| action=edit&preload=साँचा:documentation/preload}} दस्तावेज़ीकरण पृष्ठ निर्मित करें]।{{#if:{{{nocat|}}}||[[श्रेणी:प्रलेखन की आवश्यकता वाले साँचे|{{{sort|{{PAGENAME}}}}}]]}}}}</span>
</div>
g67lbgjkkiyqx8lhkwcwoaprb0hnnls
पतंग
0
137567
488556
472008
2026-09-10T17:46:07Z
SM7
6218
सुधार
488556
wikitext
text/x-wiki
[[File:STS-134 EVA4 view to the Russian Orbital Segment.jpg|thumb|पतंग]]
==हिन्दी==
{{विकिपीडिया|पतंग}}
===शब्दसाधन===
===उच्चारण===
===संज्ञा===
{{hi-noun|m}}
=== संज्ञा ===
# एक प्रकार का खिलौना जिसे डोरी से उड़ाया जाता है।
=== उदाहरण ===
# वह बहुत अच्छे से '''पतंग''' उड़ा सकता है।
# मेरे '''पतंग''' को किसी ने काट दिया।
=== प्रकाशितकोशों से अर्थ ===
==== शब्दसागर ====
पतंग ^१ संज्ञा पुं॰ [सं॰ पतङ्ग] <br><br>१. पक्षी चिड़िया । <br><br>२. शलभ । टिड्डी । <br><br>३. परवाना । पाँखी । भुनगा । फतिंगा । <br><br>४. कोई परदार कीड़ा । उड़नेवाला कीड़ा । <br><br>५. सूर्य । <br><br>६. एक प्रकार का धान । जड़हन । <br><br>७. जलमहुआ । जलमधूक वृक्ष । <br><br>८. एक प्रकार का चंदन । <br><br>९. कंदुक । गेंद । उ॰—करहीं गान बहु तान तरंगा । बहु बिधि क्रिड़हि पानि पतंगा ।— मानस, १ । १२६ । <br><br>१०. पारद । पारा । <br><br>११. जैनों के एक देवता जो वाणव्यंतर नामक देवगण के अंतर्गत हैं । <br><br>१२. एक गंधर्व का नाम । <br><br>१३. एक पहाड़ का नाम । <br><br>१४. तन । शरीर । जिस्म (अने॰) । <br><br>१५. नौका । नाव (अने॰) । <br><br>१६. चिनगारी । <br><br>१७. कृष्ण या विष्णु (को॰) । <br><br>१८. अश्व । घोड़ा (को॰) ।
पतंग ^२ संज्ञा पुं॰ [सं॰ पत्रङ्ग] एक प्रकार का बड़ा वृक्ष जिससे लाल रंग बनाते हैं । विशेष—यह वृक्ष मध्यभारत तथा कटक प्रात में अधिकता से होता है । बैसाख जेठ में जमीन को अच्छी तरह जोतकर इसके बीज बो दिए जाते हैं । प्रायः २० वर्ष में जब इसके पेड़ चालीस फुट ऊँचे हो जाते हैं तब काट लिए जाते हैं । इसके लकड़ी को छोटे छोटे टुकड़ों में काटकर प्रायः दो पहर तक पानी में उबालते हैं, जिससे एक प्रकार का बहुत बढ़िया लाल रंग निकलता है । पहले इस रंग की खपत बहुत होती थी और यह बहुत आधिक मान में भारत से विदेशों को भेजा जाता था, परंतु जबसे विलायती नकली रंग तैयार होने लगे तबसे इसकी माँग बहुत घट गई है । आजकल कई प्रकार के विलायती लाल रंग भी 'पतंग' के नाम से ही बिकते हैं । कुछ लोग इसको 'लालचंदन' ही मानते है, परतुं यह बात ठीक नहीं है । इसको 'बक्कम' भी कहते हैं ।
पतंग ^३ वि॰ उड़नेवाला ।
पतंग ^४ संज्ञा पुं॰ [सं॰ पतङ्ग ( = उड़नेवाला)] हवा में ऊपर उड़ाने का एक खिलौना जो बाँस की तीलियों के ढ़ाँचे पर एक और चौकोना कागज और कभी कभी बारीक कपड़ा मढ़कर बनाया जाता है । गुड्डी । कनकोवा । चंग । तुक्कल । तिलंगी । विशेष—इसका ढाँचा दो तीलियाँ से बनता है । एक बिलकुल सीधी रखी जाती है पर दूसरी को लचाकर मिहराबदार कर देते हैं । सीधी तीली को 'ढड्ढ़ा' और मिहराबदार को 'कमाँच' या 'काप' कहते हैं । ढड्ढ़े के एक सिरे को 'पुछल्ला' और दूसरे को 'मुड़्ढ़ा' कहते हैं । पुछल्ले पर एक तिकोना कागज और मढ़ दिया जाता है । कमाँच के दोनों सिरे 'कुब्बे' कहलाते हैं । ढड़्ढे पर कागज की दो छोटी चौकोर चकतियाँ मढ़ी होती है । एक उस स्थान पर जहाँ ढड्ढ़ा और कमाँच एक दूसरे को काटते हैं, दूसरी पुछल्ले की और कुछ निश्चित अंतर पर । इन्हीं में सूराख करके 'कन्ना' अर्थात् वह डोरा बाँधा जाता है जिसमें चरखी या परेते की डोरी का सिरा बाँधकर पतंग उड़ाया जाता है । यद्यपि देखने में पतंग के चारों पार्श्वों की लंबाई बराबर जान पड़ती है, तथापि मुड़्ढ़े और कुब्बे का अंतर कुब्बे और पुछल्ले के अंतर से आधिक होता है । जिस डोरी से पतंग बढ़ाया जाता हे बह नख, बाना, रील आदि कई प्रकार की होती है । बाँस के जिस विशेष ढ़ाँचे पर डोरी लपेटी रहती है । उसके भी दो प्रकार है—एक 'चरखी' और दूसरा 'परेता' । विस्तारभेद से पतंग कई प्रकार का होता है । बहुत बड़े पतंग को 'तुक्कल' कहते हैं । बनावट का दोष, हवा की तेजी आदि कारणों से अक्सर पतंग हवा में चक्कर खाने लगता है । इसे रोकने के लिये पुछल्ले में कपड़े की एक धज्जी बाँध देते हैं, इसको भी 'पुछल्ला' कहते हैं । भारतवर्ष में केवल मनोरंजन के लिये पतंग उड़ाया जाता है परंतु पाश्चात्य देशों में इसका कुछ व्यावहारिक उपयोग भी किया जाने लगा है । क्रि॰ प्र॰—उड़ाना ।—लड़ाना । यौ॰—पतंगबाज ।
[[श्रेणी: हिन्दी-प्रकाशितकोशों से अर्थ-शब्दसागर]]
fm1yeofn550bjt6cqlmsn7hkur2257z
खता
0
172936
488547
230305
2026-09-10T17:16:39Z
SM7
6218
सुधार
488547
wikitext
text/x-wiki
==हिंदी==
===अन्य रूप ===
* {{alter|hi|ख़ता||नुक़्तासहित}}
== प्रकाशितकोशों से अर्थ ==
=== शब्दसागर ===
खता ^१ संज्ञा स्त्री॰ [अ॰ खता] [वि॰ खतावार] <br><br>१. कसूर । अपराध । <br><br>२. धोखा । फेरब । मुहा॰— खता खाना = धोखे में पड़ना । धोखे में पड़कर हानि उठाना । <br><br>३. भूल । चुक । गलती । मुहा॰—खता खाना = गलती करना । चुकना ।
खता ^३ संज्ञा पुं॰ [फा़॰] चीन या चीन का एक प्रदेश [को॰] ।
[[श्रेणी: हिन्दी-प्रकाशितकोशों से अर्थ-शब्दसागर]]
auy8rfgtubprul71i6by8y1ac8gojl7
धन्धका
0
207500
488564
488415
2026-09-10T17:59:25Z
SM7
6218
सफाई
488564
wikitext
text/x-wiki
==हिंदी==
=== संज्ञा ===
'''धंधका''' ♂ †
: [अनुमानित रूप से 'धधकी' (स्त्रीलिंग अल्पप्रकार) से व्युत्पन्न]
: एक प्रकार का ढोल। पारंपरिक वाद्य यंत्रों में से एक, जो विशेषतः ग्रामीण या लोक-संगीत में प्रयोग होता है।
=== प्रकाशित कोशों से अर्थ ===
==== शब्दसागर ====
'''धंधका''' † (संज्ञा, पुल्लिंग) — [अनुमानित, स्त्रीलिंग अल्पप्रकार: धधकी]
: एक प्रकार का ढोल।
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-शब्दसागर]]
pvezcw1we5wivhet5ys8y8rlxgssk67
न
0
209345
488570
482504
2026-09-10T18:24:55Z
SM7
6218
[[Special:Contributions/2401:4900:7B2C:21AE:864A:2785:B786:449D|2401:4900:7B2C:21AE:864A:2785:B786:449D]] ([[User talk:2401:4900:7B2C:21AE:864A:2785:B786:449D|वार्ता]]) का सम्पादन [[User:Ritikpraj|Ritikpraj]] के अंतिम अवतरण पर पूर्ववत किया
480529
wikitext
text/x-wiki
{{हिन्दी वर्णमाला}}
{{देवनागरी वर्ण सूचना|hex=0905|name=देवनागरी अक्षर '''न'''|image=[[चित्र:Devanagari n न.gif |100px]]}}
= {{हिन्दी}} =
==उच्चारण==
{{audio|hi|Sa-न.ogg }}
== प्रकाशितकोशों से अर्थ ==
=== शब्दसागर ===
न एक व्यंजन जो हिदी या संस्कृत वर्णमाला का बीसवाँ और तवर्ग का पाँचवाँ वर्ण है । इसका उच्तारणस्थान दंत् है । इसके उच्चारण में आभ्यंतर प्रयत्न और जीभ के अगले भाग का दाँतों की जंड़ से स्पर्श होता है । और बाहय प्रयत्न संवार, नाद, घोष और अल्पप्राण है । काव्य आदि में इस वर्ण का विन्यास सुखद होता है ।
न ^१ संज्ञा पुं॰ [सं॰] <br><br>१. उपमा । <br><br>२. रत्न । <br><br>३. सोना । <br><br>४. बुद्ध । <br><br>५. बंध । <br><br>६. मोती (को॰) । <br><br>७. गणेश (को॰) । <br><br>८. धन । संपत्ति (को॰) । <br><br>९. युद्ब (को॰) । <br><br>१०. उपहार (को॰) ।
न ^२ वि॰ <br><br>१. पतला । <br><br>२. रिक्त । शून्य । <br><br>३. अनुऱूप । सदृश । वही । <br><br>४. अश्रांत । न थका हुआ । <br><br>५. प्रशांसित । <br><br>६. अविभक्त अविभाजित [को॰] ।
न ^३ अव्य॰ १, निषेधवाचक शब्द । नहीं । मत । जैसे,—तुम न जाओ तो कोई हर्ज है ? (ख) उसे कुछ न देना ही ठीका है । विशेष—विधि, अनुज्ञा, हेतुहेतुमद् भाव आदि कुछ विशेष स्थलों पर भी 'नहीं के स्थान में 'न' आता है । जैसे,—<br><br>२. कि नहीं । या नहीं । (क) तुम वहाँ जाओगे न ? (ख) वे दिनभर तो वहाँ रहेंगे न ? विशेष—इस अर्थ में इसका प्रयोग प्रश्नात्मक वाक्य़ के अंत में ही होता है ।
[[श्रेणी: हिन्दी-प्रकाशितकोशों से अर्थ-शब्दसागर]]
lojq3zpuvl6s592iqqoxm1slangfaio
साँचा:hi-noun
10
302283
488551
465730
2026-09-10T17:22:04Z
SM7
6218
updating...
488551
wikitext
text/x-wiki
{{#invoke:inc-headword|show|nouns|lang=hi}}<!--
--><noinclude>{{documentation}}</noinclude>
3mzp52olacz71vnq3e421c5lvgkrdvx
साँचा:hi-noun/documentation
10
302284
488553
488202
2026-09-10T17:25:13Z
SM7
6218
updating...
488553
wikitext
text/x-wiki
{{documentation subpage}}
{{#invoke:inc-headword|doctext|lang=hi|pos=nouns}}
==Examples==
{|class="wikitable"
! Term !! Template !! Output
|-
| {{m|hi|नाम|t=name}} || {{demo|<nowiki>{{hi-noun|m|ur=نام|pagename=नाम}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|कुत्ता|t=dog}} || {{demo|<nowiki>{{hi-noun|m|ur=کُتّا|f=कुत्ती,कुतिया|pagename=कुत्ता}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|परमात्मा|tr=parmātmā, paramātmā|t=God}} || {{demo|<nowiki>{{hi-noun|m|tr=+,paramātmā|ur=پرماتما|pagename=परमात्मा}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|ज़बान|t=tongue; language}} || {{demo|<nowiki>{{hi-noun|f|ur=زُبان,زَبان|pagename=ज़बान}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|ताश|t=playing cards}} || {{demo|<nowiki>{{hi-noun|m-p,f-p|ur=تاش|pagename=ताश}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|मअनी|tr=maanī, mānī|t=meaning}} || {{demo|<nowiki>{{hi-noun|f|tr=maanī,mānī|ur=معنی,معنے|pagename=मअनी}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|फ़ैक्स|t=fax}} || {{demo|<nowiki>{{hi-noun|m,f|ur=فیکس,فاکس|pagename=फ़ैक्स}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|कविता|t=poetry; poem}} || {{demo|<nowiki>{{hi-noun|f|ur=کوتا,کبتا,کویتا|pagename=कविता}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|हरी मिर्च|t=green chilli}} || {{demo|<nowiki>{{hi-noun|f|head=[[हरा|हरी]] [[मिर्च]]|ur=ہری مرچ|pagename=हरी मिर्च}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|रस्म-उल-ख़त|tr=rasm-ul-xat|t=script, writing system}} || {{demo|<nowiki>{{hi-noun|m|head=[[रस्म]]-उल-[[ख़त]]|ur=رسم الخط|tr=rasm-ul-xat|pagename=रस्म-उल-ख़त}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|फ्रांसीसी|tr=frānsīsī|t=French person}} || {{demo|<nowiki>{{hi-noun|mfbysense|tr=frānsīsī|pagename=फ्रांसीसी}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|फ़र्ज़|t=obligation; duty; religious duty, [[fard]]}} || {{demo|<nowiki>{{hi-noun|m|ur=فرض|pl=फ़रायज़,फ़राइज़|pagename=फ़र्ज़}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|अबे-तबे|t=rudeness; rude conversation}} || {{demo|<nowiki>{{hi-noun|f,m|nolink=1|ind=1|ur=اَبے تَبے|pagename=अबे-तबे}}</nowiki>|fmt=twocol}}
|-
| {{m|hi|नीम|t=margosa; [[neem]] tree}} || {{demo|<nowiki>{{hi-noun|m|ur=نیم<id:neem>|pagename=नीम}}</nowiki>|fmt=twocol}}
|}
{{hwcat}}
s6ilxq0p0ggsajvg4hzhrmdtmhjyazl
साँचा:link/documentation
10
302294
488585
488205
2026-09-10T19:10:32Z
SM7
6218
±श्रेणी
488585
wikitext
text/x-wiki
{{documentation subpage}}
{{#switch:{{PAGENAME}}|link={{shortcut|Template:l}}|mention={{shortcut|Template:m}}}}
This template generates a link to an entry in a given language. It links to a specific language-section on the target page, and applies language-specific formatting. It can also show a number of annotations after the linked term.
There are several linking templates:
* {{temp|link}} (shortcut {{temp|l}}). Use this template in sections that list entries, such as “Synonyms”, “Related terms”{{,}} and “Descendants”, or in running text when a word is being <em>used</em>. If a term is being <em>mentioned</em> (as in the [[w:use–mention distinction|use–mention distinction]]), use {{temp|mention}} instead.
* {{temp|mention}} (shortcut {{temp|m}}). This template italicizes a word if the word is in a {{w|Latin script}}. Use this template to [[mention]] (as in the [[w:use–mention distinction|use–mention distinction]]) a term or phrase within running text (for example, in ===Etymology=== and ====Usage notes==== sections).
* {{temp|l-self}}. Use this template in inflection tables and other templates that list multiple terms. It works the same as {{temp|link}}, but when it links to the same page it is placed on, the link turns bold rather than becoming a link. This mimics the MediaWiki software's behaviour when linking to the same page, but has the full language support of {{temp|link}}.
* {{temp|m-self}}. Use this template in templates that mention multiple terms in running text. It displays like {{temp|mention}}, but works the same as {{temp|l-self}} when linked to the current page.
* {{temp|ll}}. This template creates a link, but does not add any additional formatting or annotations. There is at the moment no consensus on whether it should be used in entries or not.
All of these templates create a link to a language's section of an entry, or to a language-specific sense id created by the template {{temp|senseid}} if the {{para|id}} parameter is used.
If the second parameter of {{temp|l}}, {{temp|m}}, {{temp|l-self}}{{,}} or {{temp|m-self}} contains a wikilink (<code><nowiki>[[entryname|text]]</nowiki></code> or <code><nowiki>[[entryname]]</nowiki></code>), then this link will be transformed into a link to the language's section of the entry. For instance, <code><nowiki>the [[word]]</nowiki></code> will be transformed into <code><nowiki>the [[word#English|word]]</nowiki></code> and <code><nowiki>these [[word|words]]</nowiki></code> will be transformed into <code><nowiki>these [[word#English|words]]</nowiki></code>, if the language code supplied to the template is <code>en</code>.
The annotations – transliteration, translation, literal translation{{,}} and part of speech – are displayed by {{temp|l}}, {{temp|m}}, {{temp|l-self}}{{,}} or {{temp|m-self}} in parentheses after the link. {{temp|ll}} does not support any of these annotations.
See also [[Wiktionary:Style guide#Styling_templates]] for a list of all the various styling templates with examples.
This template uses [[Module:links]] as a back-end, so it supports all the features of that module. Please see its documentation for more details.
==Parameters==
The template takes one required positional parameter and several optional parameters. Note that either the second or third positional parameter should be given, although technically neither is required.
; {{para|1}}
: The language code (see [[Wiktionary:Languages]]) for the language that the term is in. All Wiktionary language codes are supported, including those for constructed and reconstructed languages.
; {{para|2}}
: {{qualifier|optional}} The page name to be linked to. The template will automatically remove diacritics and punctuation from the page title, according to the <code>entry_name</code> setting in [[Module:languages]], but will keep them in the displayed text. To link to a reconstructed term, such as Proto-Germanic {{m|gem-pro|*dagaz}}, add * in front of this parameter.<br>Unsupported titles (see [[Special:PrefixIndex/Unsupported titles]]) can be linked to, by adding the displayed title, without the <code>Unsupported titles/</code> prefix: for instance, {{temp|m|mul|:}} → {{m|mul|:}} links to [[Unsupported titles/Colon]]. This feature is made possible by the list found at [[Module:links/unsupported titles]]. To add new unsupported titles, follow the directions in the module.
; {{para|3}}
: {{qualifier|optional}} Alternate text to display as the link title, if different from the page name. Please do not use this only for adding diacritics or punctuation to the word, as the template can automatically remove these. See above.
; {{para|t}}
: {{qualifier|optional}} A gloss or short translation of the word. <small>The parameters {{para|4}} and {{para|gloss}} are deprecated for this purpose.</small>
; {{para|sc}}
: {{qualifier|optional}} The script code (see [[Wiktionary:Scripts]]) for the script that the term is written in. When no code is given, the template will try to detect the script based on the characters in the term and the scripts in the language's data table (see {{section link|Module:scripts#findBestScript}}). In most cases, it will succeed. If it fails, the code <code>None</code> will be used.
; {{para|tr}}
: {{qualifier|optional}} Transliteration for non-Latin-script words. When no transliteration is given, the template will try to add a default transliteration when possible. For certain languages, automated transliteration will override the value of this parameter. Use <code>tr=-</code> if you don't want a transliteration to be automatically generated (you shouldn't really ever do this in an entry).
; {{para|ts}}
: {{qualifier|optional}} Transcription for non-Latin-script words whose transliteration is markedly different from the actual pronunciation. Should not be used for IPA pronunciations.
; {{para|pos}}
: {{qualifier|optional}} A part of speech indication for the term.
; {{para|g}}, {{para|g2}}, {{para|g3}} and so on
: {{qualifier|optional}} Gender and number; see [[Module:gender and number]] for details.
; {{para|lit}}
: {{qualifier|optional}} A literal translation for the term.
; {{para|id}}
: {{qualifier|optional}} A sense id for the term, which links to anchors on the page set by the {{temp|senseid}} template.
==Examples==
Simple usage:
: <code><nowiki>{{l|cs|háček}}</nowiki></code>
: {{code|html|2=<span class="Latn" lang="cs">[[háček#Czech|háček]]</span>}}
: {{l|cs|háček}}
Showing alternative text:
: <code><nowiki>{{l|en|go|went}}</nowiki></code>
: {{code|html|2=<span class="Latn" lang="en">[[go#English|went]]</span>}}
: {{l|en|go|went}}
With wikilinks in input:
: <code><nowiki>{{l|en|[[God]] be [[with]] [[you]]}}</nowiki></code>
: {{code|html|2=<span class="Latn" lang="en">[[God#English|God]] be [[with#English|with]] [[you#English|you]]</span>}}
: {{l|en|[[God]] be [[with]] [[you]]}}
Removal of diacritics:
: <code><nowiki>{{l|la|exemplī grātiā}}</nowiki></code>
: {{code|html|2=<span class="Latn" lang="la">[[exempli gratia#Latin|exemplī grātiā]]</span>}}
: {{l|la|exemplī grātiā}}
Reconstructed words:
: <code><nowiki>{{l|ine-pro|*bʰréh₂tēr}}</nowiki></code>
: {{code|html|2=<span class="Latinx" lang="ine-pro">[[Reconstruction:Proto-Indo-European/bʰréh₂tēr|*bʰréh₂tēr]]</span>}}
: {{l|ine-pro|*bʰréh₂tēr}}
Translation:
: <code><nowiki>{{l|la|similis|t=like}}</nowiki></code> or <code><nowiki>{{l|la|similis||like}}</nowiki></code>
: {{code|html|2={{l|la|similis|t=like}}}}
: {{l|la|similis|t=like}}
Miscellaneous / with many options:
: <code><nowiki>{{l|ru|ру́сский||Russian|g=m}}</nowiki></code>
: {{code|html|2=<span class="Cyrl" lang="ru">[[русский#Russian|ру́сский]]</span> <span class="gender"><abbr title="masculine gender">m</abbr></span> <span class="mention-gloss-paren">(</span><span lang="" class="tr">rússkij</span>, <span class="mention-gloss-double-quote">“</span><span class="mention-gloss">Russian</span><span class="mention-gloss-double-quote">”</span><span class="mention-gloss-paren">)</span>}}
: {{l|ru|ру́сский||Russian|g=m}}
==Wikicode==
{{temp|l}}, {{temp|m}}, {{temp|l-self}}{{,}} or {{temp|m-self}} all add HTML tags in addition to creating a link. {{temp|l|en|word}} outputs the wikicode {{code|html|2=<span class="Latn" lang="en">[[word#English|word]]</span>}}, and {{temp|m|en|word}} outputs {{code|html|2=<i class="Latn mention" lang="en">[[word#English|word]]</i>}}. {{temp|l-self}} and {{temp|m-self}} do the same, except they don't create a link if the page being linked to is the same as the current page. This HTML is applied by [[Module:script utilities]]; for more, see [[Module:script utilities/documentation#tag text]].
==Customization==
The outcome of [[Wiktionary:Votes/2007-10/style for mentioned terms]] determined the default style for terms mentioned with the {{temp|mention}}/{{temp|m}} template. The preliminary default for Latin-script (i.e. Roman script, not just Latin-language) terms and phrases is italics. Readers can easily toggle the output from italics to bold by selecting “'''Show other Latin (Roman) script mentions in bold'''” from [[WT:PREFS]]. Alternatively, or for more advanced customization, readers can add styles to their style sheets as described in [[WT:CUSTOM]]:
*For plain format (e.g.: From <span style='font-style:normal'>[[mot#French|mot]]</span> + ...):
*: <code>.mention-Latn { font-style: normal }</code>
* For bold format (e.g.: From <span style='font-weight:bold'>[[mot#French|mot]]</span> + ...):
*: <code>.mention-Latn { font-weight: bold; font-style: normal }</code>
* For italicized format (e.g.: From <span style='font-style:italic'>[[mot#French|mot]]</span> + ...):
*: <code>.mention-Latn { font-style: italic }</code>
Further, the default style of the subsequent English translation glosses is in double quotes (pending a vote to approve this template). Readers can easily change the output to single quotes by selecting “'''Show English glosses for mentioned terms in single quotes'''” from [[WT:PREFS]].
==See also==
* {{temp|ja-l}} – a similar template specialized for Japanese
* {{temp|ko-l}} – a similar template specialized for Korean
* {{temp|vi-l}} – a similar template specialized for Vietnamese
* {{temp|mention-gloss}} – to create quotation marks (for glosses or translations) that are formatted with the same HTML code as used by {{temp|link}} or {{temp|mention}}
==Language-specific subtemplates==
There are high performance versions of this template for several languages. All of them take two parameters: the word and the alternate text. Some may support transliteration also, but they should not support any other parameters for speed reasons. Using any of these subtemplates is sometimes necessary for pages that have many links, since they are faster. For normal use, there is no need for this, and the regular {{temp|l}} should be used instead.
{{Special:PrefixIndex/{{#titleparts:Template:l|1|1}}/}}
{{Special:PrefixIndex/{{#titleparts:{{FULLPAGENAME}}|1|1}}/}}
==TemplateData==
{{TemplateData header}}
<templatedata>
{
"params": {
"1": {
"label": "language code",
"description": "The language code (see Wiktionary:Languages) for the language that the term is in. All languages are supported, including constructed and reconstructed ones.",
"type": "string",
"required": true,
"suggested": true,
"example": "en"
},
"2": {
"type": "wiki-page-name",
"label": "page name",
"description": "The page name to be linked to.",
"example": "house",
"suggested": true
},
"3": {
"label": "alternate text",
"description": "(optional) Alternate text to display as the link title, if different from the page name.",
"type": "string",
"suggested": true
},
"4": {
"aliases": [
"t",
"gloss"
],
"label": "gloss",
"description": "A gloss or short translation of the word. ",
"type": "string",
"suggested": true
},
"lit": {
"label": "literal translation",
"description": "A literal translation for the term.",
"type": "string"
},
"id": {
"label": "sense id",
"description": " A sense id for the term, which links to anchors on the page set by the {{senseid}} template.",
"type": "string",
"suggested": true
},
"sc": {
"label": "script code",
"description": "(optional) The script code (see [[Wiktionary:Scripts]]) for the script that the term is written in. The template can usually figure this out itself, so this is rarely needed. When no code is given, the template will try to detect the script based on the characters of the word, and if it fails to detect the script, the code <code>None</code> will be used.",
"type": "string",
"example": "Latn"
},
"pos": {
"label": "part of speech",
"description": "A part of speech indication for the term",
"type": "string",
"example": "noun",
"suggested": true
},
"tr": {
"label": "transliteration",
"description": "Transliteration for non-Latin-script words. When no transliteration is given, the template will try to add a default transliteration when possible. For certain languages, automated transliteration will override the value of this parameter. Use <code>tr=-</code> if you don't want a transliteration to be automatically generated (you shouldn't really ever do this in an entry).",
"type": "string",
"suggested": true
},
"g": {
"label": "gender and number",
"description": "Gender and number; see [[Module:gender and number]] for details.",
"type": "string",
"suggested": true
}
},
"description": "This template generates a link to an entry in a given language. It links to a specific language-section on the target page, and applies language-specific formatting. It can also show a number of annotations after the linked term.",
"paramOrder": [
"1",
"2",
"3",
"4",
"sc",
"tr",
"pos",
"g",
"lit",
"id"
],
"format": "inline"
}
</templatedata>
<includeonly>
[[Category:इंटरनल कड़ी साँचे|l]]
</includeonly>
62oljmggssuwydc630265hbiez7qirw
मॉड्यूल:form of doc/templates
828
304065
488575
480053
2026-09-10T18:39:57Z
SM7
6218
updating...
488575
Scribunto
text/plain
--[=[
This module contains functions to implement {{form of/*doc}} templates.
The module contains the wrappers meant to be called directly from templates.
The actual implementations are in [[Module:form of doc]].
Author: Benwing2
]=]
local export = {}
local m_parameters = require("Module:parameters")
local m_form_of_doc = require("Module:form of doc")
local function create_introdoc_params()
local boolean = {type = "boolean"}
local plain = {}
return {
["lang"] = plain,
["exlang"] = {list = true, sublist = "comma without whitespace", flatten = true},
["usedwithlimitedlangs"] = boolean,
["pldesc"] = plain,
["primaryentrytext"] = plain,
["cat"] = {list = true, sublist = "comma without whitespace", flatten = true},
["addlintrotext"] = plain,
["etymtemp"] = plain,
["withdot"] = boolean,
["withcap"] = boolean,
["withencap"] = boolean,
}
end
local function preprocess(frame, txt)
if txt:find("{{") then
txt = frame:preprocess(txt)
end
return txt
end
function export.introdoc_t(frame)
local params = create_introdoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return preprocess(frame, m_form_of_doc.introdoc(args))
end
local function create_paramdoc_params()
local boolean = {type = "boolean"}
local plain = {}
return {
["lang"] = plain,
["sgdescof"] = plain,
["art"] = plain,
["cat"] = {list = true, sublist = "comma without whitespace", flatten = true},
["withfrom"] = boolean,
["withdot"] = boolean,
["withcap"] = boolean,
["withencap"] = boolean,
["addlparamtext"] = plain,
}
end
function export.paramdoc_t(frame)
local params = create_paramdoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return preprocess(frame, m_form_of_doc.paramdoc(args))
end
local function create_usagedoc_params()
local params = create_paramdoc_params()
params["exlang"] = {list = true, sublist = "comma without whitespace", flatten = true}
params["usedwithlimitedlangs"] = {type = "boolean"}
return params
end
function export.usagedoc_t(frame)
local params = create_usagedoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return preprocess(frame, m_form_of_doc.usagedoc(args))
end
local function create_fulldoc_params()
local params = create_introdoc_params()
local usageparams = create_usagedoc_params()
for k, v in pairs(usageparams) do
params[k] = v
end
-- We allow sublists but this is handled by {{shortcut|...}} when we preprocess.
params["shortcut"] = {list = true}
return params
end
function export.fulldoc_t(frame)
local params = create_fulldoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return preprocess(frame, m_form_of_doc.fulldoc(args))
end
local function create_infldoc_params()
local params = create_fulldoc_params()
params["pldesc"] = nil
local plain = {}
params["sgdesc"] = plain
params["form"] = plain
return params
end
function export.infldoc_t(frame)
local params = create_infldoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return preprocess(frame, m_form_of_doc.infldoc(args))
end
function export.tagtable_t(frame)
return m_form_of_doc.tagtable()
end
function export.non_alias_shortcut_table_t(frame)
return m_form_of_doc.non_alias_shortcut_table()
end
function export.lang_specific_tables_t(frame)
return m_form_of_doc.lang_specific_tables()
end
function export.postable_t(frame)
return m_form_of_doc.postable()
end
function export.lang_independent_category_table_t(frame)
return m_form_of_doc.lang_independent_category_table()
end
function export.lang_independent_label_table_t(frame)
return m_form_of_doc.lang_independent_label_table()
end
return export
1nb5amy2guk4l9vizy1lfys6qmvyah4
मॉड्यूल:form of doc
828
304210
488576
480052
2026-09-10T18:40:38Z
SM7
6218
updating...
488576
Scribunto
text/plain
local export = {}
-- Author: Benwing2
--[==[ intro:
This module contains functions to implement {{form of/*doc}} templates.
The module contains the actual implementation, meant to be called from other
Lua code. See [[Module:form of doc/templates]] for the functions meant to be
called directly from templates.
]==]
local en_utilities_module = "Module:en-utilities"
local form_of_module = "Module:form of"
local form_of_data_module = "Module:form of/data"
local function_module = "Module:fun"
local labels_module = "Module:labels"
local languages_module = "Module:languages"
local load_module = "Module:load"
local parse_interface_module = "Module:parse interface"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local template_parser_module = "Module:template parser"
local require = require
local m_form_of = require(form_of_module)
local m_form_of_data = require(form_of_data_module)
local m_cats = require(m_form_of.form_of_cats_module)
local m_str_utils = require(string_utilities_module)
local m_table = require(table_module)
local concat = table.concat
local get_indefinite_article = require(en_utilities_module).get_indefinite_article
local get_label_info = require(labels_module).get_label_info
local get_lang = require(languages_module).getByCode
local get_tag_display_form = m_form_of.get_tag_display_form
local get_tag_set_display_form = m_form_of.get_tag_set_display_form
local insert = table.insert
local ipairs = ipairs
local is_link_or_html = m_form_of.is_link_or_html
local iterate_from = require(function_module).iterateFrom
local list_to_set = m_table.listToSet
local normalize_tag_set = m_form_of.normalize_tag_set
local pairs = pairs
local remove_duplicates = m_table.removeDuplicates
local safe_require = require(load_module).safe_require
local serial_comma_join = m_table.serialCommaJoin
local shallow_copy = m_table.shallowCopy
local sort = table.sort
local table_extend = m_table.extend
local tostring = tostring
local ucfirst = m_str_utils.ucfirst
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local form_of_lang_data_module_prefix = m_form_of.form_of_lang_data_module_prefix
local form_of_data1 = require(m_form_of.form_of_data1_module)
local form_of_data2 = require(m_form_of.form_of_data2_module)
local form_of_pos = mw.loadData(m_form_of.headword_data_module).pos_aliases
local SHORTCUTS = m_form_of_data.SHORTCUTS
local TAG_TYPE = m_form_of_data.TAG_TYPE
local function lang_name(langcode, param)
return get_lang(langcode, param):getCanonicalName()
end
local function link_box(content)
return "<div class=\"noprint plainlinks\" style=\"float: right; clear: both; margin: 0 0 .5em 1em; background: var(--wikt-palette-paleblue, #f9f9f9); border: 1px var(--border-color-base,#aaaaaa) solid; margin-top: -1px; padding: 5px; font-weight: bold; font-size: small;\">"
.. content .. "</div>"
end
local function raw_editpage(page)
return tostring(mw.uri.fullUrl(page, "action=edit"))
end
local function show_editlink(page)
return link_box("[" .. raw_editpage(page) .. " Edit]")
end
local function template_name(preserve_lang_code)
-- Fetch the template name, minus the '/documentation' suffix that may follow
-- and without any language-specific prefixes (e.g. 'el-' or 'ine-bsl-pro-')
-- (unless `preserve_lang_code` is given).
local PAGENAME = mw.title.getCurrentTitle().text -- DO NOT replace with mw.loadData("Module:headword/data").pagename; we want the whole template name
local tempname = PAGENAME:gsub("/documentation$", "")
if not preserve_lang_code then
while true do
-- Repeatedly strip off language code prefixes, in case there are multiple.
local newname = tempname:gsub("^%l%l%l?%-", "")
if newname == tempname then
break
end
tempname = newname
end
end
return tempname
end
function export.introdoc(args)
local lang = args.lang
local langname = lang and lang_name(lang, "lang")
local exlangnames = {}
for _, exlang in ipairs(args.exlang) do
insert(exlangnames, lang_name(exlang, "exlang"))
end
local parts = {}
local function ins(txt)
insert(parts, txt)
end
if args.etymtemp then
ins("{{hatnote|This template is for definition sections. For the template used in etymology sections, see [[Template:" .. args.etymtemp .. "]].}}\n")
end
ins(("{{uses lua|%s/templates}}"):format(form_of_module))
ins("This template creates a definition line for ")
ins(args.pldesc or template_name():gsub(" of$", "") .. "s")
ins(" ")
ins(args.primaryentrytext or "of primary entries")
if lang then
ins(" in " .. langname)
elseif args.exlang[1] then
ins(", e.g. in " .. serial_comma_join(exlangnames, {conj = "or"}))
end
ins(".")
local cats = args.cat
if cats[1] then
ins(" It also categorizes the page into ")
local catparts = {}
if lang then
for _, cat in ipairs(cats) do
insert(catparts, "[[:Category:" .. langname .. " " .. cat .. "]]")
end
else
for _, cat in ipairs(cats) do
insert(catparts, "the proper language-specific subcategory of [[:Category:" .. ucfirst(cat) ..
" by language]] (e.g. [[:Category:" .. (exlangnames[1] or "English") .. " " .. cat .. "]])")
end
end
ins(serial_comma_join(catparts))
ins(".")
end
if args.addlintrotext then
ins(" ")
ins(args.addlintrotext)
end
ins("\n")
if args.withcap and args.withdot then
ins([===[
By default, this template displays its output as a full sentence, with an initial capital letter and a trailing period
(full stop). This can be overridden using {{para|nocap|1}} and/or {{para|nodot|1}} (see below).
]===])
elseif args.withcap or args.withencap and lang == "en" then
ins([===[
By default, this template displays its output with an initial capital letter. This can be overridden using
{{para|nocap|1}} (see below).
]===])
elseif args.withencap then
ins([===[
By default, this template displays its output with an initial capital letter if the term's language in {{para|1}} is
English (but not otherwise]===])
if args.usedwithlimitedlangs then
ins([==[, and there are likely no English examples for this template).]==])
else
ins([==[). This can be overridden by using {{para|nocap|1}} to make the initial letter lowercase for
English. This does not auto-add a final period; if (and only if) the term's language is English, you should manually
include it after the template unless other text follows, since English definitions should be formatted like full
sentences.]==])
end
ins("\n")
else
ins([===[
By default, this template displays its output with an initial lowercase letter. This can be overridden by using
{{para|cap|1}} to make the initial letter capitalized]===] .. (lang == "en" and ".\n" or " (but this is not " ..
"generally recommended for non-English languages, as non-English definitions should be lowercase).\n"))
end
ins([===[
This template is '''not''' meant to be used in etymology sections.]===])
if args.etymtemp then
ins(" For those sections, use {{tl|" .. args.etymtemp .. "}} instead.\n")
else
ins("\n")
end
ins([===[
'''Note:''' This is a “form of” template. The full list of such templates, including their distinctive properties and
how to customize the output of this template, can be found at [[:Category:Form-of templates]].
''The documentation for this page is auto-generated by [[Module:form of doc]].<sup>[<span class="plainlinks">[]===] .. raw_editpage("Module:form of doc") ..
" edit]</span>]</sup> As a result, the edit buttons on most section links do not work.''\n")
return concat(parts)
end
local function param(params, list, required)
local paramparts = {}
if type(params) ~= "table" then
params = {params}
end
for _, p in ipairs(params) do
local listparts = {}
insert(listparts, "{{para|" .. p .. "}}")
if list then
insert(listparts, ", {{para|" .. p .. "2}}")
insert(listparts, ", {{para|" .. p .. "3}}")
insert(listparts, ", etc.")
end
insert(paramparts, concat(listparts))
end
local reqtext = required and "'''(required)'''" or "''(optional)''"
return concat(paramparts, " or ") .. " " .. reqtext
end
function export.paramdoc(args)
local parts = {}
local function ins(txt)
insert(parts, txt)
end
local function param_and_doc(params, list, required, doc)
ins("; ")
ins(param(params, list, required))
ins("\n")
ins(": ")
ins(doc)
ins("\n")
end
local tempname = template_name()
local art = args.art or get_indefinite_article(tempname)
local sgdescof = args.sgdescof or art .. " " .. tempname
ins("''Positional (unnamed) parameters:''\n")
local lang = args.lang
if args.lang then
param_and_doc("1", false, true,
"The term to link to (which this page is " .. sgdescof .. "). This should include any needed diacritics as " ..
"appropriate to " .. lang_name(lang, "lang") .. ". These diacritics will automatically be stripped out in " ..
"the appropriate fashion in order to create the link to the page. This parameter can also include multiple " ..
"terms separated by a comma, as long as there is no space after the comma, and each such term can have " ..
"inline modifiers specifying transliterations, display forms, qualifiers, labels, genders and other " ..
"properties. See below.")
param_and_doc("2", false, false,
"The text to be shown in the link to the term. If empty or omitted, the term specified by the first " ..
"parameter will be used. This parameter is normally not necessary, and should not be used solely to " ..
"indicate diacritics; instead, put the diacritics in the first parameter.")
else
param_and_doc("1", false, true,
"The [[WT:LANGCODE|language code]] of the term linked to (which this page is " .. sgdescof .. "). 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>")
param_and_doc("2", false, true,
"The term to link to (which this page is " .. sgdescof .. "). This should include diacritics as appropriate " ..
"to the language (e.g. accents in Russian to mark the stress, vowel diacritics in Arabic, macrons in Latin " ..
"to indicate vowel length, etc.). These diacritics will automatically be stripped out in a " ..
"language-specific fashion in order to create the link to the page. This parameter can also include " ..
"multiple terms separated by a comma, as long as there is no space after the comma, and each such term can " ..
"have inline modifiers specifying transliterations, display forms, qualifiers, labels, genders and other " ..
"properties. See below.")
param_and_doc("3", false, false,
"The text to be shown in the link to the term. If empty or omitted, the term specified by the second " ..
"parameter will be used. This parameter is normally not necessary, and should not be used solely to " ..
"indicate diacritics; instead, put the diacritics in the second parameter.")
end
ins("''Named parameters:''\n")
param_and_doc({"t", lang and "3" or "4"}, false, false, "A gloss or short translation of the term linked " ..
"to. <small>The parameter {{para|gloss}} is a deprecated synonym; please do not use.</small>")
param_and_doc("tr", false, false,
"Transliteration for non-Latin-script terms, if different from the automatically-generated one.")
param_and_doc("ts", false, false, "Transcription for non-Latin-script terms whose transliteration is " ..
"markedly different from the actual pronunciation. Should not be used for IPA pronunciations.")
param_and_doc("cat", true, false, "Additional categories to place the page into. They are automatically " ..
"prepended with the language name. A single parameter can contain multiple comma-separated categories as long " ..
"as there is no space after the comma.")
param_and_doc("addl", false, false, "Additional text to display at the end, before the final closing " ..
"<code></span></code> tag. It is normally joined to the preceding text by a comma followed by a space. However, if the " ..
"value of {{para|addl}} begins with a colon or semicolon, it is appended directly with no joining punctuation, " ..
"and if the value begins with an underscore, the remainder is joined to the preceding text with a space.")
if args.withfrom then
param_and_doc("from", true, false, "A label (see {{tl|label}}) that gives additional information on " ..
"the language variety that the term belongs to, the place that it originates from, or something similar.")
end
if args.withdot then
param_and_doc("dot", false, false,
"A character to replace the final dot that is normally shown automatically.")
param_and_doc("nodot", false, false, "If {{para|nodot|1}}, then no automatic dot will be shown.")
end
if (args.withcap or args.withencap) and not args.usedwithlimitedlangs then
-- Don't even mention if usedwithlimitedlangs=1, because there are unlikely to be English examples.
param_and_doc("nocap", false, false, "If {{para|nocap|1}}, then the first letter will be in lowercase." ..
(args.withencap and " Only useful for English, because other languages already begin with a lowercase letter."
or ""))
end
if not args.withcap then
param_and_doc("cap", false, false, "If {{para|cap|1}}, then the first letter will be in capitalized. " ..
"Not generally recommended" .. (args.withencap and "" or ", except for English definitions") ..
", because non-English definitions should begin with a lowercase letter and be formatted like a phrase, " ..
"rather than a full sentence.")
end
if args.cat and args.cat[1] then
param_and_doc("nocat", false, false, "Disable categorization of categories built into the template. " ..
"For example, {{tl|ellipsis of|en|...}} normally categories into e.g. [[:Category:English ellipses]], but " ..
"this can be disabled using {{para|nocat|1}}. This does not affect categories explicitly specified in the " ..
"template call itself using {{para|cat}}.")
end
param_and_doc("notext", false, false, "If {{para|notext|1}}, don't display the initial text preceding the " ..
"term(s), but only the actual term or terms. The page is still categorized as normal, unless {{para|nocat|1}} " ..
"is given.")
param_and_doc("id", false, false, "A sense id for the term, which links to anchors on the page set by " ..
"the {{tl|senseid}} template.")
param_and_doc("sc", false, false, "Script code to use, if script detection does not work. See " ..
"[[Wiktionary:Scripts]]. Rarely needs to be given.")
param_and_doc("sort", false, false, "Sort key for sorting any categories the page is added to. Rarely needs " ..
"to be given except for Japanese, and even then, only when there are multiple possible pronunciations.")
if args.addlparamtext then
ins("\n")
ins(args.addlparamtext)
ins("\n")
end
ins([==[
===Inline modifiers===
Use a syntax like <code>Изабе́лла<tr:Izabɛ́lla><t:Isabelle></code> to specify modifiers such as transliterations, glosses, labels and qualifiers. In this example, for the Russian name {{m|ru|Изабе́лла|tr=Izabɛ́lla|t=Isabelle}}, the manual transliteration ''Izabɛ́lla'' and gloss "Isabelle" are given. The following modifiers are recognized; see [[WT:Inline modifiers]] for more detailed discussion of inline modifiers and the meanings of the modifiers given below.
* <code>t</code>: gloss
* <code>tr</code>: transliteration
* <code>ts</code>: transcription, for languages where the transliteration and pronunciation are markedly different
* <code>l</code>: comma-separated left labels, e.g. {{cd|<l:rare>}} or {{cd|<l:UK,Australia>}} or {{cd|<l:archaic,or,dialectal>}} or {{cd|<l:<<rare>>, <<archaic>> or <<dialectal>>>}}
*: As shown, in the syntax without {{cd|<<...>>}}, there must not be a space after the comma for it to be recognized as a delimiter.
*: The labels appear '''before''' the term, parenthesized, italicized and appropriately linked as if {{tl|lb}} were used (but without categorization).
* <code>ll</code>: comma-separated right labels; these appear '''after''' the term, parenthesized, italicized and appropriately linked as for left labels
* <code>q</code>: left qualifier; this appears '''before''' the term, parenthesized and italicized, but displayed as-is, without interpretation; useful for one-off explanatory notes
* <code>qq</code>: right qualifier; this appears '''after''' the term, parenthesized and italicized
* <code>ref</code>: reference or references, using the syntax documented in [[Template:IPA#References]]
* <code>g</code>: comma-separated list of gender/number specifications; see [[Module:gender and number]] for the complete list
* <code>alt</code>: alternative display text
* <code>pos</code>: part of speech
* <code>ng</code>: arbitrary non-gloss explanatory text
* <code>lit</code>: literal meaning
* <code>id</code>: sense ID; see {{temp|senseid}}
* <code>sc</code>: script code]==])
return concat(parts)
end
function export.usagedoc(args)
local exlangs = {}
for _, exlang in ipairs(args.exlang) do
insert(exlangs, exlang)
end
if not args.usedwithlimitedlangs then
insert(exlangs, 'en')
insert(exlangs, 'de')
insert(exlangs, 'ja')
end
exlangs = remove_duplicates(exlangs)
local sub = {}
local langparts = {}
for _, langcode in ipairs(exlangs) do
insert(langparts, '<code>' .. langcode .. '</code> for ' .. lang_name(langcode, "exlang"))
end
local exlangs = serial_comma_join(langparts, {conj = "or"})
local tempname = template_name("preserve lang code")
if args.lang then
return ([===[
==Usage==
Use in the definition line, most commonly as follows:
# <code><nowiki>{{%s</nowiki>|<var><primary entry goes here></var>}}</code>
===Parameters===
]===]):format(tempname) .. export.paramdoc(args)
else
return ([===[
==Usage==
Use in the definition line, most commonly as follows:
# <code><nowiki>{{%s</nowiki>|<var><langcode></var>|<var><primary entry goes here></var>}}</code>
where <code><var><langcode></var></code> is the [[Wiktionary:Languages|language code]], e.g. %s.
===Parameters===
]===]):format(tempname, exlangs) .. export.paramdoc(args)
end
end
function export.fulldoc(args)
local shortcuts = args.shortcut[1] and ("{{shortcut|%s}}"):format(concat(args.shortcut, "|")) or ""
local introdoc = export.introdoc(args)
local usagedoc = export.usagedoc(args)
return "{{documentation subpage}}\n" .. shortcuts .. introdoc .. "\n" .. usagedoc
end
function export.infldoc(args)
args = shallow_copy(args)
args.sgdesc = args.sgdesc or (args.art or "the") .. " " ..
template_name():gsub(" of$", "") .. (args.form and " " .. args.form or "")
args.pldesc = args.sgdesc
args.sgdescof = args.sgdescof or args.sgdesc .. " of"
args.primaryentrytext = args.primaryentrytext or "of a primary entry"
return export.fulldoc(args)
end
local tag_type_to_description = {
-- If not listed, we just capitalize the first letter
["tense-aspect"] = "Tense/aspect",
["voice-valence"] = "Voice/valence",
["comparison"] = "Degrees of comparison",
["class"] = "Inflectional class",
["sound change"] = "Sound changes",
["grammar"] = "Misc grammar",
["other"] = "Other tags",
}
local tag_type_order = {
"person",
"number",
"gender",
"animacy",
"tense-aspect",
"mood",
"voice-valence",
"non-finite",
"case",
"state",
"comparison",
"register",
"deixis",
"clusivity",
"class",
"attitude",
"sound change",
"grammar",
"other",
}
local function tag_type_desc(tag_type)
return tag_type_to_description[tag_type] or ucfirst(tag_type)
end
local function sort_by_first(a, b)
return a[1] < b[1]
end
local function get_display_form(tag_set, lang)
local norm_tag_sets = normalize_tag_set(tag_set, lang)
if #norm_tag_sets == 1 then
return get_tag_set_display_form(norm_tag_sets[1], lang)
end
-- If we have a conjoined shortcut that expands to multiple tag sets, display them using a numbered list.
-- In order to do that inside a table we need a newline before the list.
local display_forms = {}
for _, norm_tag_set in ipairs(norm_tag_sets) do
insert(display_forms, "\n# " .. get_tag_set_display_form(norm_tag_set, lang))
end
return concat(display_forms)
end
local function organize_tag_data(data_module)
local tab = {}
for name, data in pairs(data_module.tags) do
local tag_type = data[TAG_TYPE]
if not tag_type then
-- Throw an error because hopefully it will get noticed and fixed. If we just skip it, it may never get
-- fixed.
error("Tag '" .. name .. "' has no tag_type")
end
if not tab[tag_type] then
tab[tag_type] = {}
end
insert(tab[tag_type], {name, data})
end
local tag_type_order_set = list_to_set(tag_type_order)
for tag_type, tags_of_type in pairs(tab) do
if not tag_type_order_set[tag_type] then
-- See justification above for throwing an error.
error("Tag type '" .. tag_type .. "' not listed in tag_type_order")
end
sort(tags_of_type, sort_by_first)
end
return tab
end
local function insert_group(parts, group)
for _, namedata in ipairs(group) do
local sparts = {}
local name, data = unpack(namedata)
insert(sparts, "| <code>" .. name .. "</code> || ")
local shortcuts = data[SHORTCUTS]
if shortcuts then
local ssparts = {}
if type(shortcuts) == "string" then
shortcuts = {shortcuts}
end
for _, shortcut in ipairs(shortcuts) do
insert(ssparts, "<code>" .. shortcut .. "</code>")
end
insert(sparts, concat(ssparts, ", ") .. " ")
end
insert(sparts, "|| " .. get_tag_display_form(name))
insert(parts, "|-")
insert(parts, concat(sparts))
end
end
function export.tagtable()
local data1_tab = organize_tag_data(form_of_data1)
local data2_tab = organize_tag_data(form_of_data2)
local parts = {}
insert(parts, '{|class="wikitable"')
insert(parts, "! Canonical tag !! Shortcut(s) !! Display form")
for _, tag_type in ipairs(tag_type_order) do
local group_tab = data1_tab[tag_type]
if group_tab then
insert(parts, "|-")
insert(parts, '! colspan="3" style="text-align: center; background: var(--wikt-palette-lightergrey);" | ' .. tag_type_desc(tag_type) ..
" (more common)")
insert_group(parts, group_tab)
end
group_tab = data2_tab[tag_type]
if group_tab then
insert(parts, "|-")
insert(parts, '! colspan="3" style="text-align: center; background: var(--wikt-palette-lightergrey);" | ' .. tag_type_desc(tag_type) ..
" (less common)")
insert_group(parts, group_tab)
end
end
insert(parts, "|}")
return concat(parts, "\n")
end
local function organize_non_alias_shortcut_data(data_module, lang)
local non_alias_shortcuts = {}
for shortcut, full in pairs(data_module.shortcuts) do
if type(full) == "table" or is_link_or_html(full) or full:find("//") or full:find(":") then
insert(non_alias_shortcuts, {shortcut, full, get_display_form({shortcut}, lang)})
end
end
sort(non_alias_shortcuts, sort_by_first)
return non_alias_shortcuts
end
local function insert_shortcut_group(parts, shortcuts)
for _, spec in ipairs(shortcuts) do
local shortcut, full, display = unpack(spec)
insert(parts, "|-")
if type(full) == "table" then
full = "{" .. concat(full, " ") .. "}"
end
insert(parts, ("| <code>%s</code> || <code>%s</code> || %s"):format(shortcut, full, display))
end
end
function export.non_alias_shortcut_table()
local non_alias_shortcuts1 = organize_non_alias_shortcut_data(form_of_data1)
local non_alias_shortcuts2 = organize_non_alias_shortcut_data(form_of_data2)
local parts = {}
insert(parts, '{|class="wikitable"')
insert(parts, "! Shortcut !! Expansion !! Display form")
if non_alias_shortcuts1[1] then
insert(parts, "|-")
insert(parts, '! colspan="3" style="text-align: center; background: var(--wikt-palette-grey-3, #dddddd);" | More common:')
insert_shortcut_group(parts, non_alias_shortcuts1)
end
if non_alias_shortcuts2[1] then
insert(parts, "|-")
insert(parts, '! colspan="3" style="text-align: center; background: var(--wikt-palette-grey-3, #dddddd);" | Less common:')
insert_shortcut_group(parts, non_alias_shortcuts2)
end
insert(parts, "|}")
return concat(parts, "\n")
end
local function process_spec(spec, cats, labels)
if type(spec) == "string" then
insert(cats, spec)
return
elseif not spec or spec == true then
-- Ignore labels, etc.
return
elseif type(spec) ~= "table" then
error("Wrong type of condition " .. spec .. ": " .. type(spec))
elseif spec.labels then
table_extend(labels, spec.labels)
return
end
local predicate = spec[1]
if predicate == "multi" or predicate == "cond" then
for _, sp in iterate_from(2, ipairs(spec)) do -- Iterate from 2.
process_spec(sp, cats, labels)
end
elseif predicate == "pexists" then
process_spec(spec[2], cats, labels)
process_spec(spec[3], cats, labels)
elseif predicate == "has" or predicate == "hasall" or predicate == "hasany" or
predicate == "tags=" or predicate == "p=" or predicate == "pany" or
predicate == "not" then
process_spec(spec[3], cats, labels)
process_spec(spec[4], cats, labels)
elseif predicate == "and" or predicate == "or" then
process_spec(spec[3], cats, labels)
process_spec(spec[4], cats, labels)
elseif predicate == "call" then
return
else
error("Unrecognized predicate: " .. predicate)
end
end
local function find_categories_and_labels(catstruct)
local cats, labels = {}, {}
for _, spec in ipairs(catstruct) do
process_spec(spec, cats, labels)
end
return cats, labels
end
local function construct_category_table(cats)
local category_parts = {}
insert(category_parts, '{|class="wikitable"')
insert(category_parts, "! Category")
for _, cat in ipairs(cats) do
insert(category_parts, "|-")
insert(category_parts, "| <code>" .. cat .. "</code>")
end
insert(category_parts, "|}")
return concat(category_parts, "\n")
end
local function construct_label_table(labels, lang, replace_und)
local label_parts = {}
insert(label_parts, '{|class="wikitable"')
insert(label_parts, "! Label !! Display form !! Associated categories")
for _, label in ipairs(labels) do
insert(label_parts, "|-")
local label_data = get_label_info{
label = label,
lang = lang,
}
local coded_categories = {}
for _, cat in ipairs(label_data.categories) do
if replace_und then
cat = cat:gsub("^und:", "LANGCODE:")
cat = cat:gsub("^Undetermined ", "LANG ")
end
insert(coded_categories, "<code>" .. cat .. "</code>")
end
insert(label_parts, ("| <code>%s</code> || %s || %s"):format(label, label_data.label,
concat(coded_categories, ",")))
end
insert(label_parts, "|}")
return concat(label_parts, "\n")
end
local function iterate_languages(langcodes_module, data_by_lang)
for langcode in pairs(require(langcodes_module)) do
local data_module_name = form_of_lang_data_module_prefix .. langcode
local data_module = safe_require(data_module_name)
if data_module or m_cats[langcode] and langcode ~= "und" then
local lang = get_lang(langcode, nil, true)
-- First do base-lemma params.
local base_lemma_param_table
if data_module and data_module.base_lemma_params and data_module.base_lemma_params[1] then
local base_lemma_param_parts = {}
insert(base_lemma_param_parts, '{|class="wikitable"')
insert(base_lemma_param_parts, "! Parameter !! Display form")
for _, base_lemma_param in ipairs(data_module.base_lemma_params) do
insert(base_lemma_param_parts, "|-")
insert(base_lemma_param_parts, ("| <code>%s</code> || %s"):format(base_lemma_param.param,
get_display_form(base_lemma_param.tags, lang)))
end
insert(base_lemma_param_parts, "|}")
base_lemma_param_table = concat(base_lemma_param_parts, "\n")
end
-- Then do inflection tags.
local data1_tab = data_module and organize_tag_data(data_module) or {}
local tag_parts = {}
insert(tag_parts, '{|class="wikitable"')
insert(tag_parts, "! Canonical tag !! Shortcut(s) !! Tag type !! Display form")
local saw_any_tag = false
for _, tag_type in ipairs(tag_type_order) do
local group_tab = data1_tab[tag_type]
if group_tab then
for _, namedata in ipairs(group_tab) do
local sparts = {}
local name, data = unpack(namedata)
insert(sparts, "| <code>" .. name .. "</code> || ")
if data.shortcuts then
local ssparts = {}
for _, shortcut in ipairs(data.shortcuts) do
insert(ssparts, "<code>" .. shortcut .. "</code>")
end
insert(sparts, concat(ssparts, ", ") .. " ")
end
insert(sparts, "|| " .. tag_type_desc(tag_type) .. " || " ..
get_tag_display_form(name, lang))
insert(tag_parts, "|-")
insert(tag_parts, concat(sparts))
saw_any_tag = true
end
end
end
insert(tag_parts, "|}")
local tag_table = saw_any_tag and concat(tag_parts, "\n") or nil
-- Then do non-alias shortcuts.
local non_alias_shortcut_table
local non_alias_shortcuts = data_module and organize_non_alias_shortcut_data(data_module, lang) or {}
if non_alias_shortcuts[1] then
local non_alias_shortcut_parts = {}
insert(non_alias_shortcut_parts, '{|class="wikitable"')
insert(non_alias_shortcut_parts, "! Shortcut !! Expansion !! Display form")
for _, spec in ipairs(non_alias_shortcuts) do
local shortcut, full, display = unpack(spec)
insert(non_alias_shortcut_parts, "|-")
if type(full) == "table" then
full = "{" .. concat(full, " ") .. "}"
end
insert(non_alias_shortcut_parts, ("| <code>%s</code> || <code>%s</code> || %s"):format(shortcut, full, display))
end
insert(non_alias_shortcut_parts, "|}")
non_alias_shortcut_table = concat(non_alias_shortcut_parts, "\n")
end
-- Then do categories and labels.
local category_table, label_table
if m_cats[langcode] then
local cats, labels = find_categories_and_labels(m_cats[langcode])
if cats[1] then
category_table = construct_category_table(cats)
end
if labels[1] then
label_table = construct_label_table(labels, lang)
end
end
-- Concatenate all the tables together, with appropriate explanatory text.
if base_lemma_param_table or tag_table or non_alias_shortcut_table or category_table or label_table then
local langname, lang_parts = lang:getCanonicalName(), {}
insert(lang_parts, "===" .. langname .. "===")
insert(lang_parts, show_editlink(data_module_name))
if base_lemma_param_table then
insert(lang_parts, ("%s-specific base lemma parameters:"):format(langname))
insert(lang_parts, base_lemma_param_table)
end
if tag_table then
insert(lang_parts, ("%s-specific inflection tags:"):format(langname))
insert(lang_parts, tag_table)
end
if non_alias_shortcut_table then
insert(lang_parts, ("%s-specific non-alias shortcuts:"):format(langname))
insert(lang_parts, non_alias_shortcut_table)
end
if category_table then
insert(lang_parts, ("%s-specific categories (the exact conditions under which these are added are described in [[Module:form of/cats]]):"):
format(langname))
insert(lang_parts, category_table)
end
if label_table then
insert(lang_parts, ("%s-specific labels (the exact conditions under which these are added are described in [[Module:form of/cats]]):"):
format(langname))
insert(lang_parts, label_table)
end
insert(data_by_lang, {langname, concat(lang_parts, "\n")})
end
end
end
end
local function sort_by_first_english_first(langdata1, langdata2)
if langdata1[1] == "English" then
-- English is "less than" (goes before) all other languages
return true
elseif langdata2[1] == "English" then
-- All other languages are not "less than" (do not go before) English
return false
end
return langdata1[1] < langdata2[1]
end
function export.lang_specific_tables()
local data_by_lang = {}
iterate_languages("Module:languages/code to canonical name", data_by_lang)
iterate_languages("Module:etymology languages/code to canonical name", data_by_lang)
sort(data_by_lang, sort_by_first_english_first)
local parts = {}
for _, lang_and_data in ipairs(data_by_lang) do
insert(parts, lang_and_data[2])
end
return concat(parts, "\n")
end
function export.postable()
local shortcut_tab = {}
for shortcut, full in pairs(form_of_pos) do
if not shortcut_tab[full] then
shortcut_tab[full] = {}
end
insert(shortcut_tab[full], shortcut)
end
local shorcut_list = {}
for full, shortcuts in pairs(shortcut_tab) do
sort(shortcuts)
insert(shorcut_list, {full, shortcuts})
end
sort(shorcut_list, sort_by_first)
local parts = {}
insert(parts, '{|class="wikitable"')
insert(parts, "! Canonical part of speech !! Shortcut(s)")
for _, full_shortcuts in ipairs(shorcut_list) do
local full = full_shortcuts[1]
local shortcuts = full_shortcuts[2]
insert(parts, "|-")
local sparts = {}
for _, shortcut in ipairs(shortcuts) do
insert(sparts, "<code>" .. shortcut .. "</code>")
end
insert(parts, "| <code>" .. full .. "</code> || " .. concat(sparts, ", "))
end
insert(parts, "|}")
return concat(parts, "\n")
end
function export.lang_independent_category_table()
if m_cats["und"] then
local cats = find_categories_and_labels(m_cats["und"])
if cats[1] then
return construct_category_table(cats)
end
end
return "(no language-independent categories currently)"
end
function export.lang_independent_label_table()
if m_cats["und"] then
local labels = select(2, find_categories_and_labels(m_cats["und"]))
if labels[1] then
return construct_label_table(labels, get_lang("und"), "replace und")
end
end
return "(no language-independent labels currently)"
end
return export
5p79r28n5qfxf61v4c4h83vfwhgth0m
साँचा:alter
10
304757
488548
477873
2026-09-10T17:18:17Z
SM7
6218
488548
wikitext
text/x-wiki
<includeonly>{{#invoke:alternative forms|create}}</includeonly><noinclude>{{documentation}}</noinclude>
b95f6i4jfv9s4y89dukle1iejkwmdym
मॉड्यूल:alternative forms
828
304760
488545
477893
2026-09-10T17:13:11Z
SM7
6218
updating...
488545
Scribunto
text/plain
local export = {}
local labels_module = "Module:labels"
local links_module = "Module:links"
local parameter_utilities_module = "Module:parameter utilities"
local function track(page)
require("Module:debug/track")("alter/" .. page)
end
--[==[
Main function for displaying alternative forms. Extracted out from the template-callable function so this can be
called by other modules (in particular, [[Module:descendants tree]]). `allow_self_link` causes terms the same as the
pagename to be shown normally; otherwise they are displayed unlinked. `default_separator` controls the separator between
terms when the user didn't use a special separator term like ";" (defaulting to ", ").
]==]
function export.display_alternative_forms(parent_args, pagename, allow_self_link, default_separator)
local params = {
[1] = {required = true, type = "language", default = "hi"},
[2] = {list = true, allow_holes = true},
}
local m_param_utils = require(parameter_utilities_module)
local param_mods = m_param_utils.construct_param_mods {
{group = {"link", "ref"}},
-- For compatibility, we need to turn off separate_no_index for q= and qq=.
{group = "q", separate_no_index = false},
-- We currently don't support unindexed l= and ll=.
{group = "l", require_index = true},
}
local items, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params {
params = params,
param_mods = param_mods,
raw_args = parent_args,
termarg = 2,
parse_lang_prefix = true,
track_module = "alter",
lang = 1,
sc = "sc.default",
stop_when = function(data)
local stop = not data.any_param_at_index
if stop and parent_args[data.orig_index + 1] == nil then
track("actual hole in params")
end
return stop
end,
default_separator = default_separator,
}
if not items[1] then
error("No items found!")
end
local lang = args[1]
local raw_labels = {}
-- Extract the labels and make sure none are blank or omitted.
local last_item_index = items[#items].orig_index
if last_item_index < args[2].maxindex then
for i = last_item_index + 2, args[2].maxindex do
if not args[2][i] then
-- Indices in i start at 1 but parameters start at 2 to add 1 to shown index.
error("Missing/blank item not allowed in [[Template:alt]] labels, but saw such an item in parameter "
.. (i + 1))
end
table.insert(raw_labels, args[2][i])
end
end
-- Make sure there aren't property parameters after the last item (i.e. corresponding to labels).
for k, v in pairs(args) do
-- Look for named list parameters. We check:
-- (1) key is a string (excludes the term param, which is a number);
-- (2) value is a table, i.e. a list;
-- (3) v.maxindex is set (i.e. allow_holes was used);
-- (4) v.maxindex is past the index of the last term.
if type(k) == "string" and type(v) == "table" and v.maxindex and v.maxindex > last_item_index then
local set_values = {}
for i = last_item_index + 1, v.maxindex do
if v[i] then
table.insert(set_values, i)
end
end
error(("Extraneous values for %s= (set at position%s %s)"):format(k, #set_values > 1 and "s" or "",
table.concat(set_values, ",")))
end
end
if not allow_self_link then
-- If the to-be-linked term is the same as the pagename, display it unlinked.
for _, item in ipairs(items) do
if not item.term and lang:stripDiacritics(item.term) == pagename then
track("term is pagename")
item.alt = item.alt or item.term
item.term = nil
end
end
end
local labels
if #raw_labels > 0 then
labels = require(labels_module).process_raw_labels { labels = raw_labels, lang = lang, nocat = true }
end
local parts = {}
local function ins(part)
table.insert(parts, part)
end
-- Construct the final output.
-- First the items, including separators, left and right regular qualifiers and left and right per-item labels.
for _, item in ipairs(items) do
ins(item.separator)
local text = require(links_module).full_link(item, nil, allow_self_link, "show qualifiers")
ins(text)
end
-- If there are labels, construct them now and append to final output.
if labels then
if lang:hasTranslit() then
ins(" — " .. require(labels_module).format_processed_labels {
labels = labels, lang = lang
})
else
ins(" " .. require(labels_module).format_processed_labels {
labels = labels, lang = lang, open = "(", close = ")"
})
end
end
return table.concat(parts)
end
--[==[
Template-callable function for displaying alternative forms.
]==]
function export.create(frame)
local parent_args = frame:getParent().args
return export.display_alternative_forms(parent_args, mw.loadData("Module:headword/data").pagename)
end
return export
jo0zalfa1cyxkswfwdcih805o7ey68e
साँचा:alternative spelling of
10
304852
488573
478533
2026-09-10T18:37:42Z
SM7
6218
488573
wikitext
text/x-wiki
{{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!--
-->{{#invoke:form of/templates|form_of_t|{{#invoke:labels/templates/show_from|show_from|default=alternative}} spelling of|withencap=1|ignore=from:list}}<!--
-->}}<!-- (end of {{check deprecated lang param usage}})
--><noinclude>{{documentation}}</noinclude>
s8r67tdud1sb71lekqh5cj9vc5nzece
साँचा:nobr
10
304862
488577
478549
2026-09-10T18:41:45Z
SM7
6218
488577
wikitext
text/x-wiki
<onlyinclude><span style="white-space:nowrap">{{{1}}}</span></onlyinclude>
{{documentation}}
869tcs9q90m38le2q5mxj73sybp8hx6
साँचा:policy-list
10
304863
488578
478550
2026-09-10T18:41:52Z
SM7
6218
488578
wikitext
text/x-wiki
{{nobr|'''नीतियाँ''' – प्रविष्टियाँ: [[विक्षनरी:समावेशन मापदंड|CFI]] - [[विक्षनरी:प्रविष्टि विन्यास|EL]] - [[विक्षनरी:प्रविष्टि सामान्यीकरण|NORM]] - [[विक्षनरी:तटस्थ दृष्टिकोण|NPOV]] - [[विक्षनरी:उद्धरण|QUOTE]] - [[विक्षनरी:पुनर्प्रेषण|REDIR]] - [[विक्षनरी:पृष्ठ हटाने के दिशानिर्देश|DELETE]]. भाषाएँ: [[विक्षनरी:भाषा बरताव|LT]] - [[:श्रेणी:विक्षनरी भाषा मीमांसा|AXX]]. अन्य: [[विक्षनरी:अवरोध नीति|BLOCK]] - [[विक्षनरी:बॉट|BOTS]] - [[विक्षनरी:सहमति|CON]].}}<noinclude>{{documentation}}</noinclude>
ibfkk5vzq8smucp5wxs95oqsostwk5o
साँचा:pagetype
10
304867
488579
481097
2026-09-10T18:42:02Z
SM7
6218
488579
wikitext
text/x-wiki
<includeonly><!--
Decide whether to make the first letter uppercase or not
-->{{{{#ifeq:{{{2|{{{1}}}}}}|U|ucfirst|#titleparts}}:<!--
-->{{#ifeq:{{{1}}}|a|<!-- Decide whether to prefix indefinite article
-->{{#ifeq:{{TALKSPACE}}|{{NAMESPACE}}|a talk page|{{#switch:{{NAMESPACE}}|<!--main-->=प्रविष्टि|श्रेणी=श्रेणी|Appendix=an appendix|विक्षनरी=परियोजना पृष्ठ|Index=an index|File=an image page|साँचा|Module=a {{#ifeq: {{SUBPAGENAME}} | documentation | {{lc:{{NAMESPACE}}}} documentation | {{lc:{{NAMESPACE}}}}}} पृष्ठ|Wikisaurus=a Wikisaurus page|MediaWiki=मीडियाविकि पृष्ठ|#default={{lc:{{NAMESPACE}}}} पृष्ठ}}}}<!--
-->|<!--
-->{{#ifeq:{{TALKSPACE}}|{{NAMESPACE}}|वार्ता पृष्ठ|{{#switch:{{NAMESPACE}}|<!--main-->=प्रविष्टि|श्रेणी|Appendix|Index={{lc:{{NAMESPACE}}}}|विक्षनरी=परियोजना पृष्ठ|Wikisaurus=Wikisaurus page|File=image page|साँचा|Module={{#ifeq: {{SUBPAGENAME}} | documentation | {{lc:{{NAMESPACE}}}} documentation | {{lc:{{NAMESPACE}}}}}} page|MediaWiki=मीडियाविकि पृष्ठ|#default={{lc:{{NAMESPACE}}}} पृष्ठ}}}}<!--
-->}}<!--
-->}}<!--
--></includeonly><noinclude>{{documentation}}</noinclude>
00wxlw8ux6yd2wsavqs24iapkx06h88
साँचा:main
10
304868
488580
478560
2026-09-10T18:42:09Z
SM7
6218
488580
wikitext
text/x-wiki
<onlyinclude>:''मुख्य लेख: [[{{{1}}}|{{{2|{{{1}}}}}}]]''</onlyinclude>
{{documentation}}
k543jzb3oyd0e7wl0hlc9711jxl384d
साँचा:lua
10
304898
488571
478912
2026-09-10T18:31:22Z
SM7
6218
[[साँचा:uses lua]] को अनुप्रेषित
488571
wikitext
text/x-wiki
#पुनर्प्रेषित [[साँचा:uses lua]]
tkcsk65oqxjfu310etbxqkbsp6nidja
साँचा:title
10
304913
488581
479283
2026-09-10T18:42:25Z
SM7
6218
488581
wikitext
text/x-wiki
<div style="text-align: center; margin: 1.5em 0 2.5em 0;">
<span style="color: {{{titlecolor|#309A66}}}; letter-spacing: 1px; font-size: 2.5em;">{{{pagename|Title of the page}}}</span><br/>
{{{other|Welcome {{PAGENAME}}.}}}
</div><noinclude>
[[fr:Modèle:titre]]
{{documentation}}</noinclude>
t7j5e3him4jhvh9z0dtrjvud3bf3pxy
साँचा:start colorful frame
10
304914
488582
479285
2026-09-10T18:42:36Z
SM7
6218
488582
wikitext
text/x-wiki
<includeonly><div style="box-shadow: 0 0 .2em #999999; border-radius: .2em; margin: 0.5em 0.5em 1em 0.5em; {{{style|}}}">
<!-- CSS pour l’image et le titre -->
<div style="background: {{#if: {{{1|}}}
| {{#switch: {{{1}}}
| blue = #36C
| vert = #00af89
| yellow = #fc3
| violet = #7755AA
| orange = #FE701F
| greenmedium = #88BB55
| lightblue= #00B1DC
| darkblue= #1144AA
| red = #d33
| orange = #ffa500
| gray = #c8ccd1
| scarlet = #FF3333
| sand = #F1E2AE
| blank = #FFF
| black = #000
| transp = transparent
| #default = {{{1}}}
}}
| #c8ccd1 }}; border-radius: .2em .2em 0 0; color: #000000; padding: .4em .8em .5em .5em; font-weight: bold;"></div>
<!-- CSS pour le contenu -->
<div style="padding: .5em 1em .5em 1em; background: {{#if: {{{bottom|}}} | {{{bottom|}}} | #FFF}}; border-radius: 0 0 .2em .2em;"></includeonly>
<noinclude>{{documentation}}
[[fr:Modèle:début cadre coloré]]
</noinclude>
icf46daii4gotah75hnrmiqt5qyzcre
साँचा:end frame
10
304915
488583
479284
2026-09-10T18:42:47Z
SM7
6218
488583
wikitext
text/x-wiki
<includeonly></div></div></includeonly><noinclude>{{documentation}}
[[fr:Modèle:fin cadre]]
</noinclude>
hg4vhp1ofizwqtlxyja4pjll8hvsew1
साँचा:multitrans
10
305052
488584
480005
2026-09-10T18:42:55Z
SM7
6218
488584
wikitext
text/x-wiki
{{#invoke:translations/multi|show}}<noinclude>{{documentation}}</noinclude>
mvmpr51ph8plruiolrg2ynlpdj1vt7i
फ्लिप-फ्लॉप
0
306005
488557
485643
2026-09-10T17:54:51Z
SM7
6218
सफाई
488557
wikitext
text/x-wiki
==हिंदी==
===उच्चारण===
* {{IPA|hi|/pʰlɪp.pʰlɔːp/}}
* {{audio|hi|}}
===संज्ञा===
'''फ्लिप-फ्लॉप''' (phlip-phlŏp)
# डिजिटल इलेक्ट्रॉनिक्स एक इलेक्ट्रॉनिक परिपथ जिसकी दो स्थिर अवस्थाएँ होती हैं और जिसका उपयोग अवस्था की जानकारी को संग्रहीत करने के लिए किया जाता है।
====उदाहरण====
#* स्टैटिक रैम (SRAM) में डेटा स्टोर करने के लिए '''फ्लिप-फ्लॉप''' का उपयोग किया जाता है।
====अनुवाद====
* अंग्रेज़ी: {{t|en|flip-flop}}
7zw2hby6udaxwgzs1t5wj5x8g9yiqow
488561
488557
2026-09-10T17:56:17Z
SM7
6218
सफाई
488561
wikitext
text/x-wiki
==हिंदी==
===उच्चारण===
* {{IPA|hi|/pʰlɪp.pʰlɔːp/}}
===संज्ञा===
'''फ्लिप-फ्लॉप''' (phlip-phlŏp)
# डिजिटल इलेक्ट्रॉनिक्स एक इलेक्ट्रॉनिक परिपथ जिसकी दो स्थिर अवस्थाएँ होती हैं और जिसका उपयोग अवस्था की जानकारी को संग्रहीत करने के लिए किया जाता है।
====उदाहरण====
#* स्टैटिक रैम (SRAM) में डेटा स्टोर करने के लिए '''फ्लिप-फ्लॉप''' का उपयोग किया जाता है।
====अनुवाद====
* अंग्रेज़ी: {{t|en|flip-flop}}
mjlxolnnej1tr78tx0cb1n8aczbc1f6
मल्टीप्लेक्सर
0
306012
488558
485653
2026-09-10T17:55:21Z
SM7
6218
सफाई
488558
wikitext
text/x-wiki
==हिंदी==
===उच्चारण===
* {{IPA|hi|/məl.ʈiː.plek.səɾ/}}
* {{audio|hi|}}
===संज्ञा===
'''मल्टीप्लेक्सर''' (malṭīpleksar) पुल्लिंग
# डिजिटल इलेक्ट्रॉनिक्स एक उपकरण जो कई इनपुट सिग्नलों में से किसी एक का चयन करके उसे एक आउटपुट लाइन पर भेजता है।
====उदाहरण====
#* संचार प्रणालियों में, '''मल्टीप्लेक्सर''' एक ही चैनल पर कई संकेतों को भेजने की अनुमति देता है।
====समानार्थी शब्द====
* [[मक्स]] (MUX)
====अनुवाद====
* अंग्रेज़ी: {{t|en|multiplexer}}
cbtub2n4uil6pexe3gs04klv2w2u4rk
488562
488558
2026-09-10T17:56:29Z
SM7
6218
सफाई
488562
wikitext
text/x-wiki
==हिंदी==
===उच्चारण===
* {{IPA|hi|/məl.ʈiː.plek.səɾ/}}
===संज्ञा===
'''मल्टीप्लेक्सर''' (malṭīpleksar) पुल्लिंग
# डिजिटल इलेक्ट्रॉनिक्स एक उपकरण जो कई इनपुट सिग्नलों में से किसी एक का चयन करके उसे एक आउटपुट लाइन पर भेजता है।
====उदाहरण====
#* संचार प्रणालियों में, '''मल्टीप्लेक्सर''' एक ही चैनल पर कई संकेतों को भेजने की अनुमति देता है।
====समानार्थी शब्द====
* [[मक्स]] (MUX)
====अनुवाद====
* अंग्रेज़ी: {{t|en|multiplexer}}
hvg35ekqfm6uk2do4wkgr4drps7zrjp
डी-मल्टीप्लेक्सर
0
306019
488559
485660
2026-09-10T17:55:40Z
SM7
6218
सफाई
488559
wikitext
text/x-wiki
==हिंदी==
===उच्चारण===
* {{IPA|hi|/ɖiː.məl.ʈiː.plek.səɾ/}}
* {{audio|hi|}}
===संज्ञा===
'''डी-मल्टीप्लेक्सर''' (ḍī-malṭīpleksar)
# डिजिटल इलेक्ट्रॉनिक्स एक उपकरण जो एक इनपुट सिग्नल लेता है और उसे कई आउटपुट लाइनों में से किसी एक पर भेजता है।
====उदाहरण====
#* एक 1-से-4 '''डी-मल्टीप्लेक्सर''' में एक इनपुट और चार आउटपुट होते हैं।
====समानार्थी शब्द====
* [[डीमक्स]] (DEMUX)
====अनुवाद====
* अंग्रेज़ी: {{t|en|demultiplexer}}
tms2ddbx2wwlhofrw94itl14t134asd
488563
488559
2026-09-10T17:56:48Z
SM7
6218
सफाई
488563
wikitext
text/x-wiki
==हिंदी==
===उच्चारण===
* {{IPA|hi|/ɖiː.məl.ʈiː.plek.səɾ/}}
===संज्ञा===
'''डी-मल्टीप्लेक्सर''' (ḍī-malṭīpleksar)
# डिजिटल इलेक्ट्रॉनिक्स एक उपकरण जो एक इनपुट सिग्नल लेता है और उसे कई आउटपुट लाइनों में से किसी एक पर भेजता है।
====उदाहरण====
#* एक 1-से-4 '''डी-मल्टीप्लेक्सर''' में एक इनपुट और चार आउटपुट होते हैं।
====समानार्थी शब्द====
* [[डीमक्स]] (DEMUX)
====अनुवाद====
* अंग्रेज़ी: {{t|en|demultiplexer}}
1ujq5s99mqgwnpq2lcl7f28h0bu26xu
फील्ड-प्रोग्रामेबल गेट ऐरे
0
306064
488560
485722
2026-09-10T17:56:01Z
SM7
6218
सफाई
488560
wikitext
text/x-wiki
==हिंदी==
===उच्चारण===
* {{IPA|hi|/pʰiːlɖ.pɾoː.ɡɾɑː.meː.bəl ɡeːʈ ɛː.ɾeː/}}
===संज्ञा===
'''फील्ड-प्रोग्रामेबल गेट ऐरे''' (phīlḍ-progrāmebal geṭ aire)
# डिजिटल इलेक्ट्रॉनिक्स एक एकीकृत परिपथ जिसे निर्माण के बाद एक ग्राहक या डिजाइनर द्वारा कॉन्फ़िगर करने के लिए डिज़ाइन किया गया है।
====उदाहरण====
#* डिजिटल सर्किट की प्रोटोटाइपिंग के लिए '''फील्ड-प्रोग्रामेबल गेट ऐरे''' का उपयोग किया जाता है।
====समानार्थी शब्द====
* [[एफपीजीए]] (FPGA)
====अनुवाद====
* अंग्रेज़ी: {{t|en|field-programmable gate array}}
7o1rflewkl8fnwjpg1wz0fui3mz83ex
ख़ता
0
307183
488546
488539
2026-09-10T17:15:59Z
SM7
6218
सुधार
488546
wikitext
text/x-wiki
==हिंदी==
===अन्य रूप===
{{alter|hi|खता||नुक़्तारहित}}
===संज्ञा===
{{hi-noun}}
# [[ग़लती]]
# [[कसूर]]
43o4qxmskavaxbz9rybmrstuucevnl8
488554
488546
2026-09-10T17:29:32Z
SM7
6218
488554
wikitext
text/x-wiki
==हिंदी==
===अन्य रूप===
{{alter|hi|खता||नुक़्तारहित}}
===संज्ञा===
{{hi-noun|m}}
# [[ग़लती]], [[कसूर]], अथवा [[अपराध]]।
qo8zk93fi7ksb7q6p63wj7az55f0vif
साँचा:p
10
307184
488542
2026-09-10T16:22:00Z
SM7
6218
SM7 ने पृष्ठ [[साँचा:p]] को [[साँचा:para]] पर स्थानांतरित किया
488542
wikitext
text/x-wiki
#पुनर्प्रेषित [[साँचा:para]]
e55jxf3qzxwmtdyl5tz2glginzse1qz
साँचा:demoi
10
307185
488543
2026-09-10T17:03:27Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488543
wikitext
text/x-wiki
<includeonly>{{#invoke:demo|main|fmt=inline}}</includeonly><noinclude>{{documentation}}</noinclude>
fkm1ro6zs6mj687c5y9f3pyh4v7pam2
साँचा:demoi/documentation
10
307186
488544
2026-09-10T17:04:51Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488544
wikitext
text/x-wiki
{{documentation subpage}}
{{uses lua|Module:demo}}
This template displays Wikicode followed by the output of the Wikicode next to it in the same manner as {{tl|demo}}, but defaults to inline format ({{para|fmt|inline}} or {{para|fmt|i}}) rather than compact format.
==See also==
* {{temp|demo}}
* {{temp|demom}} (defaults to {{para|fmt|m}})
* {{temp|demo2}} (defaults to {{para|fmt|2}})
* {{temp|demo2c}} (defaults to {{para|fmt|2c}})
<includeonly>
[[Category:इंटरनल कड़ी साँचे]]
</includeonly>
sh9dlqopi0itx84wwbsdr71xa653s9n
साँचा:alter/documentation
10
307187
488549
2026-09-10T17:19:01Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488549
wikitext
text/x-wiki
{{documentation subpage}}
{{shortcut|Template:alt}}
{{uses lua|Module:alternative forms}}
{{hatnote|This template is for listing alternative spellings linking to other articles. For usage in definitions, see the separate [[Template:alternative form of]].}}
This template generates a correctly formatted list of alternative forms with descriptions indicating the associated language variety or other property.
==Parameters==
; {{para|1|req=1}}
: The language code (see [[Wiktionary:List of languages]]) of the language whose sense this template appears under.
; {{para|2}}, {{para|3}}, {{para|4}}, ...
: One or more alternative forms to be listed, along with any labels describing usage characteristics, e.g. {{cd|Louisiana}} (indicating a Louisiana-specific term) or {{cd|informal}} (indicating a term used only informally). The labels are separated from the alternative forms by a blank/empty parameter; the alternative forms appear before the blank parameter, and the labels appear after. The labels are exactly the same as the labels used for {{tl|lb}} and {{tl|tlb}}, and will be displayed and linked in the same fashion, but won't add the page to any categories. See the documentation for {{tl|lb}} for the recognized labels. Any unrecognized labels will be displayed as-is. Multiple alternative forms are normally displayed comma-separated, unless one of the forms has an embedded comma in it, in which case all entries will be semicolon-separated. To separate individual entries with a semicolon, place a semicolon as a parameter by itself. (It is suggested to use semicolons to separate logical groups of alternative forms.) Individual terms can specify transliterations, glosses, genders, dialect tags and other modifications inline using a syntax like <code>детекти́вный рома́н<tr:dɛtɛktívnyj román><t:detective novel></code>; see below.
; {{para|t1}}, {{para|t2}}, {{para|t3}}, ...
: A gloss for each alternative form, if the term has a different meaning from the term it is placed under. {{para|t1}} corresponds to the first specified alternative form, {{para|t2}} to the second specified alternative form, etc. Semicolons are ignored for parameter numbering purposes.
; {{para|alt1}}, {{para|alt2}}, {{para|alt3}}, ...
: Display text for each of the alternative forms, if different from the entry name.
; {{para|tr1}}, {{para|tr2}}, {{para|tr3}}, ...
: Transliteration for each of the alternative forms. Only necessary for terms written in a non-Latin script and only if the automatic transliteration is incorrect (or for languages without automatic transliteration).
; {{para|ts1}}, {{para|ts2}}, {{para|ts3}}, ...
: Transcription for each of the alternative forms. Only used for certain non-Latin-script languages whose transliteration is markedly different from the actual pronunciation. Should not be used for IPA pronunciations.
; {{para|q1}}, {{para|q2}}, {{para|q3}}, ...
: If necessary, qualifiers for each of the alternative forms, shown before the alternative form in question.
; {{para|qq1}}, {{para|qq2}}, {{para|qq3}}, ...
: If necessary, qualifiers for each of the alternative forms, shown after the alternative form in question.
; {{para|lit1}}, {{para|lit2}}, {{para|lit3}}, ...
: Literal translation of each alternative form, if needed to clarify the meaning.
; {{para|pos1}}, {{para|pos2}}, {{para|pos3}}, ...
: Part of speech of each alternative form (especially if the part of speech is different from that of the main entry).
; {{para|g1}}, {{para|g2}}, {{para|g3}}, ...
: Gender and number specification of each alternative form, if necessary for clarification. See [[Module:gender and number]] for details. Multiple comma-separated gender/number specifications can be given for each alternative form.
; {{para|id1}}, {{para|id2}}, {{para|id3}}, ...
: A sense ID for each alternative form, which links to anchors on the page set by the {{temp|senseid}} template.
; {{para|sc1}}, {{para|sc2}}, {{para|sc3}}, ...
: Script code (see [[Wiktionary:List of scripts]]) for each alternative form. This is almost never needed.
==Examples==
* <code><nowiki>{{alt|en|crawfish|crayfish}}</nowiki></code>
* {{alt|en|crawfish|crayfish}}
*: Simple example without labels.
* <code><nowiki>{{alt|en|'mater||Southern US|Appalachia|informal}}</nowiki></code>
* {{alt|en|'mater||Southern US|Appalachia|informal}}
*: {{m|en|'mater}} is the term. {{cd|Southern US}}, {{cd|Appalachia}} and {{cd|informal}} are labels indicating the usage characteristics of the term. Note how each is linked appropriately (the first two to Wikipedia articles describing the language varieties in question, and the last one to the Wiktionary glossary of linguistic terms).
* <code><nowiki>{{alt|grc|παραγίνομαι||ion|post-Classical}}</nowiki></code>
*{{alt|grc|παραγίνομαι||ion|post-Classical}}
*: {{cd|ion}} is a recognized Ancient-Greek-specific label that displays as {{cd|Ionic}} and links to the appropriate Wikipedia article on {{w|Ionic Greek}}. {{cd|post-Classical}} is not a recognized label, and is thus displayed as-is.
* <code><nowiki>{{alt|en|learnt||UK|Ireland|Australia|and|New Zealand|;|alternative in|_|Canada|;|rarely used in|_|American English}}</nowiki></code>
*{{alt|en|learnt||UK|Ireland|Australia|and|New Zealand|;|alternative in|_|Canada|;|rarely used in|_|American English}}
*: All labels usable by {{tl|lb}} are also usable here, including formatting labels such as {{cd|and}}, {{cd|;}} and {{cd|_}}. Note also how the label {{cd|American English}} is canonicalized to {{cd|US}}.
==Inline modifiers==
All of the per-term parameters described above can alternatively be specified as ''inline modifiers'', using a syntax like <code>детекти́вный рома́н<tr:dɛtɛktívnyj román><t:detective novel></code> to specify modifiers such as transliterations, glosses and qualifiers. In this example, for the Russian term {{m|ru|[[детекти́вный]] [[рома́н]]|tr=dɛtɛktívnyj román|t=detective novel}}, the manual transliteration ''dɛtɛktívnyj román'' and gloss "detective novel" are given. Specifically, the following modifiers are recognized; see the above documentation for more information on the exact meaning of each modifier.
* <code>t</code>: gloss
* <code>alt</code>: alternative display text
* <code>tr</code>: transliteration
* <code>ts</code>: transcription, for languages where the transliteration and pronunciation are markedly different
* <code>q</code>: qualifier, e.g. ''rare''; this appears before the term, parenthesized and italicized
* <code>qq</code>: qualifier, e.g. ''rare''; this appears after the term, parenthesized and italicized
* <code>lit</code>: literal meaning
* <code>pos</code>: part of speech
* <code>g</code>: comma-separated list of gender/number specifications
* <code>id</code>: sense ID; see {{temp|senseid}}
* <code>sc</code>: script code
===Examples===
The following:
<syntaxhighlight lang="wikitext">
* {{alt|ota|خرجین|tr1=hurcin|خرجینه|tr2=hurcine|خورج|tr3=hurç}}
</syntaxhighlight>
can be equivalently written as follows using inline modifiers:
<syntaxhighlight lang="wikitext">
* {{alt|ota|خرجین<tr:hurcin>|خرجینه<tr:hurcine>|خورج<tr:hurç>}}
</syntaxhighlight>
Both produce the following:
* {{alt|ota|خرجین<tr:hurcin>|خرجینه<tr:hurcine>|خورج<tr:hurç>}}
Note how the use of inline modifiers frees you from having to make sure the numbers of indexed parameters like {{para|t2}}, {{para|tr3}} correctly line up with the terms they are referring to. This is especially useful when a large number of alternative forms are given. For example, the following:
<syntaxhighlight lang="wikitext">
* {{alt|bg|пра́сква|пра́скъва|пра́скува|пра́ска|пра́сквя|пра́ська|пра́скя|пра́скье|пра́сковье|пра́скъ<g:f>||dialectal}}
</syntaxhighlight>
produces:
* {{alt|bg|пра́сква|пра́скъва|пра́скува|пра́ска|пра́сквя|пра́ська|пра́скя|пра́скье|пра́сковье|пра́скъ<g:f>||dialectal}}
===See also===
* {{temp|alti}}
<includeonly>
[[Category:इंटरनल कड़ी साँचे]]
</includeonly>
d2v5id6qxx6i93mu7aycow10d9sfgtq
साँचा:alt
10
307188
488550
2026-09-10T17:19:43Z
SM7
6218
[[साँचा:alter]] को अनुप्रेषित
488550
wikitext
text/x-wiki
#पुनर्प्रेषित [[साँचा:alter]]
3h1othzd605j8yecdv7kb5jhrju8pn6
मॉड्यूल:inc-headword
828
307189
488552
2026-09-10T17:23:29Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488552
Scribunto
text/plain
local export = {}
local pos_functions = {}
--[==[ intro:
This module provides support for modern Indic-language headword templates. It currently supports Hindi, Punjabi, Urdu,
Palula and Kohistani Shina. Eventually it will support other Indic languages, such as Marathi, Gujarati, Bengali,
Assamese, etc. Ancient Indic languages such as Sanskrit, Pali and Prakrit are handled by separate modules because they
have their own morphological complexities (esp. Sanskrit), which have no equivalent in the modern languages.
]==]
local force_cat = false -- for testing; if true, categories appear in non-mainspace pages
local require_when_needed = require("Module:utilities/require when needed")
local m_links = require("Module:links")
local m_table = require("Module:table")
local en_utilities_module = "Module:en-utilities"
local headword_module = "Module:headword"
local headword_utilities_module = "Module:headword utilities"
local languages_module = "Module:languages"
local parse_interface_module = "Module:parse interface"
local scripts_module = "Module:scripts"
local ur_hi_translit_module = "Module:ur-hi-translit"
local pa_Aran_Guru_translit_module = "Module:pa-Aran-Guru-translit"
local m_en_utilities = require_when_needed(en_utilities_module)
local m_headword_utilities = require_when_needed(headword_utilities_module)
local glossary_link = require_when_needed(headword_utilities_module, "glossary_link")
local boolean_param = {type = "boolean"}
local list_param = {list = true, disallow_holes = true}
local gender_param = {type = "genders"}
local gender_param_with_default = {type = "genders", default = "?"}
local list_to_set = m_table.listToSet
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local insert = table.insert
local concat = table.concat
local misc_pos_with_gender = list_to_set {
"numerals",
"suffixes",
"adjective forms",
"noun forms",
"proper noun forms",
"pronoun forms",
"determiner forms",
"verb forms",
"postposition forms",
}
local function generate_hindis_from_urdu_heads(headobjs)
local hindis = {}
for _, headobj in ipairs(headobjs) do
local hindiobj = m_table.shallowCopy(headobj)
hindiobj.term = require(ur_hi_translit_module).tr(m_links.remove_links(headobj.term))
hindiobj.tr = nil
insert(hindis, hindiobj)
end
return hindis
end
local function generate_gur_from_shah_heads(headobjs)
local gurus = {}
for _, headobj in ipairs(headobjs) do
local guruobj = m_table.shallowCopy(headobj)
guruobj.term = require(pa_Aran_Guru_translit_module).tr(m_links.remove_links(headobj.term))
guruobj.tr = nil
insert(gurus, guruobj)
end
return gurus
end
local langs_supported = {
["hi"] = {
other_langs_scripts = {
{"ur", "ur", "Aran", "Urdu"},
},
},
["pa"] = {
other_langs_scripts = {
{"gur", "pa", "Guru", "Gurmukhi", generate_gur_from_shah_heads},
{"sha", "pa", "Aran", "Shahmukhi"},
},
sccat = true,
},
["ur"] = {
other_langs_scripts = {
{"hi", "hi", "Deva", "Hindi", generate_hindis_from_urdu_heads},
},
enable_auto_translit = true,
},
["phl"] = {
other_langs_scripts = {
{"pa", "phl", "Aran", "Arabic"},
{"lat", "phl", "Latn", "Latin"},
},
sccat = true,
},
["plk"] = {
other_langs_scripts = {
{"pa", "plk", "Aran", "Arabic"},
{"lat", "plk", "Latn", "Latin"},
},
sccat = true,
}
}
----------------------------------------------- Utilities --------------------------------------------
local function split_on_comma(val)
if val:find(",") then
return require(parse_interface_module).split_on_comma(val)
else
return {val}
end
end
local function ine(val)
if val == "" then return nil else return val end
end
local function track(page)
require("Module:debug").track("inc-headword/" .. page)
return true
end
local function validate_genders(data, genders)
data.genders = genders
if not genders then
return
end
for _, gspec in ipairs(genders) do
local g = gspec.spec
if g == "m" or g == "f" or
g == "m-p" or g == "f-p" or
g == "mf" or g == "mf-p" or
g == "mfbysense" or g == "mfbysense-p" or
g == "mfequiv" or g == "mfequiv-p" or
g == "?" then
else
error("Invalid gender: " .. g)
end
end
end
-- Parse an inflection. The raw arguments come from `args[field]`, which is parsed for inline modifiers. Multiple
-- comma-separated values are allowed.
local function parse_inflection(_data, args, field, is_head, no_include_tr, is_single_param)
local argfield = field
if type(argfield) == "table" then
argfield = argfield[1]
end
if is_single_param then
local retval
if args[argfield] then
retval = m_headword_utilities.parse_term_with_modifiers {
val = args[argfield],
paramname = field,
splitchar = ",",
is_head = is_head,
include_mods = not no_include_tr and {"tr"} or nil,
}
end
return retval or {}
else
return m_headword_utilities.parse_term_list_with_modifiers {
forms = args[argfield],
paramname = field,
splitchar = ",",
is_head = is_head,
include_mods = not no_include_tr and {"tr"} or nil,
}
end
end
-- Parse and insert an inflection not requiring additional processing into `data.inflections`. The raw arguments come
-- from `args[field]`, which is parsed for inline modifiers. Multiple comma-separated values are allowed. `label` is the
-- label that the inflections are given; sections enclosed in <<...>> are linked to the glossary. `accel_form` is the
-- accelerator form, or nil. `enable_auto_translit` is set if requested by the language.
local function parse_and_insert_inflection(data, args, field, label, accel_form)
local terms = parse_inflection(data, args, field)
local accel_obj
if accel_form then
local lemmas = {}
local lemma_translits = {}
for i, headobj in ipairs(data.heads) do
lemmas[i] = headobj.term
lemma_translits[i] = headobj.tr
end
accel_obj = {
lemma = lemmas,
lemma_translit = lemma_translits,
form = accel_form,
}
end
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = label,
accel = accel_obj,
enable_auto_translit = data.langprops.enable_auto_translit,
}
end
--[==[
Main entry point. Takes two params:
; {{para|lang|req=1}}
: The language code of the language of the headword template.
; {{para|1}}
: The part of speech, pluralized; omit for {{cd|*-head}} templates such as {{tl|hi-head}}, {{tl|pa-head}} and {{tl|ur-head}}.
]==]
function export.show(frame)
local iparams = {
[1] = true,
["lang"] = {required = true},
}
local iargs = require("Module:parameters").process(frame.args, iparams)
local parargs = frame:getParent().args
local poscat = iargs[1]
local langcode = iargs.lang
if not langs_supported[langcode] then
local langcodes_supported = {}
for lang, _ in pairs(langs_supported) do
insert(langcodes_supported, lang)
end
error("This module currently only works for lang=" .. concat(langcodes_supported, "/"))
end
local lang = require(languages_module).getByCode(langcode, true)
local langname = lang:getCanonicalName()
local pos_in_1 = not poscat
if pos_in_1 then
poscat = ine(parargs[1]) or
mw.title.getCurrentTitle().fullText == "Template:" .. langcode .. "-head" and "interjection" or
error("Part of speech must be specified in 1=")
poscat = require(headword_module).canonicalize_pos(poscat)
end
local indexing_poscat = pos_in_1 and (misc_pos_with_gender[poscat] and "head_with_gender" or "head") or poscat
local langprops = langs_supported[langcode]
local params = {
["head"] = true,
["head2"] = {replaced_by = false, instead = "use comma-separated |head="},
["tr"] = true,
["tr2"] = {replaced_by = false, instead = "use comma-separated |tr= or <tr:...> inline modifier on head"},
["id"] = true,
["sort"] = true,
["nolink"] = boolean_param,
["nolinkhead"] = {type = "boolean", alias_of = "nolink"},
["suffix"] = boolean_param,
["nosuffix"] = boolean_param,
["splithyphen"] = boolean_param,
["json"] = boolean_param,
["pagename"] = true, -- for testing
}
if pos_in_1 then
params[1] = {required = true} -- required but ignored as already processed above
end
for _, other_lang_script in ipairs(langprops.other_langs_scripts) do
local param, _, _, _ = unpack(other_lang_script)
params[param] = true
params[param .. "1"] = {replaced_by = false, instead = "use comma-separated items (with no space after the comma) in |" .. param .. "="}
params[param .. "2"] = {replaced_by = false, instead = "use comma-separated items (with no space after the comma) in |" .. param .. "="}
end
if pos_functions[indexing_poscat] then
for key, val in pairs(pos_functions[indexing_poscat].params) do
params[key] = val
end
end
local args = require("Module:parameters").process(parargs, params)
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
local data = {
lang = lang,
langname = langname,
langprops = langprops,
pos_category = poscat,
categories = {},
genders = {},
inflections = {},
pagename = pagename,
id = args.id,
sort_key = args.sort,
force_cat_output = force_cat,
-- We use our own splitting algorithm so the redundant head cat will be inaccurate.
no_redundant_head_cat = true,
sccat = langprops.sccat,
}
local trs = args.tr and split_on_comma(args.tr) or {}
local num_trs = #trs
local heads = args.head and parse_inflection(data, args, "head", "is_head", nil, "is_single_param") or {}
local user_specified_heads = heads
local num_heads = #heads
if num_heads > 0 and num_trs > 0 and num_heads ~= num_trs then
error(("%s head%s specified explicitly but %s translit%s; they must match; use '+' to stand for the default head (the pagename) or no manual translit"):format(
num_heads, num_heads > 1 and "s" or "", num_trs, num_trs > 1 and "s" or ""))
end
-- Be careful here not to overwrite user_specified_heads if it's empty so we can later check user_specified_heads
-- to see if the user provided any heads.
if num_heads == 0 and num_trs > 0 then
heads = {}
for i = 1, num_trs do
heads[i] = {term = "+"}
end
end
if not heads[1] then
heads = {{term = "+"}}
end
for i, headobj in ipairs(heads) do
if headobj.term == "+" then
headobj.term = args.nolink and pagename or m_headword_utilities.add_links_to_multiword_term(pagename,
{split_hyphen_when_space = args.splithyphen})
end
if headobj.tr and trs[i] then
if headobj.tr ~= trs[i] then
error(("Saw two different translits '%s' and '%s' for head #%s '%s'"):format(
headobj.tr, trs[i], i, headobj.term))
end
else
headobj.tr = headobj.tr or trs[i]
end
if headobj.tr == "+" then
headobj.tr = nil
end
end
data.heads = heads
data.is_suffix = false
if args.suffix or (
not args.nosuffix and pagename:find("^%-") and poscat ~= "suffixes" and poscat ~= "suffix forms"
) then
data.is_suffix = true
data.pos_category = "suffixes"
local singular_poscat = m_en_utilities.singularize(poscat)
insert(data.categories, langname .. " " .. singular_poscat .. "-forming suffixes")
insert(data.inflections, {label = singular_poscat .. "-forming suffix"})
end
if pos_functions[indexing_poscat] then
pos_functions[indexing_poscat].func(args, data)
end
for _, other_lang_script in ipairs(langprops.other_langs_scripts) do
local param, other_langcode, other_sccode, lang_script_label, generate_from_heads = unpack(other_lang_script)
local terms = parse_inflection(data, args, param, nil, "no_include_tr", "is_single_param") or {}
if not terms[1] and generate_from_heads then
terms = generate_from_heads(user_specified_heads)
end
if terms[1] then
local other_lang = require(languages_module).getByCode(other_langcode, true)
local other_sc = require(scripts_module).getByCode(other_sccode, true)
for _, termobj in ipairs(terms) do
termobj.lang = other_lang
termobj.sc = other_sc
end
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = lang_script_label .. " spelling",
-- Don't set `enable_auto_translit` here, e.g. for Urdu.
}
end
end
if args.json then
return require("Module:JSON").toJSON(data)
end
return require(headword_module).full_headword(data)
end
pos_functions.adjectives = {
params = {
[1] = {list = "comp", disallow_holes = true},
[2] = {list = "sup", disallow_holes = true},
["f"] = list_param,
["ind"] = boolean_param,
},
func = function(args, data)
if args["ind"] then
insert(data.inflections, {label = glossary_link("indeclinable")})
insert(data.categories, data.langname .. " indeclinable adjectives")
end
parse_and_insert_inflection(data, args, {1, "comp"}, "<<comparative>>")
parse_and_insert_inflection(data, args, {2, "sup"}, "<<superlative>>")
parse_and_insert_inflection(data, args, "f", "feminine")
end,
}
pos_functions.ordinals = {
params = {
["f"] = list_param,
["ind"] = boolean_param,
},
func = function(args, data)
data.pos_category = "adjectives"
insert(data.categories, data.langname .. " numerals")
if args["ind"] then
insert(data.inflections, {label = glossary_link("indeclinable")})
insert(data.categories, data.langname .. " indeclinable numerals")
end
parse_and_insert_inflection(data, args, "f", "feminine")
end,
}
pos_functions.cardinals = {
params = {
[1] = gender_param,
["g"] = {replaced_by = 1},
["sym"] = list_param,
},
func = function(args, data)
data.pos_category = "numerals"
validate_genders(data, args[1])
parse_and_insert_inflection(data, args, "sym", "native script symbol")
end,
}
local function nouns(plpos)
return {
params = {
[1] = gender_param_with_default,
["g"] = {replaced_by = 1},
["pl"] = list_param,
["f"] = list_param,
["m"] = list_param,
["ind"] = boolean_param,
},
func = function(args, data)
validate_genders(data, args[1])
if args["ind"] then
if args["pl"][1] then
error("Can't specify both ind= and pl=")
end
insert(data.inflections, {label = glossary_link("indeclinable")})
insert(data.categories, data.langname .. " indeclinable " .. plpos)
else
parse_and_insert_inflection(data, args, "pl", "formal plural", "formal|p")
end
parse_and_insert_inflection(data, args, "m", "male equivalent", "m")
parse_and_insert_inflection(data, args, "f", "female equivalent", "f")
if args["m"][1] or args["f"][1] then
insert(data.categories, data.langname .. " " .. plpos .. " with other-gender equivalents")
end
end,
}
end
pos_functions.nouns = nouns("nouns")
pos_functions["proper nouns"] = nouns("proper nouns")
pos_functions.pronouns = {
params = {
[1] = gender_param,
["g"] = {replaced_by = 1},
},
func = function(args, data)
validate_genders(data, args[1])
end,
}
pos_functions.verbs = {
params = {
[1] = true,
},
func = function(args, data)
if args[1] then
local label
if args[1] == "t" then
label = "transitive"
insert(data.categories, data.langname .. " transitive verbs")
elseif args[1] == "i" then
label = "intransitive"
insert(data.categories, data.langname .. " intransitive verbs")
elseif args[1] == "d" then
label = "ditransitive"
insert(data.categories, data.langname .. " ditransitive verbs")
elseif args[1] == "it" or args[1] == "ti" or args[1] == "a" then
label = "ambitransitive"
insert(data.categories, data.langname .. " ambitransitive verbs")
insert(data.categories, data.langname .. " transitive verbs")
insert(data.categories, data.langname .. " intransitive verbs")
elseif args[1] == "tp" then -- only in Palula
label = "transitive"
insert(data.categories, data.langname .. " transitive verbs")
insert(data.categories, data.langname .. " passive verbs")
insert(data.inflections, {label = glossary_link("passive")})
else
error("Unrecognized param 1=" .. args[1] .. ": Should be 'i' = intransitive, 't' = transitive, 'd' = ditransitive or 'it'/'ti'/'a' = ambitransitive")
end
insert(data.inflections, {label = glossary_link(label)})
end
if data.pagename:find(" ") then
local base_verb = m_links.remove_links(data.pagename):gsub("^.* ", "")
insert(data.categories, data.langname .. " compound verbs formed with " .. base_verb)
end
end,
}
pos_functions.head_with_gender = {
params = {
[2] = gender_param,
},
func = function(args, data)
validate_genders(data, args[2])
end,
}
local pos_prelude = {
["head"] =
"This template should be used to generate the headword line for LANG terms whose part of speech does not have an associated specialized template. The current specialized templates are " ..
"{{tl|CODE-noun}}, {{tl|CODE-proper noun}}, {{tl|CODE-pron}} (pronouns), {{tl|CODE-verb}}, {{tl|CODE-adj}} (adjectives), {{tl|CODE-adv}} (adverbs), {{tl|CODE-num-card}} (cardinal numbers/numerals) and "..
"{{tl|CODE-num-ord}} (ordinal numbers/numerals). All others should use {{tl|CODE-head}}.",
}
local noun_addl_params = [=[
;{{para|pl}}
: Formal or irregular plural(s). Intended particularly for Arabic and Persian-origin plurals. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|f}}
: Female equivalent(s), for a noun referring to a male person or animal. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|m}}
: Male equivalent(s), for a noun referring to a female person or animal. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|ind|1}}
: Specify that the noun is indeclinable.
]=]
local pos_addl_params = {
["nouns"] = noun_addl_params,
["proper nouns"] = noun_addl_params,
["verbs"] = [=[
;{{para|1}}
: Verb type. One of {{cd|t}} (transitive), {{cd|i}} (intransitive), {{cd|d}} (ditransitive) or {{cd|it}}/{{cd|ti}}/{{cd|a}} (ambitransitive).
]=],
["adjectives"] = [=[
;{{para|1}}
: Comparative form(s). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|2}}
: Superlative form(s). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|ind|1}}
: Specify that the adjective is indeclinable.
;{{para|f}}
: Feminine form(s) of an adjective with irregular feminine forms.
]=],
["cardinals"] = [=[
;{{para|sym}}
: Native script symbol(s) for this numeral. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=],
["ordinals"] = [=[
;{{para|ind|1}}
: Specify that the ordinal is indeclinable.
;{{para|f}}
: Feminine form(s) of an ordinal adjective with irregular feminine forms.
]=],
["head"] = [=[
;{{para|1|req=1}}
: Part of speech. Can be singular or plural and can be abbreviated (e.g. {{cd|n}} for noun; {{cd|nounf}} or {{cd|nf}} for noun form; {{cd|interj}} or {{cd|intj}} for interjection; {{cd|pcl}} for particle; {{cd|phr}} for phrase; etc.). The recognized abbreviations are listed in [[Template:head#Part of speech]] and are the same abbreviations that can be specified in the part-of-speech parameter to {{tl|head}}.
;{{para|2}}
: Gender(s). Specifying a gender is always optional and is only allowed for certain parts of speech where it makes sense to specify a gender (currently this includes numerals, suffixes, adjective forms, noun forms, proper noun forms, pronoun forms, determiner forms, verb forms and postposition forms). Possible values are {{cd|m}}, {{cd|f}}, {{cd|m-p}}, {{cd|f-p}}, {{cd|mf}} (can be either masculine or feminine), {{cd|mf-p}} (plural-only, can be either masculine or feminine), {{cd|mfbysense}} (can be either masculine or feminine, depending on the natural gender of the person or animal being referred to), {{cd|mfbysense-p}} (plural-only, can be either masculine or feminine, depending on the natural gender of the person or animal being referred to). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=],
}
local pos_has_gender = {
["nouns"] = true,
["proper nouns"] = true,
["pronouns"] = true,
["cardinals"] = true,
}
--[==[
Documentation generation function, used to populate the documentation describing all parameters of all headword-line templates. Supports the following parameters:
; {{para|lang|req=1}}
: The language code of the language of the headword template being documented.
; {{para|pos|req=1}}
: The plural part of speech of the headword template being documented. Use {{cd|head}} for {{tl|hi-head}}/{{tl|pa-head}}/{{tl|ur-head}}/etc.
]==]
function export.doctext(frame)
local iparams = {
["lang"] = {required = true, type = "language"},
["pos"] = {required = true},
}
local iargs = require("Module:parameters").process(frame.args, iparams)
local langcode = iargs.lang:getCode()
if not langs_supported[langcode] then
local langcodes_supported = {}
for lang, _ in pairs(langs_supported) do
insert(langcodes_supported, lang)
end
error("This module currently only works for lang=" .. concat(langcodes_supported, "/"))
end
local other_lang_script_equivs = langcode == "hi" and [=[
;{{para|ur}}
: Urdu equivalent(s). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=] or langcode == "ur" and [=[
;{{para|hi}}
: Hindi equivalent(s). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=] or langcode == "pa" and [=[
;{{para|gur}}
: Gurmukhi equivalent(s) of a Shahmukhi term. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|sha}}
: Shahmukhi equivalent(s) of a Gurmukhi term. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=] or (langcode == "phl" or langcode == "plk") and [=[
;{{para|pa}}
: Perso-Arabic spelling(s) of the term. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|lat}}
: Latin spelling(s) of the term. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=] or ""
local prelude = (pos_prelude[iargs.pos] or "This template should be used to generate the headword line for LANG POS.")
:gsub("LANG", iargs.lang:getCanonicalName())
:gsub("CODE", iargs.lang:getCode())
:gsub("POS", iargs.pos)
local g_text = [=[
;{{para|1}}
: Gender(s). Possible values are {{cd|m}}, {{cd|f}}, {{cd|m-p}}, {{cd|f-p}}, {{cd|mf}} (can be either masculine or feminine), {{cd|mf-p}} (plural-only, can be either masculine or feminine), {{cd|mfbysense}} (can be either masculine or feminine, depending on the natural gender of the person or animal being referred to), {{cd|mfbysense-p}} (plural-only, can be either masculine or feminine, depending on the natural gender of the person or animal being referred to). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=]
local includeg = pos_has_gender[iargs.pos]
local addl_params = pos_addl_params[iargs.pos] or ""
local text = prelude .. [=[
==Parameters==
The following parameters are supported:
]=] .. (includeg and g_text or "") .. addl_params .. [=[
;{{para|head}}
: Explicitly specified headword(s), for ]=] .. (langcode == "pa" and "adding vowel diacritics to Shahmukhi terms or " or langcode == "ur" and "adding vowel diacritics or " or "") ..
"introducing links in multiword expressions. Separate multiple items with a comma (not followed by a space). " ..
"Per-item inline modifiers are supported. Use {{cd|+}} to request the default linking algorithm (equivalent to omitting the value if there's only one value). " ..
"Note that by default each word of a multiword lemma is linked" .. (langcode == "ur" and "." or ", so you only need to use this " ..
(langcode == "pa" and "for Gurmukhi terms " or "") ..
"when the default links don't suffice (e.g. the multiword expression consists of non-lemma forms, which need to be linked to their lemmas).") .. "\n" .. [=[
;{{para|tr}}
: Manual transliteration(s), in case the automatic transliteration is incorrect. Separate multiple items with a comma (not followed by a space), ]=] ..
[=[and use {{cd|+}} to stand for the default automatic translation (equivalent to omitting the value if there's only one value). ]=] ..
[=[If {{para|head}} is used, there should be the same number of transliterations as head values, or an error will occur.
]=] .. other_lang_script_equivs .. [=[
;{{para|nolink|1}}, {{para|nolinkhead|1}}
: Don't link the individual words in a multiword expression.
;{{para|suffix|1}}
: Specify that the term is a suffix. Not needed if the term begins with a hyphen.
;{{para|nosuffix|1}}
: Specify that a term beginning with a hyphen is not a suffix.
;{{para|id}}
: Sense ID, for linking to this particular headword when there is more than one. See {{tl|senseid}} for more information.
; {{para|splithyph|1}}
: Indicate that automatic splitting and linking of words should split on hyphens in multiword expressions with spaces in them. Normally splitting on hyphens only occurs in terms without spaces.
; {{para|pagename}}
: Override the page name used to compute default values of various sorts. Useful when testing, for documentation pages, etc.
; {{para|sort}}
: Sort key. Rarely needs to be specified, as it is normally automatically generated.
; {{para|json|1}}
: Output the headword data in JSON form instead of the normal output. For use by bots.
]=]
local after_params_text =[=[
==Inline modifiers==
All params above that allow for multiple comma-separated values (except for {{para|tr}}) support ''inline modifiers'', e.g. {{para|pl|रायज़,फ़राइज़<l:rare>}} to attach a label ''rare'' to the second plural. The following modifiers are recognized:
* {{cd|tr}}: manual translit; cannot be specified for genders as it doesn't make sense to do so
* {{cd|q}}: qualifier, e.g. {{cd|<q:in the plural>}} or {{cd|<q:when referring to a card game>}}; this appears *BEFORE* the term, parenthesized and italicized
* {{cd|qq}}: qualifier, e.g. {{cd|<qq:in the plural>}} or {{cd|<qq:when referring to a card game>}}; this appears *AFTER* the term, parenthesized and italicized
* {{cd|l}}: comma-separated list of labels, e.g. {{cd|<l:rare>}} or {{cd|<l:dated,or,literary>}}; this appears *BEFORE* the term, parenthesized and italicized
* {{cd|ll}}: comma-separated list of labels, e.g. {{cd|<ll:rare>}} or {{cd|<ll:dated,or,literary>}}; this appears *AFTER* the term, parenthesized and italicized
* {{cd|ref}}: one or more references, in the format documented in [[Module:references]] and {{tl|IPA}}
* {{cd|id}}: sense ID; see {{temp|senseid}}; cannot be specified for headwords or genders as it doesn't make sense to do so
==Suffix handling==
If the term begins with a hyphen ({{cd|-}}), it is assumed to be a suffix rather than a base form, and is categorized into [[:Category:LANG suffixes]] and [[:Category:LANG POS-forming suffixes]] rather than [[:Category:LANG POSs]] (e.g. [[:Category:LANG noun-forming suffixes]] rather than [[:Category:LANG nouns]]). This can be overridden using {{para|nosuffix|1}}.
]=]
after_params_text = after_params_text:gsub("LANG", iargs.lang:getCanonicalName())
text = text .. after_params_text
-- Remove final newline so template code can add a newline after invocation
text = text:gsub("\n$", "")
return mw.getCurrentFrame():preprocess(text)
end
return export
rfte17ftt2f674zo8el3sircht65nmk
488555
488552
2026-09-10T17:40:28Z
SM7
6218
trying संज्ञाएँ
488555
Scribunto
text/plain
local export = {}
local pos_functions = {}
--[==[ intro:
This module provides support for modern Indic-language headword templates. It currently supports Hindi, Punjabi, Urdu,
Palula and Kohistani Shina. Eventually it will support other Indic languages, such as Marathi, Gujarati, Bengali,
Assamese, etc. Ancient Indic languages such as Sanskrit, Pali and Prakrit are handled by separate modules because they
have their own morphological complexities (esp. Sanskrit), which have no equivalent in the modern languages.
]==]
local force_cat = false -- for testing; if true, categories appear in non-mainspace pages
local require_when_needed = require("Module:utilities/require when needed")
local m_links = require("Module:links")
local m_table = require("Module:table")
local en_utilities_module = "Module:en-utilities"
local headword_module = "Module:headword"
local headword_utilities_module = "Module:headword utilities"
local languages_module = "Module:languages"
local parse_interface_module = "Module:parse interface"
local scripts_module = "Module:scripts"
local ur_hi_translit_module = "Module:ur-hi-translit"
local pa_Aran_Guru_translit_module = "Module:pa-Aran-Guru-translit"
local m_en_utilities = require_when_needed(en_utilities_module)
local m_headword_utilities = require_when_needed(headword_utilities_module)
local glossary_link = require_when_needed(headword_utilities_module, "glossary_link")
local boolean_param = {type = "boolean"}
local list_param = {list = true, disallow_holes = true}
local gender_param = {type = "genders"}
local gender_param_with_default = {type = "genders", default = "?"}
local list_to_set = m_table.listToSet
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local insert = table.insert
local concat = table.concat
local misc_pos_with_gender = list_to_set {
"numerals",
"suffixes",
"adjective forms",
"noun forms",
"proper noun forms",
"pronoun forms",
"determiner forms",
"verb forms",
"postposition forms",
}
local function generate_hindis_from_urdu_heads(headobjs)
local hindis = {}
for _, headobj in ipairs(headobjs) do
local hindiobj = m_table.shallowCopy(headobj)
hindiobj.term = require(ur_hi_translit_module).tr(m_links.remove_links(headobj.term))
hindiobj.tr = nil
insert(hindis, hindiobj)
end
return hindis
end
local function generate_gur_from_shah_heads(headobjs)
local gurus = {}
for _, headobj in ipairs(headobjs) do
local guruobj = m_table.shallowCopy(headobj)
guruobj.term = require(pa_Aran_Guru_translit_module).tr(m_links.remove_links(headobj.term))
guruobj.tr = nil
insert(gurus, guruobj)
end
return gurus
end
local langs_supported = {
["hi"] = {
other_langs_scripts = {
{"ur", "ur", "Aran", "Urdu"},
},
},
["pa"] = {
other_langs_scripts = {
{"gur", "pa", "Guru", "Gurmukhi", generate_gur_from_shah_heads},
{"sha", "pa", "Aran", "Shahmukhi"},
},
sccat = true,
},
["ur"] = {
other_langs_scripts = {
{"hi", "hi", "Deva", "Hindi", generate_hindis_from_urdu_heads},
},
enable_auto_translit = true,
},
["phl"] = {
other_langs_scripts = {
{"pa", "phl", "Aran", "Arabic"},
{"lat", "phl", "Latn", "Latin"},
},
sccat = true,
},
["plk"] = {
other_langs_scripts = {
{"pa", "plk", "Aran", "Arabic"},
{"lat", "plk", "Latn", "Latin"},
},
sccat = true,
}
}
----------------------------------------------- Utilities --------------------------------------------
local function split_on_comma(val)
if val:find(",") then
return require(parse_interface_module).split_on_comma(val)
else
return {val}
end
end
local function ine(val)
if val == "" then return nil else return val end
end
local function track(page)
require("Module:debug").track("inc-headword/" .. page)
return true
end
local function validate_genders(data, genders)
data.genders = genders
if not genders then
return
end
for _, gspec in ipairs(genders) do
local g = gspec.spec
if g == "m" or g == "f" or
g == "m-p" or g == "f-p" or
g == "mf" or g == "mf-p" or
g == "mfbysense" or g == "mfbysense-p" or
g == "mfequiv" or g == "mfequiv-p" or
g == "?" then
else
error("Invalid gender: " .. g)
end
end
end
-- Parse an inflection. The raw arguments come from `args[field]`, which is parsed for inline modifiers. Multiple
-- comma-separated values are allowed.
local function parse_inflection(_data, args, field, is_head, no_include_tr, is_single_param)
local argfield = field
if type(argfield) == "table" then
argfield = argfield[1]
end
if is_single_param then
local retval
if args[argfield] then
retval = m_headword_utilities.parse_term_with_modifiers {
val = args[argfield],
paramname = field,
splitchar = ",",
is_head = is_head,
include_mods = not no_include_tr and {"tr"} or nil,
}
end
return retval or {}
else
return m_headword_utilities.parse_term_list_with_modifiers {
forms = args[argfield],
paramname = field,
splitchar = ",",
is_head = is_head,
include_mods = not no_include_tr and {"tr"} or nil,
}
end
end
-- Parse and insert an inflection not requiring additional processing into `data.inflections`. The raw arguments come
-- from `args[field]`, which is parsed for inline modifiers. Multiple comma-separated values are allowed. `label` is the
-- label that the inflections are given; sections enclosed in <<...>> are linked to the glossary. `accel_form` is the
-- accelerator form, or nil. `enable_auto_translit` is set if requested by the language.
local function parse_and_insert_inflection(data, args, field, label, accel_form)
local terms = parse_inflection(data, args, field)
local accel_obj
if accel_form then
local lemmas = {}
local lemma_translits = {}
for i, headobj in ipairs(data.heads) do
lemmas[i] = headobj.term
lemma_translits[i] = headobj.tr
end
accel_obj = {
lemma = lemmas,
lemma_translit = lemma_translits,
form = accel_form,
}
end
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = label,
accel = accel_obj,
enable_auto_translit = data.langprops.enable_auto_translit,
}
end
--[==[
Main entry point. Takes two params:
; {{para|lang|req=1}}
: The language code of the language of the headword template.
; {{para|1}}
: The part of speech, pluralized; omit for {{cd|*-head}} templates such as {{tl|hi-head}}, {{tl|pa-head}} and {{tl|ur-head}}.
]==]
function export.show(frame)
local iparams = {
[1] = true,
["lang"] = {required = true},
}
local iargs = require("Module:parameters").process(frame.args, iparams)
local parargs = frame:getParent().args
local poscat = iargs[1]
local langcode = iargs.lang
if not langs_supported[langcode] then
local langcodes_supported = {}
for lang, _ in pairs(langs_supported) do
insert(langcodes_supported, lang)
end
error("This module currently only works for lang=" .. concat(langcodes_supported, "/"))
end
local lang = require(languages_module).getByCode(langcode, true)
local langname = lang:getCanonicalName()
local pos_in_1 = not poscat
if pos_in_1 then
poscat = ine(parargs[1]) or
mw.title.getCurrentTitle().fullText == "Template:" .. langcode .. "-head" and "interjection" or
error("Part of speech must be specified in 1=")
poscat = require(headword_module).canonicalize_pos(poscat)
end
local indexing_poscat = pos_in_1 and (misc_pos_with_gender[poscat] and "head_with_gender" or "head") or poscat
local langprops = langs_supported[langcode]
local params = {
["head"] = true,
["head2"] = {replaced_by = false, instead = "use comma-separated |head="},
["tr"] = true,
["tr2"] = {replaced_by = false, instead = "use comma-separated |tr= or <tr:...> inline modifier on head"},
["id"] = true,
["sort"] = true,
["nolink"] = boolean_param,
["nolinkhead"] = {type = "boolean", alias_of = "nolink"},
["suffix"] = boolean_param,
["nosuffix"] = boolean_param,
["splithyphen"] = boolean_param,
["json"] = boolean_param,
["pagename"] = true, -- for testing
}
if pos_in_1 then
params[1] = {required = true} -- required but ignored as already processed above
end
for _, other_lang_script in ipairs(langprops.other_langs_scripts) do
local param, _, _, _ = unpack(other_lang_script)
params[param] = true
params[param .. "1"] = {replaced_by = false, instead = "use comma-separated items (with no space after the comma) in |" .. param .. "="}
params[param .. "2"] = {replaced_by = false, instead = "use comma-separated items (with no space after the comma) in |" .. param .. "="}
end
if pos_functions[indexing_poscat] then
for key, val in pairs(pos_functions[indexing_poscat].params) do
params[key] = val
end
end
local args = require("Module:parameters").process(parargs, params)
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
local data = {
lang = lang,
langname = langname,
langprops = langprops,
pos_category = poscat,
categories = {},
genders = {},
inflections = {},
pagename = pagename,
id = args.id,
sort_key = args.sort,
force_cat_output = force_cat,
-- We use our own splitting algorithm so the redundant head cat will be inaccurate.
no_redundant_head_cat = true,
sccat = langprops.sccat,
}
local trs = args.tr and split_on_comma(args.tr) or {}
local num_trs = #trs
local heads = args.head and parse_inflection(data, args, "head", "is_head", nil, "is_single_param") or {}
local user_specified_heads = heads
local num_heads = #heads
if num_heads > 0 and num_trs > 0 and num_heads ~= num_trs then
error(("%s head%s specified explicitly but %s translit%s; they must match; use '+' to stand for the default head (the pagename) or no manual translit"):format(
num_heads, num_heads > 1 and "s" or "", num_trs, num_trs > 1 and "s" or ""))
end
-- Be careful here not to overwrite user_specified_heads if it's empty so we can later check user_specified_heads
-- to see if the user provided any heads.
if num_heads == 0 and num_trs > 0 then
heads = {}
for i = 1, num_trs do
heads[i] = {term = "+"}
end
end
if not heads[1] then
heads = {{term = "+"}}
end
for i, headobj in ipairs(heads) do
if headobj.term == "+" then
headobj.term = args.nolink and pagename or m_headword_utilities.add_links_to_multiword_term(pagename,
{split_hyphen_when_space = args.splithyphen})
end
if headobj.tr and trs[i] then
if headobj.tr ~= trs[i] then
error(("Saw two different translits '%s' and '%s' for head #%s '%s'"):format(
headobj.tr, trs[i], i, headobj.term))
end
else
headobj.tr = headobj.tr or trs[i]
end
if headobj.tr == "+" then
headobj.tr = nil
end
end
data.heads = heads
data.is_suffix = false
if args.suffix or (
not args.nosuffix and pagename:find("^%-") and poscat ~= "suffixes" and poscat ~= "suffix forms"
) then
data.is_suffix = true
data.pos_category = "suffixes"
local singular_poscat = m_en_utilities.singularize(poscat)
insert(data.categories, langname .. " " .. singular_poscat .. "-forming suffixes")
insert(data.inflections, {label = singular_poscat .. "-forming suffix"})
end
if pos_functions[indexing_poscat] then
pos_functions[indexing_poscat].func(args, data)
end
for _, other_lang_script in ipairs(langprops.other_langs_scripts) do
local param, other_langcode, other_sccode, lang_script_label, generate_from_heads = unpack(other_lang_script)
local terms = parse_inflection(data, args, param, nil, "no_include_tr", "is_single_param") or {}
if not terms[1] and generate_from_heads then
terms = generate_from_heads(user_specified_heads)
end
if terms[1] then
local other_lang = require(languages_module).getByCode(other_langcode, true)
local other_sc = require(scripts_module).getByCode(other_sccode, true)
for _, termobj in ipairs(terms) do
termobj.lang = other_lang
termobj.sc = other_sc
end
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = lang_script_label .. " वर्तनी",
-- Don't set `enable_auto_translit` here, e.g. for Urdu.
}
end
end
if args.json then
return require("Module:JSON").toJSON(data)
end
return require(headword_module).full_headword(data)
end
pos_functions.adjectives = {
params = {
[1] = {list = "comp", disallow_holes = true},
[2] = {list = "sup", disallow_holes = true},
["f"] = list_param,
["ind"] = boolean_param,
},
func = function(args, data)
if args["ind"] then
insert(data.inflections, {label = glossary_link("indeclinable")})
insert(data.categories, data.langname .. " indeclinable adjectives")
end
parse_and_insert_inflection(data, args, {1, "comp"}, "<<comparative>>")
parse_and_insert_inflection(data, args, {2, "sup"}, "<<superlative>>")
parse_and_insert_inflection(data, args, "f", "feminine")
end,
}
pos_functions.ordinals = {
params = {
["f"] = list_param,
["ind"] = boolean_param,
},
func = function(args, data)
data.pos_category = "adjectives"
insert(data.categories, data.langname .. " numerals")
if args["ind"] then
insert(data.inflections, {label = glossary_link("indeclinable")})
insert(data.categories, data.langname .. " indeclinable numerals")
end
parse_and_insert_inflection(data, args, "f", "feminine")
end,
}
pos_functions.cardinals = {
params = {
[1] = gender_param,
["g"] = {replaced_by = 1},
["sym"] = list_param,
},
func = function(args, data)
data.pos_category = "numerals"
validate_genders(data, args[1])
parse_and_insert_inflection(data, args, "sym", "native script symbol")
end,
}
local function nouns(plpos)
return {
params = {
[1] = gender_param_with_default,
["g"] = {replaced_by = 1},
["pl"] = list_param,
["f"] = list_param,
["m"] = list_param,
["ind"] = boolean_param,
},
func = function(args, data)
validate_genders(data, args[1])
if args["ind"] then
if args["pl"][1] then
error("Can't specify both ind= and pl=")
end
insert(data.inflections, {label = glossary_link("indeclinable")})
insert(data.categories, data.langname .. " indeclinable " .. plpos)
else
parse_and_insert_inflection(data, args, "pl", "formal plural", "formal|p")
end
parse_and_insert_inflection(data, args, "m", "male equivalent", "m")
parse_and_insert_inflection(data, args, "f", "female equivalent", "f")
if args["m"][1] or args["f"][1] then
insert(data.categories, data.langname .. " " .. plpos .. " with other-gender equivalents")
end
end,
}
end
pos_functions.nouns = nouns("संज्ञाएँ")
pos_functions["proper nouns"] = nouns("proper nouns")
pos_functions.pronouns = {
params = {
[1] = gender_param,
["g"] = {replaced_by = 1},
},
func = function(args, data)
validate_genders(data, args[1])
end,
}
pos_functions.verbs = {
params = {
[1] = true,
},
func = function(args, data)
if args[1] then
local label
if args[1] == "t" then
label = "transitive"
insert(data.categories, data.langname .. " transitive verbs")
elseif args[1] == "i" then
label = "intransitive"
insert(data.categories, data.langname .. " intransitive verbs")
elseif args[1] == "d" then
label = "ditransitive"
insert(data.categories, data.langname .. " ditransitive verbs")
elseif args[1] == "it" or args[1] == "ti" or args[1] == "a" then
label = "ambitransitive"
insert(data.categories, data.langname .. " ambitransitive verbs")
insert(data.categories, data.langname .. " transitive verbs")
insert(data.categories, data.langname .. " intransitive verbs")
elseif args[1] == "tp" then -- only in Palula
label = "transitive"
insert(data.categories, data.langname .. " transitive verbs")
insert(data.categories, data.langname .. " passive verbs")
insert(data.inflections, {label = glossary_link("passive")})
else
error("Unrecognized param 1=" .. args[1] .. ": Should be 'i' = intransitive, 't' = transitive, 'd' = ditransitive or 'it'/'ti'/'a' = ambitransitive")
end
insert(data.inflections, {label = glossary_link(label)})
end
if data.pagename:find(" ") then
local base_verb = m_links.remove_links(data.pagename):gsub("^.* ", "")
insert(data.categories, data.langname .. " compound verbs formed with " .. base_verb)
end
end,
}
pos_functions.head_with_gender = {
params = {
[2] = gender_param,
},
func = function(args, data)
validate_genders(data, args[2])
end,
}
local pos_prelude = {
["head"] =
"This template should be used to generate the headword line for LANG terms whose part of speech does not have an associated specialized template. The current specialized templates are " ..
"{{tl|CODE-noun}}, {{tl|CODE-proper noun}}, {{tl|CODE-pron}} (pronouns), {{tl|CODE-verb}}, {{tl|CODE-adj}} (adjectives), {{tl|CODE-adv}} (adverbs), {{tl|CODE-num-card}} (cardinal numbers/numerals) and "..
"{{tl|CODE-num-ord}} (ordinal numbers/numerals). All others should use {{tl|CODE-head}}.",
}
local noun_addl_params = [=[
;{{para|pl}}
: Formal or irregular plural(s). Intended particularly for Arabic and Persian-origin plurals. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|f}}
: Female equivalent(s), for a noun referring to a male person or animal. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|m}}
: Male equivalent(s), for a noun referring to a female person or animal. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|ind|1}}
: Specify that the noun is indeclinable.
]=]
local pos_addl_params = {
["संज्ञाएँ"] = noun_addl_params,
["proper nouns"] = noun_addl_params,
["verbs"] = [=[
;{{para|1}}
: Verb type. One of {{cd|t}} (transitive), {{cd|i}} (intransitive), {{cd|d}} (ditransitive) or {{cd|it}}/{{cd|ti}}/{{cd|a}} (ambitransitive).
]=],
["adjectives"] = [=[
;{{para|1}}
: Comparative form(s). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|2}}
: Superlative form(s). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|ind|1}}
: Specify that the adjective is indeclinable.
;{{para|f}}
: Feminine form(s) of an adjective with irregular feminine forms.
]=],
["cardinals"] = [=[
;{{para|sym}}
: Native script symbol(s) for this numeral. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=],
["ordinals"] = [=[
;{{para|ind|1}}
: Specify that the ordinal is indeclinable.
;{{para|f}}
: Feminine form(s) of an ordinal adjective with irregular feminine forms.
]=],
["head"] = [=[
;{{para|1|req=1}}
: Part of speech. Can be singular or plural and can be abbreviated (e.g. {{cd|n}} for noun; {{cd|nounf}} or {{cd|nf}} for noun form; {{cd|interj}} or {{cd|intj}} for interjection; {{cd|pcl}} for particle; {{cd|phr}} for phrase; etc.). The recognized abbreviations are listed in [[Template:head#Part of speech]] and are the same abbreviations that can be specified in the part-of-speech parameter to {{tl|head}}.
;{{para|2}}
: Gender(s). Specifying a gender is always optional and is only allowed for certain parts of speech where it makes sense to specify a gender (currently this includes numerals, suffixes, adjective forms, noun forms, proper noun forms, pronoun forms, determiner forms, verb forms and postposition forms). Possible values are {{cd|m}}, {{cd|f}}, {{cd|m-p}}, {{cd|f-p}}, {{cd|mf}} (can be either masculine or feminine), {{cd|mf-p}} (plural-only, can be either masculine or feminine), {{cd|mfbysense}} (can be either masculine or feminine, depending on the natural gender of the person or animal being referred to), {{cd|mfbysense-p}} (plural-only, can be either masculine or feminine, depending on the natural gender of the person or animal being referred to). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=],
}
local pos_has_gender = {
["संज्ञाएँ"] = true,
["proper nouns"] = true,
["pronouns"] = true,
["cardinals"] = true,
}
--[==[
Documentation generation function, used to populate the documentation describing all parameters of all headword-line templates. Supports the following parameters:
; {{para|lang|req=1}}
: The language code of the language of the headword template being documented.
; {{para|pos|req=1}}
: The plural part of speech of the headword template being documented. Use {{cd|head}} for {{tl|hi-head}}/{{tl|pa-head}}/{{tl|ur-head}}/etc.
]==]
function export.doctext(frame)
local iparams = {
["lang"] = {required = true, type = "language"},
["pos"] = {required = true},
}
local iargs = require("Module:parameters").process(frame.args, iparams)
local langcode = iargs.lang:getCode()
if not langs_supported[langcode] then
local langcodes_supported = {}
for lang, _ in pairs(langs_supported) do
insert(langcodes_supported, lang)
end
error("This module currently only works for lang=" .. concat(langcodes_supported, "/"))
end
local other_lang_script_equivs = langcode == "hi" and [=[
;{{para|ur}}
: Urdu equivalent(s). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=] or langcode == "ur" and [=[
;{{para|hi}}
: Hindi equivalent(s). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=] or langcode == "pa" and [=[
;{{para|gur}}
: Gurmukhi equivalent(s) of a Shahmukhi term. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|sha}}
: Shahmukhi equivalent(s) of a Gurmukhi term. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=] or (langcode == "phl" or langcode == "plk") and [=[
;{{para|pa}}
: Perso-Arabic spelling(s) of the term. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
;{{para|lat}}
: Latin spelling(s) of the term. Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=] or ""
local prelude = (pos_prelude[iargs.pos] or "This template should be used to generate the headword line for LANG POS.")
:gsub("LANG", iargs.lang:getCanonicalName())
:gsub("CODE", iargs.lang:getCode())
:gsub("POS", iargs.pos)
local g_text = [=[
;{{para|1}}
: Gender(s). Possible values are {{cd|m}}, {{cd|f}}, {{cd|m-p}}, {{cd|f-p}}, {{cd|mf}} (can be either masculine or feminine), {{cd|mf-p}} (plural-only, can be either masculine or feminine), {{cd|mfbysense}} (can be either masculine or feminine, depending on the natural gender of the person or animal being referred to), {{cd|mfbysense-p}} (plural-only, can be either masculine or feminine, depending on the natural gender of the person or animal being referred to). Separate multiple items with a comma (not followed by a space). Per-item inline modifiers are supported.
]=]
local includeg = pos_has_gender[iargs.pos]
local addl_params = pos_addl_params[iargs.pos] or ""
local text = prelude .. [=[
==Parameters==
The following parameters are supported:
]=] .. (includeg and g_text or "") .. addl_params .. [=[
;{{para|head}}
: Explicitly specified headword(s), for ]=] .. (langcode == "pa" and "adding vowel diacritics to Shahmukhi terms or " or langcode == "ur" and "adding vowel diacritics or " or "") ..
"introducing links in multiword expressions. Separate multiple items with a comma (not followed by a space). " ..
"Per-item inline modifiers are supported. Use {{cd|+}} to request the default linking algorithm (equivalent to omitting the value if there's only one value). " ..
"Note that by default each word of a multiword lemma is linked" .. (langcode == "ur" and "." or ", so you only need to use this " ..
(langcode == "pa" and "for Gurmukhi terms " or "") ..
"when the default links don't suffice (e.g. the multiword expression consists of non-lemma forms, which need to be linked to their lemmas).") .. "\n" .. [=[
;{{para|tr}}
: Manual transliteration(s), in case the automatic transliteration is incorrect. Separate multiple items with a comma (not followed by a space), ]=] ..
[=[and use {{cd|+}} to stand for the default automatic translation (equivalent to omitting the value if there's only one value). ]=] ..
[=[If {{para|head}} is used, there should be the same number of transliterations as head values, or an error will occur.
]=] .. other_lang_script_equivs .. [=[
;{{para|nolink|1}}, {{para|nolinkhead|1}}
: Don't link the individual words in a multiword expression.
;{{para|suffix|1}}
: Specify that the term is a suffix. Not needed if the term begins with a hyphen.
;{{para|nosuffix|1}}
: Specify that a term beginning with a hyphen is not a suffix.
;{{para|id}}
: Sense ID, for linking to this particular headword when there is more than one. See {{tl|senseid}} for more information.
; {{para|splithyph|1}}
: Indicate that automatic splitting and linking of words should split on hyphens in multiword expressions with spaces in them. Normally splitting on hyphens only occurs in terms without spaces.
; {{para|pagename}}
: Override the page name used to compute default values of various sorts. Useful when testing, for documentation pages, etc.
; {{para|sort}}
: Sort key. Rarely needs to be specified, as it is normally automatically generated.
; {{para|json|1}}
: Output the headword data in JSON form instead of the normal output. For use by bots.
]=]
local after_params_text =[=[
==Inline modifiers==
All params above that allow for multiple comma-separated values (except for {{para|tr}}) support ''inline modifiers'', e.g. {{para|pl|रायज़,फ़राइज़<l:rare>}} to attach a label ''rare'' to the second plural. The following modifiers are recognized:
* {{cd|tr}}: manual translit; cannot be specified for genders as it doesn't make sense to do so
* {{cd|q}}: qualifier, e.g. {{cd|<q:in the plural>}} or {{cd|<q:when referring to a card game>}}; this appears *BEFORE* the term, parenthesized and italicized
* {{cd|qq}}: qualifier, e.g. {{cd|<qq:in the plural>}} or {{cd|<qq:when referring to a card game>}}; this appears *AFTER* the term, parenthesized and italicized
* {{cd|l}}: comma-separated list of labels, e.g. {{cd|<l:rare>}} or {{cd|<l:dated,or,literary>}}; this appears *BEFORE* the term, parenthesized and italicized
* {{cd|ll}}: comma-separated list of labels, e.g. {{cd|<ll:rare>}} or {{cd|<ll:dated,or,literary>}}; this appears *AFTER* the term, parenthesized and italicized
* {{cd|ref}}: one or more references, in the format documented in [[Module:references]] and {{tl|IPA}}
* {{cd|id}}: sense ID; see {{temp|senseid}}; cannot be specified for headwords or genders as it doesn't make sense to do so
==Suffix handling==
If the term begins with a hyphen ({{cd|-}}), it is assumed to be a suffix rather than a base form, and is categorized into [[:Category:LANG suffixes]] and [[:Category:LANG POS-forming suffixes]] rather than [[:Category:LANG POSs]] (e.g. [[:Category:LANG noun-forming suffixes]] rather than [[:Category:LANG nouns]]). This can be overridden using {{para|nosuffix|1}}.
]=]
after_params_text = after_params_text:gsub("LANG", iargs.lang:getCanonicalName())
text = text .. after_params_text
-- Remove final newline so template code can add a newline after invocation
text = text:gsub("\n$", "")
return mw.getCurrentFrame():preprocess(text)
end
return export
e3uq7w9rawitzgezmtyevescepznfiz
साँचा:alternative spelling of/documentation
10
307190
488574
2026-09-10T18:38:49Z
SM7
6218
अंग्रेजी विक्षनरी से आयातित
488574
wikitext
text/x-wiki
{{form of/fulldoc|withencap=1|withfrom=1|shortcut=altsp,altspell,alt spelling of|addlintrotext=Alternative spellings of a word are other ways of spelling it that do not differ in pronunciation (i.e. cases where the written form of the word differs but not the spoken form); for example, ''[[judgement]]'' is an alternative spelling of ''[[judgment]]'', ''[[kinnikinnik]]'' is an alternative spelling of ''[[kinnikinnick]]'', ''[[naivete]]'' is an alternative spelling of ''[[naïveté]]'', and ''[[raygun]]'' and ''[[ray-gun]]'' are alternative spellings of ''[[ray gun]]''. An "alternative form" ([[Template:alternative form of]]) of a word differs in pronunciation, like ''[[killikinick]]'' is an alternative form of ''[[kinnikinnick]]''. For cases where capitalization differs, e.g. ''[[Nato]]'' vs ''[[NATO]]'', use {{temp|alternative case form of}}. For cases where a spelling or form is not merely ''alternative'' but ''standard'', see [[Template:standard spelling of]], [[Template:standard form of]].
It is preferable to use this template to create a simple alternative-spelling article such as [[second guess]] rather than a redirect: the simple article can later be expanded with the alternative's specifics, such as etymology or quotations.|addlparamtext=The intention of the parameters {{para|from}}, {{para|from2}}, etc. is to indicate regions where the spelling is used as the primary spelling in that region (as for ''kilometre'' and ''kilometer'', but not when the spelling is only an alternative regional spelling: for that use a [[Module:labels/data/regional|regional context label]] followed by {{tnull|alternative spelling of|...}}). The regions used should be names of [[Module:labels/data/regional|regional context labels]] or, if no appropriate label exists, plain text.}}
===Examples===
On {{m|en|second guess}}:
<pre># {{alternative spelling of|en|second-guess}}.</pre>gives
# {{alternative spelling of|en|second-guess}}.
On {{m|en|kilometer}}:
<pre># {{alternative spelling of|en|kilometre|from=US|from2=Canada}}.</pre>gives
# {{alternative spelling of|en|kilometre|from=US|from2=Canada}}.
==See also==
* {{temp|standard spelling of}}
* {{temp|alternative form of}}
* {{temp|misspelling of}}<includeonly>[[Category:Form-of templates]]</includeonly>
==TemplateData==
{{TemplateDataHeader}}
<templatedata>
{
"params": {
"1": {
"label": "language code",
"example": "en",
"type": "string",
"required": true,
"description": "language code for the term's language"
},
"2": {
"label": "term",
"description": "The term that this term is the alternate spelling of",
"example": "Judaeo-Spanish",
"type": "wiki-page-name",
"required": true
},
"3": {
"label": "displayed text",
"description": "text to display for the linked term",
"type": "line"
},
"4": {
"label": "gloss",
"description": "a gloss of the term",
"type": "string"
},
"tr": {
"label": "transliteration",
"description": "a transliteration of the term",
"type": "string"
},
"sc": {
"label": "script code",
"description": "A script code for the term",
"example": "Hant",
"type": "string"
},
"from": {
"label": "dialect/region of origin",
"description": "Names a dialect or region from which the term originates. Parameters from2 through from5 also available.",
"example": "Southern US",
"type": "string"
},
"from2": {
"label": "dialect/region of origin 2",
"description": "Names a dialect or region from which the term originates. Parameters from2 through from5 also available.",
"example": "Taiwanese Hokkien",
"type": "string"
}
},
"description": "Indicates that a term is an alternate spelling of another term",
"format": "inline"
}
</templatedata>
amekd6cqkibmv96a3swgedle2m0m5p7
অতিচাৰ
0
307191
488586
2026-09-11T03:01:44Z
अजीत कुमार तिवारी
4887
+असमिया से शब्द.
488586
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|अतिचार}}.
===संज्ञा===
{{as-noun}}
# [[अतिचार]] (पुल्लिंग)
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# औचित्य, सीमा या मर्यादा का उल्लंघन, अतिक्रमण;
# अपने अधिकार या अधिकृत सीमा के बाहर अनुचित रूप से अपने सुख-सुभीते के लिए इस प्रकार आगे बढ़ना कि दूसरे के अधिकार या सुभीते में बाधा पहुँचे। (पुल्लिंग)
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
2tzst2erpaqywvsxhui784gy232pb2p
অতিথি
0
307192
488587
2026-09-11T03:08:49Z
अजीत कुमार तिवारी
4887
+असमिया से शब्द.
488587
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|अतिथि}}.
===संज्ञा===
{{as-noun}}
# [[अतिथि]];
# [[मेहमान]]। (पुल्लिंग)
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# अभ्यागत, मेहमान। (पुल्लिंग)
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
k6c255fyfuginj72srtppl8qnlenaeb
অতিযথাৰ্থবাদ
0
307193
488588
2026-09-11T03:17:23Z
अजीत कुमार तिवारी
4887
+असमिया से शब्द.
488588
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|अतियथार्थवाद}}.
===संज्ञा===
{{as-noun}}
# [[अतियथार्थवाद]] (पुल्लिंग)
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# कला और साहित्य के क्षेत्र में एक आधुनिक सिद्धांत जिसमें सर्वमान्य भौतिक तथा मानवीय सिद्धांतों की उपेक्षा करके अवचेतन या उपचेतन के सहारे कोरे काल्पनिक तथा स्वप्निक क्षेत्रों की बातों को सब कुछ मानकर उन्हीं के आधार पर जीवन की विकृत दशाओं का चित्रण किया जाता है। (पुल्लिंग)
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
2obkl0cru246w082wf0105gwvje3oy2
अतियथार्थवाद
0
307194
488589
2026-09-11T03:24:34Z
अजीत कुमार तिवारी
4887
+असमिया से शब्द.
488589
wikitext
text/x-wiki
==हिंदी==
===व्युत्पत्ति===
{{lbor|hi|sa|अतियथार्थवाद}}.
===संज्ञा===
{{hi-noun}}
# फ्रांस में जन्मा एक कला-आंदोलन जो स्वतंत्रता और प्रेम पर बल देता है और व्यक्तित्व के अंतर्विरोधों के चित्रण को महत्वपूर्ण मानता है;
# यथार्थ की अभिव्यक्ति में अति या आधिक्य करना। (पुल्लिंग)
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# कला और साहित्य के क्षेत्र में एक आधुनिक सिद्धांत जिसमें सर्वमान्य भौतिक तथा मानवीय सिद्धांतों की उपेक्षा करके अवचेतन या उपचेतन के सहारे कोरे काल्पनिक तथा स्वप्निक क्षेत्रों की बातों को सब कुछ मानकर उन्हीं के आधार पर जीवन की विकृत दशाओं का चित्रण किया जाता है। (पुल्लिंग)
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
tktqov59x3fhb17kwa0091v3y1a80vw
অসুবিধা
0
307195
488590
2026-09-11T10:13:35Z
अजीत कुमार तिवारी
4887
+1
488590
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|असुविधा}}.
===संज्ञा===
{{as-noun}}
# [[असुविधा]]
# [[दिक्कत]] (स्त्रीलिंग)
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# मुश्लिक, परेशानी। (स्त्रीलिंग)
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
juiqwt0dcxrc4sesj5swrdv6td7n2p9
অহংকাৰ
0
307196
488591
2026-09-11T10:18:20Z
अजीत कुमार तिवारी
4887
+1
488591
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|अहंकार}}.
===संज्ञा===
{{as-noun}}
# [[अहंकार]]
# [[अभिमान]]
# [[घमंड]]
# [[गर्व]]।(पुल्लिंग)
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# अभिमान, घमंड। (पुल्लिंग)
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
gvqmcpf1k2ehr8vv0li39sr4x1e8x5v
অহংকাৰী
0
307197
488592
2026-09-11T10:27:19Z
अजीत कुमार तिवारी
4887
+1
488592
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|अहंकार}}.
===विशेषण===
{{as-adj}}
# [[अहंकारी]]
# [[अभिमानी]]
# [[घमंडी]]
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# घमंडी।
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
o8yv917r12g1ltcmn9uu27o4njmshvo
অলৌকিক
0
307198
488593
2026-09-11T10:30:37Z
अजीत कुमार तिवारी
4887
+1
488593
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|अलौकिक}}.
===विशेषण===
{{as-adj}}
# [[अलौकिक]]
# [[दिव्य]]।
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# अलौकिक, लोकोत्तर।
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
pumyn51lnt53x7whcjxx3cyukkjdht8
श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश
14
307199
488594
2026-09-11T10:32:12Z
अजीत कुमार तिवारी
4887
+1
488594
wikitext
text/x-wiki
हिंदी और असमिया के पारस्परिक शब्द-संसाधनोंं के लिए श्रेणी।
r2x3jqrhj5lg7ejynq9uo7facnnk78h
অসীম
0
307200
488595
2026-09-11T10:40:38Z
अजीत कुमार तिवारी
4887
+1
488595
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|असदाचरण}}.
===संज्ञा===
{{as-noun}}
# [[दुराचरण]];
# बुरा आचरण। (पुल्लिंग)
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# निंदनीय आचरण, [[कुकृत्य]]। (पुल्लिंग)
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
m1mmgisu6n62d5lk79k8waf4edyt298
488598
488595
2026-09-11T10:45:26Z
अजीत कुमार तिवारी
4887
सुधार.
488598
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|असीम}}.
===संज्ञा===
{{as-noun}}
# सीमारहित, बेहद, जिसकी कोई सीमा न हो, असीमित;
# अपरिमित, अनंत, अपार, बेहद
# अपार, अगाध, बेहिसाब।
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# असीम, सीमारहित, जिसकी कोई सीमा न हो।
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
ht28yjszdyxz0upyl5r636jm4zgfkaa
असदाचरण
0
307201
488596
2026-09-11T10:41:12Z
अजीत कुमार तिवारी
4887
+1
488596
wikitext
text/x-wiki
देखिए [[दुराचरण]]।
ba1063pdsipvwvoz8y8jlbwwijp0qup
অসদাচৰণ
0
307202
488597
2026-09-11T10:42:40Z
अजीत कुमार तिवारी
4887
+1
488597
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|असदाचरण}}.
===संज्ञा===
{{as-noun}}
# [[दुराचरण]];
# बुरा आचरण। (पुल्लिंग)
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# निंदनीय आचरण, [[कुकृत्य]]। (पुल्लिंग)
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
m1mmgisu6n62d5lk79k8waf4edyt298
অপব্য়বহাৰ
0
307203
488599
2026-09-11T10:48:46Z
अजीत कुमार तिवारी
4887
+1
488599
wikitext
text/x-wiki
==असमिया==
===व्युत्पत्ति===
{{lbor|as|sa|अपव्यवहार}}.
===संज्ञा===
{{as-noun}}
# [[अपव्यवहार]]
# [[दुरुपयोग]]। (पुल्लिंग)
=== प्रकाशित कोशों से अर्थ ===
==== हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश ====
# अनुचित उपयोग, बुरा इस्तेमाल। (पुल्लिंग)
[[श्रेणी:हिन्दी-प्रकाशितकोशों से अर्थ-हिंदी-असमिया-अंग्रेज़ी त्रिभाषा कोश]]
f36cnufnfgur2ycx1j5bxgton1uejtg
अपव्यवहार
0
307204
488600
2026-09-11T10:49:58Z
अजीत कुमार तिवारी
4887
+1
488600
wikitext
text/x-wiki
देखिए [[दुरुपयोग]]।
lgy7zssd81t4jt2ow5z2zz85njw8qga