विक्षनरी 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>&#124;{{#if:{{{}}}|{{#if:{{{1<includeonly>|</includeonly>}}}|{{{1}}}{{#if:{{{list|}}}|<var>N</var>}}=}}{{{2<includeonly>|</includeonly>}}}|={{{1|}}}}}</code><!-- -->{{#if:{{{3|}}}<!-- -->|&nbsp;({{#if:{{{req|}}}|'''''required''''',&nbsp;}}{{#if:{{{opt|}}}|''optional'',&nbsp;}}{{{3}}})<!-- -->|{{#if:{{{req|}}}|&nbsp;('''''required''''')}}{{#if:{{{opt|}}}|&nbsp;(''optional'')}}<!-- -->}}<!-- --><noinclude>{{documentation}}</noinclude> ila07avdxjfpqibvzqu562e2zqxw53f 488541 488540 2026-09-10T16:22:00Z SM7 6218 SM7 ने पृष्ठ [[साँचा:p]] को [[साँचा:para]] पर स्थानांतरित किया 488540 wikitext text/x-wiki <code>&#124;{{#if:{{{}}}|{{#if:{{{1<includeonly>|</includeonly>}}}|{{{1}}}{{#if:{{{list|}}}|<var>N</var>}}=}}{{{2<includeonly>|</includeonly>}}}|={{{1|}}}}}</code><!-- -->{{#if:{{{3|}}}<!-- -->|&nbsp;({{#if:{{{req|}}}|'''''required''''',&nbsp;}}{{#if:{{{opt|}}}|''optional'',&nbsp;}}{{{3}}})<!-- -->|{{#if:{{{req|}}}|&nbsp;('''''required''''')}}{{#if:{{{opt|}}}|&nbsp;(''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 &ndash; transliteration, translation, literal translation{{,}} and part of speech &ndash; 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|:}} &rarr; {{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>&nbsp;<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>&lt;/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(" &mdash; " .. 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