ವಿಕಿಕೋಟ್ knwikiquote https://kn.wikiquote.org/wiki/%E0%B2%AE%E0%B3%81%E0%B2%96%E0%B3%8D%E0%B2%AF_%E0%B2%AA%E0%B3%81%E0%B2%9F MediaWiki 1.47.0-wmf.19 first-letter ಮೀಡಿಯ ವಿಶೇಷ ಚರ್ಚೆಪುಟ ಸದಸ್ಯ ಸದಸ್ಯರ ಚರ್ಚೆಪುಟ ವಿಕಿಕೋಟ್ ವಿಕಿಕೋಟ್ ಚರ್ಚೆಪುಟ ಚಿತ್ರ ಚಿತ್ರ ಚರ್ಚೆಪುಟ ಮೀಡಿಯವಿಕಿ ಮೀಡಿಯವಿಕಿ ಚರ್ಚೆಪುಟ ಟೆಂಪ್ಲೇಟು ಟೆಂಪ್ಲೇಟು ಚರ್ಚೆಪುಟ ಸಹಾಯ ಸಹಾಯ ಚರ್ಚೆಪುಟ ವರ್ಗ ವರ್ಗ ಚರ್ಚೆಪುಟ TimedText TimedText talk ಮಾಡ್ಯೂಲ್ ಮಾಡ್ಯೂಲ್ ಚರ್ಚೆಪುಟ Event Event talk ಮೀಡಿಯವಿಕಿ:Gadgets-definition 8 3015 15787 9659 2026-09-13T13:22:14Z A826 1864 15787 wikitext text/x-wiki == ಸಂಪಾದನೆ == * HotCat[ResourceLoader|rights=edit]|HotCat.js * DefaultSummary[ResourceLoader|default]|DefaultSummary.js 4wjtv668ry4bz85c0gnohesxoqubgeh 15789 15787 2026-09-13T13:28:11Z A826 1864 #she-said 15789 wikitext text/x-wiki * HotCat[ResourceLoader|rights=edit]|HotCat.js * DefaultSummary[ResourceLoader|default]|DefaultSummary.js jaczqoubocj4xf1y3p682qifwfsdphw 15791 15789 2026-09-13T22:32:53Z A826 1864 #SheSaid 15791 wikitext text/x-wiki * HotCat[rights=edit]|HotCat.js * DefaultSummary[default]|DefaultSummary.js o3ukqsku1w4334636v0os48ivqk8pdz ಮಾಡ್ಯೂಲ್:SheSaidKannadaWikiquote 828 4496 15792 15683 2026-09-14T11:51:31Z A826 1864 15792 Scribunto text/plain --[[ Module:SheSaidKannadaWikiquote Usage: {{#invoke:SheSaidKannadaWikiquote|table}} This module generates language availability tables for SheSaid 2026 campaign on Kannada Wikiquote. It displays articles with their availability on English and Kannada Wikiquote/Wikipedia. ]] local p = {} -- Define the languages to display in the table local languages = { {code = 'en', name = 'English', wiki = 'enwikiquote'}, {code = 'kn', name = 'ಕನ್ನಡ', wiki = 'knwikiquote'} } -- Define the topics with their Wikidata QIDs and categories -- Format: {title, qid, category, en_sitelink, kn_sitelink} -- Note: Use double quotes for strings with apostrophes to avoid escaping issues local topics = { -- Women from India {"Women in India", "Q639712", "Women from India", "Women in India", ""}, {"Flavia Agnes", "Q16058227", "Women from India", "Flavia Agnes", ""}, {"Zoya Akhtar", "Q3070885", "Women from India", "Zoya Akhtar", ""}, {"Rana Ayyub", "Q20630532", "Women from India", "Rana Ayyub", ""}, {"Balasaraswati", "Q3522332", "Women from India", "Balasaraswati", ""}, {"Begum Hazrat Mahal", "Q717960", "Women from India", "Begum Hazrat Mahal", ""}, {"Varsha Bhosle", "Q2216799", "Women from India", "Varsha Bhosle", ""}, {"Dorothy Bonarjee", "Q94705848", "Women from India", "Dorothy Bonarjee", ""}, {"Tiffany Brar", "Q20090336", "Women from India", "Tiffany Brar", ""}, {"Urvashi Butalia", "Q2119956", "Women from India", "Urvashi Butalia", "ಉರ್ವಶಿ ಬುಟಾಲಿಯಾ"}, {"Irom Sharmila Chanu", "Q467322", "Women from India", "Irom Sharmila Chanu", ""}, {"Kalpana Chawla", "Q237879", "Women from India", "Kalpana Chawla", ""}, {"Kittur Chennamma", "Q3536979", "Women from India", "Kittur Chennamma", ""}, {"Child marriage among Muslims in Kerala", "Q17183499", "Women from India", "Child marriage among Muslims in Kerala", ""}, {"Tina Dabi", "Q107122534", "Women from India", "Tina Dabi", ""}, {"Geetanjali Shree", "Q539835", "Women from India", "Geetanjali Shree", ""}, {"Divya S. Iyer", "Q105988314", "Women from India", "Divya S. Iyer", ""}, {"Smita Nair Jain", "Q18126169", "Women from India", "Smita Nair Jain", ""}, {"Janabai", "Q4215741", "Women from India", "Janabai", ""}, {"Ekta Kapoor", "Q3630005", "Women from India", "Ekta Kapoor", ""}, {"Anandamoyi Ma", "Q433594", "Women from India", "Anandamoyi Ma", ""}, {"Swati Maliwal", "Q57163890", "Women from India", "Swati Maliwal", ""}, {"Bhavitha Mandava", "Q137647653", "Women from India", "Bhavitha Mandava", ""}, {"Kiran Mazumdar-Shaw", "Q467215", "Women from India", "Kiran Mazumdar-Shaw", ""}, {"Sania Mirza", "Q132147", "Women from India", "Sania Mirza", "ಸಾನಿಯಾ ಮಿರ್ಜಾ"}, {"Sarojini Naidu", "Q250165", "Women from India", "Sarojini Naidu", ""}, {"Naiki Devi", "Q54811284", "Women from India", "Naiki Devi", ""}, {"Nimrat Kaur", "Q15611257", "Women from India", "Nimrat Kaur", ""}, {"Indra Nooyi", "Q264913", "Women from India", "Indra Nooyi", "ಇಂದ್ರಾ ನೂಯಿ"}, {"Nur Jahan", "Q541530", "Women from India", "Nur Jahan", ""}, {"Onake Obavva", "Q11025877", "Women from India", "Onake Obavva", "ಒನಕೆ ಓಬವ್ವ"}, {"Neethi Padmanabhan", "Q96804094", "Women from India", "Neethi Padmanabhan", ""}, {"Sai Paranjpye", "Q12455087", "Women from India", "Sai Paranjpye", ""}, {"Radhika Aggarwal", "Q26703254", "Women from India", "Radhika Aggarwal", ""}, {"Kiran Rao", "Q6414821", "Women from India", "Kiran Rao", ""}, {"Shereen Ratnagar", "Q7494812", "Women from India", "Shereen Ratnagar", ""}, {"Rudrama Devi", "Q3523666", "Women from India", "Rudrama Devi", ""}, {"Monisha Shah", "Q108801254", "Women from India", "Monisha Shah", ""}, {"Vandana Shiva", "Q235451", "Women from India", "Vandana Shiva", ""}, {"Tavleen Singh", "Q7689144", "Women from India", "Tavleen Singh", ""}, {"Dipa Sinha", "Q98115731", "Women from India", "Dipa Sinha", ""}, {"Smriti Mandhana", "Q16224802", "Women from India", "Smriti Mandhana", "ಸ್ಮೃತಿ ಮಂದಾನ"}, {"Sushmita Banerjee", "Q14832675", "Women from India", "Sushmita Banerjee", ""}, {"Padmini Swaminathan", "Q22958099", "Women from India", "Padmini Swaminathan", ""}, {"Uda Devi", "Q12416288", "Women from India", "Uda Devi", ""}, {"Vanitha Narayanan", "Q53865532", "Women from India", "Vanitha Narayanan", ""}, -- Women academics from India {"Nyla Ali Khan", "Q16214027", "Women academics from India", "Nyla Ali Khan", ""}, {"Madhu Kishwar", "Q6727427", "Women academics from India", "Madhu Kishwar", ""}, {"Mridu Rai", "Q60605908", "Women academics from India", "Mridu Rai", ""}, {"Tanika Sarkar", "Q7683301", "Women academics from India", "Tanika Sarkar", ""}, {"Romila Thapar", "Q2744161", "Women academics from India", "Romila Thapar", ""}, -- Women activists from India {"Rukmini Devi Arundale", "Q465021", "Women activists from India", "Rukmini Devi Arundale", ""}, {"Abadi Bano Begum", "Q42896051", "Women activists from India", "Abadi Bano Begum", "ಅಬಾದಿ ಬಾನೋ ಬೇಗಂ"}, {"Ela Bhatt", "Q467336", "Women activists from India", "Ela Bhatt", "ಇಳಾ ಭಟ್"}, {"Indira Jaising", "Q6025018", "Women activists from India", "Indira Jaising", "ಇಂದಿರಾ ಜೈಸಿಂಗ್"}, {"Pupul Jayakar", "Q7260760", "Women activists from India", "Pupul Jayakar", ""}, {"Kiruba Munusamy", "Q101873542", "Women activists from India", "Kiruba Munusamy", ""}, {"Banu Mushtaq", "Q15719655", "Women activists from India", "Banu Mushtaq", ""}, {"Sunita Narain", "Q2722841", "Women activists from India", "Sunita Narain", ""}, {"Cornelia Sorabji", "Q2643152", "Women activists from India", "Cornelia Sorabji", ""}, -- Actresses from India {"Kiara Advani", "Q16762720", "Actresses from India", "Kiara Advani", ""}, {"Kajal Aggarwal", "Q224962", "Actresses from India", "Kajal Aggarwal", ""}, {"Andrea Jeremiah", "Q3523373", "Actresses from India", "Andrea Jeremiah", ""}, {"Sara Arjun", "Q7421553", "Actresses from India", "Sara Arjun", ""}, {"Vidya Balan", "Q159166", "Actresses from India", "Vidya Balan", ""}, {"Rachna Banerjee", "Q5223491", "Actresses from India", "Rachna Banerjee", ""}, {"Mukta Barve", "Q6933592", "Actresses from India", "Mukta Barve", ""}, {"Swara Bhasker", "Q7653831", "Actresses from India", "Swara Bhasker", ""}, {"Rani Chatterjee", "Q16201930", "Actresses from India", "Rani Chatterjee", ""}, {"Parineeti Chopra", "Q2995813", "Actresses from India", "Parineeti Chopra", ""}, {"Esha Deol", "Q48622", "Actresses from India", "Esha Deol", "ಇಶಾ ಡಿಯೋಲ್"}, {"Drashti Dhami", "Q4171474", "Actresses from India", "Drashti Dhami", ""}, {"Tripti Dimri", "Q56425189", "Actresses from India", "Tripti Dimri", ""}, {"Madhuri Dixit", "Q232451", "Actresses from India", "Madhuri Dixit", ""}, {"Amrita Rao", "Q299136", "Actresses from India", "Amrita Rao", "ಅಮೃತಾ ರಾವ್"}, {"Lara Dutta", "Q290438", "Actresses from India", "Lara Dutta", ""}, {"Yami Gautam", "Q8048050", "Actresses from India", "Yami Gautam", ""}, {"Aditi Govitrikar", "Q3531155", "Actresses from India", "Aditi Govitrikar", "ಅದಿತಿ ಗೋವಿತ್ರಿಕರ್"}, {"Smriti Irani", "Q7546539", "Actresses from India", "Smriti Irani", "ಸ್ಮೃತಿ ಇರಾನಿ"}, {"J. Jayalalithaa", "Q465018", "Actresses from India", "J. Jayalalithaa", ""}, {"Dipika Kakar", "Q12068128", "Actresses from India", "Dipika Kakar", ""}, {"Asha Kale", "Q4804505", "Actresses from India", "Asha Kale", ""}, {"Sukirti Kandpal", "Q7635860", "Actresses from India", "Sukirti Kandpal", ""}, {"Janhvi Kapoor", "Q22290570", "Actresses from India", "Janhvi Kapoor", ""}, {"Kareena Kapoor", "Q184885", "Actresses from India", "Kareena Kapoor", ""}, {"Shraddha Kapoor", "Q15055683", "Actresses from India", "Shraddha Kapoor", ""}, {"Sonam Kapoor", "Q1192750", "Actresses from India", "Sonam Kapoor", ""}, {"Rozlyn Khan", "Q7375385", "Actresses from India", "Rozlyn Khan", ""}, {"Sara Ali Khan", "Q59513147", "Actresses from India", "Sara Ali Khan", ""}, {"Kalki Koechlin", "Q3192216", "Actresses from India", "Kalki Koechlin", ""}, {"Manisha Koirala", "Q186606", "Actresses from India", "Manisha Koirala", ""}, {"Sivaangi Krishnakumar", "Q107135005", "Actresses from India", "Sivaangi Krishnakumar", ""}, {"Trisha Krishnan", "Q2748513", "Actresses from India", "Trisha Krishnan", ""}, {"Khushalii Kumar", "Q65640372", "Actresses from India", "Khushalii Kumar", ""}, {"Padma Lakshmi", "Q464835", "Actresses from India", "Padma Lakshmi", ""}, {"Raai Laxmi", "Q3520472", "Actresses from India", "Raai Laxmi", ""}, {"Rukmini Maitra", "Q27954419", "Actresses from India", "Rukmini Maitra", ""}, {"Sanya Malhotra", "Q28316728", "Actresses from India", "Sanya Malhotra", ""}, {"Hema Malini", "Q33635", "Actresses from India", "Hema Malini", "ಹೇಮಾ ಮಾಲಿನಿ"}, {"Rashmika Mandanna", "Q28088964", "Actresses from India", "Rashmika Mandanna", ""}, {"Priyanka Arul Mohan", "Q70991046", "Actresses from India", "Priyanka Arul Mohan", ""}, {"Rani Mukerji", "Q485557", "Actresses from India", "Rani Mukerji", ""}, {"Mumtaz (actress)", "Q3111131", "Actresses from India", "Mumtaz (actress)", ""}, {"Nayanthara", "Q2748319", "Actresses from India", "Nayanthara", ""}, {"Aneet Padda", "Q135114696", "Actresses from India", "Aneet Padda", ""}, {"Deepika Padukone", "Q159178", "Actresses from India", "Deepika Padukone", ""}, {"Ananya Panday", "Q58198484", "Actresses from India", "Ananya Panday", ""}, {"Pooja Hegde", "Q7228519", "Actresses from India", "Pooja Hegde", ""}, {"Kangana Ranaut", "Q2737207", "Actresses from India", "Kangana Ranaut", "ಕಂಗನಾ ರನೌತ್"}, {"Urvashi Rautela", "Q7901587", "Actresses from India", "Urvashi Rautela", "ಊರ್ವಶಿ ರೌತೇಲಾ"}, {"Waheeda Rehman", "Q465859", "Actresses from India", "Waheeda Rehman", ""}, {"Rekha", "Q465826", "Actresses from India", "Rekha", ""}, {"Samantha Ruth Prabhu", "Q3520314", "Actresses from India", "Samantha Ruth Prabhu", "ಸಮಂತಾ ರುತ್ ಪ್ರಭು"}, {"Harnaaz Sandhu", "Q108756568", "Actresses from India", "Harnaaz Sandhu", ""}, {"Kriti Sanon", "Q16233540", "Actresses from India", "Kriti Sanon", ""}, {"Mallika Sarabhai", "Q3518417", "Actresses from India", "Mallika Sarabhai", ""}, {"Aparna Sen", "Q466325", "Actresses from India", "Aparna Sen", ""}, {"Kim Sharma", "Q469887", "Actresses from India", "Kim Sharma", ""}, {"Mallika Sherawat", "Q262665", "Actresses from India", "Mallika Sherawat", ""}, {"M. S. Subbulakshmi", "Q465067", "Actresses from India", "M. S. Subbulakshmi", ""}, {"Keerthy Suresh", "Q17403476", "Actresses from India", "Keerthy Suresh", ""}, {"Tamannaah Bhatia", "Q151798", "Actresses from India", "Tamannaah Bhatia", ""}, {"Nikki Tamboli", "Q92995304", "Actresses from India", "Nikki Tamboli", ""}, {"Raveena Tandon", "Q2001803", "Actresses from India", "Raveena Tandon", ""}, {"Mrunal Thakur", "Q16234243", "Actresses from India", "Mrunal Thakur", ""}, {"Vyjayanthimala", "Q467977", "Actresses from India", "Vyjayanthimala", ""}, {"Preity Zinta", "Q188671", "Actresses from India", "Preity Zinta", ""}, -- Women authors from India {"Damayanti Besra", "Q31322404", "Women authors from India", "Damayanti Besra", ""}, {"Deepta Roy Chakraverti", "Q139493374", "Women authors from India", "Deepta Roy Chakraverti", ""}, {"Anita Desai", "Q268495", "Women authors from India", "Anita Desai", "ಅನಿತಾ ದೇಸಾಯಿ"}, {"Barkha Dutt", "Q3634855", "Women authors from India", "Barkha Dutt", ""}, {"Divya Dwivedi", "Q67222730", "Women authors from India", "Divya Dwivedi", ""}, {"K. R. Meera", "Q58157", "Women authors from India", "K. R. Meera", ""}, {"Meena Kandasamy", "Q6807585", "Women authors from India", "Meena Kandasamy", ""}, {"Rupi Kaur", "Q19662918", "Women authors from India", "Rupi Kaur", ""}, {"Licypriya Kangujam", "Q71123008", "Women authors from India", "Licypriya Kangujam", ""}, {"Leela Row Dayal", "Q47016048", "Women authors from India", "Leela Row Dayal", ""}, {"Nayantara Sahgal", "Q448399", "Women authors from India", "Nayantara Sahgal", "ನಯನತಾರಾ ಸೆಹಗಲ್"}, {"Nupur J. Sharma", "Q116030561", "Women authors from India", "Nupur J. Sharma", ""}, -- Businesswomen from India {"Falguni Nayar", "Q107476226", "Businesswomen from India", "Falguni Nayar", ""}, {"Indra Krishnamurthy Nooyi", "Q264913", "Businesswomen from India", "Indra Nooyi", "ಇಂದ್ರಾ ನೂಯಿ"}, {"Nandini Jammi", "Q97142214", "Businesswomen from India", "Nandini Jammi", ""}, {"Kalpana Lajmi", "Q3631768", "Businesswomen from India", "Kalpana Lajmi", "ಕಲ್ಪನಾ ಲಾಜ್ಮಿ"}, {"Mahua Moitra", "Q24572565", "Businesswomen from India", "Mahua Moitra", ""}, {"Leena Nair", "Q6516350", "Businesswomen from India", "Leena Nair", ""}, {"Swati Piramal", "Q7654042", "Businesswomen from India", "Swati Piramal", ""}, {"V. K. Sasikala", "Q7425145", "Businesswomen from India", "V. K. Sasikala", ""}, {"Vineeta Singh", "Q70203083", "Businesswomen from India", "Vineeta Singh", ""}, {"Kanika Tekriwal", "Q27978737", "Businesswomen from India", "Kanika Tekriwal", ""}, -- Women politicians in India {"Mamata Banerjee", "Q465041", "Women politicians in India", "Mamata Banerjee", ""}, {"Uma Bharti", "Q3109128", "Women politicians in India", "Uma Bharti", "ಉಮಾ ಭಾರತಿ"}, {"Renuka Chowdhury", "Q2470188", "Women politicians in India", "Renuka Chowdhury", ""}, {"Indira Gandhi", "Q1149", "Women politicians in India", "Indira Gandhi", "ಇಂದಿರಾ ಗಾಂಧಿ"}, {"Maneka Gandhi", "Q2739159", "Women politicians in India", "Maneka Gandhi", ""}, {"Medha Kulkarni", "Q24053642", "Women politicians in India", "Medha Kulkarni", ""}, {"Sanghmitra Maurya", "Q64001930", "Women politicians in India", "Sanghmitra Maurya", ""}, {"Mayawati", "Q264896", "Women politicians in India", "Mayawati", ""}, {"Vijaya Lakshmi Pandit", "Q465047", "Women politicians in India", "Vijaya Lakshmi Pandit", ""}, {"Nupur Sharma", "Q19518263", "Women politicians in India", "Nupur Sharma", ""}, {"Shreyasi Singh", "Q17435457", "Women politicians in India", "Shreyasi Singh", ""}, -- Women scientists from India {"Rohini Pande", "Q7359748", "Women scientists from India", "Rohini Pande", ""}, } -- Cache for sitelinks local sitelinkCache = {} -- Cache for Wikidata labels and descriptions local wikidataCache = {} -- Function to get sitelink for a given QID and wiki local function getSitelink(qid, wiki) if not qid or qid == "" then return nil end local cacheKey = qid .. '_' .. wiki if sitelinkCache[cacheKey] ~= nil then return sitelinkCache[cacheKey] end -- Try to get the entity from Wikidata local success, entity = pcall(mw.wikibase.getEntityObject, qid) if not success or not entity then sitelinkCache[cacheKey] = nil return nil end local sitelink = entity:getSitelink(wiki) sitelinkCache[cacheKey] = sitelink return sitelink end -- Function to get Wikidata label and description for a given QID local function getWikidataInfo(qid, langCode) if not qid or qid == "" then return nil, nil end langCode = langCode or 'en' local cacheKey = qid .. '_' .. langCode if wikidataCache[cacheKey] ~= nil then return wikidataCache[cacheKey].label, wikidataCache[cacheKey].description end -- Try to get the entity from Wikidata local success, entity = pcall(mw.wikibase.getEntityObject, qid) if not success or not entity then wikidataCache[cacheKey] = {label = nil, description = nil} return nil, nil end local label = nil local description = nil -- Get label if entity.labels then if entity.labels[langCode] then label = entity.labels[langCode].value elseif entity.labels['en'] then label = entity.labels['en'].value end end -- Get description if entity.descriptions then if entity.descriptions[langCode] then description = entity.descriptions[langCode].value elseif entity.descriptions['en'] then description = entity.descriptions['en'].value end end wikidataCache[cacheKey] = {label = label, description = description} return label, description end -- Function to create the navigation bar with jump links to each category local function createNavigation() -- Group topics by category to get unique category names local categories = {} for _, topic in ipairs(topics) do local cat = topic[3] or 'General' if not categories[cat] then categories[cat] = true end end -- Sort category names local sortedCats = {} for cat in pairs(categories) do table.insert(sortedCats, cat) end table.sort(sortedCats) local nav = { '<div style="margin: 1em 0; padding: 0.5em; background: #f8f9fa; border: 1px solid #a2a9b1; border-radius: 4px;">', '<strong>Jump to section:</strong> ' } local links = {} for _, cat in ipairs(sortedCats) do local anchor = 'section-' .. cat:gsub(' ', '_'):gsub('[%(%)]', '') links[#links + 1] = '[[' .. '#' .. anchor .. '|' .. cat .. ']]' end nav[#nav + 1] = table.concat(links, ' | ') nav[#nav + 1] = '</div>' return table.concat(nav) end -- Function to create the table header -- showWikidataLabel: whether to show Wikidata label column -- showWikidataDescription: whether to show Wikidata description column local function createTableHeader(showWikidataLabel, showWikidataDescription) local header = { '{| class="wikitable sortable" style="width: 100%;"', '! №', '! style="width: 25%;" | ಲೇಖನದ ಹೆಸರು', '! style="width: 15%;" | ಪ್ರಕಾರ', } -- Add language columns for _, lang in ipairs(languages) do local title = ' title="' .. lang.name .. ' Wikiquote"' header[#header + 1] = '!' .. title .. ' | ' .. lang.name .. ' Wikiquote' end -- Add Wikidata label column if enabled if showWikidataLabel then header[#header + 1] = '! style="width: 15%;" | Wikidata Label' end -- Add Wikidata description column if enabled if showWikidataDescription then header[#header + 1] = '! style="width: 20%;" | Wikidata Description' end header[#header + 1] = '! ವಿಕಿಡಾಟಾ' return table.concat(header, '\n') end -- Function to create a table row for a topic with sitelinks -- showWikidataLabel: whether to show Wikidata label column -- showWikidataDescription: whether to show Wikidata description column -- wikidataLang: language code for Wikidata label/description (default: 'en') local function createTopicRow(index, topic, showWikidataLabel, showWikidataDescription, wikidataLang) local title = topic[1] local qid = topic[2] local category = topic[3] or 'General' local enSitelink = topic[4] or '' local knSitelink = topic[5] or '' -- Build the row local row = { '\n|-', '| ' .. index, '| ' .. title, '| ' .. category, } -- Display sitelinks for each language -- English Wikiquote if qid and qid ~= "" then local enWQ = getSitelink(qid, 'enwikiquote') if enWQ then row[#row + 1] = '| style="background: #d4f4d4; text-align: center;" | [[q:en:' .. enWQ .. '|' .. enWQ .. ']]' else row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −' end else row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −' end -- Kannada Wikiquote if qid and qid ~= "" then local knWQ = getSitelink(qid, 'knwikiquote') if knWQ then row[#row + 1] = '| style="background: #d4f4d4; text-align: center;" | [[q:kn:' .. knWQ .. '|' .. knWQ .. ']]' else row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −' end else row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −' end -- Add Wikidata label if enabled if showWikidataLabel then local label = nil if qid and qid ~= "" then label = getWikidataInfo(qid, wikidataLang) end if label and label ~= "" then row[#row + 1] = '| ' .. label else row[#row + 1] = '| style="text-align: center; color: #999;" | −' end end -- Add Wikidata description if enabled if showWikidataDescription then local _, description = nil, nil if qid and qid ~= "" then _, description = getWikidataInfo(qid, wikidataLang) end if description and description ~= "" then row[#row + 1] = '| style="font-size: 90%; color: #555;" | ' .. description else row[#row + 1] = '| style="text-align: center; color: #999;" | −' end end if qid and qid ~= "" then row[#row + 1] = '| [[d:' .. qid .. '|' .. qid .. ']]' else row[#row + 1] = '| −' end return table.concat(row, '\n') end -- Function to create the table footer with statistics -- showWikidataLabel: whether Wikidata label column is shown -- showWikidataDescription: whether Wikidata description column is shown local function createTableFooter(categoryTopics, showWikidataLabel, showWikidataDescription) local totalTopics = #categoryTopics if totalTopics == 0 then return '\n|-\n| colspan="5" style="text-align: center;" | No topics available' end -- Calculate column statistics local colStats = {} for i = 1, #languages do colStats[i] = {exists = 0, missing = 0} end for _, topic in ipairs(categoryTopics) do local qid = topic[2] if qid and qid ~= "" then -- Check English Wikiquote local enWQ = getSitelink(qid, 'enwikiquote') if enWQ then colStats[1].exists = colStats[1].exists + 1 else colStats[1].missing = colStats[1].missing + 1 end -- Check Kannada Wikiquote local knWQ = getSitelink(qid, 'knwikiquote') if knWQ then colStats[2].exists = colStats[2].exists + 1 else colStats[2].missing = colStats[2].missing + 1 end else colStats[1].missing = colStats[1].missing + 1 colStats[2].missing = colStats[2].missing + 1 end end -- Build footer row local footer = { '\n|- class="sortbottom" style="font-weight: bold; background: #f0f0f0;"', '| colspan="3" | ಒಟ್ಟು ಲೇಖನಗಳು', } for i = 1, #languages do footer[#footer + 1] = '| style="text-align: center;" | ' .. colStats[i].exists .. ' / ' .. totalTopics end -- Add empty cells for Wikidata label/description columns if shown if showWikidataLabel then footer[#footer + 1] = '|' end if showWikidataDescription then footer[#footer + 1] = '|' end footer[#footer + 1] = '|' return table.concat(footer, '\n') end -- Function to render a single category table -- showWikidataLabel: whether to show Wikidata label column -- showWikidataDescription: whether to show Wikidata description column -- wikidataLang: language code for Wikidata label/description (default: 'en') local function renderCategoryTable(categoryName, categoryTopics, startIndex, showWikidataLabel, showWikidataDescription, wikidataLang) local result = {} -- Add section anchor local anchor = 'section-' .. categoryName:gsub(' ', '_'):gsub('[%(%)]', '') result[#result + 1] = '<div id="' .. anchor .. '"></div>' -- Add category header result[#result + 1] = '\n=== ' .. categoryName .. ' ===\n' -- Add data source info for the category result[#result + 1] = '<div style="font-size: 90%; color: #555; margin-bottom: 0.5em;">ಒಟ್ಟು: ' .. #categoryTopics .. ' ಲೇಖನಗಳು</div>' -- Start the table result[#result + 1] = createTableHeader(showWikidataLabel, showWikidataDescription) -- Add topic rows local currentIndex = startIndex for _, topic in ipairs(categoryTopics) do result[#result + 1] = createTopicRow(currentIndex, topic, showWikidataLabel, showWikidataDescription, wikidataLang) currentIndex = currentIndex + 1 end -- Add footer result[#result + 1] = createTableFooter(categoryTopics, showWikidataLabel, showWikidataDescription) -- Close the table result[#result + 1] = '\n|}\n' return table.concat(result, '\n') end -- Main function to render the complete table -- Options (via frame args): -- showWikidataLabel: "yes"/"true"/"1" to show Wikidata label column -- showWikidataDescription: "yes"/"true"/"1" to show Wikidata description column -- wikidataLang: language code for Wikidata label/description (default: 'en') function p.table(frame) local result = {} -- Parse options from frame arguments local args = frame and frame.args or {} local showWikidataLabel = false local showWikidataDescription = false local wikidataLang = args.wikidataLang or 'en' if args.showWikidataLabel then local val = args.showWikidataLabel:lower() showWikidataLabel = (val == 'yes' or val == 'true' or val == '1') end if args.showWikidataDescription then local val = args.showWikidataDescription:lower() showWikidataDescription = (val == 'yes' or val == 'true' or val == '1') end -- Group topics by category local categories = {} for _, topic in ipairs(topics) do local cat = topic[3] or 'General' if not categories[cat] then categories[cat] = {} end table.insert(categories[cat], topic) end -- Sort category names local sortedCats = {} for cat in pairs(categories) do table.insert(sortedCats, cat) end table.sort(sortedCats) -- Add data source info result[#result + 1] = [=[ <div style="margin-bottom: 1em; padding: 0.5em; background: #e8f4f8; border: 1px solid #a2a9b1; border-radius: 4px; font-size: 90%;"> <strong>ದತ್ತಾಂಶ ಮೂಲಗಳು:</strong> <ul> <li>SheSaid 2026 ಕನ್ನಡ ವಿಕಿಕೋಟ್ ಅಭಿಯಾನದ ಲೇಖನಗಳು</li> <li>ವಿಕಿಡಾಟಾದಿಂದ ಸೈಟ್‍ಲಿಂಕ್ 2 September 2026 ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪಡೆಯಲಾಗಿದೆ, ಮುಂದಿನ ನವೀಕರಣ ಸಮಯ ೧೫ ಸೆಪ್ಟೆಂಬರ್ ೨೦೨೬, ಸ್ಪರ್ಧೆಯ ಸಮಯದಲ್ಲಿ ನಿತ್ಯವು ಲಿಂಕ್ ನವೀಕರಿಸಲಾಗುವುದು</li> <li style="background: #d4f4d4; padding: 2px 4px;">ಹಸಿರು = ವಿಕಿಕೋಟ್ನಲ್ಲಿ ಲೇಖನವಿದೆ</li> <li style="background: #ffe0e0; padding: 2px 4px;">ಕೆಂಪು = ಲೇಖನವಿಲ್ಲ (ರಚಿಸಬೇಕಾಗಿದೆ)</li> </ul> </div> ]=] -- Add navigation result[#result + 1] = createNavigation() -- Render each category table local startIndex = 1 for _, cat in ipairs(sortedCats) do result[#result + 1] = renderCategoryTable(cat, categories[cat], startIndex, showWikidataLabel, showWikidataDescription, wikidataLang) startIndex = startIndex + #categories[cat] end return table.concat(result, '\n') end return p kfojepr16dfsych4bf5cfr6jq9n2r5q 15793 15792 2026-09-14T11:58:55Z A826 1864 #SheSaid 15793 Scribunto text/plain --[[ Module:SheSaidKannadaWikiquote Usage: {{#invoke:SheSaidKannadaWikiquote|table}} This module generates language availability tables for SheSaid 2026 campaign on Kannada Wikiquote. It displays articles with their availability on English and Kannada Wikiquote/Wikipedia. ]] local p = {} -- Define the languages to display in the table local languages = { {code = 'en', name = 'English', wiki = 'enwikiquote'}, {code = 'kn', name = 'ಕನ್ನಡ', wiki = 'knwikiquote'} } -- Define the topics with their Wikidata QIDs and categories -- Format: {title, qid, category, en_sitelink, kn_sitelink} -- Note: Use double quotes for strings with apostrophes to avoid escaping issues local topics = { -- Women from India {"Women in India", "Q639712", "Women from India", "Women in India", ""}, {"Flavia Agnes", "Q16058227", "Women from India", "Flavia Agnes", ""}, {"Zoya Akhtar", "Q3070885", "Women from India", "Zoya Akhtar", ""}, {"Rana Ayyub", "Q20630532", "Women from India", "Rana Ayyub", ""}, {"Balasaraswati", "Q3522332", "Women from India", "Balasaraswati", ""}, {"Begum Hazrat Mahal", "Q717960", "Women from India", "Begum Hazrat Mahal", ""}, {"Varsha Bhosle", "Q2216799", "Women from India", "Varsha Bhosle", ""}, {"Dorothy Bonarjee", "Q94705848", "Women from India", "Dorothy Bonarjee", ""}, {"Tiffany Brar", "Q20090336", "Women from India", "Tiffany Brar", ""}, {"Urvashi Butalia", "Q2119956", "Women from India", "Urvashi Butalia", "ಉರ್ವಶಿ ಬುಟಾಲಿಯಾ"}, {"Irom Sharmila Chanu", "Q467322", "Women from India", "Irom Sharmila Chanu", ""}, {"Kalpana Chawla", "Q237879", "Women from India", "Kalpana Chawla", ""}, {"Kittur Chennamma", "Q3536979", "Women from India", "Kittur Chennamma", ""}, {"Child marriage among Muslims in Kerala", "Q17183499", "Women from India", "Child marriage among Muslims in Kerala", ""}, {"Tina Dabi", "Q107122534", "Women from India", "Tina Dabi", ""}, {"Geetanjali Shree", "Q539835", "Women from India", "Geetanjali Shree", ""}, {"Divya S. Iyer", "Q105988314", "Women from India", "Divya S. Iyer", ""}, {"Smita Nair Jain", "Q18126169", "Women from India", "Smita Nair Jain", ""}, {"Janabai", "Q4215741", "Women from India", "Janabai", ""}, {"Ekta Kapoor", "Q3630005", "Women from India", "Ekta Kapoor", ""}, {"Anandamoyi Ma", "Q433594", "Women from India", "Anandamoyi Ma", ""}, {"Swati Maliwal", "Q57163890", "Women from India", "Swati Maliwal", ""}, {"Bhavitha Mandava", "Q137647653", "Women from India", "Bhavitha Mandava", ""}, {"Kiran Mazumdar-Shaw", "Q467215", "Women from India", "Kiran Mazumdar-Shaw", ""}, {"Sania Mirza", "Q132147", "Women from India", "Sania Mirza", "ಸಾನಿಯಾ ಮಿರ್ಜಾ"}, {"Sarojini Naidu", "Q250165", "Women from India", "Sarojini Naidu", ""}, {"Naiki Devi", "Q54811284", "Women from India", "Naiki Devi", ""}, {"Nimrat Kaur", "Q15611257", "Women from India", "Nimrat Kaur", ""}, {"Indra Nooyi", "Q264913", "Women from India", "Indra Nooyi", "ಇಂದ್ರಾ ನೂಯಿ"}, {"Nur Jahan", "Q541530", "Women from India", "Nur Jahan", ""}, {"Onake Obavva", "Q11025877", "Women from India", "Onake Obavva", "ಒನಕೆ ಓಬವ್ವ"}, {"Neethi Padmanabhan", "Q96804094", "Women from India", "Neethi Padmanabhan", ""}, {"Sai Paranjpye", "Q12455087", "Women from India", "Sai Paranjpye", ""}, {"Radhika Aggarwal", "Q26703254", "Women from India", "Radhika Aggarwal", ""}, {"Kiran Rao", "Q6414821", "Women from India", "Kiran Rao", ""}, {"Shereen Ratnagar", "Q7494812", "Women from India", "Shereen Ratnagar", ""}, {"Rudrama Devi", "Q3523666", "Women from India", "Rudrama Devi", ""}, {"Monisha Shah", "Q108801254", "Women from India", "Monisha Shah", ""}, {"Vandana Shiva", "Q235451", "Women from India", "Vandana Shiva", ""}, {"Tavleen Singh", "Q7689144", "Women from India", "Tavleen Singh", ""}, {"Dipa Sinha", "Q98115731", "Women from India", "Dipa Sinha", ""}, {"Smriti Mandhana", "Q16224802", "Women from India", "Smriti Mandhana", "ಸ್ಮೃತಿ ಮಂದಾನ"}, {"Sushmita Banerjee", "Q14832675", "Women from India", "Sushmita Banerjee", ""}, {"Padmini Swaminathan", "Q22958099", "Women from India", "Padmini Swaminathan", ""}, {"Uda Devi", "Q12416288", "Women from India", "Uda Devi", ""}, {"Vanitha Narayanan", "Q53865532", "Women from India", "Vanitha Narayanan", ""}, -- Women academics from India {"Nyla Ali Khan", "Q16214027", "Women academics from India", "Nyla Ali Khan", ""}, {"Madhu Kishwar", "Q6727427", "Women academics from India", "Madhu Kishwar", ""}, {"Mridu Rai", "Q60605908", "Women academics from India", "Mridu Rai", ""}, {"Tanika Sarkar", "Q7683301", "Women academics from India", "Tanika Sarkar", ""}, {"Romila Thapar", "Q2744161", "Women academics from India", "Romila Thapar", ""}, -- Women activists from India {"Rukmini Devi Arundale", "Q465021", "Women activists from India", "Rukmini Devi Arundale", ""}, {"Abadi Bano Begum", "Q42896051", "Women activists from India", "Abadi Bano Begum", "ಅಬಾದಿ ಬಾನೋ ಬೇಗಂ"}, {"Ela Bhatt", "Q467336", "Women activists from India", "Ela Bhatt", "ಇಳಾ ಭಟ್"}, {"Indira Jaising", "Q6025018", "Women activists from India", "Indira Jaising", "ಇಂದಿರಾ ಜೈಸಿಂಗ್"}, {"Pupul Jayakar", "Q7260760", "Women activists from India", "Pupul Jayakar", ""}, {"Kiruba Munusamy", "Q101873542", "Women activists from India", "Kiruba Munusamy", ""}, {"Banu Mushtaq", "Q15719655", "Women activists from India", "Banu Mushtaq", ""}, {"Sunita Narain", "Q2722841", "Women activists from India", "Sunita Narain", ""}, {"Cornelia Sorabji", "Q2643152", "Women activists from India", "Cornelia Sorabji", ""}, -- Actresses from India {"Kiara Advani", "Q16762720", "Actresses from India", "Kiara Advani", ""}, {"Kajal Aggarwal", "Q224962", "Actresses from India", "Kajal Aggarwal", ""}, {"Andrea Jeremiah", "Q3523373", "Actresses from India", "Andrea Jeremiah", ""}, {"Sara Arjun", "Q7421553", "Actresses from India", "Sara Arjun", ""}, {"Vidya Balan", "Q159166", "Actresses from India", "Vidya Balan", ""}, {"Rachna Banerjee", "Q5223491", "Actresses from India", "Rachna Banerjee", ""}, {"Mukta Barve", "Q6933592", "Actresses from India", "Mukta Barve", ""}, {"Swara Bhasker", "Q7653831", "Actresses from India", "Swara Bhasker", ""}, {"Rani Chatterjee", "Q16201930", "Actresses from India", "Rani Chatterjee", ""}, {"Parineeti Chopra", "Q2995813", "Actresses from India", "Parineeti Chopra", ""}, {"Esha Deol", "Q48622", "Actresses from India", "Esha Deol", "ಇಶಾ ಡಿಯೋಲ್"}, {"Drashti Dhami", "Q4171474", "Actresses from India", "Drashti Dhami", ""}, {"Tripti Dimri", "Q56425189", "Actresses from India", "Tripti Dimri", ""}, {"Madhuri Dixit", "Q232451", "Actresses from India", "Madhuri Dixit", ""}, {"Amrita Rao", "Q299136", "Actresses from India", "Amrita Rao", "ಅಮೃತಾ ರಾವ್"}, {"Lara Dutta", "Q290438", "Actresses from India", "Lara Dutta", ""}, {"Yami Gautam", "Q8048050", "Actresses from India", "Yami Gautam", ""}, {"Aditi Govitrikar", "Q3531155", "Actresses from India", "Aditi Govitrikar", "ಅದಿತಿ ಗೋವಿತ್ರಿಕರ್"}, {"Smriti Irani", "Q7546539", "Actresses from India", "Smriti Irani", "ಸ್ಮೃತಿ ಇರಾನಿ"}, {"J. Jayalalithaa", "Q465018", "Actresses from India", "J. Jayalalithaa", ""}, {"Dipika Kakar", "Q12068128", "Actresses from India", "Dipika Kakar", ""}, {"Asha Kale", "Q4804505", "Actresses from India", "Asha Kale", ""}, {"Sukirti Kandpal", "Q7635860", "Actresses from India", "Sukirti Kandpal", ""}, {"Janhvi Kapoor", "Q22290570", "Actresses from India", "Janhvi Kapoor", ""}, {"Kareena Kapoor", "Q184885", "Actresses from India", "Kareena Kapoor", ""}, {"Shraddha Kapoor", "Q15055683", "Actresses from India", "Shraddha Kapoor", ""}, {"Sonam Kapoor", "Q1192750", "Actresses from India", "Sonam Kapoor", ""}, {"Rozlyn Khan", "Q7375385", "Actresses from India", "Rozlyn Khan", ""}, {"Sara Ali Khan", "Q59513147", "Actresses from India", "Sara Ali Khan", ""}, {"Kalki Koechlin", "Q3192216", "Actresses from India", "Kalki Koechlin", ""}, {"Manisha Koirala", "Q186606", "Actresses from India", "Manisha Koirala", ""}, {"Sivaangi Krishnakumar", "Q107135005", "Actresses from India", "Sivaangi Krishnakumar", ""}, {"Trisha Krishnan", "Q2748513", "Actresses from India", "Trisha Krishnan", ""}, {"Khushalii Kumar", "Q65640372", "Actresses from India", "Khushalii Kumar", ""}, {"Padma Lakshmi", "Q464835", "Actresses from India", "Padma Lakshmi", ""}, {"Raai Laxmi", "Q3520472", "Actresses from India", "Raai Laxmi", ""}, {"Rukmini Maitra", "Q27954419", "Actresses from India", "Rukmini Maitra", ""}, {"Sanya Malhotra", "Q28316728", "Actresses from India", "Sanya Malhotra", ""}, {"Hema Malini", "Q33635", "Actresses from India", "Hema Malini", "ಹೇಮಾ ಮಾಲಿನಿ"}, {"Rashmika Mandanna", "Q28088964", "Actresses from India", "Rashmika Mandanna", ""}, {"Priyanka Arul Mohan", "Q70991046", "Actresses from India", "Priyanka Arul Mohan", ""}, {"Rani Mukerji", "Q485557", "Actresses from India", "Rani Mukerji", ""}, {"Mumtaz (actress)", "Q3111131", "Actresses from India", "Mumtaz (actress)", ""}, {"Nayanthara", "Q2748319", "Actresses from India", "Nayanthara", ""}, {"Aneet Padda", "Q135114696", "Actresses from India", "Aneet Padda", ""}, {"Deepika Padukone", "Q159178", "Actresses from India", "Deepika Padukone", ""}, {"Ananya Panday", "Q58198484", "Actresses from India", "Ananya Panday", ""}, {"Pooja Hegde", "Q7228519", "Actresses from India", "Pooja Hegde", ""}, {"Kangana Ranaut", "Q2737207", "Actresses from India", "Kangana Ranaut", "ಕಂಗನಾ ರನೌತ್"}, {"Urvashi Rautela", "Q7901587", "Actresses from India", "Urvashi Rautela", "ಊರ್ವಶಿ ರೌತೇಲಾ"}, {"Waheeda Rehman", "Q465859", "Actresses from India", "Waheeda Rehman", ""}, {"Rekha", "Q465826", "Actresses from India", "Rekha", ""}, {"Samantha Ruth Prabhu", "Q3520314", "Actresses from India", "Samantha Ruth Prabhu", "ಸಮಂತಾ ರುತ್ ಪ್ರಭು"}, {"Harnaaz Sandhu", "Q108756568", "Actresses from India", "Harnaaz Sandhu", ""}, {"Kriti Sanon", "Q16233540", "Actresses from India", "Kriti Sanon", ""}, {"Mallika Sarabhai", "Q3518417", "Actresses from India", "Mallika Sarabhai", ""}, {"Aparna Sen", "Q466325", "Actresses from India", "Aparna Sen", ""}, {"Kim Sharma", "Q469887", "Actresses from India", "Kim Sharma", ""}, {"Mallika Sherawat", "Q262665", "Actresses from India", "Mallika Sherawat", ""}, {"M. S. Subbulakshmi", "Q465067", "Actresses from India", "M. S. Subbulakshmi", ""}, {"Keerthy Suresh", "Q17403476", "Actresses from India", "Keerthy Suresh", ""}, {"Tamannaah Bhatia", "Q151798", "Actresses from India", "Tamannaah Bhatia", ""}, {"Nikki Tamboli", "Q92995304", "Actresses from India", "Nikki Tamboli", ""}, {"Raveena Tandon", "Q2001803", "Actresses from India", "Raveena Tandon", ""}, {"Mrunal Thakur", "Q16234243", "Actresses from India", "Mrunal Thakur", ""}, {"Vyjayanthimala", "Q467977", "Actresses from India", "Vyjayanthimala", ""}, {"Preity Zinta", "Q188671", "Actresses from India", "Preity Zinta", ""}, -- Women authors from India {"Damayanti Besra", "Q31322404", "Women authors from India", "Damayanti Besra", ""}, {"Deepta Roy Chakraverti", "Q139493374", "Women authors from India", "Deepta Roy Chakraverti", ""}, {"Anita Desai", "Q268495", "Women authors from India", "Anita Desai", "ಅನಿತಾ ದೇಸಾಯಿ"}, {"Barkha Dutt", "Q3634855", "Women authors from India", "Barkha Dutt", ""}, {"Divya Dwivedi", "Q67222730", "Women authors from India", "Divya Dwivedi", ""}, {"K. R. Meera", "Q58157", "Women authors from India", "K. R. Meera", ""}, {"Meena Kandasamy", "Q6807585", "Women authors from India", "Meena Kandasamy", ""}, {"Rupi Kaur", "Q19662918", "Women authors from India", "Rupi Kaur", ""}, {"Licypriya Kangujam", "Q71123008", "Women authors from India", "Licypriya Kangujam", ""}, {"Leela Row Dayal", "Q47016048", "Women authors from India", "Leela Row Dayal", ""}, {"Nayantara Sahgal", "Q448399", "Women authors from India", "Nayantara Sahgal", "ನಯನತಾರಾ ಸೆಹಗಲ್"}, {"Nupur J. Sharma", "Q116030561", "Women authors from India", "Nupur J. Sharma", ""}, -- Businesswomen from India {"Falguni Nayar", "Q107476226", "Businesswomen from India", "Falguni Nayar", ""}, {"Indra Krishnamurthy Nooyi", "Q264913", "Businesswomen from India", "Indra Nooyi", "ಇಂದ್ರಾ ನೂಯಿ"}, {"Nandini Jammi", "Q97142214", "Businesswomen from India", "Nandini Jammi", ""}, {"Kalpana Lajmi", "Q3631768", "Businesswomen from India", "Kalpana Lajmi", "ಕಲ್ಪನಾ ಲಾಜ್ಮಿ"}, {"Mahua Moitra", "Q24572565", "Businesswomen from India", "Mahua Moitra", ""}, {"Leena Nair", "Q6516350", "Businesswomen from India", "Leena Nair", ""}, {"Swati Piramal", "Q7654042", "Businesswomen from India", "Swati Piramal", ""}, {"V. K. Sasikala", "Q7425145", "Businesswomen from India", "V. K. Sasikala", ""}, {"Vineeta Singh", "Q70203083", "Businesswomen from India", "Vineeta Singh", ""}, {"Kanika Tekriwal", "Q27978737", "Businesswomen from India", "Kanika Tekriwal", ""}, -- Women politicians in India {"Mamata Banerjee", "Q465041", "Women politicians in India", "Mamata Banerjee", ""}, {"Uma Bharti", "Q3109128", "Women politicians in India", "Uma Bharti", "ಉಮಾ ಭಾರತಿ"}, {"Renuka Chowdhury", "Q2470188", "Women politicians in India", "Renuka Chowdhury", ""}, {"Indira Gandhi", "Q1149", "Women politicians in India", "Indira Gandhi", "ಇಂದಿರಾ ಗಾಂಧಿ"}, {"Maneka Gandhi", "Q2739159", "Women politicians in India", "Maneka Gandhi", ""}, {"Medha Kulkarni", "Q24053642", "Women politicians in India", "Medha Kulkarni", ""}, {"Sanghmitra Maurya", "Q64001930", "Women politicians in India", "Sanghmitra Maurya", ""}, {"Mayawati", "Q264896", "Women politicians in India", "Mayawati", ""}, {"Vijaya Lakshmi Pandit", "Q465047", "Women politicians in India", "Vijaya Lakshmi Pandit", ""}, {"Nupur Sharma", "Q19518263", "Women politicians in India", "Nupur Sharma", ""}, {"Shreyasi Singh", "Q17435457", "Women politicians in India", "Shreyasi Singh", ""}, -- Women scientists from India {"Rohini Pande", "Q7359748", "Women scientists from India", "Rohini Pande", ""}, } -- Cache for sitelinks local sitelinkCache = {} -- Cache for Wikidata labels and descriptions local wikidataCache = {} -- Function to get sitelink for a given QID and wiki local function getSitelink(qid, wiki) if not qid or qid == "" then return nil end local cacheKey = qid .. '_' .. wiki if sitelinkCache[cacheKey] ~= nil then return sitelinkCache[cacheKey] end -- Try to get the entity from Wikidata local success, entity = pcall(mw.wikibase.getEntityObject, qid) if not success or not entity then sitelinkCache[cacheKey] = nil return nil end local sitelink = entity:getSitelink(wiki) sitelinkCache[cacheKey] = sitelink return sitelink end -- Function to get Wikidata label and description for a given QID local function getWikidataInfo(qid, langCode) if not qid or qid == "" then return nil, nil end langCode = langCode or 'en' local cacheKey = qid .. '_' .. langCode if wikidataCache[cacheKey] ~= nil then return wikidataCache[cacheKey].label, wikidataCache[cacheKey].description end -- Try to get the entity from Wikidata local success, entity = pcall(mw.wikibase.getEntityObject, qid) if not success or not entity then wikidataCache[cacheKey] = {label = nil, description = nil} return nil, nil end local label = nil local description = nil -- Get label if entity.labels then if entity.labels[langCode] then label = entity.labels[langCode].value elseif entity.labels['en'] then label = entity.labels['en'].value end end -- Get description if entity.descriptions then if entity.descriptions[langCode] then description = entity.descriptions[langCode].value elseif entity.descriptions['en'] then description = entity.descriptions['en'].value end end wikidataCache[cacheKey] = {label = label, description = description} return label, description end -- Function to create the navigation bar with jump links to each category local function createNavigation() -- Group topics by category to get unique category names local categories = {} for _, topic in ipairs(topics) do local cat = topic[3] or 'General' if not categories[cat] then categories[cat] = true end end -- Sort category names local sortedCats = {} for cat in pairs(categories) do table.insert(sortedCats, cat) end table.sort(sortedCats) local nav = { '<div style="margin: 1em 0; padding: 0.5em; background: #f8f9fa; border: 1px solid #a2a9b1; border-radius: 4px;">', '<strong>Jump to section:</strong> ' } local links = {} for _, cat in ipairs(sortedCats) do local anchor = 'section-' .. cat:gsub(' ', '_'):gsub('[%(%)]', '') links[#links + 1] = '[[' .. '#' .. anchor .. '|' .. cat .. ']]' end nav[#nav + 1] = table.concat(links, ' | ') nav[#nav + 1] = '</div>' return table.concat(nav) end -- Function to create the table header -- Column order: №, Wikidata QID, Wikidata Label, Wikidata Description, ಪ್ರಕಾರ, en, kn local function createTableHeader() local header = { '{| class="wikitable sortable" style="width: 100%;"', '! №', '! style="width: 10%;" | Wikidata QID', '! style="width: 20%;" | Wikidata Label', '! style="width: 25%;" | Wikidata Description', '! style="width: 10%;" | ಪ್ರಕಾರ', } -- Add language columns for _, lang in ipairs(languages) do local title = ' title="' .. lang.name .. ' Wikiquote"' header[#header + 1] = '!' .. title .. ' | ' .. lang.name .. ' Wikiquote' end return table.concat(header, '\n') end -- Function to create a table row for a topic with sitelinks -- Column order: №, Wikidata QID, Wikidata Label, Wikidata Description, ಪ್ರಕಾರ, en, kn local function createTopicRow(index, topic, wikidataLang) local title = topic[1] local qid = topic[2] local category = topic[3] or 'General' -- Build the row local row = { '\n|-', '| ' .. index, } -- Column 2: Wikidata QID if qid and qid ~= "" then row[#row + 1] = '| [[d:' .. qid .. '|' .. qid .. ']]' else row[#row + 1] = '| style="text-align: center; color: #999;" | −' end -- Column 3: Wikidata Label local label = nil local description = nil if qid and qid ~= "" then label, description = getWikidataInfo(qid, wikidataLang) end if label and label ~= "" then row[#row + 1] = '| ' .. label else row[#row + 1] = '| style="text-align: center; color: #999;" | −' end -- Column 4: Wikidata Description if description and description ~= "" then row[#row + 1] = '| style="font-size: 90%; color: #555;" | ' .. description else row[#row + 1] = '| style="text-align: center; color: #999;" | −' end -- Column 5: Category (ಪ್ರಕಾರ) row[#row + 1] = '| ' .. category -- Language columns -- English Wikiquote if qid and qid ~= "" then local enWQ = getSitelink(qid, 'enwikiquote') if enWQ then row[#row + 1] = '| style="background: #d4f4d4; text-align: center;" | [[q:en:' .. enWQ .. '|' .. enWQ .. ']]' else row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −' end else row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −' end -- Kannada Wikiquote if qid and qid ~= "" then local knWQ = getSitelink(qid, 'knwikiquote') if knWQ then row[#row + 1] = '| style="background: #d4f4d4; text-align: center;" | [[q:kn:' .. knWQ .. '|' .. knWQ .. ']]' else row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −' end else row[#row + 1] = '| style="background: #ffe0e0; text-align: center;" | −' end return table.concat(row, '\n') end -- Function to create the table footer with statistics -- Column order: №, Wikidata QID, Wikidata Label, Wikidata Description, ಪ್ರಕಾರ, en, kn local function createTableFooter(categoryTopics) local totalTopics = #categoryTopics if totalTopics == 0 then return '\n|-\n| colspan="7" style="text-align: center;" | No topics available' end -- Calculate column statistics local colStats = {} for i = 1, #languages do colStats[i] = {exists = 0, missing = 0} end for _, topic in ipairs(categoryTopics) do local qid = topic[2] if qid and qid ~= "" then -- Check English Wikiquote local enWQ = getSitelink(qid, 'enwikiquote') if enWQ then colStats[1].exists = colStats[1].exists + 1 else colStats[1].missing = colStats[1].missing + 1 end -- Check Kannada Wikiquote local knWQ = getSitelink(qid, 'knwikiquote') if knWQ then colStats[2].exists = colStats[2].exists + 1 else colStats[2].missing = colStats[2].missing + 1 end else colStats[1].missing = colStats[1].missing + 1 colStats[2].missing = colStats[2].missing + 1 end end -- Build footer row -- Columns 1-5 are: №, QID, Label, Description, ಪ್ರಕಾರ -> colspan=5 local footer = { '\n|- class="sortbottom" style="font-weight: bold; background: #f0f0f0;"', '| colspan="5" | ಒಟ್ಟು ಲೇಖನಗಳು', } for i = 1, #languages do footer[#footer + 1] = '| style="text-align: center;" | ' .. colStats[i].exists .. ' / ' .. totalTopics end return table.concat(footer, '\n') end -- Function to render a single category table local function renderCategoryTable(categoryName, categoryTopics, startIndex, wikidataLang) local result = {} -- Add section anchor local anchor = 'section-' .. categoryName:gsub(' ', '_'):gsub('[%(%)]', '') result[#result + 1] = '<div id="' .. anchor .. '"></div>' -- Add category header result[#result + 1] = '\n=== ' .. categoryName .. ' ===\n' -- Add data source info for the category result[#result + 1] = '<div style="font-size: 90%; color: #555; margin-bottom: 0.5em;">ಒಟ್ಟು: ' .. #categoryTopics .. ' ಲೇಖನಗಳು</div>' -- Start the table result[#result + 1] = createTableHeader() -- Add topic rows local currentIndex = startIndex for _, topic in ipairs(categoryTopics) do result[#result + 1] = createTopicRow(currentIndex, topic, wikidataLang) currentIndex = currentIndex + 1 end -- Add footer result[#result + 1] = createTableFooter(categoryTopics) -- Close the table result[#result + 1] = '\n|}\n' return table.concat(result, '\n') end -- Main function to render the complete table -- Options (via frame args): -- wikidataLang: language code for Wikidata label/description (default: 'en') function p.table(frame) local result = {} -- Parse options from frame arguments local args = frame and frame.args or {} local wikidataLang = args.wikidataLang or 'en' -- Group topics by category local categories = {} for _, topic in ipairs(topics) do local cat = topic[3] or 'General' if not categories[cat] then categories[cat] = {} end table.insert(categories[cat], topic) end -- Sort category names local sortedCats = {} for cat in pairs(categories) do table.insert(sortedCats, cat) end table.sort(sortedCats) -- Add data source info result[#result + 1] = [=[ <div style="margin-bottom: 1em; padding: 0.5em; background: #e8f4f8; border: 1px solid #a2a9b1; border-radius: 4px; font-size: 90%;"> <strong>ದತ್ತಾಂಶ ಮೂಲಗಳು:</strong> <ul> <li>SheSaid 2026 ಕನ್ನಡ ವಿಕಿಕೋಟ್ ಅಭಿಯಾನದ ಲೇಖನಗಳು</li> <li>ವಿಕಿಡಾಟಾದಿಂದ ಸೈಟ್‍ಲಿಂಕ್ 2 September 2026 ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪಡೆಯಲಾಗಿದೆ, ಮುಂದಿನ ನವೀಕರಣ ಸಮಯ ೧೫ ಸೆಪ್ಟೆಂಬರ್ ೨೦೨೬, ಸ್ಪರ್ಧೆಯ ಸಮಯದಲ್ಲಿ ನಿತ್ಯವು ಲಿಂಕ್ ನವೀಕರಿಸಲಾಗುವುದು</li> <li style="background: #d4f4d4; padding: 2px 4px;">ಹಸಿರು = ವಿಕಿಕೋಟ್ನಲ್ಲಿ ಲೇಖನವಿದೆ</li> <li style="background: #ffe0e0; padding: 2px 4px;">ಕೆಂಪು = ಲೇಖನವಿಲ್ಲ (ರಚಿಸಬೇಕಾಗಿದೆ)</li> </ul> </div> ]=] -- Add navigation result[#result + 1] = createNavigation() -- Render each category table local startIndex = 1 for _, cat in ipairs(sortedCats) do result[#result + 1] = renderCategoryTable(cat, categories[cat], startIndex, wikidataLang) startIndex = startIndex + #categories[cat] end return table.concat(result, '\n') end return p a9q5555mtxtwzyhkooq3fu1fm55j1fn ಮೀಡಿಯವಿಕಿ:Gadget-DefaultSummary.js 8 4520 15788 2026-09-13T13:22:45Z A826 1864 ಹೊಸ ಪುಟ: /** * Gadget: DefaultSummary * Pre-fills the edit summary box with "#she-said" if it is empty. */ ( function () { 'use strict'; // Run only on edit pages if ( mw.config.get( 'wgAction' ) !== 'edit' ) { return; } // Use jQuery ready to ensure the DOM is fully loaded $( function () { var summaryInput = document.getElementById( 'wpSummary' ); // Check if the element exists and if it is currently empty if ( summa... 15788 javascript text/javascript /** * Gadget: DefaultSummary * Pre-fills the edit summary box with "#she-said" if it is empty. */ ( function () { 'use strict'; // Run only on edit pages if ( mw.config.get( 'wgAction' ) !== 'edit' ) { return; } // Use jQuery ready to ensure the DOM is fully loaded $( function () { var summaryInput = document.getElementById( 'wpSummary' ); // Check if the element exists and if it is currently empty if ( summaryInput && summaryInput.value === '' ) { summaryInput.value = '#she-said'; } } ); }() ); g3akxlg749ecnb204ejaejab8wo3fpd 15790 15788 2026-09-13T22:24:28Z A826 1864 #she-said 15790 javascript text/javascript /** * Gadget: DefaultSummary * Appends "#SheSaid" to the edit summary box. */ ( function () { 'use strict'; // Run only on edit pages if ( mw.config.get( 'wgAction' ) !== 'edit' ) { return; } $( function () { var summaryInput = document.getElementById( 'wpSummary' ); if ( !summaryInput ) { return; } var tag = '#SheSaid'; var current = summaryInput.value.trim(); // Avoid adding the tag twice if it's already present if ( current.indexOf( tag ) !== -1 ) { return; } if ( current === '' ) { summaryInput.value = tag; } else { summaryInput.value = current + ' ' + tag; } } ); }() ); 1xqnzqxhf59fwlz13498smj1eii06bb