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) .. "''': "
elseif args.ann then
anntext = "'''" .. args.ann .. "''': "
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