Wiktionary siwiktionary https://si.wiktionary.org/wiki/%E0%B7%80%E0%B7%92%E0%B6%9A%E0%B7%8A%E0%B7%82%E0%B6%B1%E0%B6%BB%E0%B7%92:%E0%B6%B8%E0%B7%94%E0%B6%BD%E0%B7%8A_%E0%B6%B4%E0%B7%92%E0%B6%A7%E0%B7%94%E0%B7%80 MediaWiki 1.47.0-wmf.2 case-sensitive මාධ්‍යය විශේෂ සාකච්ඡාව පරිශීලක පරිශීලක සාකච්ඡාව වික්ෂනරි වික්ෂනරි සාකච්ඡාව ගොනුව ගොනුව සාකච්ඡාව මාධ්‍යවිකි මාධ්‍යවිකි සාකච්ඡාව සැකිල්ල සැකිලි සාකච්ඡාව උදවු උදවු සාකච්ඡාව ප්‍රවර්ගය ප්‍රවර්ග සාකච්ඡාව TimedText TimedText talk Module Module talk Event Event talk Module:sinhala 828 5451 234401 232556 2026-05-17T09:27:49Z Lee 19 234401 Scribunto text/plain local en_utilities_module = "Module:en-utilities" local p = {} -- p stands for package local m_strutils = require("Module:en-utilities") -- ගැටළු සහගත වචන දැනට පරීක්ෂාවට ලක් කෙරෙයි local words_with_issues = { "female", "male", } local english2sinhala = {} -- සම්බන්ධ කිරීම් english2sinhala["and"] = "සහ" english2sinhala["in"] = "තුළ" -- තරමක් දිග යෙදුම් english2sinhala["Alternative spelling of"] = " යන යෙදුමේ වෛකල්පික අක්ෂර වින්‍යාසයක්" english2sinhala["an alternative spelling "] = "වෛකල්පික අක්ෂර වින්‍යාසයක් " english2sinhala["Chinese simplified forms"] = "චීන සරලීකෘත ස්වරූප" english2sinhala["Initialism of"] = " යන යෙදුමේ මුලකුරු ලෙස සටහන් කළ ස්වරූපය" english2sinhala["terms inherited"] = "උරුම වූ" english2sinhala["Synonym of"] = " යන්නට සමාන අරුත් ඇති පදයක්" -- ස්ථාන නාම සඳහා english2sinhala["small village"] = "කුඩා ගම්මානය" -- විශේෂ english2sinhala["the simplified"] = "සරලීකෘත" english2sinhala["related-to"] = "ආශ්‍රිත" english2sinhala["Name"] = "නාම" english2sinhala["name"] = "නාම" english2sinhala["set"] = "කුලක" english2sinhala["type"] = "වර්ග" english2sinhala["grouping"] = "කාණ්ඩ" -- සැකිලි ප්‍රවර්ග සඳහා අවශ්‍ය දත්ත english2sinhala["Auto-table"] = "ස්වයංක්‍රීය-වගු" english2sinhala["data"] = "දත්ත" english2sinhala["Data"] = "දත්ත" english2sinhala["Administration"] = "පරිපාලන" english2sinhala["Archive"] = "ලේඛනාරක්ෂණ" english2sinhala["Audio"] = "ශ්‍රව්‍ය සහාය" english2sinhala["Number"] = "සංඛ්‍යා" english2sinhala["Morphology"] = "පදිම විචාර" english2sinhala["String manipulation"] = "පෙළ හැසිරවීම්" -- english2sinhala["derivational"] = "ව්‍යුත්පන්නක" english2sinhala["nominal"] = "නොමිනල්" -- english2sinhala["data modules"] = "දත්ත මොඩියුල" english2sinhala["Sortkey-generating"] = "සෝට්කී-ජනක" english2sinhala["Page generation"] = "පිටු ජනක" -- english2sinhala["Template"] = "සැකිල්ල" -- english2sinhala["Pronunciation"] = "උච්චාරණ" english2sinhala["Verification"] = "සත්‍යාපන" -- english2sinhala["Etymology templates"] = "නිරුක්ති සැකිලි" english2sinhala["Translation templates"] = "පරිවර්තන සැකිලි" english2sinhala["Appendix templates"] = "උපග්‍රන්ථ සැකිලි" english2sinhala["reference templates"] = "මූලාශ්‍ර සැකිලි" -- english2sinhala["poetic terms"] = "කාව්‍යමය යෙදුම්" -- english2sinhala["hanja"] = "හන්ජා" english2sinhala["hanzi"] = "හන්සු" -- english2sinhala["Character"] = "අනුලක්ෂණ" english2sinhala["symbols"] = "සංකේත" english2sinhala["clipping"] = "ක්ලිප් කිරීම" english2sinhala["roots"] = "මූල" english2sinhala["morphemes"] = "පදාණු" english2sinhala["morpheme"] = "පදාණුව" english2sinhala["punctuation marks"] = "විරාම ලක්‍ෂණ" -- english2sinhala["imperative"] = "විධි ක්‍රියා" english2sinhala["nominative"] = "පෙර විබත්" english2sinhala["ablative"] = "අවදි විබත්" english2sinhala["vocative"] = "අලප් විබත්" -- english2sinhala["transitive"] = "සකර්මක" english2sinhala["intransitive"] = "අකර්මක" -- english2sinhala["uncomparable"] = "සැසඳිය නොහැකි" english2sinhala["comparable"] = "සැසඳිය හැකි" -- english2sinhala["uncomparable adjectives"] = "සැසඳිය නොහැකි නාම විශේෂණ පද" english2sinhala["comparable adjectives"] = "සැසඳිය හැකි නාම විශේෂණ පද" english2sinhala["transitive verbs"] = "සකර්මක ක්‍රියා පද" -- english2sinhala["first-person"] = "උත්තම පුරුෂ" english2sinhala["first person"] = "උත්තම පුරුෂ" english2sinhala["third-person"] = "අන්‍ය පුරුෂ" english2sinhala["third person"] = "අන්‍ය පුරුෂ" -- english2sinhala["gender"] = "ලිංග භේදය" english2sinhala["feminine"] = "ස්ත්‍රී ලිංග" english2sinhala["masculine"] = "පුරුෂ ලිංග" english2sinhala["female"] = "ස්ත්‍රී ලිංග" english2sinhala["male"] = "පුරුෂ ලිංග" english2sinhala["unknown-gender"] = "ලිංග භේදය නොදන්නා" english2sinhala["given names"] = "පුද්ගල නාම" english2sinhala["given name"] = "පුද්ගල නාමය" english2sinhala["female given names"] = "ස්ත්‍රී ලිංග පුද්ගල නාම" english2sinhala["male given names"] = "පුරුෂ ලිංග පුද්ගල නාම" english2sinhala["male given name"] = "පුරුෂ ලිංග පුද්ගල නාමය" english2sinhala["diminutives of "] = " සඳහා වන අල්පාර්ථ පද" english2sinhala["diminutives of male given names"] = "පුරුෂ ලිංග පුද්ගල නාම සඳහා වන අල්පාර්ථ පද" -- english2sinhala["pronoun forms"] = "සර්වනාම ස්වරූප" english2sinhala["proper noun forms"] = "සංඥා නාම පද ස්වරූප" english2sinhala["adjective forms"] = "නාම විශේෂණ පද ස්වරූප" english2sinhala["noun forms"] = "නාම පද ස්වරූප" english2sinhala["verb forms"] = "ක්‍රියා පද ස්වරූප" english2sinhala["suffix form"] = "ප්‍රත්‍ය ස්වරූපය" english2sinhala["suffix forms"] = "ප්‍රත්‍ය ස්වරූප" english2sinhala["quotation"] = "උපුටා දැක්වීම" english2sinhala["quotations"] = "උපුටා දැක්වීම්" english2sinhala["usage example"] = "භාවිත නිදර්ශනය" english2sinhala["usage examples"] = "භාවිත නිදර්ශන" english2sinhala["Wikipedia"] = "විකිපීඩියාව" english2sinhala["wikipedia"] = "විකිපීඩියාව" english2sinhala["singular"] = "ඒක වචන" english2sinhala["singula"] = "ඒක වචන" english2sinhala["plural"] = "බහුවචන" english2sinhala["plurals"] = "බහුවචන" english2sinhala["noun"] = "නාම පදය" english2sinhala["nouns"] = "නාම පද" english2sinhala["particle"] = "නිපාත පදය" english2sinhala["particles"] = "නිපාත පද" english2sinhala["verb"] = "ක්‍රියා පදය" english2sinhala["verbs"] = "ක්‍රියා පද" english2sinhala["adjective"] = "නාම විශේෂණ පදය" english2sinhala["adjectives"] = "නාම විශේෂණ පද" english2sinhala["adverb"] = "ක්‍රියා විශේෂණ පදය" english2sinhala["adverbs"] = "ක්‍රියා විශේෂණ පද" english2sinhala["prefix"] = "උපසර්ගය" english2sinhala["prefixes"] = "උපසර්ග" english2sinhala["suffix"] = "ප්‍රත්‍යය" english2sinhala["suffixes"] = "ප්‍රත්‍ය" english2sinhala["letter"] = "අකුර" english2sinhala["letters"] = "අකුරු" english2sinhala["numeral"] = "සංඛ්‍යාංකය" english2sinhala["numerals"] = "සංඛ්‍යාංක" english2sinhala["numeral symbol"] = "සංඛ්‍යාංක සංකේතය" english2sinhala["numeral symbols"] = "සංඛ්‍යාංක සංකේත" english2sinhala["numbers"] = "සංඛ්‍යාව" english2sinhala["numbers"] = "සංඛ්‍යා" english2sinhala["lemma"] = "පාඨය" english2sinhala["lemmas"] = "පාඨ" english2sinhala["pronoun"] = "සර්වනාමය" english2sinhala["pronouns"] = "සර්වනාම" english2sinhala["phrase"] = "වාක්‍ය ඛණ්ඩය" english2sinhala["phrases"] = "වාක්‍ය ඛණ්ඩ" english2sinhala["phrasebook"] = "වාක්‍ය ඛණ්ඩ පොත" english2sinhala["Geography"] = "භූගෝලවේදය" english2sinhala["geography"] = "භූගෝලවේදය" english2sinhala["Oceanography"] = "සාගරවේදය" english2sinhala["oceanography"] = "සාගරවේදය" english2sinhala["continent"] = "මහාද්වීපය" english2sinhala["Continent"] = "මහාද්වීපය" english2sinhala["continents"] = "මහාද්වීප" english2sinhala["Continents"] = "මහාද්වීප" english2sinhala["island"] = "දූපත" english2sinhala["country"] = "රට" english2sinhala["countries"] = "රටවල්" english2sinhala["language"] = "භාෂාව" english2sinhala["Language"] = "භාෂාව" english2sinhala["languages"] = "භාෂා" english2sinhala["Languages"] = "භාෂා" english2sinhala["surname"] = "පෙළපත් නාමය" english2sinhala["surnames"] = "පෙළපත් නාම" english2sinhala["proper noun"] = "සංඥා නාම පදය" english2sinhala["proper nouns"] = "සංඥා නාම පද" english2sinhala["abbreviation"] = "කෙටි යෙදුම" english2sinhala["abbreviations"] = "කෙටි යෙදුම්" english2sinhala["interjections"] = "විශ්මයාර්ථ පද" english2sinhala["misspellings"] = "අක්ෂර වින්‍යාස දෝෂ" -- -- පහත කොටසේ "terms" සඳහා "පද" යනුවෙන් භාවිතය, ගැටළු සහගත බව පෙනෙයි. -- එය "යෙදුම්" වලට මාරු කොට බලමු. -- english2sinhala["term"] = "පදය" -- english2sinhala["terms"] = "පද" -- නව ආකාරය english2sinhala["term"] = "යෙදුම" english2sinhala["terms"] = "යෙදුම්" -- english2sinhala["colle"] = "පද" english2sinhala["collective noun"] = "සමූහවාචී නාම පදය" english2sinhala["collective nouns"] = "සමූහවාචී නාම පද" english2sinhala["countable noun"] = "ගැණිය හැකි නාම පදය" english2sinhala["countable nouns"] = "ගැණිය හැකි නාම පද" english2sinhala["countable proper noun"] = "ගැණිය හැකි සංඥා නාම පදය" english2sinhala["countable proper nouns"] = "ගැණිය හැකි සංඥා නාම පද" english2sinhala["uncountable noun"] = "නොගැණිය හැකි නාම පදය" english2sinhala["uncountable nouns"] = "නොගැණිය හැකි නාම පද" english2sinhala["indeclinable nouns"] = "අව්‍යය නාම පද" english2sinhala["inflection"] = "වරනැගීම" english2sinhala["Inflection"] = "වරනැගීම" english2sinhala["inflections"] = "වරනැගීම්" english2sinhala["Inflections"] = "වරනැගීම්" english2sinhala["transliteration"] = "අක්ෂර පරිවර්තනය" english2sinhala["Transliteration"] = "අක්ෂර පරිවර්තනය" english2sinhala["transliterations"] = "අක්ෂර පරිවර්තන" english2sinhala["Transliterations"] = "අක්ෂර පරිවර්තන" english2sinhala["romanization"] = "රෝමානුකරණය" english2sinhala["romanizations"] = "රෝමානුකරණ" -- english2sinhala["entry name-generating"] = "ප්‍රවේශ නාම-ජනනය" -- english2sinhala["Entry name-generating"] = "ප්‍රවේශ නාම-ජනනය" -- english2sinhala["entry name-generatings"] = "ප්‍රවේශ නාම-ජනක" -- english2sinhala["Entry name-generatings"] = "ප්‍රවේශ නාම-ජනක" english2sinhala["Religion"] = "ආගම" english2sinhala["Buddhism"] = "බුදු දහම සහ බුද්ධාගම" english2sinhala["Places"] = "ස්ථාන" english2sinhala["places"] = "ස්ථාන" -- අක්ෂරක්‍රම english2sinhala["Cyrillic"] = "සිරිලික්" english2sinhala["Devanagari"] = "දේවනාගරි" english2sinhala["Brahmi"] = "බ්‍රාහ්මී" english2sinhala["Braille"] = "බ්‍රේල්" english2sinhala["Han"] = "හන්" english2sinhala["Hiragana"] = "හිරගනා" english2sinhala["Katakana"] = "කතකනා" english2sinhala["Flag semaphore"] = "ධජ සංඥා" -- -- [ Module:ja-see ] සඳහා english2sinhala["the hiragana spelling"] = "හිරගනා අක්ෂර වින්‍යාසය" -- භාෂා පවුල් english2sinhala["Anglic"] = "ඇන්ග්ලික්" english2sinhala["Germanic"] = "ජර්මානු" english2sinhala["Koreanic"] = "කොරියානු" english2sinhala["Indo-Aryan"] = "ඉන්දු-ආර්ය" english2sinhala["Indo-Iranian"] = "ඉන්දු-ඉරාන" english2sinhala["Middle Indo-Aryan"] = "මධ්‍යකාලීන ඉන්දු-ආර්ය" english2sinhala["Indo-European"] = "ඉන්දු-යුරෝපීය" english2sinhala["Anglo-Frisian"] = "ඇන්ග්ලෝ-ෆ්‍රිසියන්" -- භාෂා english2sinhala["Algerian Arabic"] = "ඇල්ජීරියානු අරාබි" english2sinhala["Amharic"] = "ඇම්හාරික්" english2sinhala["Ancient Greek"] = "පුරාතන ග්‍රීක" english2sinhala["Anglo-Norman"] = "ඇන්ග්ලෝ-නෝමන්" english2sinhala["Arabic"] = "අරාබි" english2sinhala["Armenian"] = "ආමේනියානු" english2sinhala["Aymara"] = "අයිමාරා" english2sinhala["Azerbaijani"] = "අසර්බයිජානි" english2sinhala["Okinawan"] = "ඔකිනවා" english2sinhala["Basque"] = "බාස්ක්" english2sinhala["Bengali"] = "බෙංගාලි" english2sinhala["Bihari"] = "බිහාරී" english2sinhala["Breton"] = "බ්‍රෙටන්" english2sinhala["Bulgarian"] = "බල්ගේරියානු" english2sinhala["Burmese"] = "බුරුම" english2sinhala["Cantonese"] = "කැන්ටනීස්" english2sinhala["Chinese"] = "චීන" english2sinhala["Min Nan"] = "මින් නන්" english2sinhala["Coptic"] = "කොප්ටික්" english2sinhala["Cornish"] = "කෝනිෂ්" english2sinhala["Czech"] = "චෙක්" english2sinhala["Danish"] = "ඩෙන්මාර්ක" english2sinhala["Dhivehi"] = "දිවෙහි" english2sinhala["Dutch"] = "ඕලන්ද" english2sinhala["Egyptian"] = "ඊජිප්තු" english2sinhala["English"] = "ඉංග්‍රීසි" english2sinhala["Old English"] = "පුරාතන ඉංග්‍රීසි" english2sinhala["Middle English"] = "මධ්‍යකාලීන ඉංග්‍රීසි" english2sinhala["Esperanto"] = "එස්පෙරාන්තො" english2sinhala["Estonian"] = "එස්තෝනියානු" english2sinhala["Finnish"] = "ෆින්ලන්ත" english2sinhala["French"] = "ප්‍රංශ" english2sinhala["Old French"] = "පුරාතන ප්‍රංශ" english2sinhala["Middle French"] = "මධ්‍යකාලීන ප්‍රංශ" english2sinhala["Georgian"] = "ජෝර්ජියානු" english2sinhala["German"] = "ජර්මානු" english2sinhala["Greek"] = "ග්‍රීක" english2sinhala["Gujarati"] = "ගුජරාටි" english2sinhala["Hebrew"] = "හීබෲ" english2sinhala["Hindi"] = "හින්දි" english2sinhala["Hungarian"] = "හංගේරියානු" english2sinhala["Icelandic"] = "අයිස්ලන්ත" english2sinhala["Indonesian"] = "ඉන්දුනීසියානු" english2sinhala["Irish"] = "අයිරිෂ්" english2sinhala["Italian"] = "ඉතාලි" english2sinhala["Japanese"] = "ජපන්" english2sinhala["Javanese"] = "ජාවා" english2sinhala["Kannada"] = "කන්නඩ" english2sinhala["Kashmiri"] = "කාෂ්මීරි" english2sinhala["Kongo"] = "කොංගෝ" english2sinhala["Korean"] = "කොරියානු" english2sinhala["Lao"] = "ලාඕ" english2sinhala["Old Latin"] = "පුරාතන ලතින්" english2sinhala["Latin"] = "ලතින්" english2sinhala["Malay"] = "මැලේ" english2sinhala["Malayalam"] = "මලයාලම්" english2sinhala["Mandarin"] = "මැන්ඩරීන්" english2sinhala["Manx"] = "මැන්ක්ස්" english2sinhala["Marathi"] = "මරාථි" english2sinhala["Mongolian"] = "මොංගෝලියානු" english2sinhala["Norwegian"] = "නෝර්වීජියානු" english2sinhala["the Netherlands"] = "නෙදර්ලන්තය" english2sinhala["Pali"] = "පාලි" english2sinhala["Persian"] = "පර්සියානු" english2sinhala["Middle Persian"] = "මධ්‍යකාලීන පර්සියානු" english2sinhala["Polish"] = "පෝලන්ත" english2sinhala["Portuguese"] = "පෘතුගීසි" english2sinhala["Prakrit"] = "ප්‍රාකෘත" english2sinhala["Helu Prakrit"] = "එළු ප්‍රාකෘත" english2sinhala["Ashokan Prakrit"] = "අශෝක ප්‍රාකෘත" english2sinhala["Epigraphic Prakrit"] = "අභිලේඛන ප්‍රාකෘත" english2sinhala["Proto-Indo-Iranian"] = "ප්‍රොටෝ-ඉන්දු-ඉරාන" english2sinhala["Proto-Italic"] = "ප්‍රොටෝ-ඉතාලිකා" english2sinhala["Proto-Indo-European"] = "ප්‍රොටෝ-ඉන්දු-යුරෝපීය" english2sinhala["Proto-Basque"] = "ප්‍රොටෝ-බාස්ක්" english2sinhala["Proto-West Germanic"] = "ප්‍රොටෝ-බටහිර ජර්මානු" english2sinhala["Proto-Germanic"] = "ප්‍රොටෝ-ජර්මානු" english2sinhala["Quechua"] = "ක්වෙච්වා" english2sinhala["Romanian"] = "රුමේනියානු" english2sinhala["Russian"] = "රුසියානු" english2sinhala["Belarusian"] = "බෙලරුසියානු" english2sinhala["Macedonian"] = "මැසඩෝනියානු" english2sinhala["Serbo-Croatian"] = "සර්බෝ-ක්‍රොඒෂියානු" english2sinhala["Sanskrit"] = "සංස්කෘත" english2sinhala["Scottish Gaelic"] = "ස්කොට්ස් ගේලික්" english2sinhala["Sindhi"] = "සින්ධි" english2sinhala["Sinhala"] = "සිංහල" english2sinhala["Sinhalese"] = "සිංහල" english2sinhala["Somali"] = "සෝමාලි" english2sinhala["Spanish"] = "ස්පාඤ්ඤ" english2sinhala["Old Spanish"] = "පුරාතන ස්පාඤ්ඤ" english2sinhala["Sundanese"] = "සුන්ඩා" english2sinhala["Swedish"] = "ස්වීඩන්" english2sinhala["Old Tamil"] = "පුරාතන දෙමළ" english2sinhala["Tamil"] = "දෙමළ" english2sinhala["Telugu"] = "තෙලිඟු" english2sinhala["Thai"] = "තායි" english2sinhala["Tibetan"] = "තිබ්බත" english2sinhala["Translingual"] = "සර්ව භාෂාමය" english2sinhala["Turkish"] = "තුර්කි" english2sinhala["Ukrainian"] = "යුක්‍රේනියානු" english2sinhala["Urdu"] = "උර්දු" english2sinhala["Uzbek"] = "උස්බෙක්" english2sinhala["Vietnamese"] = "වියට්නාම" english2sinhala["Welsh"] = "වේල්ස" english2sinhala["Yiddish"] = "යිඩිශ්" english2sinhala["Zulu"] = "සූලූ" -- රටවල් english2sinhala["Afghanistan"] = "ඇෆ්ගනිස්ථානය" english2sinhala["Africa"] = "අප්‍රිකාව" english2sinhala["Algeria"] = "ඇල්ජීරියාව" english2sinhala["America"] = "ඇමෙරිකාව" english2sinhala["Armenia"] = "ආමේනියාව" english2sinhala["Asia"] = "ආසියාව" english2sinhala["South Asia"] = "දකුණු ආසියාව" english2sinhala["Australia"] = "ඕස්ට්‍රේලියාව" english2sinhala["Azerbaijan"] = "අසර්බයිජානය" english2sinhala["Bahrain"] = "බහරේනය" english2sinhala["Bangladesh"] = "බංගලිදේශය" english2sinhala["Belgium"] = "බෙල්ජියම" english2sinhala["Bhutan"] = "භූතානය" english2sinhala["Brazil"] = "බ්‍රසීලය" english2sinhala["Brunei"] = "බෲනායි" english2sinhala["Bulgaria"] = "බල්ගේරියාව" english2sinhala["Cambodia"] = "කාම්බෝජය" english2sinhala["Canada"] = "කැනඩාව" english2sinhala["Central America"] = "මධ්‍යම ඇමෙරිකාව" english2sinhala["Chile"] = "චිලී" english2sinhala["China"] = "චීනය" english2sinhala["Croatia"] = "ක්‍රොඒෂියාව" english2sinhala["Cyprus"] = "සයිප්‍රසය" english2sinhala["Denmark"] = "ඩෙන්මාර්කය" english2sinhala["Earth"] = "පෘථිවිය" english2sinhala["East Timor (Timor-Leste)"] = "නැගෙනහිර ටිමෝරය" english2sinhala["Egypt"] = "ඊජිප්තුව" english2sinhala["Europe"] = "යුරෝපය" english2sinhala["Finland"] = "ෆින්ලන්තය" english2sinhala["France"] = "ප්‍රංශය" english2sinhala["Gabon"] = "ගැබොන්" english2sinhala["Georgia"] = "ජෝජියාව" english2sinhala["Germany"] = "ජර්මනිය" english2sinhala["Ghana"] = "ඝානාව" english2sinhala["Gibraltar"] = "ජිබ්‍රෝල්ටාව" english2sinhala["Greece"] = "ග්‍රීසිය" english2sinhala["Iceland"] = "අයිස්ලන්තය" english2sinhala["India"] = "ඉන්දියාව" english2sinhala["Indonesia"] = "ඉන්දුනීසියාව" english2sinhala["Iran"] = "ඉරානය" english2sinhala["Iraq"] = "ඉරාකය" english2sinhala["Israel"] = "ඊශ්‍රායලය" english2sinhala["Italy"] = "ඉතාලිය" english2sinhala["Japan"] = "ජපානය" english2sinhala["Jordan"] = "ජෝදානය" english2sinhala["Kazakhstan"] = "කසක්ස්තානය" english2sinhala["Kuwait"] = "කුවේටය" english2sinhala["Kyrgyzstan"] = "කිර්ගිස්තානය" english2sinhala["Laos"] = "ලාඕසය" english2sinhala["Lebanon"] = "ලෙබනනය" english2sinhala["Malaysia"] = "මලයාසියාව" english2sinhala["Maldives"] = "මාලදිවයින" english2sinhala["Mongolia"] = "මොන්ගෝලියාව" english2sinhala["Myanmar"] = "මියන්මාරය" english2sinhala["Nepal"] = "නේපාලය" english2sinhala["North America"] = "උතුරු ඇමෙරිකාව" english2sinhala["North Korea"] = "උතුරු කොරියාව" english2sinhala["Oceania"] = "ඕෂනියාව" english2sinhala["Oman"] = "ඕමානය" english2sinhala["Pakistan"] = "පාකිස්ථානය" english2sinhala["Philippines"] = "පිලිපීනය" english2sinhala["Poland"] = "පෝලන්තය" english2sinhala["Portugal"] = "පෘතුගාලය" english2sinhala["Qatar"] = "කටාරය" english2sinhala["Romania"] = "රුමේනියාව" english2sinhala["Russia"] = "රුසියාව" english2sinhala["Saudi Arabia"] = "සෞදි අරාබිය" english2sinhala["Singapore"] = "සිංගප්පූරුව" english2sinhala["Spain"] = "ස්පාඤ්ඤය" english2sinhala["South America"] = "දකුණු ඇමෙරිකාව" english2sinhala["South Korea"] = "දකුණු කොරියාව" english2sinhala["Sri Lanka"] = "ශ්‍රී ලංකාව" english2sinhala["Sweden"] = "ස්වීඩනය" english2sinhala["Syria"] = "සිරියාව" english2sinhala["Tajikistan"] = "ටජිකිස්ථානය" english2sinhala["Thailand"] = "තායිලන්තය" english2sinhala["Turkey"] = "තුර්කිය" english2sinhala["Turkmenistan"] = "තුර්ක්මෙනිස්තානය" english2sinhala["Ukraine"] = "යුක්‍රේනය" english2sinhala["United Arab Emirates"] = "එක්සත් අරාබි එමීර් රාජ්‍යය" english2sinhala["Uzbekistan"] = "උස්බෙකිස්තානය" english2sinhala["Vietnam"] = "වියට්නාමය" english2sinhala["Yemen"] = "යේමනය" english2sinhala["Zambia"] = "සැම්බියාව" english2sinhala["Zimbabwe"] = "සිම්බාබ්වේ" english2sinhala["the Gambia"] = "ගැම්බියාව" english2sinhala["the United States"] = "යුනයිටඩ් ස්ටේට්ස්" english2sinhala["the world"] = "ලෝකය" local singular2plural = {} -- විශේෂ singular2plural["දත්ත"] = "දත්ත" -- singular2plural["හන්ජා"] = "හන්ජා" singular2plural["සැකිල්ල"] = "සැකිලි" singular2plural["මූලය"] = "මූල" -- singular2plural["non-lemma form"] = "ලෙමා-නොවන ස්වරූප" singular2plural["non-lemma"] = "ලෙමා-නොවන" -- singular2plural["ක්ලිප් කිරීම"] = "ක්ලිප් කිරීම්" singular2plural["පදාණුව"] = "පදාණු" singular2plural["උපුටා දැක්වීම"] = "උපුටා දැක්වීම්" singular2plural["භාවිත නිදර්ශනය"] = "භාවිත නිදර්ශන" singular2plural["අබුගිඩා"] = "අබුගිඩා" singular2plural["ජර්මානු පුරුෂ ලිංග, නාම පදය"] = "ජර්මානු පුරුෂ ලිංග, නාම පද" singular2plural["ස්පාඤ්ඤ පුරුෂ ලිංග, නාම පදය"] = "ස්පාඤ්ඤ පුරුෂ ලිංග, නාම පද" singular2plural["පුරුෂ ලිංග නාම පදය"] = "පුරුෂ ලිංග නාම පද" singular2plural["පුරුෂ ලිංග, නාම පදය"] = "පුරුෂ ලිංග, නාම පද" singular2plural["පුරුෂ ලිංග පුද්ගල නාමය"] = "පුරුෂ ලිංග පුද්ගල නාම" singular2plural["ස්ත්‍රී ලිංග, නාම පදය"] = "ස්ත්‍රී ලිංග, නාම පද" singular2plural["බහුවචනය"] = "බහුවචන" singular2plural["නාම පදය"] = "නාම පද" singular2plural["නිපාත පදය"] = "නිපාත පද" singular2plural["ක්‍රියා පදය"] = "ක්‍රියා පද" singular2plural["නාම විශේෂණ පදය"] = "නාම විශේෂණ පද" singular2plural["ක්‍රියා විශේෂණ පදය"] = "ක්‍රියා විශේෂණ පද" singular2plural["ප්‍රත්‍ය ස්වරූපය"] = "ප්‍රත්‍ය ස්වරූප" singular2plural["ප්‍රත්‍යය"] = "ප්‍රත්‍ය" singular2plural["අකුර"] = "අකුරු" singular2plural["පාඨය"] = "පාඨ" singular2plural["සර්වනාමය"] = "සර්වනාම" singular2plural["මහාද්වීපය"] = "මහාද්වීප" singular2plural["දූපත"] = "දූපත්" singular2plural["රට"] = "රටවල්" singular2plural["භාෂාව"] = "භාෂා" singular2plural["පෙළපත් නාමය"] = "පෙළපත් නාම" singular2plural["සංඥා නාම පදය"] = "සංඥා නාම පද" singular2plural["කෙටි යෙදුම"] = "කෙටි යෙදුම්" singular2plural["පදය"] = "පද" singular2plural["සමූහවාචී නාම පදය"] = "සමූහවාචී නාම පද" singular2plural["ගැණිය හැකි නාම පදය"] = "ගැණිය හැකි නාම පද" singular2plural["ගැණිය හැකි සංඥා නාම පදය"] = "ගැණිය හැකි සංඥා නාම පද" singular2plural["වරනැගීම"] = "වරනැගීම්" singular2plural["සංඛ්‍යාංක සංකේතය"] = "සංඛ්‍යාංක සංකේත" singular2plural["අක්ෂර පරිවර්තනය"] = "අක්ෂර පරිවර්තන" -- singular2plural["ප්‍රවේශ නාම-ජනනය"] = "ප්‍රවේශ නාම-ජනක" local english2adjective = {} english2adjective["archaic"] = "පෞරාණික" english2adjective["dated"] = "යල් පැන ගිය" english2adjective["List"] = "ලැයිස්තු" english2adjective["Entry name-generating"] = "ප්‍රවේශ නාම-ජනක" english2adjective["nominal"] = "නොමිනල්" english2adjective["Maintenance"] = "නඩත්තු කටයුතු" english2adjective["mixed"] = "මිශ්‍ර" english2adjective["Testcase"] = "පිරික්සුම් ආදර්ශක" english2adjective["Language and script"] = "භාෂා සහ අක්ෂරක්‍රම" english2adjective["Transliteration"] = "අක්ෂර පරිවර්තන" english2adjective["Transliteration testcases"] = "අක්ෂර පරිවර්තන පිරික්සුම් ආදර්ශක" english2adjective["Utility"] = "උපයෝගිතා" english2adjective["Headword-line"] = "යොමු වචන පේළි" english2adjective["Language-specific utility"] = "භාෂාවක් හා සබැඳි උපයෝගිතා" -- function p.hello( frame ) return "Hello, world!" end function p.sinhala_adjective( word ) -- require('Module:debug').track("sinhala.sinhala adjective.word = " .. word) local sinhala_word = p.sinhala( word ) -- require('Module:debug').track("sinhala.sinhala adjective.direct translation = " .. word) -- සටහන: නාම විශේෂණය සඳහා කළ යුතු විශේෂ යමක් පවතියි ද? local adjective = p.adjective( word ) if adjective ~= nil then -- require('Module:debug').track("sinhala.sinhala adjective.adjective = " .. adjective) sinhala_word = adjective end -- return sinhala_word end function p.search_adjective( word ) local sinhala_word = nil -- require('Module:debug').track("sinhala.search adjective.word = " .. word) local trans = english2adjective[word] if trans ~= nil then -- require('Module:debug').track("sinhala.adjective.trans = " .. trans) sinhala_word = trans end return sinhala_word end function p.adjective( word ) -- -- ගැටළු සඳහා පරීක්ෂාව -- for _,v in pairs(words_with_issues) do -- if v == word then -- error("පරීක්ෂාවට ලක්වෙන ස්ථානයකි.") -- -- do something -- break -- end -- end -- require('Module:debug').track("sinhala.adjective.word = " .. word) -- දත්ත ලැයිස්තුව මුලින්ම පරික්ෂාකර බලන්න local adjective = p.search_adjective( word ) if adjective ~= nil then -- require('Module:debug').track("sinhala.adjective.adjective = " .. adjective) return adjective end -- බොහෝවිට නාම විශේෂණ ස්වරූපය වන්නේ බහු වචනය නේ ද? local sinhala_plural = p.sinhala_plural( word ) if sinhala_plural ~= nil then -- require('Module:debug').track("sinhala.adjective.sinhala plural = " .. sinhala_plural) return sinhala_plural end local plural = p.plural( word ) if plural ~= nil then -- require('Module:debug').track("sinhala.adjective.plural = " .. plural) return plural end -- නොදන්නා වචන සඳහා ඉංග්‍රීසි වචනයම ලබා දෙන්න return word end function p.sinhala_plural( word ) local sinhala_word = p.sinhala( word ) return p.plural( sinhala_word ) end function p.sinhala( word ) -- -- ගැටළු සඳහා පරීක්ෂාව -- for _,v in pairs(words_with_issues) do -- if v == word then -- error("පරීක්ෂාවට ලක්වෙන ස්ථානයකි.") -- -- do something -- break -- end -- end local trans = english2sinhala[word] -- දත්ත ලැයිස්තුව මුලින්ම පරික්ෂාකර බලන්න if trans ~= nil then return trans end -- නොදන්නා වචන සඳහා ඉංග්‍රීසි වචනයම ලබා දෙන්න return word end function p.search_plural( word ) local result = nil if word ~= nil then -- require('Module:debug').track("sinhala.search plural.word = " .. word) local plural_word = singular2plural[word] -- දත්ත ලැයිස්තුව මුලින්ම පරික්ෂාකර බලන්න if plural_word ~= nil then -- require('Module:debug').track("sinhala.search plural.plural word = " .. plural_word) return plural_word end end return result end function p.plural( word ) if word ~= nil then local result = p.search_plural( word ) if result ~= nil then return result end -- ලතින් අකුරු නොවේ නම් බොහෝ විට සිංහල වචනයක් විය හැකිය. -- require('Module:debug').track("sinhala.plural.word = " .. word) if not string.find(word, "%a$") then return word end -- නොදන්නා වචන සඳහා ඉංග්‍රීසි ආකාරයේ වචනයම ලබා දෙන්න return m_strutils.pluralize(word) -- if word:find("x$") then -- return word .. "es" -- else -- return word .. "s" -- end end return word end local function pluralize(...) pluralize = require(en_utilities_module).pluralize return pluralize(...) end function p.sinhala_pluralize( word ) if word ~= nil then local result = p.search_plural( word ) if result ~= nil then return result end -- නොදන්නා වචන සඳහා ඉංග්‍රීසි ආකාරයේ වචනයම ලබා දෙන්න return pluralize( word ) end return word end return p 95qzshzhdx8xmdbn6wripmz5l6eyg9x Module:labels/documentation 828 7756 234325 37345 2025-09-21T21:56:12Z en>Juwan 0 234325 wikitext text/x-wiki This module supports [[Module:labels/templates]], which in turn is used by the template {{tl|label}}, as well as {{tl|term-label}} and {{tl|accent}}. See [[Module:labels/data]] and its submodules [[Module:labels/data/qualifiers]], [[Module:labels/data/regional]] and [[Module:labels/data/topical]], as well as lang-specific submodules such as [[Module:labels/data/lang/en]] (for English) and [[Module:labels/data/lang/grc]] (for Ancient Greek), for lists of defined labels, and for labels that are aliases (or "redirects") for other labels. ==Testcases== {{label/example|grc:Attic|en:Attic|caption=A label specific to {{code|lua|"grc"}} (Ancient Greek)|header=1}} ==Exported functions== {{module documentation|section_level=3|identifier=^export}} {{module cat|-|Definition}} 6gd1i7b2c57y9zn4k95xqkmtgvguc0t 234326 234325 2026-05-17T06:04:26Z Lee 19 [[:en:Module:labels/documentation]] වෙතින් එක් සංශෝධනයක් 234325 wikitext text/x-wiki This module supports [[Module:labels/templates]], which in turn is used by the template {{tl|label}}, as well as {{tl|term-label}} and {{tl|accent}}. See [[Module:labels/data]] and its submodules [[Module:labels/data/qualifiers]], [[Module:labels/data/regional]] and [[Module:labels/data/topical]], as well as lang-specific submodules such as [[Module:labels/data/lang/en]] (for English) and [[Module:labels/data/lang/grc]] (for Ancient Greek), for lists of defined labels, and for labels that are aliases (or "redirects") for other labels. ==Testcases== {{label/example|grc:Attic|en:Attic|caption=A label specific to {{code|lua|"grc"}} (Ancient Greek)|header=1}} ==Exported functions== {{module documentation|section_level=3|identifier=^export}} {{module cat|-|Definition}} 6gd1i7b2c57y9zn4k95xqkmtgvguc0t Module:labels/templates/documentation 828 7757 234327 28121 2023-11-04T05:12:01Z en>Benwing2 0 234327 wikitext text/x-wiki This module is used by the templates {{tl|label}}/{{tl|lb}} and {{temp|term label}}/{{tl|tlb}} to show context labels for definitions. <includeonly> [[Category:Template interface modules]] </includeonly> 6q5m1mookmsdwcn1hvh92376m17o5nj 234328 234327 2026-05-17T06:04:33Z Lee 19 [[:en:Module:labels/templates/documentation]] වෙතින් එක් සංශෝධනයක් 234327 wikitext text/x-wiki This module is used by the templates {{tl|label}}/{{tl|lb}} and {{temp|term label}}/{{tl|tlb}} to show context labels for definitions. <includeonly> [[Category:Template interface modules]] </includeonly> 6q5m1mookmsdwcn1hvh92376m17o5nj Module:labels/data/documentation 828 7983 234317 43234 2025-05-30T20:56:23Z en>Benwing2 0 /* Label usages */ 234317 wikitext text/x-wiki {{labels-search}} This module is one of the data modules specifying the labels recognized by [[Module:labels]] and, by extension, the templates {{temp|lb}} and {{temp|tlb}}. The following are all the data submodules that exist: {|class="wikitable" ! Module !! Contents |- | <code>Module:labels/data/lang/<var>langcode</var></code> || Language-specific labels. |- | [[Module:labels/data]] || Miscellaneous non-language-specific labels. |- | [[Module:labels/data/qualifiers]] || Qualifiers such as {{cd|somewhat}}, {{cd|also}}, {{cd|chiefly}} and {{cd|;}}. Usually these cause the following and/or preceding comma to be omitted. |- | [[Module:labels/data/regional]] || Labels specifying a geographic location that is shared among several languages. |- | [[Module:labels/data/topical]] || Topical labels such as {{cd|anthropology}} and {{cd|Taoism}}. These typically generate topic categories. |} Labels defined in earlier-listed modules override those in later-listed modules. In particular, language-specific labels override non-language-specific ones. The full list of language-specific submodules can be found [[:Category:Language-specific label data modules|here]]<!--[[Special:PrefixIndex/Module:labels/data/lang/|here]]-->. Each language data module exports a single table containing labels and/or aliases. The keys of these tables are label identifiers (passed to the templates), while the values are described below. ==Label usages== Label data is currently used for several purposes: {|class="wikitable" ! Template(s) !! Parameter(s) !! Purpose !! Categorizes? |- | {{tl|lb}}/{{tl|lbl}}/{{tl|label}} and {{tl|tlb}}/{{tl|term-label}} || {{para|2}}, {{para|3}}, ... || Label the language variety or usage conditions of a sense or term. || '''Yes''' |- | {{tl|alt}}/{{tl|alter}} || ''numbered parameters following a blank parameter''; {{para|l}}/{{para|ll}}, {{para|l2}}/{{para|ll2}}, ...; the {{cd|<l:...>}} and {{cd|<ll:...>}} inline modifiers || Identify the language variety or usage conditions of an alternative form. || No |- | {{tl|alternative form of}}/{{tl|alt form}}, {{tl|standard spelling of}}/{{tl|stand sp}}, and other [[:Category:Form-of templates|form-of templates]] || {{para|from}}, {{para|from2}}, ... || Identify the language variety of a sense or term that is a variant (e.g. alternative form, spelling variant, etc.) of another term. || '''Yes''' |- | {{tl|syn}}, {{tl|ant}} and other [[Module:nyms|"nyms"]] templates || {{para|l}}/{{para|ll}}, {{para|l2}}/{{para|ll2}}, ...; the {{cd|<l:...>}} and {{cd|<ll:...>}} inline modifiers || Identify the language variety or usage conditions of a synonym, antonym or the like, specified inline. || No |- | {{tl|desc}}/{{tl|descendant}} || {{para|l}}/{{para|ll}}, {{para|l2}}/{{para|ll2}}, ...; the {{cd|<l:...>}} and {{cd|<ll:...>}} inline modifiers || Identify the language variety or usage conditions of a descendant. || No |- | {{tl|quote-book}}, {{tl|quote-journal}}, {{tl|cite-book}}, {{tl|cite-journal}} and other quotation and citation templates || {{para|lb}} || Identify the language variety or usage conditions of a piece of quoted text. || No |- | {{tl|a}} || {{para|2}}, {{para|3}}, ... || Specify the language variety or usage conditions of a pronunciation, rhyme, audio, hyphenation, homophone or other pronunciation-related property of a term. || No |- | {{tl|IPA}}, {{tl|rhyme}}, {{tl|audio}}, {{tl|hyphenation}}/{{tl|hyph}}, {{tl|homophone}}/{{tl|hmp}} || {{para|a}}/{{para|aa}}, {{para|a1}}/{{para|aa1}}, {{para|a2}}/{{para|aa2}}, ...; the {{cd|<a:...>}} and {{cd|<aa:...>}} inline modifiers || Specify the language variety or usage conditions of a pronunciation, rhyme, audio, hyphenation, homophone or other pronunciation-related property of a term. || No |- | {{tl|inflection of}}/{{tl|infl of}} || ''auto-added under certain combinations of inflection tags'' || Label the usage conditions of an inflected form of a term. || '''Yes''' |- | category pages for language varieties || N/A || Control the display and parent categories of category pages that are "associated" with a label in that the label categorizes into the specified category using the {{cd|plain_categories}} or {{cd|regional_categories}} fields. || N/A |} ==Label data modules== {{label data documentation}} {{module cat|-|Data}} 9lg5n1zvdt5m6ex24l8iqxwkldy4ofn 234318 234317 2026-05-17T06:03:50Z Lee 19 [[:en:Module:labels/data/documentation]] වෙතින් එක් සංශෝධනයක් 234317 wikitext text/x-wiki {{labels-search}} This module is one of the data modules specifying the labels recognized by [[Module:labels]] and, by extension, the templates {{temp|lb}} and {{temp|tlb}}. The following are all the data submodules that exist: {|class="wikitable" ! Module !! Contents |- | <code>Module:labels/data/lang/<var>langcode</var></code> || Language-specific labels. |- | [[Module:labels/data]] || Miscellaneous non-language-specific labels. |- | [[Module:labels/data/qualifiers]] || Qualifiers such as {{cd|somewhat}}, {{cd|also}}, {{cd|chiefly}} and {{cd|;}}. Usually these cause the following and/or preceding comma to be omitted. |- | [[Module:labels/data/regional]] || Labels specifying a geographic location that is shared among several languages. |- | [[Module:labels/data/topical]] || Topical labels such as {{cd|anthropology}} and {{cd|Taoism}}. These typically generate topic categories. |} Labels defined in earlier-listed modules override those in later-listed modules. In particular, language-specific labels override non-language-specific ones. The full list of language-specific submodules can be found [[:Category:Language-specific label data modules|here]]<!--[[Special:PrefixIndex/Module:labels/data/lang/|here]]-->. Each language data module exports a single table containing labels and/or aliases. The keys of these tables are label identifiers (passed to the templates), while the values are described below. ==Label usages== Label data is currently used for several purposes: {|class="wikitable" ! Template(s) !! Parameter(s) !! Purpose !! Categorizes? |- | {{tl|lb}}/{{tl|lbl}}/{{tl|label}} and {{tl|tlb}}/{{tl|term-label}} || {{para|2}}, {{para|3}}, ... || Label the language variety or usage conditions of a sense or term. || '''Yes''' |- | {{tl|alt}}/{{tl|alter}} || ''numbered parameters following a blank parameter''; {{para|l}}/{{para|ll}}, {{para|l2}}/{{para|ll2}}, ...; the {{cd|<l:...>}} and {{cd|<ll:...>}} inline modifiers || Identify the language variety or usage conditions of an alternative form. || No |- | {{tl|alternative form of}}/{{tl|alt form}}, {{tl|standard spelling of}}/{{tl|stand sp}}, and other [[:Category:Form-of templates|form-of templates]] || {{para|from}}, {{para|from2}}, ... || Identify the language variety of a sense or term that is a variant (e.g. alternative form, spelling variant, etc.) of another term. || '''Yes''' |- | {{tl|syn}}, {{tl|ant}} and other [[Module:nyms|"nyms"]] templates || {{para|l}}/{{para|ll}}, {{para|l2}}/{{para|ll2}}, ...; the {{cd|<l:...>}} and {{cd|<ll:...>}} inline modifiers || Identify the language variety or usage conditions of a synonym, antonym or the like, specified inline. || No |- | {{tl|desc}}/{{tl|descendant}} || {{para|l}}/{{para|ll}}, {{para|l2}}/{{para|ll2}}, ...; the {{cd|<l:...>}} and {{cd|<ll:...>}} inline modifiers || Identify the language variety or usage conditions of a descendant. || No |- | {{tl|quote-book}}, {{tl|quote-journal}}, {{tl|cite-book}}, {{tl|cite-journal}} and other quotation and citation templates || {{para|lb}} || Identify the language variety or usage conditions of a piece of quoted text. || No |- | {{tl|a}} || {{para|2}}, {{para|3}}, ... || Specify the language variety or usage conditions of a pronunciation, rhyme, audio, hyphenation, homophone or other pronunciation-related property of a term. || No |- | {{tl|IPA}}, {{tl|rhyme}}, {{tl|audio}}, {{tl|hyphenation}}/{{tl|hyph}}, {{tl|homophone}}/{{tl|hmp}} || {{para|a}}/{{para|aa}}, {{para|a1}}/{{para|aa1}}, {{para|a2}}/{{para|aa2}}, ...; the {{cd|<a:...>}} and {{cd|<aa:...>}} inline modifiers || Specify the language variety or usage conditions of a pronunciation, rhyme, audio, hyphenation, homophone or other pronunciation-related property of a term. || No |- | {{tl|inflection of}}/{{tl|infl of}} || ''auto-added under certain combinations of inflection tags'' || Label the usage conditions of an inflected form of a term. || '''Yes''' |- | category pages for language varieties || N/A || Control the display and parent categories of category pages that are "associated" with a label in that the label categorizes into the specified category using the {{cd|plain_categories}} or {{cd|regional_categories}} fields. || N/A |} ==Label data modules== {{label data documentation}} {{module cat|-|Data}} 9lg5n1zvdt5m6ex24l8iqxwkldy4ofn Module:labels/data/topical/documentation 828 7987 234321 35000 2025-07-22T17:54:58Z en>Theknightwho 0 234321 wikitext text/x-wiki {{mbox|text=To request for changes to this module, please post a message at [[Wiktionary:Category and label treatment requests]].}} This module contains data for labels specifying a topical context. Topical categories should correspond to those given in the [[:Category:Category tree data modules/topic|topic data modules]]. See [[Module:labels/data]] for more information. <includeonly> [[Category:Data modules]] </includeonly> d4o6ecvz0jryhogdi3zbz3s8516umr0 234322 234321 2026-05-17T06:04:09Z Lee 19 [[:en:Module:labels/data/topical/documentation]] වෙතින් එක් සංශෝධනයක් 234321 wikitext text/x-wiki {{mbox|text=To request for changes to this module, please post a message at [[Wiktionary:Category and label treatment requests]].}} This module contains data for labels specifying a topical context. Topical categories should correspond to those given in the [[:Category:Category tree data modules/topic|topic data modules]]. See [[Module:labels/data]] for more information. <includeonly> [[Category:Data modules]] </includeonly> d4o6ecvz0jryhogdi3zbz3s8516umr0 Module:labels/data/regional/documentation 828 7991 234319 34999 2024-03-12T00:01:46Z en>Benwing2 0 'subvarieties' is no more 234319 wikitext text/x-wiki This module contains data for labels specifying a geographical location. If the label is for a variety of a specific language, place it in the appropriate language-specific submodule, such as [[Module:labels/data/lang/en]] for English. Language-specific labels override regional ones. See [[Module:labels/data]] for more information. <includeonly> [[Category:Data modules]] </includeonly> 1t8uqxtdyzdlacngung1mbuve22jkfb 234320 234319 2026-05-17T06:04:04Z Lee 19 [[:en:Module:labels/data/regional/documentation]] වෙතින් එක් සංශෝධනයක් 234319 wikitext text/x-wiki This module contains data for labels specifying a geographical location. If the label is for a variety of a specific language, place it in the appropriate language-specific submodule, such as [[Module:labels/data/lang/en]] for English. Language-specific labels override regional ones. See [[Module:labels/data]] for more information. <includeonly> [[Category:Data modules]] </includeonly> 1t8uqxtdyzdlacngung1mbuve22jkfb සැකිල්ල:surname-lite 10 8501 234403 183122 2026-05-17T09:40:22Z Lee 19 234403 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|1=<!-- --><span class='use-with-mention'>{{{A|A}}} {{#if:{{{lang|}}}|{{{1|}}}|{{{2|}}}}} [[පෙළපත් නාම|පෙළපත් නාමයකි]]{{#if:{{{xlit|}}}|, {{l-lite|en|{{{xlit}}}}}}}{{#if:{{{eq|}}}|, equivalent to English {{l-lite|en|{{{eq}}}}}}}{{#if:{{{from|}}}|, from {{{from}}}|}}{{#if:{{{m|}}}|, masculine equivalent {{l|{{{1|}}}|{{{m}}}}}}}{{#if:{{{f|}}}|, feminine equivalent {{l|{{{1|}}}|{{{f}}}}}}}</span><!-- -->}}<!-- (end of {{check deprecated lang param usage}}) --><includeonly>{{#if:{{{nocat|}}}||<!-- -->{{catlangname|{{{lang|{{{1|}}}}}}|sort={{{sort|}}}<!-- -->|surnames<!-- -->|{{#if:{{{from|}}}|surnames from {{{from}}}}}<!-- -->}}<!-- -->}}</includeonly><!-- --><includeonly>[[Category:Pages using lite templates]]</includeonly><noinclude>{{documentation}}</noinclude> sw2r7jig2ydkyk3goyx9pe7n10uy47s 234404 234403 2026-05-17T09:42:02Z Lee 19 234404 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|1=<!-- --><span class='use-with-mention'>{{#if:{{{lang|}}}|{{{1|}}}|{{{2|}}}}} [[පෙළපත් නාම|පෙළපත් නාමයකි]]{{#if:{{{xlit|}}}|, {{l-lite|en|{{{xlit}}}}}}}{{#if:{{{eq|}}}|, equivalent to English {{l-lite|en|{{{eq}}}}}}}{{#if:{{{from|}}}|, from {{{from}}}|}}{{#if:{{{m|}}}|, masculine equivalent {{l|{{{1|}}}|{{{m}}}}}}}{{#if:{{{f|}}}|, feminine equivalent {{{A|කි}}} {{l|{{{1|}}}|{{{f}}}}}}}</span><!-- -->}}<!-- (end of {{check deprecated lang param usage}}) --><includeonly>{{#if:{{{nocat|}}}||<!-- -->{{catlangname|{{{lang|{{{1|}}}}}}|sort={{{sort|}}}<!-- -->|surnames<!-- -->|{{#if:{{{from|}}}|surnames from {{{from}}}}}<!-- -->}}<!-- -->}}</includeonly><!-- --><includeonly>[[Category:Pages using lite templates]]</includeonly><noinclude>{{documentation}}</noinclude> q1hym9pkutngo04o6op0frc1bnidqtp 234405 234404 2026-05-17T09:42:44Z Lee 19 234405 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|1=<!-- --><span class='use-with-mention'>{{#if:{{{lang|}}}|{{{1|}}}|{{{2|}}}}} [[පෙළපත් නාම|පෙළපත් නාමය]]{{{A|කි}}}{{#if:{{{xlit|}}}|, {{l-lite|en|{{{xlit}}}}}}}{{#if:{{{eq|}}}|, equivalent to English {{l-lite|en|{{{eq}}}}}}}{{#if:{{{from|}}}|, from {{{from}}}|}}{{#if:{{{m|}}}|, masculine equivalent {{l|{{{1|}}}|{{{m}}}}}}}{{#if:{{{f|}}}|, feminine equivalent {{l|{{{1|}}}|{{{f}}}}}}}</span><!-- -->}}<!-- (end of {{check deprecated lang param usage}}) --><includeonly>{{#if:{{{nocat|}}}||<!-- -->{{catlangname|{{{lang|{{{1|}}}}}}|sort={{{sort|}}}<!-- -->|surnames<!-- -->|{{#if:{{{from|}}}|surnames from {{{from}}}}}<!-- -->}}<!-- -->}}</includeonly><!-- --><includeonly>[[Category:Pages using lite templates]]</includeonly><noinclude>{{documentation}}</noinclude> 3pnqkg8j1k7d5woxoxet8do2l91d51e Module:names 828 141159 234402 230019 2026-05-17T09:35:10Z Lee 19 [[𑀫𑀳𑀸𑀫𑁄𑀕𑀮𑀸𑀦]] සඳහා සහාය 234402 Scribunto text/plain local m_sinhala = require("Module:sinhala") local export = {} local m_languages = require("Module:languages") local m_links = require("Module:links") local m_utilities = require("Module:utilities") local m_str_utils = require("Module:string utilities") local m_table = require("Module:table") local en_utilities_module = "Module:en-utilities" local parameter_utilities_module = "Module:parameter utilities" local parse_interface_module = "Module:parse interface" local parse_utilities_module = "Module:parse utilities" local pron_qualifier_module = "Module:pron qualifier" local enlang = m_languages.getByCode("en") local rsubn = m_str_utils.gsub local rsplit = m_str_utils.split local u = m_str_utils.char local function rsub(str, from, to) return (rsubn(str, from, to)) end local TEMP_LESS_THAN = u(0xFFF2) local force_cat = false -- for testing --[=[ FIXME: 1. from=the Bible (DONE) 2. origin=18th century [DONE] 3. popular= (DONE) 4. varoftype= (DONE) 5. eqtype= [DONE] 6. dimoftype= [DONE] 7. from=de:Elisabeth (same language) (DONE) 8. blendof=, blendof2= [DONE] 9. varform, dimform [DONE] 10. from=English < Latin [DONE] 11. usage=rare -> categorize as rare? 12. dimeq= (also vareq=?) [DONE] 13. fromtype= [DONE] 14. <tr:...> and similar params [DONE] ]=] -- Used in category code; name types which are full-word end-matching substrings of longer name types (e.g. "surnames" -- of "male surnames", but not "male surnames" of "female surnames" because "male" only matches a part of the word -- "female") should follow the longer name. export.personal_name_types = { "male surnames", "female surnames", "common-gender surnames", "surnames", "patronymics", "matronymics", } export.personal_name_type_set = m_table.listToSet(export.personal_name_types) export.given_name_genders = { male = {type = "human"}, female = {type = "human"}, unisex = {type = "human", cat = {"male given names", "female given names", "unisex given names"}, article = "a"}, ["unknown-gender"] = {type = "human", cat = {}, track = true}, animal = {type = "animal", track = true}, cat = {type = "animal"}, cow = {type = "animal"}, dog = {type = "animal"}, horse = {type = "animal"}, pig = {type = "animal"}, } local function get_given_name_cats(gender, props) local cats = props.cat if not cats then if props.type == "animal" then cats = {gender .. " names"} else cats = {gender .. " given names"} end end return cats end do local function do_cat(cat) if not export.personal_name_type_set[cat] then export.personal_name_type_set[cat] = true table.insert(export.personal_name_types, cat) end end for gender, props in pairs(export.given_name_genders) do local cats = get_given_name_cats(gender, props) for _, cat in ipairs(cats) do do_cat("diminutives of " .. cat) do_cat("augmentatives of " .. cat) do_cat(cat) end end do_cat("given names") end local translit_name_type_list = { "surname", "male given name", "female given name", "unisex given name", "patronymic" } local function track(page) require("Module:debug").track("names/" .. page) end -- Get raw text, for use in computing the indefinite article. Use get_plaintext() in [[Module:utilities]] and also -- remove parens that may surround qualifier or label text preceding a term. local function get_rawtext(text) text = m_utilities.get_plaintext(text) text = text:gsub("[()%[%]]", "") return text end --[=[ Parse a term and associated properties. This works with parameters of the form 'Karlheinz' or 'Kunigunde<q:medieval, now rare>' or 'non:Óláfr' or 'ru:Фру́нзе<tr:Frúnzɛ><q:rare>' where the modifying properties are contained in <...> specifications after the term. `term` is the full parameter value including any angle brackets and colons; `paramname` is the name of the parameter that this value comes from, for error purposes; `deflang` is a language object used in the return value when the language isn't specified (e.g. in the examples 'Karlheinz' and 'Kunigunde<q:medieval, now rare>' above); `allow_explicit_lang` indicates whether the language can be explicitly given (e.g. in the examples 'non:Óláfr' or 'ru:Фру́нзе<tr:Frúnzɛ><q:rare>' above). Normally the return value is a terminfo object that can be passed to full_link() in [[Module:links]]), additionally with optional fields `.q`, `.qq`, `.l`, `.ll`, `.refs` and `.eq` (a list of objects of the same form as the returned terminfo object. However, if `allow_multiple_terms` is given, multiple comma-separated names can be given in `term`, and the return value is a list of objects of the form described just above. ]=] local function parse_term_with_annotations(term, paramname, deflang, allow_explicit_lang, allow_multiple_terms) local param_mods = require(parameter_utilities_module).construct_param_mods { {group = {"link", "l", "q", "ref"}}, {param = "eq", convert = function(eqval, parse_err) return parse_term_with_annotations(eqval, paramname .. ".eq", enlang, false, "allow multiple terms") end}, } local function generate_obj(term, parse_err) local termlang if allow_explicit_lang then local actual_term actual_term, termlang = require(parse_interface_module).parse_term_with_lang { term = term, parse_err = parse_err, paramname = paramname, } term = actual_term or term end return { term = term, lang = termlang or deflang, } end return require(parse_interface_module).parse_inline_modifiers(term, { param_mods = param_mods, paramname = paramname, generate_obj = generate_obj, splitchar = allow_multiple_terms and "," or nil, }) end --[=[ Link a single term. If `do_language_link` is given and a given term's language is English, the link will be constructed using language_link() in [[Module:links]]; otherwise, with full_link(). `termobj` is an object as returned by parse_term_with_annotations(), i.e. it is suitable for passing to [[Module:links]] and additionally contains optional fields `.q`, `.qq`, `.l`, `.ll`, `.refs` and `.eq` (a list of objects of the same form as `termobj`). ]=] local function link_one_term(termobj, do_language_link) local link if do_language_link and termobj.lang:getCode() == "en" then link = m_links.language_link(termobj) else link = m_links.full_link(termobj) end if termobj.q and termobj.q[1] or termobj.qq and termobj.qq[1] or termobj.l and termobj.l[1] or termobj.ll and termobj.ll[1] or termobj.refs and termobj.refs[1] then link = require(pron_qualifier_module).format_qualifiers { lang = termobj.lang, text = link, q = termobj.q, qq = termobj.qq, l = termobj.l, ll = termobj.ll, refs = termobj.refs, } end if termobj.eq then local eqtext = {} for _, eqobj in ipairs(termobj.eq) do table.insert(eqtext, link_one_term(eqobj, true)) end link = link .. " [=" .. m_table.serialCommaJoin(eqtext, {conj = "or"}) .. "]" end return link end --[=[ Link the terms in `terms`, and join them using the conjunction in `conj` (defaulting to "or"). Joining is done using serialCommaJoin() in [[Module:table]], so that e.g. two terms are joined as "TERM or TERM" while three terms are joined as "TERM, TERM or TERM" with special CSS spans before the final "or" to allow an "Oxford comma" to appear if configured appropriately. (However, if `conj` is the special value ", ", joining is done directly using that value.) If `include_langname` is given, the language of the first term will be prepended to the joined terms. If `do_language_link` is given and a given term's language is English, the link will be constructed using language_link() in [[Module:links]]; otherwise, with full_link(). Each term in `terms` is an object as returned by parse_term_with_annotations(). ]=] local function join_terms(terms, include_langname, do_language_link, conj) local links = {} local langnametext for _, termobj in ipairs(terms) do if include_langname and not langnametext then langnametext = termobj.lang:getCanonicalName() .. " " end table.insert(links, link_one_term(termobj, do_language_link)) end local joined_terms if conj == ", " then joined_terms = table.concat(links, conj) else joined_terms = m_table.serialCommaJoin(links, {conj = conj or "or"}) end return (langnametext or "") .. joined_terms end --[=[ Gather the parameters for multiple names and link each name using full_link() (for foreign names) or language_link() (for English names), joining the names using serialCommaJoin() in [[Module:table]] with the conjunction `conj` (defaulting to "or"). (However, if `conj` is the special value ", ", joining is done directly using that value.) This can be used, for example, to fetch and join all the masculine equivalent names for a feminine given name. Each name is specified using parameters beginning with `pname` in `args`, e.g. "m", "m2", "m3", etc. `lang` is a language object specifying the language of the names (defaulting to English), for use in linking them. If `allow_explicit_lang` is given, the language of the terms can be specified explicitly by prefixing a term with a language code, e.g. 'sv:Björn' or 'la:[[Nicolaus|Nīcolāī]]'. This function assumes that the parameters have already been parsed by [[Module:parameters]] and gathered into lists, so that e.g. all "mN" parameters are in a list in args["m"]. ]=] local function join_names(lang, args, pname, conj, allow_explicit_lang) local termobjs = {} local do_language_link = false if not lang then lang = enlang do_language_link = true end local function process_one_term(term, i) for _, termobj in ipairs(parse_term_with_annotations(term, pname .. (i == 1 and "" or i), lang, allow_explicit_lang, "allow multiple terms")) do table.insert(termobjs, termobj) end end if not args[pname] then return "", 0 elseif type(args[pname]) == "table" then for i, term in ipairs(args[pname]) do process_one_term(term, i) end else process_one_term(args[pname], 1) end return join_terms(termobjs, nil, do_language_link, conj), #termobjs end local function get_eqtext(args) local eqsegs = {} local lastlang = nil local last_eqseg = {} local function process_one_term(term, i) for _, termobj in ipairs(parse_term_with_annotations(term, "eq" .. (i == 1 and "" or i), enlang, "allow explicit lang", "allow multiple terms")) do local termlang = termobj.lang:getCode() if lastlang and lastlang ~= termlang then if #last_eqseg > 0 then table.insert(eqsegs, last_eqseg) end last_eqseg = {} end lastlang = termlang table.insert(last_eqseg, termobj) end end if type(args.eq) == "table" then for i, term in ipairs(args.eq) do process_one_term(term, i) end elseif type(args.eq) == "string" then process_one_term(args.eq, 1) end if #last_eqseg > 0 then table.insert(eqsegs, last_eqseg) end local eqtextsegs = {} for _, eqseg in ipairs(eqsegs) do table.insert(eqtextsegs, join_terms(eqseg, "include langname")) end return m_table.serialCommaJoin(eqtextsegs, {conj = "or"}) end local function get_fromtext(lang, args) local catparts = {} local fromsegs = {} local i = 1 local function parse_from(from) local unrecognized = false local prefix, suffix if from == "surnames" or from == "given names" or from == "nicknames" or from == "place names" or from == "common nouns" or from == "month names" then prefix = "transferred from the " suffix = from:gsub("s$", "") table.insert(catparts, from) elseif from == "patronymics" or from == "matronymics" or from == "coinages" then prefix = "originating " suffix = "as a " .. from:gsub("s$", "") table.insert(catparts, from) elseif from == "occupations" or from == "ethnonyms" then prefix = "originating " suffix = "as an " .. from:gsub("s$", "") table.insert(catparts, from) elseif from == "the Bible" then prefix = "originating " suffix = "from the Bible" table.insert(catparts, from) else prefix = "from " if from:find(":") then local termobj = parse_term_with_annotations(from, "from" .. (i == 1 and "" or i), lang, "allow explicit lang") local fromlangname = "" if termobj.lang:getCode() ~= lang:getCode() then -- If name is derived from another name in the same language, don't include lang name after text -- "from " or create a category like "German male given names derived from German". local canonical_name = termobj.lang:getCanonicalName() fromlangname = canonical_name .. " " table.insert(catparts, canonical_name) end suffix = fromlangname .. link_one_term(termobj) else local family = from:match("^(.+) languages$") or from:match("^.+ Languages$") or from:match("^.+ [Ll]ects$") if family then if require("Module:families").getByCanonicalName(family) then table.insert(catparts, from) else unrecognized = true end suffix = "the " .. from else if m_languages.getByCanonicalName(from, nil, "allow etym") then table.insert(catparts, from) else unrecognized = true end suffix = from end end end if unrecognized then track("unrecognized from") track("unrecognized from/" .. from) end return prefix, suffix end local last_fromseg = nil local put = require(parse_utilities_module) local from_args = args.from or {} if type(from_args) == "string" then from_args = {from_args} end while from_args[i] do -- We may have multiple comma-separated items, each of which may have multiple items separated by a -- space-delimited < sign, each of which may have inline modifiers with embedded commas in them. To handle -- this correctly, first replace space-delimited < signs with a special character, then split on balanced -- <...> and [...] signs, then split on comma, then rejoin the stuff between commas. We will then split on -- TEMP_LESS_THAN (the replacement for space-delimited < signs) and reparse. local rawfroms = rsub(from_args[i], "%s+<%s+", TEMP_LESS_THAN) local segments = put.parse_multi_delimiter_balanced_segment_run(rawfroms, {{"<", ">"}, {"[", "]"}}) local comma_separated_groups = put.split_alternating_runs_on_comma(segments) for j, comma_separated_group in ipairs(comma_separated_groups) do comma_separated_groups[j] = table.concat(comma_separated_group) end for _, rawfrom in ipairs(comma_separated_groups) do local froms = rsplit(rawfrom, TEMP_LESS_THAN) if #froms == 1 then local prefix, suffix = parse_from(froms[1]) if last_fromseg and (last_fromseg.has_multiple_froms or last_fromseg.prefix ~= prefix) then table.insert(fromsegs, last_fromseg) last_fromseg = nil end if not last_fromseg then last_fromseg = {prefix = prefix, suffixes = {}} end table.insert(last_fromseg.suffixes, suffix) else if last_fromseg then table.insert(fromsegs, last_fromseg) last_fromseg = nil end local first_suffixpart = "" local rest_suffixparts = {} for j, from in ipairs(froms) do local prefix, suffix = parse_from(from) if j == 1 then first_suffixpart = prefix .. suffix else table.insert(rest_suffixparts, prefix .. suffix) end end local full_suffix = first_suffixpart .. " [in turn " .. table.concat(rest_suffixparts, ", in turn ") .. "]" last_fromseg = {prefix = "", has_multiple_froms = true, suffixes = {full_suffix}} end end i = i + 1 end table.insert(fromsegs, last_fromseg) local fromtextsegs = {} for _, fromseg in ipairs(fromsegs) do table.insert(fromtextsegs, fromseg.prefix .. m_table.serialCommaJoin(fromseg.suffixes, {conj = "or"})) end return m_table.serialCommaJoin(fromtextsegs, {conj = "or"}), catparts end local function parse_given_name_genders(genderspec) if export.given_name_genders[genderspec] then -- optimization return {{ type = genderspec, props = export.given_name_genders[genderspec], }}, export.given_name_genders[genderspec].type == "animal" end local genders = {} local is_animal = nil local param_mods = require(parameter_utilities_module).construct_param_mods { {group = {"l", "q", "ref"}}, {param = {"text", "article"}}, } local function generate_obj(term, parse_err) if not export.given_name_genders[term] then local valid_genders = {} for k, _ in pairs(export.given_name_genders) do table.insert(valid_genders, k) end table.sort(valid_genders) parse_err(("Unrecognized gender '%s': valid genders are %s"):format( term, table.concat(valid_genders, ", "))) end return { type = term, props = export.given_name_genders[term], } end local retval = require(parse_interface_module).parse_inline_modifiers(genderspec, { param_mods = param_mods, paramname = "2", generate_obj = generate_obj, splitchar = ",", }) for _, spec in ipairs(retval) do local this_is_animal = spec.props.type == "animal" if is_animal == nil then is_animal = this_is_animal elseif is_animal ~= this_is_animal then error("Can't mix animal and human genders") end end return retval, is_animal end local function generate_given_name_genders(lang, genders) local parts = {} for _, spec in ipairs(genders) do local text if spec.text then -- NOTE: This assumes no % sign in the gender type, which seems safe. text = spec.text:gsub("%+", spec.type) else if spec.props.type == "animal" then text = "[[" .. spec.type .. "]]" else text = spec.type end end if spec.q and spec.q[1] or spec.qq and spec.qq[1] or spec.l and spec.l[1] or spec.ll and spec.ll[1] or spec.refs and spec.refs[1] then text = require(pron_qualifier_module).format_qualifiers { lang = lang, text = text, q = spec.q, qq = spec.qq, l = spec.l, ll = spec.ll, refs = spec.refs, raw = true, } end table.insert(parts, text) end local retval = m_table.serialCommaJoin(parts, {conj = "or"}) local article = genders[1].article if not article and not genders[1].text and not genders[1].q and not genders[1].l then article = genders[1].props.article end if not article then article = require(en_utilities_module).get_indefinite_article(get_rawtext(retval)) end return retval, article end -- The entry point for {{given name}}. function export.given_name(frame) local parent_args = frame:getParent().args local compat = parent_args.lang local offset = compat and 0 or 1 local lang_index = compat and "lang" or 1 local list = {list = true} local args = require("Module:parameters").process(parent_args, { [lang_index] = {required = true, type = "language", default = "und"}, ["gender"] = {default = "unknown-gender"}, [1 + offset] = {alias_of = "gender"}, ["usage"] = true, ["origin"] = true, ["popular"] = true, ["populartype"] = true, ["meaning"] = list, ["meaningtype"] = true, ["addl"] = true, -- initial article: A or An ["A"] = true, ["sort"] = true, ["from"] = true, [2 + offset] = {alias_of = "from"}, ["fromtype"] = true, ["xlit"] = true, ["eq"] = true, ["eqtype"] = true, ["varof"] = true, ["varoftype"] = true, ["var"] = {alias_of = "varof"}, ["vartype"] = {alias_of = "varoftype"}, ["varform"] = true, ["varformtype"] = true, ["dimof"] = true, ["dimoftype"] = true, ["dim"] = {alias_of = "dimof"}, ["dimtype"] = {alias_of = "dimoftype"}, ["dimform"] = true, ["dimformtype"] = true, ["augof"] = true, ["augoftype"] = true, ["aug"] = {alias_of = "augof"}, ["augtype"] = {alias_of = "augoftype"}, ["augform"] = true, ["augformtype"] = true, ["clipof"] = true, ["clipoftype"] = true, ["blend"] = true, ["blendtype"] = true, ["m"] = true, ["mtype"] = true, ["f"] = true, ["ftype"] = true, }) local textsegs = {} local lang = args[lang_index] local langcode = lang:getCode() local function fetch_typetext(param) return args[param] and args[param] .. " " or "" end local genders, is_animal = parse_given_name_genders(args.gender) local dimoftext, numdimofs = join_names(lang, args, "dimof") local augoftext, numaugofs = join_names(lang, args, "augof") local xlittext = join_names(nil, args, "xlit") local blendtext = join_names(lang, args, "blend", "and") local varoftext = join_names(lang, args, "varof") local clipoftext = join_names(lang, args, "clipof") local mtext = join_names(lang, args, "m") local ftext = join_names(lang, args, "f") local varformtext, numvarforms = join_names(lang, args, "varform", ", ") local dimformtext, numdimforms = join_names(lang, args, "dimform", ", ") local augformtext, numaugforms = join_names(lang, args, "augform", ", ") local meaningsegs = {} for _, meaning in ipairs(args.meaning) do table.insert(meaningsegs, '“' .. meaning .. '”') end local meaningtext = m_table.serialCommaJoin(meaningsegs, {conj = "or"}) local eqtext = get_eqtext(args) local function ins(txt) table.insert(textsegs, m_sinhala.sinhala(txt)) end local dimoftype = args.dimoftype local augoftype = args.augoftype added_text = nil if numdimofs > 0 then added_text = (dimoftype and dimoftype .. " " or "") .. "[[diminutive]]" .. (xlittext ~= "" and ", " .. xlittext .. "," or "") .. " of " elseif numaugofs > 0 then added_text = (augoftype and augoftype .. " " or "") .. "[[augmentative]]" .. (xlittext ~= "" and ", " .. xlittext .. "," or "") .. " of " end force_plural = false if added_text ~= nil then if args.dimof == "-" then dimoftext = "" force_plural = true else added_text = added_text .. "the " end ins(added_text) end local article = args.A if not article and textsegs[1] then article = require(en_utilities_module).get_indefinite_article(textsegs[1]) end if not is_animal then local gendertext, gender_article = generate_given_name_genders(lang, genders) article = article or gender_article ins(gendertext) ins(" ") end ins((numdimofs > 1 or numaugofs > 1 or force_plural) and "[[පුද්ගල නාම|පුද්ගල නාම]]" or "[[පුද්ගල නාම|පුද්ගල නාමය]]") article = article or "a" -- if no article set yet, it's "a" based on "given name" if langcode == "en" then article = mw.getContentLanguage():ucfirst(article) end local need_comma = false if numdimofs > 0 then ins(" " .. dimoftext) need_comma = not is_animal elseif numaugofs > 0 then ins(" " .. augoftext) need_comma = not is_animal elseif xlittext ~= "" then ins(", " .. xlittext) need_comma = true end if is_animal then if need_comma then ins(",") end need_comma = true ins(" for ") local gendertext, gender_article = generate_given_name_genders(lang, genders) ins(gender_article) ins(" ") ins(gendertext) end local from_catparts = {} if args.from then if need_comma then ins(",") end need_comma = true ins(" " .. fetch_typetext("fromtype")) local textseg, this_catparts = get_fromtext(lang, args) for _, catpart in ipairs(this_catparts) do m_table.insertIfNot(from_catparts, catpart) end ins(textseg) end if meaningtext ~= "" then if need_comma then ins(",") end need_comma = true ins(" " .. fetch_typetext("meaningtype") .. "meaning " .. meaningtext) end if args.origin then if need_comma then ins(",") end need_comma = true ins(" of " .. args.origin .. " origin") end if args.usage then if need_comma then ins(",") end need_comma = true ins(" of " .. args.usage .. " usage") end if varoftext ~= "" then ins(", " ..fetch_typetext("varoftype") .. "variant of " .. varoftext) end if clipoftext ~= "" then ins(", " .. fetch_typetext("clipoftype") .. "clipping of " .. clipoftext) end if blendtext ~= "" then ins(", " .. fetch_typetext("blendtype") .. "blend of " .. blendtext) end if args.popular then ins(", " .. fetch_typetext("populartype") .. "popular " .. args.popular) end if mtext ~= "" then ins(", " .. fetch_typetext("mtype") .. "masculine equivalent " .. mtext) end if ftext ~= "" then ins(", " .. fetch_typetext("ftype") .. "feminine equivalent " .. ftext) end if eqtext ~= "" then ins(", " .. fetch_typetext("eqtype") .. "equivalent to " .. eqtext) end if args.addl then if args.addl:find("^;") then ins(args.addl) elseif args.addl:find("^_") then ins(" " .. args.addl:sub(2)) else ins(", " .. args.addl) end end if varformtext ~= "" then ins("; " .. fetch_typetext("varformtype") .. "variant form" .. (numvarforms > 1 and "s" or "") .. " " .. varformtext) end if dimformtext ~= "" then ins("; " .. fetch_typetext("dimformtype") .. "diminutive form" .. (numdimforms > 1 and "s" or "") .. " " .. dimformtext) end if augformtext ~= "" then ins("; " .. fetch_typetext("augformtype") .. "augmentative form" .. (numaugforms > 1 and "s" or "") .. " " .. augformtext) end textsegs = "<span class='use-with-mention'>" .. table.concat(textsegs) .. "කි" .. "</span>" local categories = {} local langname = lang:getCanonicalName() .. " " local function insert_cats(dimaugof) if dimaugof == "" and genders[1].props.type == "human" then -- No category such as "English diminutives of given names" table.insert(categories, langname .. m_sinhala.sinhala("given names")) end local function insert_cat(cat) table.insert(categories, langname .. dimaugof .. cat) for _, catpart in ipairs(from_catparts) do table.insert(categories, langname .. dimaugof .. cat .. " from " .. catpart) end end for _, spec in ipairs(genders) do local typ = spec.type if spec.props.track then track(typ) end local cats = get_given_name_cats(spec.type, spec.props) for _, cat in ipairs(cats) do insert_cat(m_sinhala.sinhala(cat)) end end end insert_cats("") if numdimofs > 0 then insert_cats("diminutives of ") elseif numaugofs > 0 then insert_cats("augmentatives of ") end return textsegs .. m_utilities.format_categories(categories, lang, args.sort, nil, force_cat) end -- The entry point for {{surname}}, {{patronymic}} and {{matronymic}}. function export.surname(frame) local iargs = require("Module:parameters").process(frame.args, { ["type"] = {required = true, set = {"surname", "patronymic", "matronymic"}}, }) local parent_args = frame:getParent().args local compat = parent_args.lang local offset = compat and 0 or 1 if parent_args.dot or parent_args.nodot then error("dot= and nodot= are no longer supported in [[Template:" .. iargs.type .. "]] because a trailing " .. "period is no longer added by default; if you want it, add it explicitly after the template") end local lang_index = compat and "lang" or 1 local list = {list = true} local gender_arg = iargs.type == "surname" and "g" or 1 + offset local adj_arg = iargs.type == "surname" and 1 + offset or 2 + offset local args = require("Module:parameters").process(parent_args, { [lang_index] = {required = true, type = "language", template_default = "und"}, [gender_arg] = iargs.type == "surname" and true or {required = true, template_default = "unknown"}, -- gender(s) [adj_arg] = true, -- adjective/qualifier ["usage"] = true, ["origin"] = true, ["popular"] = true, ["populartype"] = true, ["meaning"] = list, ["meaningtype"] = true, ["parent"] = true, ["addl"] = true, -- initial article: by default A or An (English), a or an (otherwise) ["A"] = true, ["sort"] = true, ["from"] = true, ["fromtype"] = true, ["xlit"] = true, ["eq"] = true, ["eqtype"] = true, ["varof"] = true, ["varoftype"] = true, ["var"] = {alias_of = "varof"}, ["vartype"] = {alias_of = "varoftype"}, ["varform"] = true, ["varformtype"] = true, ["clipof"] = true, ["clipoftype"] = true, ["blend"] = true, ["blendtype"] = true, ["m"] = true, ["mtype"] = true, ["f"] = true, ["ftype"] = true, ["nocat"] = {type = "boolean"}, }) local textsegs = {} local lang = args[lang_index] local langcode = lang:getCode() local function fetch_typetext(param) return args[param] and args[param] .. " " or "" end local saw_male = false local saw_female = false local genders = {} if args[gender_arg] then for _, g in ipairs(require(parse_interface_module).split_on_comma(args[gender_arg])) do if g == "unknown" or g == "unknown gender" or g == "unknown-gender" or g == "?" then g = "unknown-gender" track("unknown gender") elseif g == "unisex" or g == "common gender" or g == "common-gender" or g == "c" then g = "common-gender" saw_male = true saw_female = true elseif g == "m" or g == "male" then g = "male" saw_male = true elseif g == "f" or g == "female" then g = "female" saw_female = true else error("Unrecognized gender: " .. g) end table.insert(genders, g) end end local adj = args[adj_arg] local xlittext = join_names(nil, args, "xlit") local blendtext = join_names(lang, args, "blend", "and") local varoftext = join_names(lang, args, "varof") local clipoftext = join_names(lang, args, "clipof") local mtext = join_names(lang, args, "m") local ftext = join_names(lang, args, "f") local parenttext = join_names(lang, args, "parent", nil, "allow explicit lang") local varformtext, numvarforms = join_names(lang, args, "varform", ", ") local meaningsegs = {} for _, meaning in ipairs(args.meaning) do table.insert(meaningsegs, '“' .. meaning .. '”') end if parenttext ~= "" then local child = saw_male and not saw_female and "son" or saw_female and not saw_male and "daughter" or "son/daughter" table.insert(meaningsegs, ("“%s of %s”"):format(child, parenttext)) end local meaningtext = m_table.serialCommaJoin(meaningsegs, {conj = "or"}) local eqtext = get_eqtext(args) local function ins(txt) table.insert(textsegs, txt) end ins("<span class='use-with-mention'>") -- If gender is supplied, it goes before the specified adjective in adj=. The only value of gender that uses "an" is -- "unknown-gender" (note that "unisex" wouldn't use it but in any case we map "unisex" to "common-gender"). If gender -- isn't supplied, look at the first letter of the value of adj= if supplied; otherwise, the article is always "a" -- because the word "surname", "patronymic" or "matronymic" follows. Capitalize "A"/"An" if English. local article if args.A then article = args.A else article = #genders > 0 and genders[1] == "unknown-gender" and "an" or #genders == 0 and adj and require(en_utilities_module).get_indefinite_article(adj) or "a" if langcode == "en" then article = mw.getContentLanguage():ucfirst(article) end end -- අපට අවශ්‍ය නැත. -- ins(article .. " ") if #genders > 0 then ins(table.concat(genders, " or ") .. " ") end if adj then ins(adj .. " ") end ins("[[" .. m_sinhala.sinhala(iargs.type) .. "]]") ins("කි ") local need_comma = false if xlittext ~= "" then ins(", " .. xlittext) need_comma = true end local from_catparts = {} if args.from then if need_comma then ins(",") end need_comma = true ins(" " .. fetch_typetext("fromtype")) local textseg, this_catparts = get_fromtext(lang, args) for _, catpart in ipairs(this_catparts) do m_table.insertIfNot(from_catparts, catpart) end ins(textseg) end if meaningtext ~= "" then if need_comma then ins(",") end need_comma = true ins(" " .. fetch_typetext("meaningtype") .. "meaning " .. meaningtext) end if args.origin then if need_comma then ins(",") end need_comma = true ins(" of " .. args.origin .. " origin") end if args.usage then if need_comma then ins(",") end need_comma = true ins(" of " .. args.usage .. " usage") end if varoftext ~= "" then ins(", " ..fetch_typetext("varoftype") .. "variant of " .. varoftext) end if clipoftext ~= "" then ins(", " .. fetch_typetext("clipoftype") .. "clipping of " .. clipoftext) end if blendtext ~= "" then ins(", " .. fetch_typetext("blendtype") .. "blend of " .. blendtext) end if args.popular then ins(", " .. fetch_typetext("populartype") .. "popular " .. args.popular) end if mtext ~= "" then ins(", " .. fetch_typetext("mtype") .. "masculine equivalent " .. mtext) end if ftext ~= "" then ins(", " .. fetch_typetext("ftype") .. "feminine equivalent " .. ftext) end if eqtext ~= "" then ins(", " .. fetch_typetext("eqtype") .. "equivalent to " .. eqtext) end if args.addl then if args.addl:find("^;") then ins(args.addl) elseif args.addl:find("^_") then ins(" " .. args.addl:sub(2)) else ins(", " .. args.addl) end end if varformtext ~= "" then ins("; " .. fetch_typetext("varformtype") .. "variant form" .. (numvarforms > 1 and "s" or "") .. " " .. varformtext) end ins("</span>") local text = table.concat(textsegs, "") if args.nocat then return text end local categories = {} local langname = lang:getCanonicalName() .. " " local function insert_cats(g) g = g and g .. " " or "" table.insert(categories, langname .. g .. iargs.type .. "s") for _, catpart in ipairs(from_catparts) do table.insert(categories, langname .. g .. iargs.type .. "s from " .. catpart) end end insert_cats(nil) local function insert_cats_gender(g) if g == "unknown-gender" then return end if g == "common-gender" then insert_cats_gender("male") insert_cats_gender("female") end insert_cats(g) end for _, g in ipairs(genders) do insert_cats_gender(g) end return text .. m_utilities.format_categories(categories, lang, args.sort, nil, force_cat) end -- The entry point for {{name translit}}, {{name respelling}}, {{name obor}} and {{foreign name}}. function export.name_translit(frame) local boolean = {type = "boolean"} local iargs = require("Module:parameters").process(frame.args, { ["desctext"] = {required = true}, ["obor"] = boolean, ["foreign_name"] = boolean, }) local parent_args = frame:getParent().args local params = { [1] = {required = true, type = "language", template_default = "en"}, [2] = {required = true, type = "language", sublist = true, template_default = "ru"}, [3] = {list = true, allow_holes = true}, ["type"] = {required = true, set = translit_name_type_list, sublist = true, default = "patronymic"}, ["dim"] = boolean, ["aug"] = boolean, ["nocap"] = boolean, ["addl"] = true, ["sort"] = true, ["pagename"] = true, } local m_param_utils = require(parameter_utilities_module) local param_mods = m_param_utils.construct_param_mods { {group = {"link", "q", "l", "ref"}}, {param = {"xlit", "eq"}}, } local names, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params { params = params, param_mods = param_mods, raw_args = parent_args, termarg = 3, track_module = "names/name translit", disallow_custom_separators = true, -- Use the first source language as the language of the specified names. lang = function(args) return args[2][1] end, sc = "sc.default", } local lang = args[1] local langcode = lang:getCode() local sources = args[2] local pagename = args.pagename or mw.loadData("Module:headword/data").pagename local textsegs = {} local function ins(txt) table.insert(textsegs, txt) end ins("<span class='use-with-mention'>") local desctext = iargs.desctext if langcode == "en" and not args.nocap then desctext = mw.getContentLanguage():ucfirst(desctext) end ins(desctext .. " ") if not iargs.foreign_name then ins("of ") end local langsegs = {} for i, source in ipairs(sources) do local sourcename = source:getCanonicalName() local function get_source_link() local term_to_link = names[1] and names[1].term or pagename -- We link the language name to either the first specified name or the pagename, in the following -- circumstances: -- (1) More than one language was given along with at least one name; or -- (2) We're handling {{foreign name}} or {{name obor}}, and no name was given. -- The reason for (1) is that if more than one language was given, we want a link to the name -- in each language, as the name that's displayed is linked only to the first specified language. -- However, if only one language was given, linking the language to the name is redundant. -- The reason for (2) is that {{foreign name}} is often used when the name in the destination language -- is spelled the same as the name in the source language (e.g. [[Clinton]] or [[Obama]] in Italian), -- and in that case no name will be explicitly specified but we still want a link to the name in the -- source language. The reason we restrict this to {{foreign name}} or {{name obor}}, not to -- {{name translit}} or {{name respelling}}, is that {{name translit}} and {{name respelling}} ought to be -- used for names spelled differently in the destination language (either transliterated or respelled), so -- assuming the pagename is the name in the source language is wrong. if names[1] and #sources > 1 or (iargs.foreign_name or iargs.obor) and not names[1] then return m_links.language_link{ lang = sources[i], term = term_to_link, alt = sourcename, tr = "-" } else return sourcename end end if i == 1 and not iargs.foreign_name then -- If at least one name is given, we say "A transliteration of the LANG surname FOO", linking LANG to FOO. -- Otherwise we say "A transliteration of a LANG surname". if names[1] then table.insert(langsegs, "the " .. get_source_link()) else table.insert(langsegs, require(en_utilities_module).add_indefinite_article(sourcename)) end else table.insert(langsegs, get_source_link()) end end local langseg_text = m_table.serialCommaJoin(langsegs, {conj = "or"}) local augdim_text if args.dim then augdim_text = " [[diminutive]]" elseif args.aug then augdim_text = " [[augmentative]]" else augdim_text = "" end local nametype_linked = {} for _, nametype in ipairs(args["type"]) do if nametype == "surname" or nametype == "patronymic" then table.insert(nametype_linked, "[[" .. nametype .. "]]") elseif nametype == "male given name" then table.insert(nametype_linked, "male [[given name]]") elseif nametype == "female given name" then table.insert(nametype_linked, "female [[given name]]") elseif nametype == "unisex given name" then table.insert(nametype_linked, "unisex [[given name]]") else table.insert(nametype_linked, nametype) end end local nametype_text = m_table.serialCommaJoin(nametype_linked) .. augdim_text if not iargs.foreign_name then ins(langseg_text .. " ") ins(nametype_text) if names[1] then ins(" ") end else ins(nametype_text) ins(" in " .. langseg_text) if names[1] then ins(", ") end end local linked_names = {} local embedded_comma = false for _, name in ipairs(names) do local linked_name = m_links.full_link(name, "term") if name.q and name.q[1] or name.qq and name.qq[1] or name.l and name.l[1] or name.ll and name.ll[1] or name.refs and name.refs[1] then linked_name = require(pron_qualifier_module).format_qualifiers { lang = name.lang, text = linked_name, q = name.q, qq = name.qq, l = name.l, ll = name.ll, refs = name.refs, raw = true, } end if name.xlit then embedded_comma = true linked_name = linked_name .. ", " .. m_links.language_link { lang = enlang, term = name.xlit } end if name.eq then embedded_comma = true linked_name = linked_name .. ", equivalent to " .. m_links.language_link { lang = enlang, term = name.eq } end table.insert(linked_names, linked_name) end if embedded_comma then ins(table.concat(linked_names, "; or of ")) else ins(m_table.serialCommaJoin(linked_names, {conj = "or"})) end if args.addl then if args.addl:find("^;") then ins(args.addl) elseif args.addl:find("^_") then ins(" " .. args.addl:sub(2)) else ins(", " .. args.addl) end end ins("</span>") local categories = {} local function inscat(cat) table.insert(categories, lang:getFullName() .. " " .. cat) end for _, nametype in ipairs(args.type) do local function insert_cats(dimaugof) local function insert_cats_type(ty) if ty == "unisex given name" then insert_cats_type("male given name") insert_cats_type("female given name") end for _, source in ipairs(sources) do inscat("renderings of " .. source:getCanonicalName() .. " " .. dimaugof .. ty .. "s") inscat("terms derived from " .. source:getCanonicalName()) inscat("terms borrowed from " .. source:getCanonicalName()) if iargs.obor then inscat("orthographic borrowings from " .. source:getCanonicalName()) end if source:getCode() ~= source:getFullCode() then -- etymology language inscat("renderings of " .. source:getFullName() .. " " .. dimaugof .. ty .. "s") end end end insert_cats_type(nametype) end insert_cats("") if args.dim then insert_cats("diminutives of ") end if args.aug then insert_cats("augmentatives of ") end end return table.concat(textsegs, "") .. m_utilities.format_categories(categories, lang, args.sort, nil, force_cat) end return export fl5e9mdcvpiz60xi4i53ars3xtyt1v8 Module:be-pronunciation 828 142450 234342 232296 2026-05-17T06:07:54Z Lee 19 234342 Scribunto text/plain local export = {} local m_table = require("Module:table") local u = require("Module:string/char") local rfind = mw.ustring.find local rsubn = mw.ustring.gsub local rmatch = mw.ustring.match local rsplit = mw.text.split local usub = mw.ustring.sub local ulen = mw.ustring.len -- version of rsubn() that discards all but the first return value local function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end -- apply function repeatedly until no change local function do_sub_repeatedly(term, fun) while true do local new_term = fun(term) if new_term == term then return term end term = new_term end end -- apply rsub() repeatedly until no change local function rsub_repeatedly(term, foo, bar) while true do local new_term = rsub(term, foo, bar) if new_term == term then return term end term = new_term end end local grave = u(0x300) local acute = u(0x301) local stress = u(0x2C8) local secondary_stress = u(0x2CC) local tie = u(0x361) local correspondences = { ["а"] = "a", ["б"] = "b", ["в"] = "v", ["г"] = "ɣ", ["ґ"] = "ɡ", ["д"] = "d", ["дз"] = "d" .. tie .. "z", ["дж"] = "d" .. tie .. "ʐ", ["е"] = "ʲe", -- or ɛ ["ё"] = "ʲo", ["ж"] = "ʐ", ["з"] = "z", ["і"] = "ʲi", ["й"] = "j", ["к"] = "k", ["л"] = "l", ["м"] = "m", ["н"] = "n", ["о"] = "o", -- or ɔ ["п"] = "p", ["р"] = "r", ["с"] = "s", ["т"] = "t", ["у"] = "u", ["ў"] = "w", ["ф"] = "f", ["х"] = "x", ["ц"] = "t" .. tie .. "s", ["ч"] = "t" .. tie .. "ʂ", ["ш"] = "ʂ", ["ы"] = "ɨ", ["ь"] = "ʲ", ["э"] = "ɛ", ["ю"] = "ʲu", ["я"] = "ʲa", [acute] = stress, [grave] = secondary_stress, -- Space [" "] = " ", -- Apostrophes [u(0x27)] = "j", [u(0x2019)] = "j", [u(0x2BC)] = "j" } local devoicing = { ['b'] = 'p', ['d'] = 't', ['ɡ'] = 'k', ['z'] = 's', ['ʐ'] = 'ʂ', ['ɣ'] = 'x' } local voicing = { ['p'] = 'b', ['t'] = 'd', ['k'] = 'ɡ', ['s'] = 'z', ['ʂ'] = 'ʐ', ['x'] = 'ɣ', ['f'] = 'v' } local vowel = "aeɛiɨou" local vowel_c = "[" .. vowel .. "]" local consonant = "jmnlrvwbdzʐɡɣpftskxʂ" local consonant_c = "[" .. consonant .. "]" local accent = stress .. secondary_stress local accent_c = "[" .. accent .. "]" local perm_syl_onset = m_table.listToSet({ 'spr', 'str', 'skr', 'spl', 'skl', 'sp', 'st', 'sk', 'sf', 'sx', 'sl', 'sm', 'sn', -- WARNING, IPA ɡ used in the next two lines (and throughout this module) 'pr', 'br', 'tr', 'dr', 'kr', 'ɡr', 'ɣr', 'fr', 'xr', 'pl', 'bl', 'kl', 'ɡl', 'ɣl', 'fl', 'xl', }) local function move_stress(transcription) -- The following logic for placing the stress mark on a syllable boundary is copied from -- [[Module:uk-pronunciation]]. -- (1) Put the stress mark before the final consonant of a cluster (if any). transcription = rsub(transcription, "([^#" .. vowel .. "]?[ʲː]*" .. vowel_c .. ")(" .. accent_c .. ")", "%2%1") -- (2) Continue moving it over the rest of an affricate with a tie bar. transcription = rsub(transcription, "([^#" .. vowel .. "]͡)(" .. accent_c .. ")", "%2%1") -- (3) Continue moving it over any "permanent onset" clusters (e.g. st, skr, pl, also Cj). transcription = rsub(transcription, "(.)(ʲ?)(" .. consonant_c .. ")(ʲ?)(" .. accent_c .. ")(" .. consonant_c .. ")", function(a, aj, b, bj, stress, c) if perm_syl_onset[a .. b .. c] then return stress .. a .. aj .. b .. bj .. c elseif perm_syl_onset[b .. c] or c == "j" then return a .. aj .. stress .. b .. bj .. c else return a .. aj .. b .. bj .. stress .. c end end) -- (4) If we're in the middle of an affricate with a tie bar, continue moving back -- if the following consonant is /j/, else move forward. transcription = rsub(transcription, "([^#" .. vowel .. "]͡)(" .. accent_c .. ")(.ʲ?j)", "%2%1%3") transcription = rsub(transcription, "([^#" .. vowel .. "]͡)(" .. accent_c .. ")(.ʲ?)", "%1%3%2") -- (5) Move back over any remaining consonants at the beginning of a word. transcription = rsub(transcription, "#([^#" .. vowel .. "]+)(" .. accent_c .. ")", "#%2%1") -- (6) Move back over u̯ or i̯ at the beginning of a word. transcription = rsub(transcription, "#([ui]̯)(" .. accent_c .. ")", "#%2%1") return transcription end local function assimilate_voicing(transcription) return do_sub_repeatedly(transcription, function(text) text = rsub(text, "([bdɡɣzʐ])([ʲː" .. tie .. "]*[ptkfxsʂ#])", function(a, b) return devoicing[a] .. b end) text = rsub(text, "([ptkfxsʂ])([ʲː" .. tie .. "]*v?[ʲː" .. tie .. "]*[bdɡɣzʐ])", function(a, b) return voicing[a] .. b end) return text end) end local function assimilate_sibilants(transcription) return rsub_repeatedly(transcription, "[sʂzʐ]([td]?" .. tie .. "?)([sʂzʐ])", "%2%1%2") end -- Can probably be simplified local function assimilate_palatals(transcription) return do_sub_repeatedly(transcription, function(text) text = rsub(text, "([bzɡɣpfskxmnlv])%1ʲ", "%1ʲ%1ʲ") text = rsub(text, "([szn])j", "%1ʲj") text = rsub(text, "([sn])(" .. accent_c .. "?[td]" .. tie .. "[sz]ʲ)", "%1ʲ%2") text = rsub(text, "([sz])([nl])ʲ", "%1ʲ%2ʲ") -- No assimilation in a final, non-initial syllable text = rsub_repeatedly(text, "([sz])([bmpfv])ʲ([^#]*" .. vowel_c .. "[^#]*" .. vowel_c .. ")", "%1ʲ%2ʲ%3") text = rsub(text, "#([^#" .. vowel .. "]*)([sz])([bmpfv])ʲ", "%1%2ʲ%3ʲ") text = rsub(text, "([td]" .. tie .. "[sz])vʲ", "%1ʲvʲ") text = rsub(text, "tsʲ", "t" .. tie .. "sʲsʲ") text = rsub(text, "dzʲ", "d" .. tie .. "zʲzʲ") text = rsub(text, "tt" .. tie .. "sʲ", "t" .. tie .. "sʲt" .. tie .. "sʲ") text = rsub(text, "dd" .. tie .. "zʲ", "d" .. tie .. "zʲd" .. tie .. "zʲ") return text end) end local function convert(text) -- convert commas and em/en dashes to IPA foot boundaries text = rsub(text, '%s*[,–—]%s*', ' | ') -- convert hyphen to space text = rsub(text, "%-", " ") -- canonicalize spaces text = rsub(text, "%s+", " ") text = rsub(text, "^%s", "") text = rsub(text, "%s$", "") local working_string = mw.ustring.lower(text) local IPA = {} while ulen(working_string) > 0 do local IPA_letter local letter = usub(working_string, 1, 1) local twoletters = usub(working_string, 1, 2) or "" if correspondences[twoletters] then IPA_letter = correspondences[twoletters] working_string = usub(working_string, 3) else IPA_letter = correspondences[letter] or letter working_string = usub(working_string, 2) end table.insert(IPA, IPA_letter) end IPA = table.concat(IPA) -- Mark word boundaries IPA = rsub(IPA, "(%s+)", "#%1#") IPA = "#" .. IPA .. "#" -- Change ʲ to j between vowels or after another ʲ. IPA = rsub_repeatedly(IPA, "([#w" .. vowel .. "ʲ]" .. accent_c .. "?)ʲ(" .. vowel_c .. ")", "%1j%2") IPA = rsub(IPA, "jʲ", "j") -- /г/ is a stop in /зг/, /жг/ IPA = rsub(IPA, "([sʂzʐ])ɣ", "%1ɡ") -- Mark stress IPA = rsub_repeatedly(IPA, "(#[^#o" .. stress .. "]*)o([^#o" .. stress .. "]*[aeɛiɨu][^#o" .. stress .. "]*#)", "%1o" .. stress .. "%2") IPA = rsub_repeatedly(IPA, "(#[^#o" .. stress .. "]*[aeɛiɨu][^#o" .. stress .. "]*)o([^#o" .. stress .. "]*#)", "%1o" .. stress .. "%2") -- Syllable-final /в/ is [u̯] IPA = rsub_repeatedly(IPA, "([" .. vowel .. accent .. "]+)w([^" .. vowel .. "])", "%1u̯%2") return IPA end function export.toIPA(term) -- Returns an error if the word contains alphabetic characters that are not Cyrillic. require("Module:script utilities").checkScript(term, "Cyrl") IPA = convert(term) -- Voicing assimilation IPA = assimilate_voicing(IPA) -- Sibilant assimilation IPA = assimilate_sibilants(IPA) -- Palatal assimilation IPA = assimilate_palatals(IPA) -- Soft and hard /л/ IPA = rsub(IPA, "l([^ʲ])", "ɫ%1") -- Convert identical consonant sequences to geminates IPA = rsub(IPA, "([td]" .. tie .. "[szʂʐ]ʲ?)%1", "%1ː") IPA = rsub_repeatedly(IPA, "([^" .. tie .. "])([bdzʐɡɣpftskxʂmnlrjvw]ʲ?)%2", "%1%2ː") IPA = move_stress(IPA) -- Remove #s IPA = rsub(IPA, "#", "") return IPA end function export.remove_pron_notations(text, remove_grave) -- Remove grave accents from annotations but maybe not from phonetic respelling if remove_grave then text = mw.ustring.toNFC(rsub(mw.ustring.toNFD(text), grave, "")) end return text end function export.show(frame) local params = { [1] = {}, ["ann"] = {}, } local title = mw.title.getCurrentTitle() local args = require("Module:parameters").process(frame:getParent().args, params) local term = args[1] or title.nsText == "සැකිල්ල" and "пры́клад" or title.text local IPA = export.toIPA(term) IPA = "[" .. IPA .. "]" IPA = require("Module:IPA").format_IPA_full { lang = require("Module:languages").getByCode("be"), items = {{ pron = IPA }}, } local anntext if args.ann == "1" or args.ann == "y" then -- remove secondary stress annotations anntext = "'''" .. export.remove_pron_notations(term, true) .. "''':&#32;" elseif args.ann then anntext = "'''" .. args.ann .. "''':&#32;" else anntext = "" end return anntext .. IPA end return export 513nkfde6c4ci3wu2nfy2k1l1d83mwu Module:uk-be-headword 828 142456 234363 232308 2026-05-17T06:10:31Z Lee 19 "Template" සිට "සැකිල්ල" වෙතට 234363 Scribunto text/plain local export = {} local force_cat = false -- for testing; if true, categories appear in non-mainspace pages local lang, langcode, langname local com local m_links = require("Module:links") local require_when_needed = require("Module:utilities/require when needed") local m_table = require("Module:table") local en_utilities_module = "Module:en-utilities" local headword_utilities_module = "Module:headword utilities" local inflection_utilities_module = "Module:inflection utilities" local string_utilities_module = "Module:string utilities" local m_en_utilities = require_when_needed(en_utilities_module) local m_headword_utilities = require_when_needed(headword_utilities_module) local m_inflection_utilities = require_when_needed(inflection_utilities_module) local m_string_utilities = require_when_needed(string_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 boolean_param = {type = "boolean"} local list_param = {list = true, disallow_holes = true} local list_comp = {list = "comp", disallow_holes = true} local list_sup = {list = "sup", disallow_holes = true} local concat = table.concat local insert = table.insert local pos_functions = {} local function track(page) require("Module:debug").track(langcode .. "-headword/" .. page) return true end local function check_if_accent_needed(val, data) val = m_links.remove_links(val) if com.needs_accents(val) then if langcode == "uk" and not data.unknown_stress then error("Stress must be supplied using an acute accent: '" .. val .. "' (use unknown_stress=1 if stress is truly unknown)") end local pos = require(en_utilities_module).singularize(data.pos_category) insert(data.categories, "Requests for accents in " .. langname .. " " .. pos .. " entries") end if com.is_multi_stressed(val) then error("Multi-stressed form '" .. val .. "' not allowed") 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) local argfield = field if type(argfield) == "table" then argfield = argfield[1] end return m_headword_utilities.parse_term_list_with_modifiers { forms = args[argfield], paramname = field, splitchar = ",", is_head = is_head, include_mods = {"tr"}, frob = function(term) check_if_accent_needed(term, data) return term 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. local function parse_and_insert_inflection(data, args, field, label, accel_form) local terms = parse_inflection(data, args, field) m_headword_utilities.insert_inflection { headdata = data, terms = terms, label = label, accel = accel_form and {form = accel_form} or nil, } end -- The main entry point. -- This is the only function that can be invoked from a template. function export.show(frame) local args = frame:getParent().args local PAGENAME = mw.loadData("Module:headword/data").pagename local required = {required = true} local iparams = { [1] = required, ["lang"] = required, } local iargs = require("Module:parameters").process(frame.args, iparams) local poscat = iargs[1] langcode = iargs.lang if langcode ~= "uk" and langcode ~= "be" then error("This module currently only works for lang=uk and lang=be") end lang = require("Module:languages").getByCode(langcode) langname = langcode == "uk" and "Ukrainian" or "Belarusian" com = langcode == "uk" and require("Module:uk-common") or require("Module:be-common") local params = { [1] = {list = "head", disallow_holes = true}, ["unknown_stress"] = boolean_param, ["pagename"] = true, ["id"] = true, } if pos_functions[poscat] then for key, val in pairs(pos_functions[poscat].params) do params[key] = val end end local parargs = frame:getParent().args local args = require("Module:parameters").process(parargs, params) local pagename = args.pagename or mw.loadData("Module:headword/data").pagename local data = { lang = lang, no_redundant_head_cat = true, pos_category = poscat, categories = {}, genders = {}, inflections = {}, id = args.id, pagename = pagename, unknown_stress = args.unknown_stress, frame = frame, } if not pos_functions[poscat] or not pos_functions[poscat].no_parse_heads or not pos_functions[poscat].no_parse_heads(args) then data.heads = parse_inflection(data, args, {1, "head"}, "is_head") if not data.heads[1] then data.heads = {{term = pagename}} end end if args.unknown_stress then insert(data.inflections, {label = "unknown stress"}) end if pos_functions[poscat] then pos_functions[poscat].func(args, data) end return require("Module:headword").full_headword(data) .. (data.extra_text or "") end local function make_gloss_text(text) return '<span class="mention-gloss-paren">(</span>' .. '<span class="mention-gloss">' .. text .. '</span><span class="mention-gloss-paren">)</span>' end local function noun_no_parse_heads(args) return not args[3][1] and not args[4][1] and not args[5][1] and not args[1][2] and args[1][1] and args[1][1]:find("<") end local function get_noun_pos(is_proper) return { params = { [2] = {list = "g", type = "genders", disallow_holes = true, flatten = true}, [3] = {list = "gen", disallow_holes = true}, [4] = {list = "pl", disallow_holes = true}, [5] = {list = "genpl", disallow_holes = true}, ["lemma"] = list_param, ["m"] = list_param, ["f"] = list_param, ["adj"] = list_param, ["poss"] = list_param, ["dim"] = list_param, ["aug"] = list_param, ["pej"] = list_param, ["dem"] = list_param, ["fdem"] = list_param, ["unknown_gender"] = boolean_param, ["unknown_animacy"] = boolean_param, }, -- set this to avoid problems with cases like {{uk-noun|((ґандж<>,ґандж<F>))}}, -- which will otherwise throw an error no_parse_heads = noun_no_parse_heads, func = function(args, data) -- 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. `label` is the label that the -- inflections are given; <<..>> in the label is linked to the glossary). local function handle_infl(field, label) parse_and_insert_inflection(data, args, field, label) end local genitives, plurals, genitive_plurals, usuallysg if noun_no_parse_heads(args) then args[1] = args[1][1] local alternant_spec = require("Module:" .. langcode .. "-noun").do_generate_forms(args, nil, true) local footnote_obj local function convert_formobjs_to_termobjs(formobjs) local termobjs = {} if formobjs then for _, formobj in ipairs(formobjs) do local termobj = { term = langcode == "uk" and com.remove_monosyllabic_stress(formobj.form) or com.remove_monosyllabic_accents(formobj.form) } if formobj.footnotes then -- FIXME, we (or rather, [[Module:inflection utilities]]) should recognize labels like -- "rare" and "archaic" and convert them automatically to labels. local quals, refs = m_inflection_utilities.convert_footnotes_to_qualifiers_and_references( formobj.footnotes) termobj.q = quals termobj.refs = refs end insert(termobjs, termobj) end end if not termobjs[1] then termobjs = {{term = "-"}} end return termobjs end if alternant_spec.number == "pl" then data.heads = args.lemma[1] and parse_inflection(data, args, "lemma", "is_head") or convert_formobjs_to_termobjs(alternant_spec.forms.nom_p_linked) genitives = convert_formobjs_to_termobjs(alternant_spec.forms.gen_p) plurals = {{term = "-"}} genitive_plurals = {{term = "-"}} else data.heads = args.lemma[1] and parse_inflection(data, args, "lemma", "is_head") or convert_formobjs_to_termobjs(alternant_spec.forms.nom_s_linked) genitives = convert_formobjs_to_termobjs(alternant_spec.forms.gen_s) if alternant_spec.number == "sg" then plurals = {{term = "-"}} genitive_plurals = {{term = "-"}} else plurals = convert_formobjs_to_termobjs(alternant_spec.forms.nom_p) genitive_plurals = convert_formobjs_to_termobjs(alternant_spec.forms.gen_p) end end if args[2][1] then data.genders = args[2] else local gender_specs = {} for _, g in ipairs(alternant_spec.genders) do insert(gender_specs, {spec = g}) end data.genders = gender_specs end usuallysg = alternant_spec.usuallysg else data.genders = args[2] if not data.genders[1] then if mw.title.getCurrentTitle().nsText ~= "සැකිල්ල" then error("Gender must be specified") else data.genders = {{spec = "m-in"}} end end genitives = parse_inflection(data, args, {3, "gen"}) plurals = parse_inflection(data, args, {4, "pl"}) genitive_plurals = parse_inflection(data, args, {5, "genpl"}) if genitives[1] and genitives[1].term ~= "-" then -- don't track for indeclinables, which legitimately use the old-style syntax track(langcode .. "-noun-old-style") end end -- Validate the genders. local singular_genders = {} local plural_genders = {} local allowed_genders = {"m", "f", "n", "mf", "mfbysense"} if langcode == "be" or args.unknown_gender then insert(allowed_genders, "?") end local allowed_animacies = {"pr", "anml", "in"} if langcode == "be" or args.unknown_animacy then insert(allowed_animacies, "?") end for _, gender in ipairs(allowed_genders) do for _, animacy in ipairs(allowed_animacies) do singular_genders[gender .. "-" .. animacy] = true plural_genders[gender .. "-" .. animacy .. "-p"] = true end end if langcode == "be" then singular_genders["?"] = true plural_genders["?-p"] = true end local seen_gender = nil local seen_animacy = nil for _, gspec in ipairs(data.genders) do local g = gspec.spec if not singular_genders[g] and not plural_genders[g] then if g:match("%-an%-") or g:match("%-an$") then error("Invalid animacy 'an'; use 'pr' for people, 'anml' for animals: " .. g) end error("Unrecognized gender: " .. g .. " (should be e.g. 'm-pr' for masculine personal, 'f-anml-p' for feminine animal plural, or 'n-in' for neuter inanimate)") end end -- Add the genitive forms. if genitives[1] and genitives[1].term == "-" then insert(data.inflections, {label = glossary_link("indeclinable")}) insert(data.categories, langname .. " indeclinable nouns") else genitives.label = "genitive" genitives.request = true insert(data.inflections, genitives) end -- Add the plural forms. if genitives[1] and genitives[1].term == "-" then if plurals[1] or genitive_plurals[1] then error("Can't specify nominative or genitive plurals of a plural-only term") end elseif plural_genders[data.genders[1].spec] then insert(data.inflections, {label = glossary_link("plural only")}) elseif plurals[1] and plurals[1].term == "-" then insert(data.inflections, {label = glossary_link("uncountable")}) insert(data.categories, langname .. " uncountable nouns") else if usuallysg then insert(data.inflections, {label = "usually " .. glossary_link("uncountable")}) insert(data.categories, langname .. " uncountable nouns") end plurals.label = "nominative plural" plurals.request = true insert(data.inflections, plurals) if genitive_plurals[1] then -- allow the genitive plural to be unsupplied; formerly there -- was no genitive plural param if genitive_plurals[1].term == "-" then -- handle case where there's no genitive plural (e.g. ага́) insert(data.inflections, {label = "no genitive plural"}) else genitive_plurals.label = "genitive plural" insert(data.inflections, genitive_plurals) end end end handle_infl("m", "male equivalent") handle_infl("f", "female equivalent") handle_infl("adj", "<<relational adjective>>") handle_infl("poss", "<<possessive adjective>>") handle_infl("dim", "<<diminutive>>") handle_infl("aug", "<<augmentative>>") handle_infl("pej", "<<pejorative>>") handle_infl("dem", "<<demonym>>") handle_infl("fdem", "female <<demonym>>") end } end pos_functions["proper nouns"] = get_noun_pos(true) pos_functions["nouns"] = get_noun_pos(false) pos_functions["verbs"] = { params = { [2] = {default = "?"}, ["pf"] = list_param, ["impf"] = list_param, }, func = function(args, data) -- Aspect local aspect = args[2] if aspect == "both" then aspect = "biasp" elseif aspect ~= "pf" and aspect ~= "impf" and aspect ~= "biasp" and aspect ~= "?" then error("Unrecognized aspect: '" .. aspect .. "'") end insert(data.genders, aspect) if args.pf[1] and aspect == "pf" then error("Can't specify perfective counterparts for a perfective verb") end if args.impf[1] and aspect == "impf" then error("Can't specify imperfective counterparts for an imperfective verb") 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. `label` is the label that the -- inflections are given; <<..>> in the label is linked to the glossary). local function handle_infl(field, label) parse_and_insert_inflection(data, args, field, label) end handle_infl("impf", "imperfective") handle_infl("pf", "perfective") end } pos_functions["adjectives"] = { params = { [2] = list_comp, [3] = list_sup, ["adv"] = list_param, ["absn"] = list_param, ["dim"] = list_param, ["indecl"] = boolean_param, }, func = function(args, data) if args.indecl then insert(data.inflections, {label = "indeclinable"}) insert(data.categories, langname .. " indeclinable adjectives") 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. `label` is the label that the -- inflections are given; <<..>> in the label is linked to the glossary). local function handle_infl(field, label) parse_and_insert_inflection(data, args, field, label) end handle_infl({2, "comp"}, "comparative") handle_infl({3, "sup"}, "superlative") handle_infl("adv", "adverb") handle_infl("absn", "abstract noun") handle_infl("dim", "diminutive") end } pos_functions["adverbs"] = { params = { [2] = list_comp, [3] = list_sup, ["dim"] = list_param, }, func = function(args, data) -- 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. `label` is the label that the -- inflections are given; <<..>> in the label is linked to the glossary). local function handle_infl(field, label) parse_and_insert_inflection(data, args, field, label) end handle_infl({2, "comp"}, "comparative") handle_infl({3, "sup"}, "superlative") handle_infl("dim", "diminutive") end } return export 001huva7elak0du44hc8ppe6yfuwrsd Module:labels/data/lang/bsh 828 143684 234311 2026-01-09T19:17:26Z en>Surjection 0 Protected "[[Module:labels/data/lang/bsh]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) 234311 Scribunto text/plain local labels = {} labels["Western"] = { regional_categories = true, } labels["Kulem"] = { aliases = {"Western (Kulem)"}, regional_categories = true, parent = "Western", } labels["Northeastern"] = { regional_categories = true, } labels["Southeastern"] = { regional_categories = true, } return require("Module:labels").finalize_data(labels) 5beuy23z3xp3in8yb31uqs89kp2acw4 234312 234311 2026-05-17T05:58:57Z Lee 19 [[:en:Module:labels/data/lang/bsh]] වෙතින් එක් සංශෝධනයක් 234311 Scribunto text/plain local labels = {} labels["Western"] = { regional_categories = true, } labels["Kulem"] = { aliases = {"Western (Kulem)"}, regional_categories = true, parent = "Western", } labels["Northeastern"] = { regional_categories = true, } labels["Southeastern"] = { regional_categories = true, } return require("Module:labels").finalize_data(labels) 5beuy23z3xp3in8yb31uqs89kp2acw4 Module:labels/data/lang/ast 828 143685 234313 2026-03-16T12:39:54Z en>Fueyo221 0 234313 Scribunto text/plain local labels = {} --Dialectal blocks-- labels["Central"] = { aliases = {"Central Asturias", "Central Asturian","Central Asturleonese","Xixón","Siero","Villaviciosa","Cabranes","central"}, Wikipedia = "Central Asturian", region="central [[Asturias]]", regional_categories = true, parent = true, } labels["Western"] = { aliases = {"Western Asturias","Western Asturian","Western Asturleonese","west","western"}, Wikipedia = "Western Asturian", region="Western [[Asturias]], except Eo-Navia and {{w|Ibias}}", regional_categories = true, parent = true, } labels["Eastern"] = { aliases = {"Eastern Asturias","Eastern Asturian","east","eastern"}, region="Eastern [[Asturias]], except {{w|Peñamellera Alta}}, {{w|Peñamellera Baja}} and {{w|Ribadedeva}}", Wikipedia = "East Asturian", regional_categories = true, parent = true, } --Other dialects-- labels["Patsuezu"] = { aliases = {"Paḷḷuezu"},{"Southwestern Asturias"},{"Southwestern Asturian"},{"Southwestern"},{"Pachuezu"}, region="Muncipalities of {{w|Somiedo}}, {{w|Degaña}} (Asturias), {{w|Laciana}}, {{w|Babia, Spain|Babia}} and {{w|Palacios del Sil}} (León)", Wikipedia = "Paḷḷuezu dialect", regional_categories = true, parent = "Western", } labels["Meridional"] = { aliases = {"Southern","Southcentral"}, region="South central Asturias, municipalities of {{w|Lena}}, {{w|Ayer}} and parts of {{w|Mieres}}", regional_categories = true, parent = "Central", } labels["Quirosan"] = { aliases = {"Quirós"},{"Quirosanu"}, region="Muncipalities of {{w|Quirós}}, {{w|Teberga}}, {{w|Proaza}} (Asturias), parts of {{w|Babia, Spain|Babia}} and {{w|Luna}} (León)", Wikipedia = "Western Asturian#Eastern Highlands", regional_categories = true, parent = "Western", } labels["Pixuetu"] = { aliases = {"Pixuatu"},{"Cudillero"}, region="Town of {{w|Cudillero}}", Wikipedia = "ast:Pixuetu", regional_categories = true, parent = "Northwestern", } labels["Vaqueiru"] = { aliases = {"Vaqueiro"}, def="Literary variant of the {{w|Vaqueiros de alzada|Vaqueiros}}", Wikipedia = "ast:Dialeutu vaqueiru", regional_categories = true, parent = "Western", } labels["Valdesan"] = { aliases = {"Falietsa","Faliella","Faliella","Valdesanu","Valdés","Luarca"}, def="Also called 'Faliella', specially in literary contexts, a variant spoken in the municipalities of Valdés, Tineo and Luarca", Wikipedia = "Western Asturian#Western Lowlands", regional_categories = true, parent = "Western", } labels["Northwestern"] = { aliases = {"Purilu","Northwestern Asturias","Farriegu","Grau","Salas","Pravia"}, region="Municipalities of {{w|Salas}}, {{w|Pravia}}, {{w|Grado}}, {{w|Candamo}} and parts of {{w|Miranda de Belmonte}}", def="Western subdialect spoken in Northwestern Asturias, also called 'Eastern Lowlands' or 'B type' Asturian, also called 'Purilu' or 'Farriegu' (despectively) in literary contexts", Wikipedia = "Western Asturian#Eastern Lowlands", regional_categories = true, parent = "Western", } labels["Cunqueiru"] = { aliases = {"A Estierna","Tixeleiru","Tixileiru","Maconeiru","Macuneiru"}, region="A Estierna, El Vau ({{w|Ibias}}), El Corralín, Trabáu {{w|Degaña}}", def="Dialect of bowlmakers from the region of Valdeprusia composed of the villages of A Estierna and El Vau (Ibias) and El Corralín and Trabáu (Degaña)", Wikipedia = "ast:Tixileiro", regional_categories = true, parent = "Western", } --Cants/Jargons-- labels["Bron"] = { aliases = {"Bron de Miranda"}, def="Cant used by bucket makers of {{w|Avilés}}", Wikipedia = "ast:Bron", parent = true, } labels["Xíriga"] = { aliases = {"Xíriga de Llanes"}, def="Cant used by weavers of {{w|Llanes}}", Wikipedia = "es:Xíriga", parent = true, } return require("Module:labels").finalize_data(labels) l34iyo756jwjf1p7g7kexf0gybiyhs8 234314 234313 2026-05-17T05:59:09Z Lee 19 [[:en:Module:labels/data/lang/ast]] වෙතින් එක් සංශෝධනයක් 234313 Scribunto text/plain local labels = {} --Dialectal blocks-- labels["Central"] = { aliases = {"Central Asturias", "Central Asturian","Central Asturleonese","Xixón","Siero","Villaviciosa","Cabranes","central"}, Wikipedia = "Central Asturian", region="central [[Asturias]]", regional_categories = true, parent = true, } labels["Western"] = { aliases = {"Western Asturias","Western Asturian","Western Asturleonese","west","western"}, Wikipedia = "Western Asturian", region="Western [[Asturias]], except Eo-Navia and {{w|Ibias}}", regional_categories = true, parent = true, } labels["Eastern"] = { aliases = {"Eastern Asturias","Eastern Asturian","east","eastern"}, region="Eastern [[Asturias]], except {{w|Peñamellera Alta}}, {{w|Peñamellera Baja}} and {{w|Ribadedeva}}", Wikipedia = "East Asturian", regional_categories = true, parent = true, } --Other dialects-- labels["Patsuezu"] = { aliases = {"Paḷḷuezu"},{"Southwestern Asturias"},{"Southwestern Asturian"},{"Southwestern"},{"Pachuezu"}, region="Muncipalities of {{w|Somiedo}}, {{w|Degaña}} (Asturias), {{w|Laciana}}, {{w|Babia, Spain|Babia}} and {{w|Palacios del Sil}} (León)", Wikipedia = "Paḷḷuezu dialect", regional_categories = true, parent = "Western", } labels["Meridional"] = { aliases = {"Southern","Southcentral"}, region="South central Asturias, municipalities of {{w|Lena}}, {{w|Ayer}} and parts of {{w|Mieres}}", regional_categories = true, parent = "Central", } labels["Quirosan"] = { aliases = {"Quirós"},{"Quirosanu"}, region="Muncipalities of {{w|Quirós}}, {{w|Teberga}}, {{w|Proaza}} (Asturias), parts of {{w|Babia, Spain|Babia}} and {{w|Luna}} (León)", Wikipedia = "Western Asturian#Eastern Highlands", regional_categories = true, parent = "Western", } labels["Pixuetu"] = { aliases = {"Pixuatu"},{"Cudillero"}, region="Town of {{w|Cudillero}}", Wikipedia = "ast:Pixuetu", regional_categories = true, parent = "Northwestern", } labels["Vaqueiru"] = { aliases = {"Vaqueiro"}, def="Literary variant of the {{w|Vaqueiros de alzada|Vaqueiros}}", Wikipedia = "ast:Dialeutu vaqueiru", regional_categories = true, parent = "Western", } labels["Valdesan"] = { aliases = {"Falietsa","Faliella","Faliella","Valdesanu","Valdés","Luarca"}, def="Also called 'Faliella', specially in literary contexts, a variant spoken in the municipalities of Valdés, Tineo and Luarca", Wikipedia = "Western Asturian#Western Lowlands", regional_categories = true, parent = "Western", } labels["Northwestern"] = { aliases = {"Purilu","Northwestern Asturias","Farriegu","Grau","Salas","Pravia"}, region="Municipalities of {{w|Salas}}, {{w|Pravia}}, {{w|Grado}}, {{w|Candamo}} and parts of {{w|Miranda de Belmonte}}", def="Western subdialect spoken in Northwestern Asturias, also called 'Eastern Lowlands' or 'B type' Asturian, also called 'Purilu' or 'Farriegu' (despectively) in literary contexts", Wikipedia = "Western Asturian#Eastern Lowlands", regional_categories = true, parent = "Western", } labels["Cunqueiru"] = { aliases = {"A Estierna","Tixeleiru","Tixileiru","Maconeiru","Macuneiru"}, region="A Estierna, El Vau ({{w|Ibias}}), El Corralín, Trabáu {{w|Degaña}}", def="Dialect of bowlmakers from the region of Valdeprusia composed of the villages of A Estierna and El Vau (Ibias) and El Corralín and Trabáu (Degaña)", Wikipedia = "ast:Tixileiro", regional_categories = true, parent = "Western", } --Cants/Jargons-- labels["Bron"] = { aliases = {"Bron de Miranda"}, def="Cant used by bucket makers of {{w|Avilés}}", Wikipedia = "ast:Bron", parent = true, } labels["Xíriga"] = { aliases = {"Xíriga de Llanes"}, def="Cant used by weavers of {{w|Llanes}}", Wikipedia = "es:Xíriga", parent = true, } return require("Module:labels").finalize_data(labels) l34iyo756jwjf1p7g7kexf0gybiyhs8 Module:labels/analysis/documentation 828 143686 234315 2017-12-15T22:09:20Z en>Erutuon 0 category 234315 wikitext text/x-wiki {{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. --> <includeonly> [[Category:Maintenance modules]] </includeonly> dj2mshauff6sd0xf04x81l7x483l2uk 234316 234315 2026-05-17T06:03:43Z Lee 19 [[:en:Module:labels/analysis/documentation]] වෙතින් එක් සංශෝධනයක් 234315 wikitext text/x-wiki {{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. --> <includeonly> [[Category:Maintenance modules]] </includeonly> dj2mshauff6sd0xf04x81l7x483l2uk Module:labels/demo/documentation 828 143687 234323 2024-08-30T22:08:29Z en>Theknightwho 0 Created page with "{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. --> {{module cat|-|Documentation}}" 234323 wikitext text/x-wiki {{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. --> {{module cat|-|Documentation}} 35405uaqxodlo4kn68cfc2pz6cvfs9g 234324 234323 2026-05-17T06:04:20Z Lee 19 [[:en:Module:labels/demo/documentation]] වෙතින් එක් සංශෝධනයක් 234323 wikitext text/x-wiki {{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. --> {{module cat|-|Documentation}} 35405uaqxodlo4kn68cfc2pz6cvfs9g Module talk:labels/data/lang/acm 829 143688 234329 2026-05-17T06:05:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/acm]] 234329 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 85778189 || 2025-08-01T21:46:03Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/acm]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 85707913 || 2025-07-25T01:03:40Z || Fenakhay || <nowiki></nowiki> |---- | 85707806 || 2025-07-25T00:29:48Z || Fenakhay || <nowiki></nowiki> |---- | 85706802 || 2025-07-24T21:13:21Z || Saam-andar || <nowiki>Created page with "local labels = {} labels["Khuzestani Arabic"] = { aliases = {"Khuzestani", "KA", "Ahvazi"}, Wikipedia = true, plain_categories = true, display = "Khuzestani", Wikidata = "Q1040944", } return require("Module:labels").finalize_data(labels)"</nowiki> |} reagg05chkucu6da9is0bzgrbzyiyxx Module:labels/data/lang/acm 828 143689 234330 2026-05-17T06:05:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/acm]] ([[Module talk:labels/data/lang/acm|history]]) 234330 Scribunto text/plain local labels = {} labels["Khuzestani Arabic"] = { aliases = {"Khuzestani", "KA", "Ahvazi"}, Wikidata = "Q1040944", plain_categories = true, display = "Khuzestani", } return require("Module:labels").finalize_data(labels) cisd26gc540om98xpwp8ug4rd3vg09t Module talk:labels/data/lang/aht 829 143690 234331 2026-05-17T06:06:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/aht]] 234331 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89874577 || 2026-03-17T02:50:22Z || Vergencescattered || <nowiki></nowiki> |---- | 87257796 || 2025-10-01T15:26:59Z || Vergencescattered || <nowiki></nowiki> |---- | 87256945 || 2025-10-01T12:28:41Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/aht]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 87255122 || 2025-10-01T04:09:44Z || Vergencescattered || <nowiki>Undo revision [[Special:Diff/87255120|87255120]] by [[Special:Contributions/Vergencescattered|Vergencescattered]] ([[User talk:Vergencescattered|talk]])</nowiki> |---- | 87255120 || 2025-10-01T04:09:28Z || Vergencescattered || <nowiki>experiment</nowiki> |---- | 87252314 || 2025-10-01T02:57:10Z || Vergencescattered || <nowiki>Created page with "local labels = {} labels["Western"] = { regional_categories = true, } labels["Central"] = { regional_categories = true, } labels["Lower"] = { regional_categories = true, } labels["Mesanta"] = { regional_categories = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} eu5wbc6orwcn5y8z1ga8dsudnet0e3t Module:labels/data/lang/aht 828 143691 234332 2026-05-17T06:06:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/aht]] ([[Module talk:labels/data/lang/aht|history]]) 234332 Scribunto text/plain local labels = {} labels["Western"] = { regional_categories = true, aliases = {"W"}, } labels["Central"] = { regional_categories = true, aliases = {"C"}, } labels["Lower"] = { regional_categories = true, aliases = {"L"}, } labels["Mentasta"] = { regional_categories = true, aliases = {"M"}, } return require("Module:labels").finalize_data(labels) dheu94lcs610k1bkk30222hosvhltn3 Module talk:labels/data/lang/ayl 829 143692 234333 2026-05-17T06:06:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/ayl]] 234333 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 87543736 || 2025-10-22T16:20:48Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/ayl]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 87478569 || 2025-10-18T18:18:59Z || CasualDudeeee || <nowiki>Added common aliases</nowiki> |---- | 87478485 || 2025-10-18T18:06:05Z || CasualDudeeee || <nowiki>Added "Wikipedia = true" and changed the default label to one representing the dialect split better. I'm not very familiar with editing code so please correct any eventual mistakes.</nowiki> |---- | 87478416 || 2025-10-18T17:53:41Z || Still, when you think about it || <nowiki>Created page with "local labels = {} labels["Eastern Libya"] = { aliases = {"Eastern", "East", "Eastern Libyan", "Eastern Libyan Arabic"}, regional_categories = "Eastern", parent = true, } labels["Western Libya"] = { aliases = {"Western", "West", "Western Libyan", "Western Libyan Arabic"}, regional_categories = "Western", parent = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} f9mqupvtn8f0vpuwggt6m89453q7icr Module:labels/data/lang/ayl 828 143693 234334 2026-05-17T06:06:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/ayl]] ([[Module talk:labels/data/lang/ayl|history]]) 234334 Scribunto text/plain local labels = {} labels["Eastern Libyan Arabic"] = { aliases = {"Eastern", "East", "Eastern Libyan", "Eastern Libya", "Cyrenaican Arabic"}, Wikipedia = true, regional_categories = "Eastern", parent = true, } labels["Western Libyan Arabic"] = { aliases = {"Western", "West", "Western Libyan", "Western Libya", "Sulaimitian Arabic"}, Wikipedia = true, regional_categories = "Western", parent = true, } return require("Module:labels").finalize_data(labels) nfvcmuezxm31bxxp7upuw5074hpsur5 Module talk:labels/data/lang/bew 829 143694 234335 2026-05-17T06:06:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/bew]] 234335 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89628961 || 2026-02-20T13:50:07Z || Swarabakti || <nowiki></nowiki> |---- | 89628959 || 2026-02-20T13:49:04Z || Swarabakti || <nowiki></nowiki> |---- | 89628957 || 2026-02-20T13:48:41Z || Swarabakti || <nowiki></nowiki> |---- | 89605941 || 2026-02-17T13:54:11Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/bew]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89595057 || 2026-02-16T09:01:16Z || Chuck Entz || <nowiki></nowiki> |---- | 88302552 || 2025-11-27T10:21:13Z || Swarabakti || <nowiki>not finished yet</nowiki> |} bae5bmhegquu2i4788plwz15f0t1f9y Module:labels/data/lang/bew 828 143695 234336 2026-05-17T06:06:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/bew]] ([[Module talk:labels/data/lang/bew|history]]) 234336 Scribunto text/plain local labels = {} ----Dialects go here--- labels["Urban Jakarta"] = { aliases = {"Urban", "Central", "Kota"}, regional_categories = true, } labels["Western Jakarta"] = { aliases = {"Western", "Cengkareng", "Grogol-Petamburan", "Kebayoran Baru"}, regional_categories = true, } labels["Eastern Jakarta"] = { aliases = {"Eastern", "Pasar Rebo"}, regional_categories = true, } labels["Tangerang-Depok"] = { aliases = {"Tangerang", "Depok", "Ciputat", "Serpong"}, regional_categories = true, } labels["Bekasi"] = { aliases = {"Cikarang", "Pebayuran"}, regional_categories = true, } labels["Gunung Sindur"] = { aliases = {"Parung"}, regional_categories = true, } labels["Mauk-Sepatan"] = { aliases = {"Mauk", "Sepatan"}, regional_categories = true, } ----Other labels go here---- return require("Module:labels").finalize_data(labels) hk2a5wu4gn6jp0q9u5uzwikw3vmrtni Module talk:labels/data/lang/bua 829 143696 234337 2026-05-17T06:07:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/bua]] 234337 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89605939 || 2026-02-17T13:54:10Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/bua]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 87256268 || 2025-10-01T09:31:41Z || LibCae || <nowiki>Created page with "local labels = {} labels["Classical Mongolian"] = { aliases = {"cmg"}, Wikipedia = "Classical Mongolian" } return require("Module:labels").finalize_data(labels)"</nowiki> |} 0m209yo23fvferpl432g2472thy6spk Module:labels/data/lang/bua 828 143697 234338 2026-05-17T06:07:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/bua]] ([[Module talk:labels/data/lang/bua|history]]) 234338 Scribunto text/plain local labels = {} labels["Classical Mongolian"] = { aliases = {"cmg"}, Wikipedia = "Classical Mongolian" } return require("Module:labels").finalize_data(labels) qg2wbrscd0ukincexv5a22tlje1m8qj Module talk:labels/data/lang/dv 829 143698 234339 2026-05-17T06:07:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/dv]] 234339 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89535486 || 2026-02-11T22:17:25Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/dv]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89509712 || 2026-02-09T04:27:27Z || Hazarasp || <nowiki>Created page with "local labels = {} labels["Old Dhivehi"] = { prep = "from", region = "the 12th to 16th centuries", noreg = true, nolink = true, plain_categories = true, parent = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} muauil3f2jcwsbpbuqy1va595fdnq3z Module:labels/data/lang/dv 828 143699 234340 2026-05-17T06:07:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/dv]] ([[Module talk:labels/data/lang/dv|history]]) 234340 Scribunto text/plain local labels = {} labels["Old Dhivehi"] = { prep = "from", region = "the 12th to 16th centuries", noreg = true, nolink = true, plain_categories = true, parent = true, } return require("Module:labels").finalize_data(labels) 2tb8sdr6imkh69ir8jhk4quz3tj6ezp Module talk:labels/data/lang/fur 829 143700 234341 2026-05-17T06:07:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/fur]] 234341 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89472247 || 2026-02-06T19:15:09Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/fur]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89469181 || 2026-02-06T10:40:19Z || Hazarasp || <nowiki></nowiki> |---- | 89469175 || 2026-02-06T10:38:54Z || Hazarasp || <nowiki>Created page with "local labels = {} labels["Old Friulian"] = { prep = "from", region = "the 13th to 15th centuries", noreg = true, nolink = true, plain_categories = true, parent = true, }"</nowiki> |} cvgwcyya03owach2umoqsvhnd3sctrr Module:labels/data/lang/fur 828 143701 234343 2026-05-17T06:07:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/fur]] ([[Module talk:labels/data/lang/fur|history]]) 234343 Scribunto text/plain local labels = {} labels["Old Friulian"] = { prep = "from", region = "the 13th to 15th centuries", noreg = true, nolink = true, plain_categories = true, parent = true, } return require("Module:labels").finalize_data(labels) bizhfszosftj8ih1cp32tqafl2mx5mf Module talk:labels/data/lang/gug 829 143702 234344 2026-05-17T06:08:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/gug]] 234344 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89860939 || 2026-03-15T18:15:39Z || Trooper57 || <nowiki></nowiki> |---- | 88395673 || 2025-12-06T03:51:22Z || Benwing2 || <nowiki>Benwing2 moved page [[Module:labels/data/lang/gn]] to [[Module:labels/data/lang/gug]] without leaving a redirect: merge Guaraní into Paraguayan Guaraní per [[WT:LTR#Paraguayan_Guaraní_(again)]] </nowiki> |---- | 83109576 || 2024-12-22T17:06:27Z || Surjection || <nowiki>Changed protection settings for "[[Module:labels/data/lang/gn]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 82067616 || 2024-09-28T14:17:51Z || TongcyDai || <nowiki></nowiki> |---- | 82067593 || 2024-09-28T14:15:42Z || TongcyDai || <nowiki></nowiki> |---- | 82067568 || 2024-09-28T14:13:45Z || TongcyDai || <nowiki></nowiki> |---- | 81616760 || 2024-09-16T21:10:14Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/gn]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 81508198 || 2024-09-07T18:31:33Z || Yacàwotçã || <nowiki></nowiki> |---- | 81508187 || 2024-09-07T18:29:58Z || Yacàwotçã || <nowiki>Created page with "local labels = {} labels["Jopara"] = { aliases = "Yopará", Wikipedia = "Jopara", regional_categories = "Jopara", } return require("Module:labels").finalize_data(labels)"</nowiki> |} 7depovew5g0jbo9gee2kzhna1f8z15g Module:labels/data/lang/gug 828 143703 234345 2026-05-17T06:08:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/gug]] ([[Module talk:labels/data/lang/gug|history]]) 234345 Scribunto text/plain local labels = {} labels["Jopara"] = { aliases = {"Yopará", "Guarani Jopara", "Jopara Guarani"}, Wikipedia = true, noreg = true, plain_categories = true, parent = true, fulldef = "Colloquial form of Paraguayan Guarani used by bilingual speakers of Guarani and Spanish" } labels["Closed Guarani"] = { aliases = {"Closed"}, noreg = true, plain_categories = "Closed Paraguayan Guarani", parent = true, } return require("Module:labels").finalize_data(labels) rlheqjoradmqythq91ioyls626p57lw Module talk:labels/data/lang/idb 829 143704 234346 2026-05-17T06:08:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/idb]] 234346 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89131461 || 2026-01-09T19:17:24Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/idb]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 88902226 || 2025-12-28T18:48:15Z || स्वर्गसुख || <nowiki></nowiki> |---- | 88799673 || 2025-12-25T16:43:29Z || स्वर्गसुख || <nowiki>Created page with "local labels = {} labels["India"] = { aliases = {"Indian"}, Wikipedia = "India", } labels["Daman and Diu"] = { Wikipedia = "Daman and Diu Portuguese Creole", } labels["Sri Lanka"] = { Wikipedia = "Sri Lanka", } return require("Module:labels").finalize_data(labels)"</nowiki> |} jhbcujo40gii9te593kg8jdly5v61j8 Module:labels/data/lang/idb 828 143705 234347 2026-05-17T06:08:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/idb]] ([[Module talk:labels/data/lang/idb|history]]) 234347 Scribunto text/plain local labels = {} labels["Daman and Diu"] = { Wikipedia = "Daman and Diu Portuguese Creole", } labels["Bengal"] = { Wikipedia = "Bengali Portuguese Creole", } labels["Bombay"] = { Wikipedia = "Bombay Portuguese creole", } labels["Goa"] = { Wikipedia = "Goa Portuguese creole", } labels["India"] = { aliases = {"Indian"}, Wikipedia = "India", } labels["Sri Lanka"] = { Wikipedia = "Ceylon Portuguese creole", } return require("Module:labels").finalize_data(labels) i55zb20ekw5q805qez49vds4hzeu5aa Module talk:labels/data/lang/is 829 143706 234348 2026-05-17T06:08:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/is]] 234348 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89937848 || 2026-03-23T21:56:04Z || Numberguy6 || <nowiki>Created page with "local labels = {} labels["Austurland"] = { Wikipedia = "Eastern Region (Iceland)", regional_categories = true, } labels["Suðurland"] = { Wikipedia = "Southern Region (Iceland)", regional_categories = true, } labels["Vestmannaeyjar"] = { Wikipedia = true, regional_categories = true, parent = "Suðurland", }"</nowiki> |} oexmpirj6xlxtne1p72rf9hu5qczs59 Module:be-adjective 828 143707 234349 2025-11-15T04:10:50Z en>Benwing2 0 support json= for bot use and remove old-style bot interfaces 234349 Scribunto text/plain local export = {} --[=[ Authorship: Ben Wing <benwing2> ]=] --[=[ TERMINOLOGY: -- "slot" = A particular combination of case/gender/number. Example slot names for adjectives are "gen_f" (genitive feminine singular) and "loc_p" (locative plural). Each slot is filled with zero or more forms. -- "form" = The declined Belarusian form representing the value of a given slot. -- "lemma" = The dictionary form of a given Belarusian term. Generally the nominative masculine singular, but may occasionally be another form if the nominative masculine singular is missing. ]=] local lang = require("Module:languages").getByCode("be") local m_links = require("Module:links") local m_table = require("Module:table") local m_string_utilities = require("Module:string utilities") local iut = require("Module:inflection utilities") local m_para = require("Module:parameters") local com = require("Module:be-common") local u = require("Module:string/char") local rsplit = mw.text.split local rfind = mw.ustring.find local rmatch = mw.ustring.match local rgmatch = mw.ustring.gmatch local rsubn = mw.ustring.gsub local ulen = mw.ustring.len local unpack = unpack or table.unpack -- Lua 5.2 compatibility local uupper = mw.ustring.upper local AC = u(0x0301) -- acute = ́ -- version of rsubn() that discards all but the first return value local function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end -- version of rsubn() that returns a 2nd argument boolean indicating whether -- a substitution was made. local function rsubb(term, foo, bar) local retval, nsubs = rsubn(term, foo, bar) return retval, nsubs > 0 end local function tag_text(text) return m_script_utilities.tag_text(text, lang) end local output_adjective_slots = { -- used with all variants but special == "dva" and special == "plonly" nom_m = "nom|m|s", nom_f = "nom|f|s", nom_n = "nom|n|s", gen_m = "gen|m//n|s", gen_f = "gen|f|s", dat_m = "dat|m//n|s", dat_f = "dat|f|s", acc_m_an = "an|acc|m|s", acc_m_in = "in|acc|m|s", acc_f = "acc|f|s", acc_n = "acc|n|s", ins_m = "ins|m//n|s", ins_f = "ins|f|s", loc_m = "loc|m//n|s", loc_f = "loc|f|s", -- used with all variants but special == "dva" nom_p = "nom|p", gen_p = "gen|p", dat_p = "dat|p", acc_p_an = "an|acc|p", acc_p_in = "in|acc|p", ins_p = "ins|p", loc_p = "loc|p", -- only used with special == "dva" nom_mp = "nom|m//n|p", nom_fp = "nom|f|p", gen_mp = "gen|m//n|p", gen_fp = "gen|f|p", dat_mp = "dat|m//n|p", dat_fp = "dat|f|p", acc_mp_an = "an|acc|m//n|p", acc_mp_in = "in|acc|m//n|p", acc_fp = "acc|f|p", ins_mp = "ins|m//n|p", ins_fp = "ins|f|p", loc_mp = "loc|m//n|p", loc_fp = "loc|f|p", -- short forms short_m = "short|m|s", short_f = "short|f|s", short_n = "short|n|s", short_p = "short|p", } local output_adjective_slots_with_linked = m_table.shallowCopy(output_adjective_slots) output_adjective_slots_with_linked["nom_m_linked"] = "nom|m|s" local output_adjective_slots_surname = { nom_m = "nom|m|s", nom_f = "nom|f|s", nom_p = "nom|p", gen_m = "gen|m|s", gen_f = "gen|f|s", gen_p = "gen|p", dat_m = "dat|m|s", dat_f = "dat|f|s", dat_p = "dat|p", acc_m = "acc|m|s", acc_f = "acc|f|s", acc_p = "acc|p", ins_m = "ins|m|s", ins_f = "ins|f|s", ins_p = "ins|p", loc_m = "loc|m|s", loc_f = "loc|f|s", loc_p = "loc|p", } local output_adjective_slots_surname_with_linked = m_table.shallowCopy(output_adjective_slots_surname) output_adjective_slots_surname_with_linked["nom_m_linked"] = "nom|m|s" local input_adjective_slots = {} for slot, _ in pairs(output_adjective_slots) do if slot == "acc_f" or not rfind(slot, "^acc") then table.insert(input_adjective_slots, slot) end end local function get_output_adjective_slots(base, with_linked) if base.surname then return with_linked and output_adjective_slots_surname_with_linked or output_adjective_slots_surname else return with_linked and output_adjective_slots_with_linked or output_adjective_slots end end local function combine_stem_ending(stem, ending) if stem == "?" then return "?" else return stem .. ending end end local function add(base, slot, stems, endings) if get_output_adjective_slots(base)[slot] then -- Here, just add the stem and ending, in case the stem has unstressed -- ё or э in it. iut.add_forms(base.forms, slot, stems, endings, combine_stem_ending) end end local function add_normal_decl(base, stem, nom_m, nom_f, nom_n, nom_p, gen_m, gen_f, gen_p, dat_m, dat_f, dat_p, acc_f, ins_m, ins_f, ins_p, loc_m, loc_f, loc_p, footnote) stem = iut.combine_form_and_footnotes(stem, footnote) add(base, "nom_m", stem, nom_m) add(base, "nom_f", stem, nom_f) add(base, "nom_n", stem, nom_n) add(base, "nom_p", stem, nom_p) add(base, "gen_m", stem, gen_m) add(base, "gen_f", stem, gen_f) add(base, "gen_p", stem, gen_p) add(base, "dat_m", stem, dat_m) add(base, "dat_f", stem, dat_f) add(base, "dat_p", stem, dat_p) add(base, "acc_f", stem, acc_f) add(base, "ins_m", stem, ins_m) add(base, "ins_f", stem, ins_f) add(base, "ins_p", stem, ins_p) add(base, "loc_m", stem, loc_m) add(base, "loc_f", stem, loc_f) add(base, "loc_p", stem, loc_p) end local function destress_ending(ending) if type(ending) == "string" then return com.make_unstressed(ending) else for i, e in ipairs(ending) do ending[i] = destress_ending(e) end return ending end end local function maybe_destress_endings(suffix, endings) if not com.is_stressed(suffix) then for i, e in ipairs(endings) do endings[i] = destress_ending(e) end end end local function y_to_i(ending) if type(ending) == "string" then return rsub(ending, "ы", "і") else for i, e in ipairs(ending) do ending[i] = y_to_i(e) end return ending end end local function y_to_i_endings(endings) for i, e in ipairs(endings) do endings[i] = y_to_i(e) end end -- See documentation for `use_variant_codes` in do_generate_forms(). local function maybe_tag_ins_s_with_variant(base, ins_s_endings) if base.use_variant_codes then assert(type(ins_s_endings) == "table") assert(#ins_s_endings == 2) local ending1, ending2 = unpack(ins_s_endings) return {ending1 .. com.VAR1, ending2 .. com.VAR2} else return ins_s_endings end end local decls = {} decls["normal"] = function(base) local normal_endings, old_endings local stem, suffix local function add_endings() maybe_destress_endings(suffix, normal_endings) if rfind(stem, com.velar_c .. "$") then y_to_i_endings(normal_endings) end add_normal_decl(base, stem, unpack(normal_endings)) end -- hard in -ы (including velar in -і) stem, suffix = rmatch(base.lemma, "^(.*" .. com.velar_c .. ")(і́?)$") if not stem then stem, suffix = rmatch(base.lemma, "^(.*)(ы́?)$") end if stem then normal_endings = { "ы́", "а́я", "о́е", "ы́я", --nom "о́га", "о́й", "ы́х", --gen "о́му", "о́й", "ы́м", --dat "у́ю", --acc "ы́м", maybe_tag_ins_s_with_variant(base, {"о́й", "о́ю"}), "ы́мі", --ins "ы́м", "о́й", "ы́х", --loc } add_endings() return end -- soft in -і stem, suffix = rmatch(base.lemma, "^(.*)(і́?)$") if stem then normal_endings = { -- This isn't quite right, maybe should be "ё́я" etc.; but -- stressed variants of these endings never occur. "і́", "я́я", "я́е", "і́я", --nom "я́га", "я́й", "і́х", --gen "я́му", "я́й", "і́м", --dat "ю́ю", --acc "і́м", maybe_tag_ins_s_with_variant(base, {"я́й", "я́ю"}), "і́мі", --ins "і́м", "я́й", "і́х", --loc } add_endings() return end error("Unrecognized adjective lemma, should end in '-ы' or '-і': '" .. base.lemma .. "'") end local function get_possessive_stem_suffix_ending_prefix(lemma, adjtype) local stem, suffix, ending_prefix while true do stem, suffix = rmatch(lemma, "^(.*)([аеё]ў)$") if stem then ending_prefix = rsub(suffix, "ў$", "в") break end stem, suffix = rmatch(lemma, "^(.*)([ое]́ў)$") if stem then ending_prefix = rsub(suffix, "ў$", "в") break end stem, suffix = rmatch(lemma, "^(.*)([ыі]́?н)$") if stem then ending_prefix = suffix break end error("Unrecognized " .. adjtype .. " lemma, should end in '-аў', '-о́ў', '-еў', '-ёў', '-ын' or '-ін': '" .. lemma .. "'") end return stem, suffix, ending_prefix end decls["poss"] = function(base) local stem, suffix, ending_prefix = get_possessive_stem_suffix_ending_prefix(base.lemma, "possessive adjective") local endings = { "а", "а", "ы", --nom "ага", "ай", "ых", --gen "аму", "ай", "ым", --dat "у", --acc "ым", maybe_tag_ins_s_with_variant(base, {"ай", "аю"}), "ымі", --ins "ым", "ай", "ых", --loc } -- Do the nominative singular separately from the rest, which may have -- a different stem ending (e.g. -аў vs. -ав). add_normal_decl(base, stem, suffix) add_normal_decl(base, stem .. ending_prefix, nil, unpack(endings)) end decls["surname"] = function(base) local stem, suffix, ending_prefix = get_possessive_stem_suffix_ending_prefix(base.lemma, "possessive surname") local endings = { "а", nil, "ы", --nom "а", "ай", "ых", --gen "у", "ай", "ым", --dat "у", --acc "ым", maybe_tag_ins_s_with_variant(base, {"ай", "аю"}), "ымі", --ins "е", "ай", "ых", --loc } -- Do the nominative singular separately from the rest, which may have -- a different stem ending (e.g. -аў vs. -ав). add_normal_decl(base, stem, suffix) add_normal_decl(base, stem .. ending_prefix, nil, unpack(endings)) end local function parse_indicator_spec(angle_bracket_spec) local inside = rmatch(angle_bracket_spec, "^<(.*)>$") assert(inside) local base = {forms = {}} if inside ~= "" then local parts = rsplit(inside, ".", true) for _, part in ipairs(parts) do if part == "surname" then if base.surname then error("Can't specify 'surname' twice: '" .. inside .. "'") end base.surname = true else error("Unrecognized indicator '" .. part .. "': '" .. inside .. "'") end end end return base end -- Check that multisyllabic lemmas have stress, and add stress to monosyllabic -- lemmas if needed. local function normalize_all_lemmas(alternant_multiword_spec) iut.map_word_specs(alternant_multiword_spec, function(base) base.orig_lemma = base.lemma base.orig_lemma_no_links = com.add_monosyllabic_stress(m_links.remove_links(base.lemma)) base.lemma = base.orig_lemma_no_links if not com.is_stressed(base.lemma) then error("Multisyllabic lemma '" .. base.orig_lemma .. "' needs an accent") end end) end local function detect_indicator_spec(base) if rfind(base.lemma, "[ыі]́?$") then base.decl = "normal" elseif rfind(base.lemma, "[ўн]$") then if base.surname then base.decl = "surname" else base.decl = "poss" end else error("Unrecognized adjective lemma: '" .. base.lemma .. "'") end end local function detect_all_indicator_specs(alternant_multiword_spec, use_variant_codes) iut.map_word_specs(alternant_multiword_spec, function(base) detect_indicator_spec(base) if alternant_multiword_spec.surname == nil then alternant_multiword_spec.surname = base.surname or false elseif alternant_multiword_spec.surname ~= (base.surname or false) then error("If 'surname' is specified in one alternant, it must be specified in all of them") end base.use_variant_codes = use_variant_codes end) end local function decline_adjective(base) if not decls[base.decl] then error("Internal error: Unrecognized declension type '" .. base.decl .. "'") end decls[base.decl](base) -- handle_derived_slots_and_overrides(base) end local function process_overrides(forms, args) for _, slot in ipairs(input_adjective_slots) do if args[slot] then forms[slot] = nil if args[slot] ~= "-" and args[slot] ~= "—" then for _, form in ipairs(rsplit(args[slot], "%s*,%s*")) do iut.insert_form(forms, slot, {form=form}) end end end end end local function set_accusative(alternant_multiword_spec) local forms = alternant_multiword_spec.forms if alternant_multiword_spec.surname then iut.insert_forms(forms, "acc_m", forms["gen_m"]) iut.insert_forms(forms, "acc_p", forms["gen_p"]) elseif alternant_multiword_spec.special == "dva" then iut.insert_forms(forms, "acc_mp_an", forms["gen_mp"]) iut.insert_forms(forms, "acc_mp_in", forms["nom_mp"]) iut.insert_forms(forms, "acc_fp", forms["nom_fp"]) else iut.insert_forms(forms, "acc_n", forms["nom_n"]) iut.insert_forms(forms, "acc_m_an", forms["gen_m"]) iut.insert_forms(forms, "acc_m_in", forms["nom_m"]) iut.insert_forms(forms, "acc_p_an", forms["gen_p"]) iut.insert_forms(forms, "acc_p_in", forms["nom_p"]) end end local function add_categories(alternant_multiword_spec) local cats = {} local function insert(cattype) table.insert(cats, "Belarusian " .. cattype .. " adjectives") end if not alternant_multiword_spec.manual then iut.map_word_specs(alternant_multiword_spec, function(base) if base.decl == "poss" then insert("possessive") elseif rfind(base.lemma, "ы$") then insert("hard stem-stressed") elseif rfind(base.lemma, "ы́$") then insert("hard ending-stressed") elseif rfind(base.lemma, com.velar_c .. "і$") then insert("velar-stem stem-stressed") elseif rfind(base.lemma, com.velar_c .. "і́$") then insert("velar-stem ending-stressed") elseif rfind(base.lemma, "і$") then insert("soft") end end) end alternant_multiword_spec.categories = cats end local function show_forms(alternant_multiword_spec) local lemmas = {} local lemmaform = alternant_multiword_spec.forms.nom_m or alternant_multiword_spec.forms.nom_p or alternant_multiword_spec.forms.nom_mp if lemmaform then for _, form in ipairs(lemmaform) do table.insert(lemmas, com.remove_monosyllabic_accents(form.form)) end end local props = { lemmas = lemmas, slot_table = get_output_adjective_slots(alternant_multiword_spec), lang = lang, canonicalize = function(form) return com.remove_variant_codes(com.remove_monosyllabic_accents(form)) end, include_translit = true, -- Explicit additional top-level footnotes only occur with {{be-adecl-manual}}. footnotes = alternant_multiword_spec.footnotes, allow_footnote_symbols = not not alternant_multiword_spec.footnotes, } iut.show_forms(alternant_multiword_spec.forms, props) end local function make_table(alternant_multiword_spec) local forms = alternant_multiword_spec.forms local function template_prelude(min_width) return rsub([===[ <div> <div class="NavFrame" style="max-width: MINWIDTHem"> <div class="NavHead" style="background:var(--wikt-palette-lighterblue)">{title}{annotation}</div> <div class="NavContent" style="overflow:auto"> {\op}| style="border:1px solid var(--border-color-base);border-collapse:collapse;background:var(--wikt-palette-palecyan);text-align:center; width: 100%" class="inflection-table" |- ]===], "MINWIDTH", min_width) end local function template_postlude() return [=[ |{\cl}{notes_clause}</div></div></div>]=] end local table_spec = [=[ <div> <div class="NavFrame" style="max-width: 70em"> <div class="NavHead" style="background:var(--wikt-palette-lighterblue)">{title}{annotation}</div> <div class="NavContent"> {\op}| style="border:1px solid var(--border-color-base);border-collapse:collapse;background:var(--wikt-palette-palecyan);text-align:center; width:100%" class="inflection-table" |- ! style="width:20%;background:var(--wikt-palette-lightblue)" colspan="2" | ! style="background:var(--wikt-palette-lightblue)" | masculine ! style="background:var(--wikt-palette-lightblue)" | neuter ! style="background:var(--wikt-palette-lightblue)" | feminine ! style="background:var(--wikt-palette-lightblue)" | plural |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | nominative | {nom_m} | {nom_n} | {nom_f} | {nom_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | genitive | colspan="2" | {gen_m} | {gen_f} | {gen_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | dative | colspan="2" | {dat_m} | {dat_f} | {dat_p} |- ! style="background:var(--wikt-palette-lighterblue)" rowspan="2" | accusative ! style="background:var(--wikt-palette-lighterblue)" | animate | {acc_m_an} | rowspan="2" | {acc_n} | rowspan="2" | {acc_f} | {acc_p_an} |- ! style="background:var(--wikt-palette-lighterblue)" | inanimate | {acc_m_in} | {acc_p_in} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | instrumental | colspan="2" | {ins_m} | {ins_f} | {ins_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | locative | colspan="2" | {loc_m} | {loc_f} | {loc_p}{short_clause} ]=] .. template_postlude() local table_spec_surname = template_prelude("55") .. [=[ ! style="background:var(--wikt-palette-lightblue)" | ! style="background:var(--wikt-palette-lightblue)" | masculine ! style="background:var(--wikt-palette-lightblue)" | feminine ! style="background:var(--wikt-palette-lightblue)" | plural |- ! style="background:var(--wikt-palette-lighterblue)" | nominative | {nom_m} | {nom_f} | {nom_p} |- ! style="background:var(--wikt-palette-lighterblue)" | genitive | {gen_m} | {gen_f} | {gen_p} |- ! style="background:var(--wikt-palette-lighterblue)" | dative | {dat_m} | {dat_f} | {dat_p} |- ! style="background:var(--wikt-palette-lighterblue)" | accusative | {acc_m} | {acc_f} | {acc_p} |- ! style="background:var(--wikt-palette-lighterblue)" | instrumental | {ins_m} | {ins_f} | {ins_p} |- ! style="background:var(--wikt-palette-lighterblue)" | locative | {loc_m} | {loc_f} | {loc_p} ]=] .. template_postlude() local table_spec_plonly = template_prelude("25") .. [=[ ! style="width:50%;background:var(--wikt-palette-lightblue)" colspan="2" | ! style="background:var(--wikt-palette-lightblue)" | plural |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | nominative | {nom_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | genitive | {gen_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | dative | {dat_p} |- ! style="background:var(--wikt-palette-lighterblue)" rowspan="2" | accusative ! style="background:var(--wikt-palette-lighterblue)" | animate | {acc_p_an} |- ! style="background:var(--wikt-palette-lighterblue)" | inanimate | {acc_p_in} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | instrumental | {ins_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | locative | {loc_p} ]=] .. template_postlude() local table_spec_dva = template_prelude("40") .. [=[ ! style="width:40%;background:var(--wikt-palette-lightblue)" colspan="2" | ! style="background:var(--wikt-palette-lightblue)" colspan="2" | plural |- ! style="width:40%;background:var(--wikt-palette-lightblue)" colspan="2" | ! style="background:var(--wikt-palette-lightblue)" | masculine/neuter ! style="background:var(--wikt-palette-lightblue)" | feminine |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | nominative | {nom_mp} | {nom_fp} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | genitive | {gen_mp} | {gen_fp} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | dative | {dat_mp} | {dat_fp} |- ! style="background:var(--wikt-palette-lighterblue)" rowspan="2" | accusative ! style="background:var(--wikt-palette-lighterblue)" | animate | {acc_mp_an} | rowspan="2" | {acc_fp} |- ! style="background:var(--wikt-palette-lighterblue)" | inanimate | {acc_mp_in} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | instrumental | {ins_mp} | {ins_fp} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | locative | {loc_mp} | {loc_fp} ]=] .. template_postlude() local short_form_template = [=[ |- ! style="height:0.2em;background:var(--wikt-palette-lightblue)" colspan="6" | |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | short form | {short_m} | {short_n} | {short_f} | {short_p}]=] local notes_template = [===[ <div style="width:100%;text-align:left;background:var(--wikt-palette-lightblue)"> <div style="display:inline-block;text-align:left;padding-left:1em;padding-right:1em"> {footnote} </div></div> ]===] if alternant_multiword_spec.title then forms.title = alternant_multiword_spec.title else forms.title = 'Declension of <i lang="be" class="Cyrl">' .. forms.lemma .. '</i>' end if alternant_multiword_spec.manual then forms.annotation = "" else local ann_parts = {} local decls = {} iut.map_word_specs(alternant_multiword_spec, function(base) if base.decl == "surname" then m_table.insertIfNot(decls, "surname") elseif base.decl == "poss" then m_table.insertIfNot(decls, "possessive") elseif rfind(base.lemma, "ы́?$") then m_table.insertIfNot(decls, "hard") elseif rfind(base.lemma, com.velar_c .. "і́?$") then m_table.insertIfNot(decls, "velar") else m_table.insertIfNot(decls, "soft") end end) table.insert(ann_parts, table.concat(decls, " // ")) forms.annotation = " (" .. table.concat(ann_parts, ", ") .. ")" end forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or "" forms.short_clause = forms.short_m and forms.short_m ~= "—" and m_string_utilities.format(short_form_template, forms) or "" return m_string_utilities.format( alternant_multiword_spec.surname and table_spec_surname or alternant_multiword_spec.special == "plonly" and table_spec_plonly or alternant_multiword_spec.special == "dva" and table_spec_dva or table_spec, forms ) end -- Externally callable function to parse and decline an adjective given -- user-specified arguments. Return value is ALTERNANT_MULTIWORD_SPEC, an -- object where the declined forms are in `ALTERNANT_MULTIWORD_SPEC.forms` for -- each slot. If there are no values for a slot, the slot key will be missing. -- The value for a given slot is a list of objects {form=FORM, footnotes=FOOTNOTES}. -- -- If `use_variant_codes` is given, add VAR1 (Unicode 0xFFF0) to feminine -- instrumental singular endings in -й and VAR2 (Unicode 0xFFF1) to -- corresponding endings in -ю. The same additions will be made to corresponding -- noun endings, which will ensure that adjectival forms in -й are attached -- only to nominal forms in -й and vice-versa. function export.do_generate_forms(parent_args, pos, from_headword, def, use_variant_codes) local params = { [1] = {required = true, default = def or "сі́ні"}, title = true, json = {type = "boolean"}, -- for bot use } for _, slot in ipairs(input_adjective_slots) do params[slot] = true end local args = m_para.process(parent_args, params) local parse_props = { parse_indicator_spec = parse_indicator_spec, allow_default_indicator = true, } local alternant_multiword_spec = iut.parse_inflected_text(args[1], parse_props) alternant_multiword_spec.title = args.title alternant_multiword_spec.forms = {} normalize_all_lemmas(alternant_multiword_spec) detect_all_indicator_specs(alternant_multiword_spec, use_variant_codes) local inflect_props = { slot_table = get_output_adjective_slots(alternant_multiword_spec, "with linked"), -- See documentation for `use_variant_codes` in do_generate_forms(). get_variants = com.get_variants, inflect_word_spec = decline_adjective, } iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props) process_overrides(alternant_multiword_spec.forms, args) set_accusative(alternant_multiword_spec) add_categories(alternant_multiword_spec) if args.json then return require("Module:JSON").toJSON(alternant_multiword_spec) end return alternant_multiword_spec end -- Externally callable function to parse and decline an adjective where all -- forms are given manually. Return value is WORD_SPEC, an object where the -- declined forms are in `WORD_SPEC.forms` for each slot. If there are no values -- for a slot, the slot key will be missing. The value for a given slot is a -- list of objects {form=FORM, footnotes=FOOTNOTES}. function export.do_generate_forms_manual(parent_args, pos, from_headword, def) local params = { special = {}, footnote = {list = true}, title = true, json = {type = "boolean"}, -- for bot use } for _, slot in ipairs(input_adjective_slots) do params[slot] = true end local args = m_para.process(parent_args, params) local alternant_multiword_spec = { special = args.special, title = args.title, footnotes = args.footnote, forms = {}, manual = true, } process_overrides(alternant_multiword_spec.forms, args) set_accusative(alternant_multiword_spec) add_categories(alternant_multiword_spec) if args.json then return require("Module:JSON").toJSON(alternant_multiword_spec) end return alternant_multiword_spec end -- Entry point for {{be-adecl}}. Template-callable function to parse and decline -- an adjective given user-specified arguments and generate a displayable table -- of the declined forms. function export.show(frame) local parent_args = frame:getParent().args local alternant_multiword_spec = export.do_generate_forms(parent_args) if type(alternant_multiword_spec) == "string" then -- json=1 specified return alternant_multiword_spec end show_forms(alternant_multiword_spec) return make_table(alternant_multiword_spec) .. require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang) end -- Entry point for {{be-adecl-manual}}. Template-callable function to parse and -- decline an adjective given manually-specified inflections and generate a -- displayable table of the declined forms. function export.show_manual(frame) local parent_args = frame:getParent().args local alternant_multiword_spec = export.do_generate_forms_manual(parent_args) if type(alternant_multiword_spec) == "string" then -- json=1 specified return alternant_multiword_spec end show_forms(alternant_multiword_spec) return make_table(alternant_multiword_spec) .. require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang) end return export 42x60v38c2azewkugyn7780pv30rj09 234350 234349 2026-05-17T06:08:57Z Lee 19 [[:en:Module:be-adjective]] වෙතින් එක් සංශෝධනයක් 234349 Scribunto text/plain local export = {} --[=[ Authorship: Ben Wing <benwing2> ]=] --[=[ TERMINOLOGY: -- "slot" = A particular combination of case/gender/number. Example slot names for adjectives are "gen_f" (genitive feminine singular) and "loc_p" (locative plural). Each slot is filled with zero or more forms. -- "form" = The declined Belarusian form representing the value of a given slot. -- "lemma" = The dictionary form of a given Belarusian term. Generally the nominative masculine singular, but may occasionally be another form if the nominative masculine singular is missing. ]=] local lang = require("Module:languages").getByCode("be") local m_links = require("Module:links") local m_table = require("Module:table") local m_string_utilities = require("Module:string utilities") local iut = require("Module:inflection utilities") local m_para = require("Module:parameters") local com = require("Module:be-common") local u = require("Module:string/char") local rsplit = mw.text.split local rfind = mw.ustring.find local rmatch = mw.ustring.match local rgmatch = mw.ustring.gmatch local rsubn = mw.ustring.gsub local ulen = mw.ustring.len local unpack = unpack or table.unpack -- Lua 5.2 compatibility local uupper = mw.ustring.upper local AC = u(0x0301) -- acute = ́ -- version of rsubn() that discards all but the first return value local function rsub(term, foo, bar) local retval = rsubn(term, foo, bar) return retval end -- version of rsubn() that returns a 2nd argument boolean indicating whether -- a substitution was made. local function rsubb(term, foo, bar) local retval, nsubs = rsubn(term, foo, bar) return retval, nsubs > 0 end local function tag_text(text) return m_script_utilities.tag_text(text, lang) end local output_adjective_slots = { -- used with all variants but special == "dva" and special == "plonly" nom_m = "nom|m|s", nom_f = "nom|f|s", nom_n = "nom|n|s", gen_m = "gen|m//n|s", gen_f = "gen|f|s", dat_m = "dat|m//n|s", dat_f = "dat|f|s", acc_m_an = "an|acc|m|s", acc_m_in = "in|acc|m|s", acc_f = "acc|f|s", acc_n = "acc|n|s", ins_m = "ins|m//n|s", ins_f = "ins|f|s", loc_m = "loc|m//n|s", loc_f = "loc|f|s", -- used with all variants but special == "dva" nom_p = "nom|p", gen_p = "gen|p", dat_p = "dat|p", acc_p_an = "an|acc|p", acc_p_in = "in|acc|p", ins_p = "ins|p", loc_p = "loc|p", -- only used with special == "dva" nom_mp = "nom|m//n|p", nom_fp = "nom|f|p", gen_mp = "gen|m//n|p", gen_fp = "gen|f|p", dat_mp = "dat|m//n|p", dat_fp = "dat|f|p", acc_mp_an = "an|acc|m//n|p", acc_mp_in = "in|acc|m//n|p", acc_fp = "acc|f|p", ins_mp = "ins|m//n|p", ins_fp = "ins|f|p", loc_mp = "loc|m//n|p", loc_fp = "loc|f|p", -- short forms short_m = "short|m|s", short_f = "short|f|s", short_n = "short|n|s", short_p = "short|p", } local output_adjective_slots_with_linked = m_table.shallowCopy(output_adjective_slots) output_adjective_slots_with_linked["nom_m_linked"] = "nom|m|s" local output_adjective_slots_surname = { nom_m = "nom|m|s", nom_f = "nom|f|s", nom_p = "nom|p", gen_m = "gen|m|s", gen_f = "gen|f|s", gen_p = "gen|p", dat_m = "dat|m|s", dat_f = "dat|f|s", dat_p = "dat|p", acc_m = "acc|m|s", acc_f = "acc|f|s", acc_p = "acc|p", ins_m = "ins|m|s", ins_f = "ins|f|s", ins_p = "ins|p", loc_m = "loc|m|s", loc_f = "loc|f|s", loc_p = "loc|p", } local output_adjective_slots_surname_with_linked = m_table.shallowCopy(output_adjective_slots_surname) output_adjective_slots_surname_with_linked["nom_m_linked"] = "nom|m|s" local input_adjective_slots = {} for slot, _ in pairs(output_adjective_slots) do if slot == "acc_f" or not rfind(slot, "^acc") then table.insert(input_adjective_slots, slot) end end local function get_output_adjective_slots(base, with_linked) if base.surname then return with_linked and output_adjective_slots_surname_with_linked or output_adjective_slots_surname else return with_linked and output_adjective_slots_with_linked or output_adjective_slots end end local function combine_stem_ending(stem, ending) if stem == "?" then return "?" else return stem .. ending end end local function add(base, slot, stems, endings) if get_output_adjective_slots(base)[slot] then -- Here, just add the stem and ending, in case the stem has unstressed -- ё or э in it. iut.add_forms(base.forms, slot, stems, endings, combine_stem_ending) end end local function add_normal_decl(base, stem, nom_m, nom_f, nom_n, nom_p, gen_m, gen_f, gen_p, dat_m, dat_f, dat_p, acc_f, ins_m, ins_f, ins_p, loc_m, loc_f, loc_p, footnote) stem = iut.combine_form_and_footnotes(stem, footnote) add(base, "nom_m", stem, nom_m) add(base, "nom_f", stem, nom_f) add(base, "nom_n", stem, nom_n) add(base, "nom_p", stem, nom_p) add(base, "gen_m", stem, gen_m) add(base, "gen_f", stem, gen_f) add(base, "gen_p", stem, gen_p) add(base, "dat_m", stem, dat_m) add(base, "dat_f", stem, dat_f) add(base, "dat_p", stem, dat_p) add(base, "acc_f", stem, acc_f) add(base, "ins_m", stem, ins_m) add(base, "ins_f", stem, ins_f) add(base, "ins_p", stem, ins_p) add(base, "loc_m", stem, loc_m) add(base, "loc_f", stem, loc_f) add(base, "loc_p", stem, loc_p) end local function destress_ending(ending) if type(ending) == "string" then return com.make_unstressed(ending) else for i, e in ipairs(ending) do ending[i] = destress_ending(e) end return ending end end local function maybe_destress_endings(suffix, endings) if not com.is_stressed(suffix) then for i, e in ipairs(endings) do endings[i] = destress_ending(e) end end end local function y_to_i(ending) if type(ending) == "string" then return rsub(ending, "ы", "і") else for i, e in ipairs(ending) do ending[i] = y_to_i(e) end return ending end end local function y_to_i_endings(endings) for i, e in ipairs(endings) do endings[i] = y_to_i(e) end end -- See documentation for `use_variant_codes` in do_generate_forms(). local function maybe_tag_ins_s_with_variant(base, ins_s_endings) if base.use_variant_codes then assert(type(ins_s_endings) == "table") assert(#ins_s_endings == 2) local ending1, ending2 = unpack(ins_s_endings) return {ending1 .. com.VAR1, ending2 .. com.VAR2} else return ins_s_endings end end local decls = {} decls["normal"] = function(base) local normal_endings, old_endings local stem, suffix local function add_endings() maybe_destress_endings(suffix, normal_endings) if rfind(stem, com.velar_c .. "$") then y_to_i_endings(normal_endings) end add_normal_decl(base, stem, unpack(normal_endings)) end -- hard in -ы (including velar in -і) stem, suffix = rmatch(base.lemma, "^(.*" .. com.velar_c .. ")(і́?)$") if not stem then stem, suffix = rmatch(base.lemma, "^(.*)(ы́?)$") end if stem then normal_endings = { "ы́", "а́я", "о́е", "ы́я", --nom "о́га", "о́й", "ы́х", --gen "о́му", "о́й", "ы́м", --dat "у́ю", --acc "ы́м", maybe_tag_ins_s_with_variant(base, {"о́й", "о́ю"}), "ы́мі", --ins "ы́м", "о́й", "ы́х", --loc } add_endings() return end -- soft in -і stem, suffix = rmatch(base.lemma, "^(.*)(і́?)$") if stem then normal_endings = { -- This isn't quite right, maybe should be "ё́я" etc.; but -- stressed variants of these endings never occur. "і́", "я́я", "я́е", "і́я", --nom "я́га", "я́й", "і́х", --gen "я́му", "я́й", "і́м", --dat "ю́ю", --acc "і́м", maybe_tag_ins_s_with_variant(base, {"я́й", "я́ю"}), "і́мі", --ins "і́м", "я́й", "і́х", --loc } add_endings() return end error("Unrecognized adjective lemma, should end in '-ы' or '-і': '" .. base.lemma .. "'") end local function get_possessive_stem_suffix_ending_prefix(lemma, adjtype) local stem, suffix, ending_prefix while true do stem, suffix = rmatch(lemma, "^(.*)([аеё]ў)$") if stem then ending_prefix = rsub(suffix, "ў$", "в") break end stem, suffix = rmatch(lemma, "^(.*)([ое]́ў)$") if stem then ending_prefix = rsub(suffix, "ў$", "в") break end stem, suffix = rmatch(lemma, "^(.*)([ыі]́?н)$") if stem then ending_prefix = suffix break end error("Unrecognized " .. adjtype .. " lemma, should end in '-аў', '-о́ў', '-еў', '-ёў', '-ын' or '-ін': '" .. lemma .. "'") end return stem, suffix, ending_prefix end decls["poss"] = function(base) local stem, suffix, ending_prefix = get_possessive_stem_suffix_ending_prefix(base.lemma, "possessive adjective") local endings = { "а", "а", "ы", --nom "ага", "ай", "ых", --gen "аму", "ай", "ым", --dat "у", --acc "ым", maybe_tag_ins_s_with_variant(base, {"ай", "аю"}), "ымі", --ins "ым", "ай", "ых", --loc } -- Do the nominative singular separately from the rest, which may have -- a different stem ending (e.g. -аў vs. -ав). add_normal_decl(base, stem, suffix) add_normal_decl(base, stem .. ending_prefix, nil, unpack(endings)) end decls["surname"] = function(base) local stem, suffix, ending_prefix = get_possessive_stem_suffix_ending_prefix(base.lemma, "possessive surname") local endings = { "а", nil, "ы", --nom "а", "ай", "ых", --gen "у", "ай", "ым", --dat "у", --acc "ым", maybe_tag_ins_s_with_variant(base, {"ай", "аю"}), "ымі", --ins "е", "ай", "ых", --loc } -- Do the nominative singular separately from the rest, which may have -- a different stem ending (e.g. -аў vs. -ав). add_normal_decl(base, stem, suffix) add_normal_decl(base, stem .. ending_prefix, nil, unpack(endings)) end local function parse_indicator_spec(angle_bracket_spec) local inside = rmatch(angle_bracket_spec, "^<(.*)>$") assert(inside) local base = {forms = {}} if inside ~= "" then local parts = rsplit(inside, ".", true) for _, part in ipairs(parts) do if part == "surname" then if base.surname then error("Can't specify 'surname' twice: '" .. inside .. "'") end base.surname = true else error("Unrecognized indicator '" .. part .. "': '" .. inside .. "'") end end end return base end -- Check that multisyllabic lemmas have stress, and add stress to monosyllabic -- lemmas if needed. local function normalize_all_lemmas(alternant_multiword_spec) iut.map_word_specs(alternant_multiword_spec, function(base) base.orig_lemma = base.lemma base.orig_lemma_no_links = com.add_monosyllabic_stress(m_links.remove_links(base.lemma)) base.lemma = base.orig_lemma_no_links if not com.is_stressed(base.lemma) then error("Multisyllabic lemma '" .. base.orig_lemma .. "' needs an accent") end end) end local function detect_indicator_spec(base) if rfind(base.lemma, "[ыі]́?$") then base.decl = "normal" elseif rfind(base.lemma, "[ўн]$") then if base.surname then base.decl = "surname" else base.decl = "poss" end else error("Unrecognized adjective lemma: '" .. base.lemma .. "'") end end local function detect_all_indicator_specs(alternant_multiword_spec, use_variant_codes) iut.map_word_specs(alternant_multiword_spec, function(base) detect_indicator_spec(base) if alternant_multiword_spec.surname == nil then alternant_multiword_spec.surname = base.surname or false elseif alternant_multiword_spec.surname ~= (base.surname or false) then error("If 'surname' is specified in one alternant, it must be specified in all of them") end base.use_variant_codes = use_variant_codes end) end local function decline_adjective(base) if not decls[base.decl] then error("Internal error: Unrecognized declension type '" .. base.decl .. "'") end decls[base.decl](base) -- handle_derived_slots_and_overrides(base) end local function process_overrides(forms, args) for _, slot in ipairs(input_adjective_slots) do if args[slot] then forms[slot] = nil if args[slot] ~= "-" and args[slot] ~= "—" then for _, form in ipairs(rsplit(args[slot], "%s*,%s*")) do iut.insert_form(forms, slot, {form=form}) end end end end end local function set_accusative(alternant_multiword_spec) local forms = alternant_multiword_spec.forms if alternant_multiword_spec.surname then iut.insert_forms(forms, "acc_m", forms["gen_m"]) iut.insert_forms(forms, "acc_p", forms["gen_p"]) elseif alternant_multiword_spec.special == "dva" then iut.insert_forms(forms, "acc_mp_an", forms["gen_mp"]) iut.insert_forms(forms, "acc_mp_in", forms["nom_mp"]) iut.insert_forms(forms, "acc_fp", forms["nom_fp"]) else iut.insert_forms(forms, "acc_n", forms["nom_n"]) iut.insert_forms(forms, "acc_m_an", forms["gen_m"]) iut.insert_forms(forms, "acc_m_in", forms["nom_m"]) iut.insert_forms(forms, "acc_p_an", forms["gen_p"]) iut.insert_forms(forms, "acc_p_in", forms["nom_p"]) end end local function add_categories(alternant_multiword_spec) local cats = {} local function insert(cattype) table.insert(cats, "Belarusian " .. cattype .. " adjectives") end if not alternant_multiword_spec.manual then iut.map_word_specs(alternant_multiword_spec, function(base) if base.decl == "poss" then insert("possessive") elseif rfind(base.lemma, "ы$") then insert("hard stem-stressed") elseif rfind(base.lemma, "ы́$") then insert("hard ending-stressed") elseif rfind(base.lemma, com.velar_c .. "і$") then insert("velar-stem stem-stressed") elseif rfind(base.lemma, com.velar_c .. "і́$") then insert("velar-stem ending-stressed") elseif rfind(base.lemma, "і$") then insert("soft") end end) end alternant_multiword_spec.categories = cats end local function show_forms(alternant_multiword_spec) local lemmas = {} local lemmaform = alternant_multiword_spec.forms.nom_m or alternant_multiword_spec.forms.nom_p or alternant_multiword_spec.forms.nom_mp if lemmaform then for _, form in ipairs(lemmaform) do table.insert(lemmas, com.remove_monosyllabic_accents(form.form)) end end local props = { lemmas = lemmas, slot_table = get_output_adjective_slots(alternant_multiword_spec), lang = lang, canonicalize = function(form) return com.remove_variant_codes(com.remove_monosyllabic_accents(form)) end, include_translit = true, -- Explicit additional top-level footnotes only occur with {{be-adecl-manual}}. footnotes = alternant_multiword_spec.footnotes, allow_footnote_symbols = not not alternant_multiword_spec.footnotes, } iut.show_forms(alternant_multiword_spec.forms, props) end local function make_table(alternant_multiword_spec) local forms = alternant_multiword_spec.forms local function template_prelude(min_width) return rsub([===[ <div> <div class="NavFrame" style="max-width: MINWIDTHem"> <div class="NavHead" style="background:var(--wikt-palette-lighterblue)">{title}{annotation}</div> <div class="NavContent" style="overflow:auto"> {\op}| style="border:1px solid var(--border-color-base);border-collapse:collapse;background:var(--wikt-palette-palecyan);text-align:center; width: 100%" class="inflection-table" |- ]===], "MINWIDTH", min_width) end local function template_postlude() return [=[ |{\cl}{notes_clause}</div></div></div>]=] end local table_spec = [=[ <div> <div class="NavFrame" style="max-width: 70em"> <div class="NavHead" style="background:var(--wikt-palette-lighterblue)">{title}{annotation}</div> <div class="NavContent"> {\op}| style="border:1px solid var(--border-color-base);border-collapse:collapse;background:var(--wikt-palette-palecyan);text-align:center; width:100%" class="inflection-table" |- ! style="width:20%;background:var(--wikt-palette-lightblue)" colspan="2" | ! style="background:var(--wikt-palette-lightblue)" | masculine ! style="background:var(--wikt-palette-lightblue)" | neuter ! style="background:var(--wikt-palette-lightblue)" | feminine ! style="background:var(--wikt-palette-lightblue)" | plural |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | nominative | {nom_m} | {nom_n} | {nom_f} | {nom_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | genitive | colspan="2" | {gen_m} | {gen_f} | {gen_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | dative | colspan="2" | {dat_m} | {dat_f} | {dat_p} |- ! style="background:var(--wikt-palette-lighterblue)" rowspan="2" | accusative ! style="background:var(--wikt-palette-lighterblue)" | animate | {acc_m_an} | rowspan="2" | {acc_n} | rowspan="2" | {acc_f} | {acc_p_an} |- ! style="background:var(--wikt-palette-lighterblue)" | inanimate | {acc_m_in} | {acc_p_in} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | instrumental | colspan="2" | {ins_m} | {ins_f} | {ins_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | locative | colspan="2" | {loc_m} | {loc_f} | {loc_p}{short_clause} ]=] .. template_postlude() local table_spec_surname = template_prelude("55") .. [=[ ! style="background:var(--wikt-palette-lightblue)" | ! style="background:var(--wikt-palette-lightblue)" | masculine ! style="background:var(--wikt-palette-lightblue)" | feminine ! style="background:var(--wikt-palette-lightblue)" | plural |- ! style="background:var(--wikt-palette-lighterblue)" | nominative | {nom_m} | {nom_f} | {nom_p} |- ! style="background:var(--wikt-palette-lighterblue)" | genitive | {gen_m} | {gen_f} | {gen_p} |- ! style="background:var(--wikt-palette-lighterblue)" | dative | {dat_m} | {dat_f} | {dat_p} |- ! style="background:var(--wikt-palette-lighterblue)" | accusative | {acc_m} | {acc_f} | {acc_p} |- ! style="background:var(--wikt-palette-lighterblue)" | instrumental | {ins_m} | {ins_f} | {ins_p} |- ! style="background:var(--wikt-palette-lighterblue)" | locative | {loc_m} | {loc_f} | {loc_p} ]=] .. template_postlude() local table_spec_plonly = template_prelude("25") .. [=[ ! style="width:50%;background:var(--wikt-palette-lightblue)" colspan="2" | ! style="background:var(--wikt-palette-lightblue)" | plural |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | nominative | {nom_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | genitive | {gen_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | dative | {dat_p} |- ! style="background:var(--wikt-palette-lighterblue)" rowspan="2" | accusative ! style="background:var(--wikt-palette-lighterblue)" | animate | {acc_p_an} |- ! style="background:var(--wikt-palette-lighterblue)" | inanimate | {acc_p_in} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | instrumental | {ins_p} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | locative | {loc_p} ]=] .. template_postlude() local table_spec_dva = template_prelude("40") .. [=[ ! style="width:40%;background:var(--wikt-palette-lightblue)" colspan="2" | ! style="background:var(--wikt-palette-lightblue)" colspan="2" | plural |- ! style="width:40%;background:var(--wikt-palette-lightblue)" colspan="2" | ! style="background:var(--wikt-palette-lightblue)" | masculine/neuter ! style="background:var(--wikt-palette-lightblue)" | feminine |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | nominative | {nom_mp} | {nom_fp} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | genitive | {gen_mp} | {gen_fp} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | dative | {dat_mp} | {dat_fp} |- ! style="background:var(--wikt-palette-lighterblue)" rowspan="2" | accusative ! style="background:var(--wikt-palette-lighterblue)" | animate | {acc_mp_an} | rowspan="2" | {acc_fp} |- ! style="background:var(--wikt-palette-lighterblue)" | inanimate | {acc_mp_in} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | instrumental | {ins_mp} | {ins_fp} |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | locative | {loc_mp} | {loc_fp} ]=] .. template_postlude() local short_form_template = [=[ |- ! style="height:0.2em;background:var(--wikt-palette-lightblue)" colspan="6" | |- ! style="background:var(--wikt-palette-lighterblue)" colspan="2" | short form | {short_m} | {short_n} | {short_f} | {short_p}]=] local notes_template = [===[ <div style="width:100%;text-align:left;background:var(--wikt-palette-lightblue)"> <div style="display:inline-block;text-align:left;padding-left:1em;padding-right:1em"> {footnote} </div></div> ]===] if alternant_multiword_spec.title then forms.title = alternant_multiword_spec.title else forms.title = 'Declension of <i lang="be" class="Cyrl">' .. forms.lemma .. '</i>' end if alternant_multiword_spec.manual then forms.annotation = "" else local ann_parts = {} local decls = {} iut.map_word_specs(alternant_multiword_spec, function(base) if base.decl == "surname" then m_table.insertIfNot(decls, "surname") elseif base.decl == "poss" then m_table.insertIfNot(decls, "possessive") elseif rfind(base.lemma, "ы́?$") then m_table.insertIfNot(decls, "hard") elseif rfind(base.lemma, com.velar_c .. "і́?$") then m_table.insertIfNot(decls, "velar") else m_table.insertIfNot(decls, "soft") end end) table.insert(ann_parts, table.concat(decls, " // ")) forms.annotation = " (" .. table.concat(ann_parts, ", ") .. ")" end forms.notes_clause = forms.footnote ~= "" and m_string_utilities.format(notes_template, forms) or "" forms.short_clause = forms.short_m and forms.short_m ~= "—" and m_string_utilities.format(short_form_template, forms) or "" return m_string_utilities.format( alternant_multiword_spec.surname and table_spec_surname or alternant_multiword_spec.special == "plonly" and table_spec_plonly or alternant_multiword_spec.special == "dva" and table_spec_dva or table_spec, forms ) end -- Externally callable function to parse and decline an adjective given -- user-specified arguments. Return value is ALTERNANT_MULTIWORD_SPEC, an -- object where the declined forms are in `ALTERNANT_MULTIWORD_SPEC.forms` for -- each slot. If there are no values for a slot, the slot key will be missing. -- The value for a given slot is a list of objects {form=FORM, footnotes=FOOTNOTES}. -- -- If `use_variant_codes` is given, add VAR1 (Unicode 0xFFF0) to feminine -- instrumental singular endings in -й and VAR2 (Unicode 0xFFF1) to -- corresponding endings in -ю. The same additions will be made to corresponding -- noun endings, which will ensure that adjectival forms in -й are attached -- only to nominal forms in -й and vice-versa. function export.do_generate_forms(parent_args, pos, from_headword, def, use_variant_codes) local params = { [1] = {required = true, default = def or "сі́ні"}, title = true, json = {type = "boolean"}, -- for bot use } for _, slot in ipairs(input_adjective_slots) do params[slot] = true end local args = m_para.process(parent_args, params) local parse_props = { parse_indicator_spec = parse_indicator_spec, allow_default_indicator = true, } local alternant_multiword_spec = iut.parse_inflected_text(args[1], parse_props) alternant_multiword_spec.title = args.title alternant_multiword_spec.forms = {} normalize_all_lemmas(alternant_multiword_spec) detect_all_indicator_specs(alternant_multiword_spec, use_variant_codes) local inflect_props = { slot_table = get_output_adjective_slots(alternant_multiword_spec, "with linked"), -- See documentation for `use_variant_codes` in do_generate_forms(). get_variants = com.get_variants, inflect_word_spec = decline_adjective, } iut.inflect_multiword_or_alternant_multiword_spec(alternant_multiword_spec, inflect_props) process_overrides(alternant_multiword_spec.forms, args) set_accusative(alternant_multiword_spec) add_categories(alternant_multiword_spec) if args.json then return require("Module:JSON").toJSON(alternant_multiword_spec) end return alternant_multiword_spec end -- Externally callable function to parse and decline an adjective where all -- forms are given manually. Return value is WORD_SPEC, an object where the -- declined forms are in `WORD_SPEC.forms` for each slot. If there are no values -- for a slot, the slot key will be missing. The value for a given slot is a -- list of objects {form=FORM, footnotes=FOOTNOTES}. function export.do_generate_forms_manual(parent_args, pos, from_headword, def) local params = { special = {}, footnote = {list = true}, title = true, json = {type = "boolean"}, -- for bot use } for _, slot in ipairs(input_adjective_slots) do params[slot] = true end local args = m_para.process(parent_args, params) local alternant_multiword_spec = { special = args.special, title = args.title, footnotes = args.footnote, forms = {}, manual = true, } process_overrides(alternant_multiword_spec.forms, args) set_accusative(alternant_multiword_spec) add_categories(alternant_multiword_spec) if args.json then return require("Module:JSON").toJSON(alternant_multiword_spec) end return alternant_multiword_spec end -- Entry point for {{be-adecl}}. Template-callable function to parse and decline -- an adjective given user-specified arguments and generate a displayable table -- of the declined forms. function export.show(frame) local parent_args = frame:getParent().args local alternant_multiword_spec = export.do_generate_forms(parent_args) if type(alternant_multiword_spec) == "string" then -- json=1 specified return alternant_multiword_spec end show_forms(alternant_multiword_spec) return make_table(alternant_multiword_spec) .. require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang) end -- Entry point for {{be-adecl-manual}}. Template-callable function to parse and -- decline an adjective given manually-specified inflections and generate a -- displayable table of the declined forms. function export.show_manual(frame) local parent_args = frame:getParent().args local alternant_multiword_spec = export.do_generate_forms_manual(parent_args) if type(alternant_multiword_spec) == "string" then -- json=1 specified return alternant_multiword_spec end show_forms(alternant_multiword_spec) return make_table(alternant_multiword_spec) .. require("Module:utilities").format_categories(alternant_multiword_spec.categories, lang) end return export 42x60v38c2azewkugyn7780pv30rj09 Module:labels/data/lang/is 828 143708 234351 2026-05-17T06:08:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/is]] ([[Module talk:labels/data/lang/is|history]]) 234351 Scribunto text/plain local labels = {} labels["Austurland"] = { Wikipedia = "Eastern Region (Iceland)", regional_categories = true, } labels["Suðurland"] = { Wikipedia = "Southern Region (Iceland)", regional_categories = true, } labels["Vestmannaeyjar"] = { Wikipedia = true, regional_categories = true, parent = "Suðurland", } 64bhe13uzmdjuf6nnkncn6zfbfbh12m Module talk:labels/data/lang/jbo 829 143709 234352 2026-05-17T06:09:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/jbo]] 234352 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 90019526 || 2026-04-02T02:23:20Z || TranqyPoo || <nowiki>updated 'elidable terminator'</nowiki> |---- | 90019482 || 2026-04-02T02:17:58Z || TranqyPoo || <nowiki>added pro-bridi</nowiki> |---- | 89993098 || 2026-03-29T22:16:29Z || TranqyPoo || <nowiki>added 'modifier'</nowiki> |---- | 89982975 || 2026-03-28T20:43:40Z || TranqyPoo || <nowiki>added 'elidable'</nowiki> |---- | 89900748 || 2026-03-19T23:36:04Z || TranqyPoo || <nowiki>changed link for 'evidential'</nowiki> |---- | 89900722 || 2026-03-19T23:30:25Z || TranqyPoo || <nowiki>added 'pro-sumti'</nowiki> |---- | 89850567 || 2026-03-14T20:24:37Z || TranqyPoo || <nowiki>added 'event contour'</nowiki> |---- | 89822669 || 2026-03-11T20:35:03Z || TranqyPoo || <nowiki>added 'abstractor'</nowiki> |---- | 89772209 || 2026-03-06T17:30:54Z || TranqyPoo || <nowiki>added 'attitudinal'</nowiki> |---- | 89772169 || 2026-03-06T17:23:49Z || TranqyPoo || <nowiki>added link to 'evidential'</nowiki> |---- | 89772017 || 2026-03-06T16:48:41Z || TranqyPoo || <nowiki>Undid revision [[Special:Diff/89772014|89772014]] by [[Special:Contributions/TranqyPoo|TranqyPoo]] ([[User talk:TranqyPoo|talk]])</nowiki> |---- | 89772014 || 2026-03-06T16:48:12Z || TranqyPoo || <nowiki>added glossary</nowiki> |---- | 89771539 || 2026-03-06T16:08:57Z || TranqyPoo || <nowiki>added link to glossary</nowiki> |---- | 89766498 || 2026-03-05T21:46:10Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/jbo]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89757455 || 2026-03-05T01:09:52Z || TranqyPoo || <nowiki>added 'evidential'</nowiki> |---- | 89749887 || 2026-03-04T17:20:50Z || TranqyPoo || <nowiki>typo</nowiki> |---- | 89749871 || 2026-03-04T17:18:32Z || TranqyPoo || <nowiki>added categories</nowiki> |---- | 89749734 || 2026-03-04T17:00:31Z || TranqyPoo || <nowiki>troubleshooting</nowiki> |---- | 89749697 || 2026-03-04T16:55:15Z || TranqyPoo || <nowiki>troubleshooting</nowiki> |---- | 89749684 || 2026-03-04T16:53:11Z || TranqyPoo || <nowiki>fix</nowiki> |---- | 89749654 || 2026-03-04T16:47:43Z || TranqyPoo || <nowiki>fix</nowiki> |---- | 89749651 || 2026-03-04T16:46:45Z || TranqyPoo || <nowiki>Undid revision [[Special:Diff/89749644|89749644]] by [[Special:Contributions/TranqyPoo|TranqyPoo]] ([[User talk:TranqyPoo|talk]])</nowiki> |---- | 89749644 || 2026-03-04T16:46:00Z || TranqyPoo || <nowiki>commented out for t/s</nowiki> |---- | 89749598 || 2026-03-04T16:35:59Z || TranqyPoo || <nowiki>Created page with "local labels = {} label["discurive"] = { aliases = "discursive indicator", display = "discursive", pos_categories = "discursive indicators", } return require("Module:labels").finalize_data(labels)"</nowiki> |} 63gattbikgwkbu795f3gmj1bhqmzrun Module:labels/data/lang/jbo 828 143710 234353 2026-05-17T06:09:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/jbo]] ([[Module talk:labels/data/lang/jbo|history]]) 234353 Scribunto text/plain local labels = {} labels["abstractor"] = { display = "abstractor", Wiktionary = "Appendix:Lojban glossary#abstractor", pos_categories = {"abstractors"}, } labels["attitudinal"] = { aliases = {"attitudinal indicator"}, display = "attitudinal", Wiktionary = "attitudinal#English:_particle", pos_categories = {"attitudinal indicators"}, } labels["discursive"] = { aliases = {"discursive indicator"}, display = "discursive", Wiktionary = "Appendix:Lojban glossary#discursive", pos_categories = {"discursive indicators"}, } labels["elidable terminator"] = { aliases = {"elidible", "elidable"}, display = "elidable terminator", Wiktionary = "Appendix:Lojban glossary#elidable terminator", pos_categories = {"elidable terminators"}, } labels["event contour"] = { display = "event contour", Wiktionary = "Appendix:Lojban glossary#event contour", } labels["evidential"] = { aliases = {"evidential indicator"}, display = "evidential", Wiktionary = "evidentiality", pos_categories = {"evidential indicators"}, } labels["modifier"] = { display = "modifier", Wiktionary = "Appendix:Lojban glossary#modifier", } labels["pro-bridi"] = { display = "pro-bridi", pos_categories = {"pro-bridi"}, } labels["pro-sumti"] = { display = "pro-sumti", Wiktionary = "pro-sumti", pos_categories = {"pro-sumti"}, } return require("Module:labels").finalize_data(labels) tcrjd5hb10cnt13x397x2sdopkje6fy Module:be-adjective/documentation 828 143711 234354 2024-03-06T05:39:34Z en>WingerBot 0 remove unnecessary categorization now handled automatically by [[Module:documentation]] and [[Module:module categorization]] (manually assisted) 234354 wikitext text/x-wiki This module supports {{temp|be-adecl}} and {{temp|be-adecl-manual}}. or5cowmy7at4sibad47p2td9om2mp4k 234355 234354 2026-05-17T06:09:18Z Lee 19 [[:en:Module:be-adjective/documentation]] වෙතින් එක් සංශෝධනයක් 234354 wikitext text/x-wiki This module supports {{temp|be-adecl}} and {{temp|be-adecl-manual}}. or5cowmy7at4sibad47p2td9om2mp4k Module talk:labels/data/lang/kbd 829 143712 234356 2026-05-17T06:09:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/kbd]] 234356 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 90029889 || 2026-04-02T23:23:34Z || Angell Eyes || <nowiki></nowiki> |---- | 89386927 || 2026-01-30T02:08:59Z || Angell Eyes || <nowiki></nowiki> |---- | 89386922 || 2026-01-30T02:07:52Z || Angell Eyes || <nowiki></nowiki> |---- | 89131460 || 2026-01-09T19:17:12Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/kbd]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 88646506 || 2025-12-19T18:43:54Z || Ultimateria || <nowiki>Created page with "local labels = {} labels["Besleney"] = { Wikipedia = "Besleney Kabardian dialect", regional_categories = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} gbq9neocq1famovlooq6zh2fyrid87w Module:labels/data/lang/kbd 828 143713 234357 2026-05-17T06:09:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/kbd]] ([[Module talk:labels/data/lang/kbd|history]]) 234357 Scribunto text/plain local labels = {} labels["Besleney"] = { Wikipedia = "Besleney Kabardian dialect", regional_categories = true, } labels["Diaspora"] = { Wikipedia = "Circassian diaspora", regional_categories = true, } labels["Turkey"] = { Wikipedia = "Circassians in Turkey", regional_categories = true, } labels["Syria"] = { Wikipedia = "Circassians in Syria", regional_categories = true, } labels["Jordan"] = { Wikipedia = "Circassians in Jordan", regional_categories = true, } return require("Module:labels").finalize_data(labels) kgfd1bwmr5tka695w5loj1rbtjvu3ji Module talk:labels/data/lang/kho 829 143714 234358 2026-05-17T06:09:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/kho]] 234358 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89605944 || 2026-02-17T13:54:13Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/kho]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89600688 || 2026-02-16T21:21:46Z || Benwing2 || <nowiki>Created page with "local labels = {} labels["Old Khotanese"] = { region = "the {{w|Kingdom of Khotan}} in the {{w|Tarim Basin}}, between the 5th and 6th centuries AD", plain_categories = true, noreg = true, parent = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} mgj7zy8vfz4w232ffq8qyp7wsf0hcqd Module:labels/data/lang/kho 828 143715 234359 2026-05-17T06:09:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/kho]] ([[Module talk:labels/data/lang/kho|history]]) 234359 Scribunto text/plain local labels = {} labels["Old Khotanese"] = { region = "the {{w|Kingdom of Khotan}} in the {{w|Tarim Basin}}, between the 5th and 6th centuries AD", plain_categories = true, noreg = true, parent = true, } return require("Module:labels").finalize_data(labels) 85fcgp7vs4deqxtn1wvgwaf3xjadzrx Module talk:labels/data/lang/lij 829 143716 234360 2026-05-17T06:10:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/lij]] 234360 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89472248 || 2026-02-06T19:15:09Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/lij]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89469268 || 2026-02-06T10:54:28Z || Hazarasp || <nowiki>Created page with "local labels = {} labels["Old Ligurian"] = { prep = "from", region = "the 13th to 14th centuries", noreg = true, nolink = true, plain_categories = true, parent = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} a0e72i6taeoqk7kfva1kzi20qk0m8de Module:labels/data/lang/lij 828 143717 234361 2026-05-17T06:10:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/lij]] ([[Module talk:labels/data/lang/lij|history]]) 234361 Scribunto text/plain local labels = {} labels["Old Ligurian"] = { prep = "from", region = "the 13th to 14th centuries", noreg = true, nolink = true, plain_categories = true, parent = true, } return require("Module:labels").finalize_data(labels) 6tzpusihy0i8o72bhatv3hsy3icrtdf Module talk:labels/data/lang/liv 829 143718 234362 2026-05-17T06:10:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/liv]] 234362 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 88140206 || 2025-11-12T08:16:11Z || Surjection || <nowiki></nowiki> |---- | 88140204 || 2025-11-12T08:15:47Z || Surjection || <nowiki></nowiki> |---- | 88140189 || 2025-11-12T08:14:15Z || Surjection || <nowiki></nowiki> |---- | 88140183 || 2025-11-12T08:11:51Z || Surjection || <nowiki></nowiki> |---- | 88140182 || 2025-11-12T08:11:38Z || Surjection || <nowiki></nowiki> |---- | 88140148 || 2025-11-12T08:03:36Z || Surjection || <nowiki></nowiki> |---- | 86432226 || 2025-08-25T21:17:04Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/liv]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 86117290 || 2025-08-20T08:35:08Z || Surjection || <nowiki></nowiki> |---- | 86117239 || 2025-08-20T08:33:16Z || Surjection || <nowiki>Created page with "local labels = {} labels["Salaca"] = { aliases = {"Vidzeme"}, Wikipedia = true, regional_categories = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} r5ex3nz3ycv60ah6rmt34164lf9r7ou Module:labels/data/lang/liv 828 143719 234364 2026-05-17T06:10:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/liv]] ([[Module talk:labels/data/lang/liv|history]]) 234364 Scribunto text/plain local labels = {} labels["Salaca"] = { aliases = {"Vidzeme"}, Wikipedia = "Salaca Livonian", regional_categories = true, } -- Use this to tag Salaca Livonian senses under (Courland) forms that are not used in Salaca. -- (We normalize and centralize entries to the Courland form if one exists.) labels["Salaca-sense"] = { aliases = {"sense-Vidzeme"}, display = "Salaca", Wikipedia = "Salaca Livonian", } return require("Module:labels").finalize_data(labels) phdyyfytnawpvmr2qzyp8rkhag48e6r Module talk:labels/data/lang/nds 829 143720 234365 2026-05-17T06:10:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/nds]] 234365 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89591043 || 2026-02-16T01:06:10Z || Benwing2 || <nowiki>add DLS region info</nowiki> |---- | 89591008 || 2026-02-16T00:57:19Z || Benwing2 || <nowiki>add region for Westphalian</nowiki> |---- | 89590940 || 2026-02-16T00:49:39Z || Benwing2 || <nowiki>fix Northern Low German parents</nowiki> |---- | 89590830 || 2026-02-16T00:33:31Z || Benwing2 || <nowiki>add lect info and fix parents for GLG varieties</nowiki> |---- | 89579713 || 2026-02-15T05:40:15Z || -sche || <nowiki></nowiki> |---- | 89579667 || 2026-02-15T05:21:13Z || -sche || <nowiki></nowiki> |---- | 89579630 || 2026-02-15T05:06:26Z || -sche || <nowiki>like previous edit, add label for a label that entries are already using [sometimes misspelled]</nowiki> |---- | 89579591 || 2026-02-15T04:50:22Z || -sche || <nowiki></nowiki> |---- | 89558392 || 2026-02-14T03:00:10Z || Benwing2 || <nowiki>add alias 'East Frisian Low German' of East Frisian</nowiki> |---- | 89556538 || 2026-02-13T23:42:00Z || Benwing2 || <nowiki>add parent of Dutch Low Saxon varieties so it works with {{auto cat|lect=1}}</nowiki> |---- | 89535485 || 2026-02-11T22:17:25Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/nds]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89529113 || 2026-02-11T04:38:58Z || -sche || <nowiki>we have about a hundred entries in this variety, so... adding a code: Paderbornisch</nowiki> |---- | 89522042 || 2026-02-10T07:31:57Z || -sche || <nowiki>add Urkers</nowiki> |---- | 89509040 || 2026-02-09T02:51:48Z || -sche || <nowiki>if I wanna spell out the full form, let me</nowiki> |---- | 89508904 || 2026-02-09T02:10:04Z || -sche || <nowiki>as part of [[Wiktionary:Language treatment requests#Merge Dutch Low Saxon (nds-nl) and German Low German (nds-de) into Low German (nds)]], copy DLS and GLG labels here so they also work when lang = nds. also, for convenience, add DLS and GLG shortcuts for those used labels.</nowiki> |} s9fslb3bxxilj918lwz5v8m5tvjiac3 Module:labels/data/lang/nds 828 143721 234366 2026-05-17T06:10:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/nds]] ([[Module talk:labels/data/lang/nds|history]]) 234366 Scribunto text/plain local labels = {} -- German Low German varieties labels["Brazilian Pomeranian"] = { aliases = {"Eastern Pomeranian in Brazil", "East Pomeranian in Brazil", "Pomeranian in Brazil", "Brazilian Eastern Pomeranian"}, region = "the Eastern Pomeranian dialect in <country>", country = "Brazil", regional_categories = true, parent = "Eastern Pomeranian", } labels["East Frisian"] = { -- for East Frisian dialectal Low German, not Frisian language aliases = {"East Frisian Low Saxon", "East Frisian Low German", "Oostfreesch"}, Wikipedia = "East Frisian Low Saxon", region = "East Frisia", country = "Germany", regional_categories = true, parent = "German Low German", } labels["Eastern Pomeranian"] = { aliases = {"Eastern Pomeranian Low German", "East Pomeranian Low German", "Eastern Pomeranian LG", "East Pomeranian LG", "East Pomeranian"}, display = "Eastern Pomeranian", region = "the historical region of {{w|Eastern Pomerania}} (currently in [[Poland]]), as well as [[Brazil]] and the [[United States]]", country = "Germany,Poland,Brazil,the [[United States]]", regional_categories = true, parent = "Pomeranian", } labels["German Low German"] = { aliases = {"GLG"}, Wikipedia = {"Low German", "German Low German dialects"}, region = "<country>", country = "Germany,Poland,Brazil,the [[United States]]", plain_categories = true, parent = true, } labels["Hamburg"] = { aliases = {"Hamburgisch"}, display = "Hamburgisch", Wikipedia = "Hamburgisch dialect", regional_categories = true, parent = "Northern", } labels["Holstein"] = { aliases = {"Holsteinisch"}, Wikipedia = true, regional_categories = true, parent = "Northern", } labels["Low Prussian"] = { Wikipedia = "Low Prussian dialect", region = "{{w|East Prussia}}, {{w|West Prussia}}, and [[Danzig]]", plain_categories = true, parent = "German Low German", country = "Germany,Poland", } labels["Märkisch"] = { Wikipedia = "Brandenburgisch dialect", region = "märkisches Sauerland (former [[w:County of Mark|County of Mark]]), [[Germany]]", regional_categories = true, parent = "Westphalian", } labels["Mecklenburg"] = { aliases = {"Mecklenburg Low German", "Mecklenburgisch Low German", "Mecklenburgisch", "Mecklenburgish"}, display = "Mecklenburgisch", Wikipedia = "Mecklenburgisch dialect", regional_categories = true, parent = "German Low German", country = "Germany", } labels["Münsterland"] = { aliases = {"Münster", "Münsterländisch", "Mönsterlannsch"}, Wikipedia = true, regional_categories = true, parent = "Westphalian", } labels["Northern"] = { regional_categories = true, region = "the states of [[Lower Saxony]], [[Bremen]], [[Schleswig-Holstein]] and [[Hamburg]] in northern [[Germany]]", parent = "German Low German", country = "Germany", } labels["Oldenburg"] = { aliases = {"Bremen", "Breemsch", "Ollnborg", "Oldenborgsch"}, Wikipedia = true, regional_categories = true, parent = "Northern", } labels["Paderbornisch"] = { regional_categories = true, region = "the city of [[Paderborn]] in eastern [[North Rhine-Westphalia]], [[Germany]]", parent = "Westphalian", } labels["Pomeranian"] = { aliases = {"Pomeranian Low German", "Pomeranian LG"}, region = "Pomerania", Wikipedia = true, regional_categories = true, parent = "German Low German", country = "Germany,Poland", } labels["Schleswig"] = { aliases = {"Schleswigsch"}, Wikipedia = true, regional_categories = true, parent = "Northern", } labels["Vest Recklinghausen"] = { aliases = {"Vest Recklinghusen"}, Wikipedia = true, regional_categories = true, parent = "Westphalian", extinct = true, } labels["Western Pomeranian"] = { aliases = {"Western Pomeranian Low German", "West Pomeranian Low German", "Western Pomeranian LG", "West Pomeranian LG", "West Pomeranian"}, region = "{{w|Western Pomerania}}", regional_categories = true, parent = "Pomeranian Low German", country = "Germany", } labels["Westphalian"] = { aliases = {"Westphalia"}, Wikipedia = "Westphalian language", region = "Westphalia", plain_categories = true, -- FIXME, rename to 'Westphalian Low German' to distinguish from 'Westphalian German' parent = "German Low German", country = "Germany", } -- Dutch Low Saxon varieties labels["Achterhoeks"] = { aliases = {"Achterhooks", "Achterhoek"}, Wikipedia = true, region = "the {{w|Achterhoek}} in Eastern [[Netherlands]]", plain_categories = true, parent = "Dutch Low Saxon", } labels["Drents"] = { aliases = {"Drèents", "Drenthe"}, Wikipedia = true, region = "Drenthe", plain_categories = true, parent = "Dutch Low Saxon", } labels["Dutch Low Saxon"] = { aliases = {"DLS"}, Wikipedia = true, region = "<country>", country = "the [[Netherlands]]", plain_categories = true, parent = true, } labels["Gronings"] = { aliases = {"Grunnegs", "Grönnegs", "Groningen"}, Wikipedia = true, region = "Groningen", plain_categories = true, parent = "Dutch Low Saxon", } labels["Sallands"] = { aliases = {"Sallaans", "Salland"}, Wikipedia = true, region = "{{w|Salland}}", plain_categories = true, parent = "Dutch Low Saxon", } labels["Stellingwerfs"] = { aliases = {"Stellingwarfs", "Stellingwerf"}, Wikipedia = true, region = "{{w|Ooststellingwerf}} and {{w|Weststellingwerf}} in [[Friesland]]", plain_categories = true, parent = "Dutch Low Saxon", } labels["Twents"] = { aliases = {"Tweants", "Twente"}, Wikipedia = true, region = "{{w|Twente}}", plain_categories = true, parent = "Dutch Low Saxon", } labels["Urkers"] = { Wikipedia = "Urkers dialect", region = "the former island of [[Urk]], on the west coast of [[Flevoland]] in the [[Netherlands]]", plain_categories = "Urkers Low German", parent = "Dutch Low Saxon", } labels["Veluws"] = { aliases = {"Veluwe"}, Wikipedia = true, region = "the [[Veluwe]]", plain_categories = true, parent = "Dutch Low Saxon", } return require("Module:labels").finalize_data(labels) 6yqtd1a3kaabh2vvzrufv6mrcq2n9ti Module talk:labels/data/lang/ne 829 143722 234367 2026-05-17T06:11:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/ne]] 234367 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 90045451 || 2026-04-03T18:58:37Z || स्वर्गसुख || <nowiki></nowiki> |---- | 88542861 || 2025-12-11T15:40:47Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/ne]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 88389028 || 2025-12-05T16:22:24Z || स्वर्गसुख || <nowiki></nowiki> |---- | 88389006 || 2025-12-05T16:19:41Z || स्वर्गसुख || <nowiki>Created page with "local labels = {} labels["India"] = { aliases = {"India"}, Wikipedia = "India", regional_categories = "Indian", } labels["Assam"] = { Wikipedia = "Assam", regional_categories = "Assamese", } labels["Darjeeling"] = { Wikipedia = "Darjeeling", regional_categories = "Darjeeling", } return require("Module:labels").finalize_data(labels)"</nowiki> |} cio0ioj4nxd7zrm8o84srch6tsv079w Module:labels/data/lang/ne 828 143723 234368 2026-05-17T06:11:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/ne]] ([[Module talk:labels/data/lang/ne|history]]) 234368 Scribunto text/plain local labels = {} labels["Nepal"] = { aliases = {"Nepali"}, Wikipedia = "Nepal", regional_categories = "Nepalese", } labels["India"] = { aliases = {"Indian"}, Wikipedia = "India", regional_categories = "Indian", } labels["Assam"] = { Wikipedia = "Assam", regional_categories = "Assamese", } labels["Darjeeling"] = { Wikipedia = "Darjeeling", regional_categories = "Darjeeling", } return require("Module:labels").finalize_data(labels) qmm6d3sta7gq9o37ap6yirawaaefab4 Module talk:labels/data/lang/nv 829 143724 234369 2026-05-17T06:11:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/nv]] 234369 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89605940 || 2026-02-17T13:54:11Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/nv]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 87272566 || 2025-10-03T02:26:41Z || Vergencescattered || <nowiki></nowiki> |---- | 87271228 || 2025-10-02T20:28:59Z || Vergencescattered || <nowiki></nowiki> |---- | 87271210 || 2025-10-02T20:26:54Z || Vergencescattered || <nowiki>Created page with "local labels = {} labels["Western"] = { regional_categories = true, } labels["Eastern"] = { regional_categories = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} gbzq0d4wzubypxp3dkl599z0u5p3jbv Module:labels/data/lang/nv 828 143725 234370 2026-05-17T06:11:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/nv]] ([[Module talk:labels/data/lang/nv|history]]) 234370 Scribunto text/plain local labels = {} labels["Western"] = { regional_categories = true, } labels["Eastern"] = { regional_categories = true, } return require("Module:labels").finalize_data(labels) tw7hu2igf4mb7qmxroxqlw53jabfkmq Module talk:labels/data/lang/pms 829 143726 234371 2026-05-17T06:11:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/pms]] 234371 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89504859 || 2026-02-08T17:17:10Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/pms]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89479228 || 2026-02-07T06:32:49Z || Hazarasp || <nowiki>Created page with "local labels = {} labels["Old Piedmontese"] = { prep = "from", region = "the 12th to 17th centuries", noreg = true, nolink = true, plain_categories = true, parent = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} n5pm4fwgtbwp66agg92q69c0c246agk Module:labels/data/lang/pms 828 143727 234372 2026-05-17T06:11:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/pms]] ([[Module talk:labels/data/lang/pms|history]]) 234372 Scribunto text/plain local labels = {} labels["Old Piedmontese"] = { prep = "from", region = "the 12th to 17th centuries", noreg = true, nolink = true, plain_categories = true, parent = true, } return require("Module:labels").finalize_data(labels) m2u1jk3pnp5376aico7863aitmymvye Module talk:labels/data/lang/rup 829 143728 234373 2026-05-17T06:12:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/rup]] 234373 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89394194 || 2026-01-30T21:14:42Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/rup]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89368180 || 2026-01-28T03:36:22Z || Catonif || <nowiki>display_text → text_display</nowiki> |---- | 89368174 || 2026-01-28T03:33:51Z || Catonif || <nowiki>check if data present before concatenation</nowiki> |---- | 89368141 || 2026-01-28T03:25:18Z || Catonif || <nowiki>Created page with "local labels = {} local varieties = require("Module:dialect synonyms/rup").varieties local function recursive_make_label(node) for _, child in ipairs(node) do labels[child.name] = { display = child.display_text, aliases = child.aliases, Wikidata = "Q"..child.wikidata, -- Temporarily categorisation is off. -- parent = node.name, -- regional_categories = true, } recursive_make_label(child) end end recursive_make_label(varieties) return require..."</nowiki> |} 6xv3nz01k6c6vtzs3m7tkoogji8zkv6 Module:labels/data/lang/rup 828 143729 234374 2026-05-17T06:12:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/rup]] ([[Module talk:labels/data/lang/rup|history]]) 234374 Scribunto text/plain local labels = {} local varieties = require("Module:dialect synonyms/rup").varieties local function recursive_make_label(node) for _, child in ipairs(node) do labels[child.name] = { display = child.text_display, aliases = child.aliases, Wikidata = child.wikidata and ("Q"..child.wikidata), -- Temporarily categorisation is off. -- parent = node.name, -- regional_categories = true, } recursive_make_label(child) end end recursive_make_label(varieties) return require("Module:labels").finalize_data(labels) 19am74otj8znfmj8k2tqwobzgomh9pj Module talk:labels/data/lang/saj 829 143730 234375 2026-05-17T06:12:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/saj]] 234375 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 86432225 || 2025-08-25T21:17:04Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/saj]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 86099935 || 2025-08-20T01:37:39Z || Alexlin01 || <nowiki>Created page with "local labels = {} labels["Paḏisua"] = { aliases = {"P"}, regional_categories = true, } labels["Tala'i"] = { aliases = {"T"}, regional_categories = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} l9irinx5udkjalasinmpq24sfen3jlk Module:labels/data/lang/saj 828 143731 234376 2026-05-17T06:12:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/saj]] ([[Module talk:labels/data/lang/saj|history]]) 234376 Scribunto text/plain local labels = {} labels["Paḏisua"] = { aliases = {"P"}, regional_categories = true, } labels["Tala'i"] = { aliases = {"T"}, regional_categories = true, } return require("Module:labels").finalize_data(labels) 4wefay0irl7b93o1hhilyavvuuuzivg Module talk:labels/data/lang/sd 829 143732 234377 2026-05-17T06:12:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/sd]] 234377 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 87395424 || 2025-10-11T17:01:06Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/sd]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 87383327 || 2025-10-09T22:23:24Z || स्वर्गसुख || <nowiki></nowiki> |---- | 87381037 || 2025-10-09T17:37:53Z || स्वर्गसुख || <nowiki></nowiki> |---- | 87380984 || 2025-10-09T17:26:47Z || स्वर्गसुख || <nowiki></nowiki> |---- | 87380966 || 2025-10-09T17:23:48Z || स्वर्गसुख || <nowiki></nowiki> |---- | 87380943 || 2025-10-09T17:20:53Z || स्वर्गसुख || <nowiki>Created page with "local labels = {} labels["India"] = { aliases = {"Indian Sindhi"}, Wikipedia = "Sindhis in India", regional_categories = "Indian", } return require("Module:labels").finalize_data(labels)"</nowiki> |} niark03ja8dxfvnirniyuj0zrrqk3uc Module:labels/data/lang/sd 828 143733 234378 2026-05-17T06:12:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/sd]] ([[Module talk:labels/data/lang/sd|history]]) 234378 Scribunto text/plain local labels = {} labels["India"] = { aliases = {"Indian Sindhi", "Indian"}, Wikipedia = "Sindhis in India", regional_categories = "Indian", } labels["Pakistan"] = { aliases = {"Pakistani"}, Wikipedia = "Sindh", regional_categories = "Pakistani", } ------------------------------------Accents------------------------------------ labels["Modern India"] = { aliases = {"mi"}, Wikipedia = "Sindhis in India", } return require("Module:labels").finalize_data(labels) 7yjbcgvw0jnfwu5m7xayipkpo9vgdtu Module talk:labels/data/lang/sgh 829 143734 234379 2026-05-17T06:13:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/sgh]] 234379 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89325408 || 2026-01-23T19:18:18Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/sgh]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 86849682 || 2025-09-21T10:47:09Z || Rumsor || <nowiki></nowiki> |---- | 86849642 || 2025-09-21T10:39:56Z || Rumsor || <nowiki></nowiki> |---- | 86841894 || 2025-09-20T09:34:20Z || Rumsor || <nowiki></nowiki> |---- | 86841889 || 2025-09-20T09:33:00Z || Rumsor || <nowiki></nowiki> |---- | 86841884 || 2025-09-20T09:32:19Z || Rumsor || <nowiki></nowiki> |---- | 86841875 || 2025-09-20T09:26:02Z || Rumsor || <nowiki></nowiki> |---- | 86787527 || 2025-09-16T05:02:04Z || Rumsor || <nowiki></nowiki> |---- | 86787482 || 2025-09-16T04:54:11Z || Rumsor || <nowiki></nowiki> |---- | 86787476 || 2025-09-16T04:53:05Z || Rumsor || <nowiki>Created page with "local labels = {} labels["Rushani"] = { aliases = {"Rushani", "classical", "cls"}, Wikipedia = "Persian language#Classical Persian", plain_categories = true, def = "is one of the Pamir languages spoken in Afghanistan and Tajikistan", noreg = true, parent = "Shughni", } labels["Khufi"] = { Wikipedia = true, plain_categories = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} d0morzqb36gsnar3llu1reh6xloga7p Module:labels/data/lang/sgh 828 143735 234380 2026-05-17T06:13:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/sgh]] ([[Module talk:labels/data/lang/sgh|history]]) 234380 Scribunto text/plain local labels = {} labels["Bajuvi"] = { aliases = {"Bajuv", "Badzhuv", "Badzhuvi"}, regional_categories = true, country = "Tajikistan", parent = "Shughni", addl = "A dialect of the Shughni language.", } labels["Barvozi"] = { aliases = {"Barvoz"}, regional_categories = true, country = "Tajikistan", parent = "Shughni", addl = "A dialect of the Shughni language.", } labels["Shakhdari"] = { aliases = {"Shahdara"}, regional_categories = true, country = "Tajikistan", parent = "Shughni", addl = "A dialect of the Shughni language.", } labels["Rushani"] = { aliases = {"Roshani", "Rushan"}, Wikipedia = "Rushani language", regional_categories = true, region = "the [[Rushan District]] in [[Gorno-Badakhshan]] ([[Tajikistan]]) and the northern part of the [[Shighnan District]] in [[Badakhshan Province]] ([[Afghanistan]])", country = {"Tajikistan", "Afghanistan"}, parent = "Shughni", addl = "A dialect of the Shughni language, sometimes considered a separate language.", } labels["Shujandi"] = { aliases = {"Shudzhandi", "Shudzhand", "Shujand"}, Wikipedia = true, regional_categories = true, country = "Tajikistan", parent = "Rushani", addl = "A subdialect of the Rushani dialect of Shughni.", } labels["Barushani"] = { aliases = {"Barushan"}, regional_categories = true, region = "the [[Barushan]] area in the [[Rushan District]]", country = "Tajikistan", parent = "Rushani", addl = "A subdialect of the Rushani dialect of Shughni.", } labels["Derzudi"] = { regional_categories = true, country = "Tajikistan", parent = "Rushani", addl = "A subdialect of the Rushani dialect of Shughni.", } labels["Khufi"] = { aliases = {"Khuf"}, Wikipedia = "Khufi language", regional_categories = true, region = "the [[Khuf]] valley in [[Rushon District]]", country = "Tajikistan", parent = "Shughni", addl = "A dialect of the Shughni language, sometimes considered a separate language.", } labels["Bartangi"] = { aliases = {"Bartang"}, Wikipedia = "Bartangi language", regional_categories = true, country = "Tajikistan", parent = "Shughni", addl = "A dialect of the Shughni language, sometimes considered a separate language.", } labels["Ravmedi"] = { aliases = {"Ravmed"}, regional_categories = true, country = "Tajikistan", parent = "Bartangi", addl = "A subdialect of the Bartangi dialect of Shughni.", } labels["Siponji"] = { aliases = {"Sipondzh", "Siponj"}, regional_categories = true, region = "the [[Siponj]] area", country = "Tajikistan", parent = "Bartangi", addl = "A subdialect of the Bartangi dialect of Shughni.", } labels["Basidi"] = { aliases = {"Basid"}, regional_categories = true, country = "Tajikistan", parent = "Bartangi", addl = "A subdialect of the Bartangi dialect of Shughni.", } labels["Oroshori"] = { aliases = {"Oroshor", "Roshorvi"}, Wikipedia = true, regional_categories = true, region = "the [[Oroshor]] area in [[Roshan District]]", country = "Tajikistan", parent = "Shughni", addl = "A dialect of the Shughni language.", } return require("Module:labels").finalize_data(labels) qyonz1fbtxg078tggtwltr6co9krf50 Module talk:labels/data/lang/shi 829 143736 234381 2026-05-17T06:13:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/shi]] 234381 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 85854465 || 2025-08-10T16:17:13Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/shi]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 85836838 || 2025-08-09T00:57:27Z || Fenakhay || <nowiki></nowiki> |---- | 85836822 || 2025-08-09T00:52:50Z || Fenakhay || <nowiki></nowiki> |---- | 85836808 || 2025-08-09T00:50:17Z || Fenakhay || <nowiki>Created page with "local labels = {} labels["Medieval Tashelhit"] = { aliases = {"shi-med", "Medieval"}, regional_categories = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} 0x6ycmolu2p15ct8d02f0ed7daocjto Module:labels/data/lang/shi 828 143737 234382 2026-05-17T06:13:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/shi]] ([[Module talk:labels/data/lang/shi|history]]) 234382 Scribunto text/plain local labels = {} labels["Medieval"] = { aliases = {"shi-med", "Medieval Tashelhit"}, display = "Medieval Tashelhit", regional_categories = true, } return require("Module:labels").finalize_data(labels) g4ddk4oknkg8mhtcb1kyupr8souoasn Module talk:labels/data/lang/sjs 829 143738 234383 2026-05-17T06:13:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/sjs]] 234383 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89602560 || 2026-02-17T00:21:42Z || Lankdadank || <nowiki></nowiki> |---- | 89600465 || 2026-02-16T21:05:20Z || Benwing2 || <nowiki>add region descriptions for varieties</nowiki> |---- | 89587093 || 2026-02-15T21:03:54Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/sjs]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 88680342 || 2025-12-22T19:36:03Z || Lankdadank || <nowiki></nowiki> |---- | 88200997 || 2025-11-17T22:23:06Z || Benwing2 || <nowiki>rename to lowercase 'Senhaja de Srair' per [[Wiktionary:Language_treatment_requests#Renaming_Senhaja_De_Srair_(sjs)]]</nowiki> |---- | 87507457 || 2025-10-21T22:08:22Z || Lankdadank || <nowiki>Created page with "local labels = {} labels["Western Senhaja De Srair"] = { aliases = {"Western"}, Wikipedia = true, regional_categories = "Western", parent = true, } labels["Ketama"] = { Wikipedia = true, regional_categories = "Ketama", parent = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} i4wzbo1s84324kbqxhsumth1x2l2rt8 Module:labels/data/lang/sjs 828 143739 234384 2026-05-17T06:13:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/sjs]] ([[Module talk:labels/data/lang/sjs|history]]) 234384 Scribunto text/plain local labels = {} labels["Western"] = { region = "the northwestern [[Rif]] mountains of [[Morocco]], primarily around {{w|Ketama, Morocco|Ketama}} and {{w|Taghzout, Morocco|Taghzout}} in {{w|Al Hoceima Province}}", aliases = {"Western Senhaja de Srair"}, Wikipedia = {"Sanhaja de Srair#Dialects"}, regional_categories = "Western", parent = true, } labels["Ketama"] = { region = "{{w|Ketama, Morocco}}", Wikipedia = {"Sanhaja de Srair#Dialects"}, regional_categories = "Ketama", parent = "Western", } return require("Module:labels").finalize_data(labels) 486u63fs1s74jgsqn1ovbx20rso0z5i Module talk:labels/data/lang/taa 829 143740 234385 2026-05-17T06:14:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/taa]] 234385 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89131457 || 2026-01-09T19:17:08Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/taa]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89126674 || 2026-01-09T04:39:44Z || Vergencescattered || <nowiki></nowiki> |---- | 88643270 || 2025-12-19T06:43:46Z || Vergencescattered || <nowiki></nowiki> |---- | 88564569 || 2025-12-13T23:51:36Z || Vergencescattered || <nowiki></nowiki> |---- | 88557993 || 2025-12-13T07:42:57Z || Vergencescattered || <nowiki></nowiki> |---- | 88557990 || 2025-12-13T07:42:20Z || Vergencescattered || <nowiki></nowiki> |---- | 88557986 || 2025-12-13T07:41:49Z || Vergencescattered || <nowiki></nowiki> |---- | 88556935 || 2025-12-13T04:50:05Z || Vergencescattered || <nowiki>Created page with "local labels = {} labels["Minto-Nenana"] = { aliases = {"MN"}, regional_categories = true, } labels["Chena"] = { aliases = {"C"}, regional_categories = true, } labels["Toklat-Bearpaw"] = { aliases = {"T"}, regional_categories = true } return require("Module:labels").finalize_data(labels)"</nowiki> |} ig7gm0pqk0dqqcrhavqfbkmnfp2awgq Module:labels/data/lang/taa 828 143741 234386 2026-05-17T06:14:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/taa]] ([[Module talk:labels/data/lang/taa|history]]) 234386 Scribunto text/plain local labels = {} labels["Minto-Nenana"] = { regional_categories = true, aliases = {"MN"}, } labels["Minto"] = { regional_categories = true, } labels["Nenana"] = { regional_categories = true, } labels["Chena"] = { regional_categories = true, } labels["Toklat-Bearpaw"] = { regional_categories = true, aliases = {"TB"}, } return require("Module:labels").finalize_data(labels) ajdjcz9x1p6dfzy2x12icm8e80cvw5z Module talk:labels/data/lang/tay 829 143742 234387 2026-05-17T06:14:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/tay]] 234387 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89598486 || 2026-02-16T18:12:16Z || Benwing2 || <nowiki>add category info</nowiki> |---- | 88542862 || 2025-12-11T15:40:49Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/tay]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 88400682 || 2025-12-06T12:44:13Z || Chihunglu83 || <nowiki></nowiki> |---- | 88400660 || 2025-12-06T12:40:24Z || Chihunglu83 || <nowiki>no English wp yet</nowiki> |---- | 88400650 || 2025-12-06T12:39:19Z || Chihunglu83 || <nowiki>Created page with "local labels = {} labels["Squliq"] = { display = "Squliq", regional_categories = "Squliq", } labels["C’uli’"]= { Wikipedia = "C’uli", regional_categories = "C’uli", } return require("Module:labels").finalize_data(labels)"</nowiki> |} qypsly3m5hq63tp9d2gsztm2pph5uvm Module:labels/data/lang/tay 828 143743 234388 2026-05-17T06:14:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/tay]] ([[Module talk:labels/data/lang/tay|history]]) 234388 Scribunto text/plain local labels = {} labels["Squliq"] = { region = "the {{w|Squliq}} dialect, which is the prestige dialect and most widespread", regional_categories = true, parent = true, } labels["C’uli’"]= { region = "the {{w|C’uli’}} or ''Ts’ole’'' dialect", regional_categories = true, parent = true, } return require("Module:labels").finalize_data(labels) jj1icit5qvy74wyjo0xaatzuxw47id5 Module talk:labels/data/lang/tuw-sol 829 143744 234389 2026-05-17T06:14:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/tuw-sol]] 234389 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89605945 || 2026-02-17T13:54:13Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/tuw-sol]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89102208 || 2026-01-06T11:22:08Z || LibCae || <nowiki></nowiki> |---- | 89052361 || 2026-01-04T14:03:41Z || LibCae || <nowiki>Created page with "local labels = {} labels["Dular"] = { aliases = {"Dolar"}, Wikipedia = "zh:杜拉尔鄂温克民族乡" } return require("Module:labels").finalize_data(labels)"</nowiki> |} 5ukgzxyhbo9azskxv6pk6tfbakl2xb0 Module:labels/data/lang/tuw-sol 828 143745 234390 2026-05-17T06:14:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/tuw-sol]] ([[Module talk:labels/data/lang/tuw-sol|history]]) 234390 Scribunto text/plain local labels = {} labels["Hui"] = { Wikipedia = "zh:辉河", } labels["Dular"] = { Wikipedia = "zh:杜拉尔鄂温克民族乡", } return require("Module:labels").finalize_data(labels) 6k8umuivni7r00tkfbtzgbeme7wu9om Module talk:labels/data/lang/tyv 829 143746 234391 2026-05-17T06:15:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/tyv]] 234391 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89605937 || 2026-02-17T13:54:10Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/tyv]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 87255706 || 2025-10-01T06:40:07Z || LibCae || <nowiki></nowiki> |---- | 87255701 || 2025-10-01T06:38:24Z || LibCae || <nowiki></nowiki> |---- | 87255697 || 2025-10-01T06:36:53Z || LibCae || <nowiki>Created page with "local labels = {} labels["Altay Prefecture"] = { aliases = {"Altay", "China"}, Wikipedia = {"Tuvan language#Classification"} } labels["Tsengel Sum"] = { aliases = {"Tsengel", "Mongolia"}, Wikipedia = {"Tuvan language#Classification"} } labels["Republic of Tyva"] = { aliases = {"Tuva", "Tyva", "Russia"}, Wikipedia = {"Tuvan language#Classification"} } return require("Module:labels").finalize_data(labels)"</nowiki> |} 053oofklixj7y015v7ol0ijobomhmdy Module:labels/data/lang/tyv 828 143747 234392 2026-05-17T06:15:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/tyv]] ([[Module talk:labels/data/lang/tyv|history]]) 234392 Scribunto text/plain local labels = {} labels["Altay Prefecture"] = { aliases = {"Altay", "China"}, Wikipedia = "Tuvan language" } labels["Tsengel Sum"] = { aliases = {"Tsengel", "Mongolia"}, Wikipedia = "Tuvan language" } labels["Republic of Tyva"] = { aliases = {"Tuva", "Tyva", "Russia"}, Wikipedia = "Tuvan language" } return require("Module:labels").finalize_data(labels) rvv30py918sb9wwt587ixil4hcx688h Module talk:labels/data/lang/vo 829 143748 234393 2026-05-17T06:15:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/vo]] 234393 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89587096 || 2026-02-15T21:03:54Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/vo]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89562937 || 2026-02-14T11:27:16Z || Hitsuji777 || <nowiki></nowiki> |---- | 89562516 || 2026-02-14T09:44:16Z || Hitsuji777 || <nowiki></nowiki> |---- | 89562481 || 2026-02-14T09:34:09Z || Hitsuji777 || <nowiki>General improvements</nowiki> |---- | 89561290 || 2026-02-14T04:48:44Z || Kiril kovachev || <nowiki>Create label module</nowiki> |} 8v0awfj06e142k9zvzvqpliw33qbsqa Module:labels/data/lang/vo 828 143749 234394 2026-05-17T06:15:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/vo]] ([[Module talk:labels/data/lang/vo|history]]) 234394 Scribunto text/plain local labels = {} labels["Rigik"] = { aliases = {"Volapük Rigik", "Classical", "Classical Volapük", "pre-1931", "R", "VR"}, Wikipedia = "Volapük Rigik", plain_categories = "Volapük Rigik", def = "{{w|Volapük Rigik}}, {{w|Johann Martin Schleyer}}'s original form of the language used until {{w|Arie de Jong}}'s 1931 reform ({{w|Volapük Nulik}})", parent = true, noreg = true, } labels["Nulik"] = { aliases = {"Volapük Nulik", "New", "New Volapük", "post-1931", "N", "VN"}, Wikipedia = "Volapük Nulik", plain_categories = "Volapük Nulik", def = "{{w|Volapük Nulik}}, {{w|Arie de Jong}}'s 1931 reform of Volapük", parent = true, noreg = true, } return require("Module:labels").finalize_data(labels) o6oy3c9830ilq2x2epqfah1ztp7drtl Module talk:labels/data/lang/vot 829 143750 234395 2026-05-17T06:15:47Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/vot]] 234395 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89676208 || 2026-02-23T19:54:17Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/vot]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 89672495 || 2026-02-23T10:06:25Z || Surjection || <nowiki></nowiki> |---- | 89672494 || 2026-02-23T10:06:01Z || Surjection || <nowiki>Created page with "local labels = {} labels["Central Votic"] = { Wiktionary = "Appendix:Votic dialects", } labels["Eastern Votic"] = { Wiktionary = "Appendix:Votic dialects", } return require("Module:labels").finalize_data(labels)"</nowiki> |} jou628hu3nnby8hynuzfzprgmprgr6n Module:labels/data/lang/vot 828 143751 234396 2026-05-17T06:15:57Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/vot]] ([[Module talk:labels/data/lang/vot|history]]) 234396 Scribunto text/plain local labels = {} labels["Central Votic"] = { Wiktionary = "Appendix:Votic dialects", aliases = {"Central"}, } labels["Eastern Votic"] = { Wiktionary = "Appendix:Votic dialects", aliases = {"Eastern"}, } return require("Module:labels").finalize_data(labels) 2yje6hbni1bjw96nreveajgdo9hf243 Module talk:labels/data/lang/yrk-tun 829 143752 234397 2026-05-17T06:16:07Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/yrk-tun]] 234397 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 89315972 || 2026-01-22T22:04:24Z || Benwing2 || <nowiki>Benwing2 moved page [[Module:labels/data/lang/yrk]] to [[Module:labels/data/lang/yrk-tun]] without leaving a redirect: rename Nenets codes: yrk -> yrk-tun, syd-fne -> yrk-for per [[Wiktionary:Language_treatment_requests#add_families_"Enets_languages",_"Nenets_languages"_and_"Komi_languages"]]</nowiki> |---- | 79050525 || 2024-04-27T09:31:42Z || SurjectionBot || <nowiki>Protected "[[Module:labels/data/lang/yrk]]": (bot) automatically protect highly visible templates/modules (reference score: 1026+ >= 1000) ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 78433418 || 2024-03-11T08:22:14Z || WingerBot || <nowiki>clean categories in label module; misc fixes (manually assisted only in final review, mostly done automatically)</nowiki> |---- | 76596590 || 2023-11-07T17:16:33Z || Thadh || <nowiki></nowiki> |---- | 76596569 || 2023-11-07T17:13:36Z || Thadh || <nowiki>Created page with "local labels = {} local function alias(a, b) for _, v in ipairs(b) do labels[v] = a end end -- allows aliases to be entered as a list labels["Eastern Nenets"] = { plain_categories = "Eastern Nenets", } labels["Western Nenets"] = { plain_categories = "Western Nenets", } return labels"</nowiki> |} 17kq8tpiylkubchf9d80zc8amf55von Module:labels/data/lang/yrk-tun 828 143753 234398 2026-05-17T06:16:17Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/yrk-tun]] ([[Module talk:labels/data/lang/yrk-tun|history]]) 234398 Scribunto text/plain local labels = {} labels["Eastern Nenets"] = { plain_categories = true, } labels["Western Nenets"] = { plain_categories = true, } return require("Module:labels").finalize_data(labels) 9e25h2ns7m23l4fst53lhvyae9tqc5d Module talk:labels/data/lang/zls-chs 829 143754 234399 2026-05-17T06:16:27Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/zls-chs]] 234399 wikitext text/x-wiki {| class="wikitable" ! oldid || date/time || username || edit summary |---- | 88122245 || 2025-11-10T04:16:35Z || Chuck Entz || <nowiki></nowiki> |---- | 86802663 || 2025-09-17T17:34:55Z || Surjection || <nowiki>Protected "[[Module:labels/data/lang/zls-chs]]": Highly visible template/module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</nowiki> |---- | 86771009 || 2025-09-14T09:30:57Z || AshFox || <nowiki></nowiki> |---- | 86770997 || 2025-09-14T09:26:44Z || AshFox || <nowiki></nowiki> |---- | 86770978 || 2025-09-14T09:23:57Z || AshFox || <nowiki></nowiki> |---- | 86770931 || 2025-09-14T09:13:56Z || AshFox || <nowiki></nowiki> |---- | 86770726 || 2025-09-14T08:31:43Z || Chihunglu83 || <nowiki></nowiki> |---- | 86770660 || 2025-09-14T08:18:54Z || Chihunglu83 || <nowiki></nowiki> |---- | 86770551 || 2025-09-14T08:06:31Z || Fenakhay || <nowiki></nowiki> |---- | 86770132 || 2025-09-14T06:22:00Z || AshFox || <nowiki></nowiki> |---- | 86770090 || 2025-09-14T06:14:41Z || AshFox || <nowiki></nowiki> |---- | 86770050 || 2025-09-14T06:07:27Z || Chihunglu83 || <nowiki></nowiki> |---- | 86770036 || 2025-09-14T06:05:43Z || AshFox || <nowiki></nowiki> |---- | 86770016 || 2025-09-14T06:01:03Z || AshFox || <nowiki></nowiki> |---- | 86769950 || 2025-09-14T05:49:16Z || AshFox || <nowiki></nowiki> |---- | 86769911 || 2025-09-14T05:39:42Z || AshFox || <nowiki></nowiki> |---- | 86769898 || 2025-09-14T05:36:20Z || AshFox || <nowiki></nowiki> |---- | 86769858 || 2025-09-14T05:29:48Z || AshFox || <nowiki></nowiki> |---- | 86769848 || 2025-09-14T05:27:57Z || AshFox || <nowiki></nowiki> |---- | 86769829 || 2025-09-14T05:24:32Z || AshFox || <nowiki></nowiki> |---- | 86769809 || 2025-09-14T05:19:11Z || AshFox || <nowiki>Created page with "local labels = {} labels["Russian"] = { region = "{{w|Russia}}", aliases = {"zls-chs-ru", "ru"}, Wikipedia = "Northern Ukrainian dialects", regional_categories = true, parent = true, } labels["Ukrainian"] = { region = "{{w|Ukraine}}", aliases = {"zls-chs-uk", "uk"}, Wikipedia = "Northern Ukrainian dialects", regional_categories = true, parent = true, } return require("Module:labels").finalize_data(labels)"</nowiki> |} glq2yl0ymoq40h8gndgf1iz0u8th6gn Module:labels/data/lang/zls-chs 828 143755 234400 2026-05-17T06:16:37Z Pinthura 2424 Moved page from [[en:Module:labels/data/lang/zls-chs]] ([[Module talk:labels/data/lang/zls-chs|history]]) 234400 Scribunto text/plain local labels = {} labels["Old East Slavic"] = { region = "{{w|Kievan Rus'}}", aliases = {"zls-chs-orv", "East Slavic", "Old Russian", "Old Kiev", "Old Russian recension"}, parent = true, plain_categories = "Old East Slavic Church Slavonic" } labels["Russian"] = { region = "{{w|Russia}}", aliases = {"zls-chs-ru", "Synodal", "New Moscow", "Old Moscow", "Russian recension"}, display = "Russian Church Slavonic", Wikipedia = "Church Slavonic#Russian_(Synodal)_recension", parent = true, plain_categories = "Russian Church Slavonic" } labels["Ukrainian"] = { region = "{{w|Ukraine}}", aliases = {"zls-chs-uk", "Rusyn", "Ruthenian", "Kiev", "Ukrainian recension"}, display = "Ukrainian Church Slavonic", Wikipedia = "Church Slavonic#Ukrainian_and_Rusyn_recension", parent = true, plain_categories = "Ukrainian Church Slavonic" } labels["Czech"] = { region = "{{w|Czechia}}", aliases = {"zls-chs-cs", "Czech recension"}, display = "Czech Church Slavonic", Wikipedia = "Church Slavonic#Czech_recension", parent = true, plain_categories = "Czech Church Slavonic" } labels["Romanian"] = { region = "{{w|Romania}}", aliases = {"zls-chs-ro", "Romanian recension"}, parent = true, plain_categories = "Romanian Church Slavonic" } labels["Bulgarian"] = { region = "{{w|Bulgaria}}", aliases = {"zls-chs-bg", "Bulgarian recension"}, parent = true, plain_categories = "Bulgarian Church Slavonic" } labels["Macedonian"] = { region = "{{w|Macedonia}}", aliases = {"zls-chs-mk", "Macedonian recension"}, parent = true, plain_categories = "Macedonian Church Slavonic" } labels["Croatian"] = { region = "{{w|Croatia}}", aliases = {"zls-chs-cr", "Croatian recension"}, display = "Croatian Church Slavonic", Wikipedia = "Church Slavonic#Croatian_recension", parent = true, plain_categories = "Croatian Church Slavonic" } labels["Serbian"] = { region = "{{w|Serbia}}", aliases = {"zls-chs-sr", "Serbian recension"}, display = "Serbian Church Slavonic", Wikipedia = "Church Slavonic#Serbian_recension", parent = true, plain_categories = "Serbian Church Slavonic" } return require("Module:labels").finalize_data(labels) pxvo49rjdn8isv2u8r22kxrcgh6gvtf