Wikipedia diqwiki https://diq.wikipedia.org/wiki/Pela_Seri MediaWiki 1.47.0-wmf.17 first-letter Medya Xısusi Werênayış Karber Werênayışê karberi Wikipediya Werênayışê Wikipediya Dosya Werênayışê dosya MedyaWiki Werênayışê MedyaWikiyi Şablon Werênayışê şabloni Peşti Werênayışê peşti Kategoriye Werênayışê kategoriye Portal Werênayışê portali TimedText TimedText talk Modul Werênayışê moduli Event Event talk Werênayışê karberi:Mirzali 3 1185 556514 556255 2026-08-31T11:33:41Z Mirzali 16 + Arşiv 12 556514 wikitext text/x-wiki {| <div style="border: 1px solid #ccd2d9; width: 23.5em; background: #f9f9f9; text-align: left; padding: 0.5em 1em 0.5em 1em; text-align: center;"> |- !align="center"|[[Image:Vista-file-manager.png|50px|Archive]]<br/>Arşiv ---- |- | * [[User talk:Mirzali/Arşiv 1|Arşiv 1 - Çele, 2008]] * [[User talk:Mirzali/Arşiv 2|Arşiv 2 - Temuze, 2008]] * [[User talk:Mirzali/Arşiv 3|Arşiv 3 - Keşkelun, 2011]] * [[User talk:Mirzali/Arşiv 4|Arşiv 4 - Adare, 2012]] * [[User talk:Mirzali/Arşiv 5|Arşiv 5 - Keşkelun, 2012]] * [[User talk:Mirzali/Arşiv 6|Arşiv 6 - Çele, 2013]] * [[User talk:Mirzali/Arşiv 7|Arşiv 7 - Nisane, 2013]] * [[User talk:Mirzali/Arşiv 8|Arşiv 8 - Nisane, 2014]] * [[User talk:Mirzali/Arşiv 9|Arşiv 9 - Tişrino Verên, 2014]] * [[User talk:Mirzali/Arşiv 10|Arşiv 10 - Adar, 2017]] * [[User talk:Mirzali/Arşiv 11|Arşiv 11 - Kanun, 2022]] * [[User talk:Mirzali/Arşiv 12|Arşiv 12 - Tebaxe, 2026]] |} bdl8xwpjetig6xnbv6r5gat3fo9ck0x Modul:Infobox 828 42725 556500 556499 2026-08-30T12:51:58Z Mirzali 16 "[[Modul:Infobox]]" sıtariya: Şeveknayış ([Bıvurne=Karberanê qeydnêbiyaeyan bloke ke] (bêmıhlet) [Move=Karberanê qeydnêbiyaeyan bloke ke] (bêmıhlet)) 556499 Scribunto text/plain local p = {} local args = {} local origArgs = {} local root local empty_row_categories = {} local category_in_empty_row_pattern = '%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]' local has_rows = false local yesno = require("Module:Yesno") local lists = { plainlist_t = { patterns = { '^plainlist$', '%splainlist$', '^plainlist%s', '%splainlist%s' }, found = false, styles = 'Plainlist/styles.css' }, hlist_t = { patterns = { '^hlist$', '%shlist$', '^hlist%s', '%shlist%s' }, found = false, styles = 'Hlist/styles.css' } } local function has_list_class(args_to_check) for _, list in pairs(lists) do if not list.found then for _, arg in pairs(args_to_check) do for _, pattern in ipairs(list.patterns) do if mw.ustring.find(arg or '', pattern) then list.found = true break end end if list.found then break end end end end end local function isUntitledChildBox(sval) return sval and ( sval:match( '^%s*<%s*[Tt][Rr]' ) or sval:match( '^%s*\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127%s*<%s*[Tt][Rr]' ) ) end local function fixChildBoxes(sval, tt) local function notempty( s ) return s and s:match( '%S' ) end if notempty(sval) then local marker = '<span class=special_infobox_marker>' local s = sval -- start moving templatestyles and categories inside of table rows local slast = '' while slast ~= s do slast = s s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*%]%])', '%2%1') s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)', '%2%1') end -- end moving templatestyles and categories inside of table rows s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>)', '%1' .. marker) if s:match(marker) then s = mw.ustring.gsub(s, marker .. '%s*' .. marker, '') s = mw.ustring.gsub(s, '([\r\n]|-[^\r\n]*[\r\n])%s*' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '%s*([\r\n]|-)', '%1') s = mw.ustring.gsub(s, '(</[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '(<%s*[Tt][Aa][Bb][Ll][Ee][^<>]*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '^(%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '([\r\n]%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '(%s*</[Tt][Aa][Bb][Ll][Ee]%s*>)', '%1') s = mw.ustring.gsub(s, marker .. '(%s*\n|%})', '%1') end if s:match(marker) then local subcells = mw.text.split(s, marker) s = '' for k = 1, #subcells do if k == 1 then s = s .. subcells[k] .. '</' .. tt .. '></tr>' elseif k == #subcells then local rowstyle = ' style="display:none"' if notempty(subcells[k]) then rowstyle = '' end s = s .. '<tr' .. rowstyle ..'><' .. tt .. ' colspan=2>\n' .. subcells[k] elseif notempty(subcells[k]) then if (k % 2) == 0 then s = s .. subcells[k] else s = s .. '<tr><' .. tt .. ' colspan=2>\n' .. subcells[k] .. '</' .. tt .. '></tr>' end end end end -- the next two lines add a newline at the end of lists for the PHP parser -- [[Special:Diff/849054481]] -- remove when [[:phab:T191516]] is fixed or OBE s = mw.ustring.gsub(s, '([\r\n][%*#;:][^\r\n]*)$', '%1\n') s = mw.ustring.gsub(s, '^([%*#;:][^\r\n]*)$', '%1\n') s = mw.ustring.gsub(s, '^([%*#;:])', '\n%1') s = mw.ustring.gsub(s, '^(%{%|)', '\n%1') return s else return sval end end -- Cleans empty tables local function cleanInfobox() root = tostring(root) if has_rows == false then root = mw.ustring.gsub(root, '<table[^<>]*>%s*</table>', '') end end -- Returns the union of the values of two tables, as a sequence. local function union(t1, t2) local vals = {} for k, v in pairs(t1) do vals[v] = true end for k, v in pairs(t2) do vals[v] = true end local ret = {} for k, v in pairs(vals) do table.insert(ret, k) end return ret end -- Returns a table containing the numbers of the arguments that exist -- for the specified prefix. For example, if the prefix was 'data', and -- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}. local function getArgNums(prefix) local nums = {} for k, v in pairs(args) do local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end -- Adds a row to the infobox, with either a header cell -- or a label/data cell combination. local function addRow(rowArgs) if rowArgs.header and rowArgs.header ~= '_BLANK_' then has_rows = true has_list_class({ rowArgs.rowclass, rowArgs.class, args.headerclass }) root :tag('tr') :addClass(rowArgs.rowclass) :addClass( isUntitledChildBox( rowArgs.header ) and 'infobox-hiddenrow' or nil ) :cssText(rowArgs.rowstyle) :tag('th') :attr('colspan', '2') :addClass('infobox-header') :addClass(rowArgs.class) :addClass(args.headerclass) -- @deprecated next; target .infobox-<name> .infobox-header :cssText(args.headerstyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.header, 'th')) if rowArgs.data and not yesno(args.decat) then root:wikitext( '[[Category:Pages using infobox templates with ignored data cells]]' ) end elseif rowArgs.data and rowArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true has_list_class({ rowArgs.rowclass, rowArgs.class }) local row = root:tag('tr') row:addClass(rowArgs.rowclass) row:cssText(rowArgs.rowstyle) if rowArgs.label then row :tag('th') :attr('scope', 'row') :addClass('infobox-label') -- @deprecated next; target .infobox-<name> .infobox-label :cssText(args.labelstyle) :cssText(rowArgs.rowcellstyle) :wikitext(rowArgs.label) :done() else row:addClass( isUntitledChildBox( rowArgs.data ) and 'infobox-hiddenrow' or nil ) end local dataCell = row:tag('td') dataCell :attr('colspan', not rowArgs.label and '2' or nil) :addClass(not rowArgs.label and 'infobox-full-data' or 'infobox-data') :addClass(rowArgs.class) -- @deprecated next; target .infobox-<name> .infobox(-full)-data :cssText(rowArgs.datastyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.data, 'td')) else table.insert(empty_row_categories, rowArgs.data or '') end end local function renderTitle() if not args.title then return end has_rows = true has_list_class({args.titleclass}) root :tag('caption') :addClass('infobox-title') :addClass(args.titleclass) -- @deprecated next; target .infobox-<name> .infobox-title :cssText(args.titlestyle) :wikitext(args.title) end local function renderAboveRow() if not args.above then return end has_rows = true has_list_class({ args.aboveclass }) root :tag('tr') :addClass( isUntitledChildBox( args.above ) and 'infobox-hiddenrow' or nil ) :tag('th') :attr('colspan', '2') :addClass('infobox-above') :addClass(args.aboveclass) -- @deprecated next; target .infobox-<name> .infobox-above :cssText(args.abovestyle) :wikitext(fixChildBoxes(args.above,'th')) end local function renderBelowRow() if not args.below then return end has_rows = true has_list_class({ args.belowclass }) root :tag('tr') :addClass( isUntitledChildBox( args.below ) and 'infobox-hiddenrow' or nil ) :tag('td') :attr('colspan', '2') :addClass('infobox-below') :addClass(args.belowclass) -- @deprecated next; target .infobox-<name> .infobox-below :cssText(args.belowstyle) :wikitext(fixChildBoxes(args.below,'td')) end local function addSubheaderRow(subheaderArgs) if subheaderArgs.data and subheaderArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true has_list_class({ subheaderArgs.rowclass, subheaderArgs.class }) local row = root:tag('tr') row:addClass(subheaderArgs.rowclass) row:addClass( isUntitledChildBox( subheaderArgs.data ) and 'infobox-hiddenrow' or nil ) local dataCell = row:tag('td') dataCell :attr('colspan', '2') :addClass('infobox-subheader') :addClass(subheaderArgs.class) :cssText(subheaderArgs.datastyle) :cssText(subheaderArgs.rowcellstyle) :wikitext(fixChildBoxes(subheaderArgs.data, 'td')) else table.insert(empty_row_categories, subheaderArgs.data or '') end end local function renderSubheaders() if args.subheader then args.subheader1 = args.subheader end if args.subheaderrowclass then args.subheaderrowclass1 = args.subheaderrowclass end local subheadernums = getArgNums('subheader') for k, num in ipairs(subheadernums) do addSubheaderRow({ data = args['subheader' .. tostring(num)], -- @deprecated next; target .infobox-<name> .infobox-subheader datastyle = args.subheaderstyle, rowcellstyle = args['subheaderstyle' .. tostring(num)], class = args.subheaderclass, rowclass = args['subheaderrowclass' .. tostring(num)] }) end end local function addImageRow(imageArgs) if imageArgs.data and imageArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true has_list_class({ imageArgs.rowclass, imageArgs.class }) local row = root:tag('tr') row:addClass(imageArgs.rowclass) row:addClass( isUntitledChildBox( imageArgs.data ) and 'infobox-hiddenrow' or nil ) local dataCell = row:tag('td') dataCell :attr('colspan', '2') :addClass('infobox-image') :addClass(imageArgs.class) :cssText(imageArgs.datastyle) :wikitext(fixChildBoxes(imageArgs.data, 'td')) else table.insert(empty_row_categories, imageArgs.data or '') end end local function renderImages() if args.image then args.image1 = args.image end if args.caption then args.caption1 = args.caption end local imagenums = getArgNums('image') for k, num in ipairs(imagenums) do local caption = args['caption' .. tostring(num)] local data = mw.html.create():wikitext(args['image' .. tostring(num)]) if caption then data :tag('div') :addClass('infobox-caption') -- @deprecated next; target .infobox-<name> .infobox-caption :cssText(args.captionstyle) :wikitext(caption) end addImageRow({ data = tostring(data), -- @deprecated next; target .infobox-<name> .infobox-image datastyle = args.imagestyle, class = args.imageclass, rowclass = args['imagerowclass' .. tostring(num)] }) end end -- When autoheaders are turned on, preprocesses the rows local function preprocessRows() if not args.autoheaders then return end local rownums = union(getArgNums('header'), getArgNums('data')) table.sort(rownums) local lastheader for k, num in ipairs(rownums) do if args['header' .. tostring(num)] then if lastheader then args['header' .. tostring(lastheader)] = nil end lastheader = num elseif args['data' .. tostring(num)] and args['data' .. tostring(num)]:gsub( category_in_empty_row_pattern, '' ):match('^%S') then local data = args['data' .. tostring(num)] if data:gsub(category_in_empty_row_pattern, ''):match('%S') then lastheader = nil end end end if lastheader then args['header' .. tostring(lastheader)] = nil end end -- Gets the union of the header and data argument numbers, -- and renders them all in order local function renderRows() local rownums = union(getArgNums('header'), getArgNums('data')) table.sort(rownums) for k, num in ipairs(rownums) do addRow({ header = args['header' .. tostring(num)], label = args['label' .. tostring(num)], data = args['data' .. tostring(num)], datastyle = args.datastyle, class = args['class' .. tostring(num)], rowclass = args['rowclass' .. tostring(num)], -- @deprecated next; target .infobox-<name> rowclass rowstyle = args['rowstyle' .. tostring(num)], rowcellstyle = args['rowcellstyle' .. tostring(num)] }) end end local function renderNavBar() if not args.name then return end has_rows = true root :tag('tr') :tag('td') :attr('colspan', '2') :addClass('infobox-navbar') :wikitext(require('Module:Navbar')._navbar{ args.name, mini = 1, }) end local function renderItalicTitle() local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then root:wikitext(require('Module:Italic title')._main({})) end end -- Categories in otherwise empty rows are collected in empty_row_categories. -- This function adds them to the module output. It is not affected by -- args.decat because this module should not prevent module-external categories -- from rendering. local function renderEmptyRowCategories() for _, s in ipairs(empty_row_categories) do root:wikitext(s) end end -- Render tracking categories. args.decat == turns off tracking categories. local function renderTrackingCategories() if yesno(args.decat) then return end if args.child == 'yes' then if args.title then root:wikitext( '[[Category:Pages using embedded infobox templates with the title parameter]]' ) end elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then root:wikitext('[[Category:Articles using infobox templates with no data rows]]') end end --[=[ Loads the templatestyles for the infobox. TODO: FINISH loading base templatestyles here rather than in MediaWiki:Common.css. There are 4-5000 pages with 'raw' infobox tables. See [[Mediawiki_talk:Common.css/to_do#Infobox]] and/or come help :). When we do this we should clean up the inline CSS below too. Will have to do some bizarre conversion category like with sidebar. ]=] local function loadTemplateStyles() local frame = mw.getCurrentFrame() local hlist_templatestyles = '' if lists.hlist_t.found then hlist_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = lists.hlist_t.styles } } end local plainlist_templatestyles = '' if lists.plainlist_t.found then plainlist_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = lists.plainlist_t.styles } } end -- See function description local base_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Infobox/styles.css' } } local templatestyles = '' if args['templatestyles'] then templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['templatestyles'] } } end local child_templatestyles = '' if args['child templatestyles'] then child_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['child templatestyles'] } } end local grandchild_templatestyles = '' if args['grandchild templatestyles'] then grandchild_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['grandchild templatestyles'] } } end return table.concat({ -- hlist -> plainlist -> base is best-effort to preserve old Common.css ordering. -- this ordering is not a guarantee because the rows of interest invoking -- each class may not be on a specific page hlist_templatestyles, plainlist_templatestyles, base_templatestyles, templatestyles, child_templatestyles, grandchild_templatestyles }) end -- common functions between the child and non child cases local function structure_infobox_common() renderSubheaders() renderImages() preprocessRows() renderRows() renderBelowRow() renderNavBar() renderItalicTitle() renderEmptyRowCategories() renderTrackingCategories() cleanInfobox() end -- Specify the overall layout of the infobox, with special settings if the -- infobox is used as a 'child' inside another infobox. local function _infobox() if args.child ~= 'yes' then root = mw.html.create('table') root :addClass(args.subbox == 'yes' and 'infobox-subbox' or 'infobox') :addClass(args.bodyclass) -- @deprecated next; target .infobox-<name> :cssText(args.bodystyle) has_list_class({ args.bodyclass }) renderTitle() renderAboveRow() else root = mw.html.create() root :wikitext(args.title) end structure_infobox_common() return loadTemplateStyles() .. root end -- If the argument exists and isn't blank, add it to the argument table. -- Blank arguments are treated as nil to match the behaviour of ParserFunctions. local function preprocessSingleArg(argName) if origArgs[argName] and origArgs[argName] ~= '' then args[argName] = origArgs[argName] end end -- Assign the parameters with the given prefixes to the args table, in order, in -- batches of the step size specified. This is to prevent references etc. from -- appearing in the wrong order. The prefixTable should be an array containing -- tables, each of which has two possible fields, a "prefix" string and a -- "depend" table. The function always parses parameters containing the "prefix" -- string, but only parses parameters in the "depend" table if the prefix -- parameter is present and non-blank. local function preprocessArgs(prefixTable, step) if type(prefixTable) ~= 'table' then error("Non-table value detected for the prefix table", 2) end if type(step) ~= 'number' then error("Invalid step value detected", 2) end -- Get arguments without a number suffix, and check for bad input. for i,v in ipairs(prefixTable) do if type(v) ~= 'table' or type(v.prefix) ~= "string" or (v.depend and type(v.depend) ~= 'table') then error('Invalid input detected to preprocessArgs prefix table', 2) end preprocessSingleArg(v.prefix) -- Only parse the depend parameter if the prefix parameter is present -- and not blank. if args[v.prefix] and v.depend then for j, dependValue in ipairs(v.depend) do if type(dependValue) ~= 'string' then error('Invalid "depend" parameter value detected in preprocessArgs') end preprocessSingleArg(dependValue) end end end -- Get arguments with number suffixes. local a = 1 -- Counter variable. local moreArgumentsExist = true while moreArgumentsExist == true do moreArgumentsExist = false for i = a, a + step - 1 do for j,v in ipairs(prefixTable) do local prefixArgName = v.prefix .. tostring(i) if origArgs[prefixArgName] then -- Do another loop if any arguments are found, even blank ones. moreArgumentsExist = true preprocessSingleArg(prefixArgName) end -- Process the depend table if the prefix argument is present -- and not blank, or we are processing "prefix1" and "prefix" is -- present and not blank, and if the depend table is present. if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then for j,dependValue in ipairs(v.depend) do local dependArgName = dependValue .. tostring(i) preprocessSingleArg(dependArgName) end end end end a = a + step end end -- Parse the data parameters in the same order that the old {{infobox}} did, so -- that references etc. will display in the expected places. Parameters that -- depend on another parameter are only processed if that parameter is present, -- to avoid phantom references appearing in article reference lists. local function parseDataParameters() preprocessSingleArg('autoheaders') preprocessSingleArg('child') preprocessSingleArg('bodyclass') preprocessSingleArg('subbox') preprocessSingleArg('bodystyle') preprocessSingleArg('title') preprocessSingleArg('titleclass') preprocessSingleArg('titlestyle') preprocessSingleArg('above') preprocessSingleArg('aboveclass') preprocessSingleArg('abovestyle') preprocessArgs({ {prefix = 'subheader', depend = {'subheaderstyle', 'subheaderrowclass'}} }, 10) preprocessSingleArg('subheaderstyle') preprocessSingleArg('subheaderclass') preprocessArgs({ {prefix = 'image', depend = {'caption', 'imagerowclass'}} }, 10) preprocessSingleArg('captionstyle') preprocessSingleArg('imagestyle') preprocessSingleArg('imageclass') preprocessArgs({ {prefix = 'header'}, {prefix = 'data', depend = {'label'}}, {prefix = 'rowclass'}, {prefix = 'rowstyle'}, {prefix = 'rowcellstyle'}, {prefix = 'class'} }, 50) preprocessSingleArg('headerclass') preprocessSingleArg('headerstyle') preprocessSingleArg('labelstyle') preprocessSingleArg('datastyle') preprocessSingleArg('below') preprocessSingleArg('belowclass') preprocessSingleArg('belowstyle') preprocessSingleArg('name') -- different behaviour for italics if blank or absent args['italic title'] = origArgs['italic title'] preprocessSingleArg('decat') preprocessSingleArg('templatestyles') preprocessSingleArg('child templatestyles') preprocessSingleArg('grandchild templatestyles') end -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. function p.infobox(frame) if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end parseDataParameters() return _infobox() end -- For calling via #invoke within a template function p.infoboxTemplate(frame) origArgs = {} for k,v in pairs(frame.args) do origArgs[k] = mw.text.trim(v) end parseDataParameters() return _infobox() end return p kueb5p6xeoq6x7bxu2zyyl7pmxgesrs 556501 556500 2026-08-30T12:53:59Z Mirzali 16 Vırnayışê hesabê 556499 ke terefê [[Karber:ChomponU Pongsawet|ChomponU Pongsawet]] ra peyser gêriyao 556501 Scribunto text/plain -- -- This module implements {{Infobox}} -- local p = {} local navbar = require('Modul:Navbar')._navbar local args = {} local origArgs local root local function notempty( s ) return s and s:match( '%S' ) end local function fixChildBoxes(sval, tt) if notempty(sval) then local marker = '<span class=special_infobox_marker>' local s = sval s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>)', '%1' .. marker) if s:match(marker) then s = mw.ustring.gsub(s, marker .. '%s*' .. marker, '') s = mw.ustring.gsub(s, '([\r\n]|-[^\r\n]*[\r\n])%s*' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '%s*([\r\n]|-)', '%1') s = mw.ustring.gsub(s, '(</[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '(<%s*[Tt][Aa][Bb][Ll][Ee][^<>]*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '^(%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '([\r\n]%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '(%s*</[Tt][Aa][Bb][Ll][Ee]%s*>)', '%1') s = mw.ustring.gsub(s, marker .. '(%s*\n|%})', '%1') end if s:match(marker) then local subcells = mw.text.split(s, marker) s = '' for k = 1, #subcells do if k == 1 then s = s .. subcells[k] .. '</' .. tt .. '></tr>' elseif k == #subcells then local rowstyle = ' style="display:none"' if notempty(subcells[k]) then rowstyle = '' end s = s .. '<tr' .. rowstyle ..'><' .. tt .. ' colspan=2>\n' .. subcells[k] elseif notempty(subcells[k]) then if (k % 2) == 0 then s = s .. subcells[k] else s = s .. '<tr><' .. tt .. ' colspan=2>\n' .. subcells[k] .. '</' .. tt .. '></tr>' end end end end return s else return sval end end local function union(t1, t2) -- Returns the union of the values of two tables, as a sequence. local vals = {} for k, v in pairs(t1) do vals[v] = true end for k, v in pairs(t2) do vals[v] = true end local ret = {} for k, v in pairs(vals) do table.insert(ret, k) end return ret end local function getArgNums(prefix) -- Returns a table containing the numbers of the arguments that exist -- for the specified prefix. For example, if the prefix was 'data', and -- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}. local nums = {} for k, v in pairs(args) do local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end local function addRow(rowArgs) -- Adds a row to the infobox, with either a header cell -- or a label/data cell combination. if rowArgs.header then root :tag('tr') :addClass(rowArgs.rowclass) :cssText(rowArgs.rowstyle) :attr('id', rowArgs.rowid) :tag('th') :attr('colspan', 2) :attr('id', rowArgs.headerid) :addClass(rowArgs.class) :addClass(args.headerclass) :css('text-align', 'center') :cssText(args.headerstyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.header, 'th')) elseif rowArgs.data then local row = root:tag('tr') row:addClass(rowArgs.rowclass) row:cssText(rowArgs.rowstyle) row:attr('id', rowArgs.rowid) if rowArgs.label then row :tag('th') :attr('scope', 'row') :attr('id', rowArgs.labelid) :cssText(args.labelstyle) :cssText(rowArgs.rowcellstyle) :wikitext(rowArgs.label) :done() end local dataCell = row:tag('td') if not rowArgs.label then dataCell :attr('colspan', 2) :css('text-align', 'center') end dataCell :attr('id', rowArgs.dataid) :addClass(rowArgs.class) :cssText(rowArgs.datastyle) :cssText(rowArgs.rowcellstyle) :newline() :wikitext(fixChildBoxes(rowArgs.data, 'td')) end end local function renderTitle() if not args.title then return end root :tag('caption') :addClass(args.titleclass) :cssText(args.titlestyle) :wikitext(args.title) end local function renderAboveRow() if not args.above then return end root :tag('tr') :tag('th') :attr('colspan', 2) :addClass(args.aboveclass) :css('text-align', 'center') :css('font-size', '155%') :css('font-weight', 'bold') :cssText(args.abovestyle) :wikitext(fixChildBoxes(args.above,'th')) end local function renderBelowRow() if not args.below then return end root :tag('tr') :tag('td') :attr('colspan', '2') :addClass(args.belowclass) :css('text-align', 'center') :cssText(args.belowstyle) :newline() :wikitext(fixChildBoxes(args.below,'td')) end local function renderSubheaders() if args.subheader then args.subheader1 = args.subheader end if args.subheaderrowclass then args.subheaderrowclass1 = args.subheaderrowclass end local subheadernums = getArgNums('subheader') for k, num in ipairs(subheadernums) do addRow({ data = args['subheader' .. tostring(num)], datastyle = args.subheaderstyle or args['subheaderstyle' .. tostring(num)], class = args.subheaderclass, rowclass = args['subheaderrowclass' .. tostring(num)] }) end end local function renderImages() if args.image then args.image1 = args.image end if args.caption then args.caption1 = args.caption end local imagenums = getArgNums('image') for k, num in ipairs(imagenums) do local caption = args['caption' .. tostring(num)] local data = mw.html.create():wikitext(args['image' .. tostring(num)]) if caption then data :tag('div') :cssText(args.captionstyle) :wikitext(caption) end addRow({ data = tostring(data), datastyle = args.imagestyle, class = args.imageclass, rowclass = args['imagerowclass' .. tostring(num)] }) end end local function renderRows() -- Gets the union of the header and data argument numbers, -- and renders them all in order using addRow. local rownums = union(getArgNums('header'), getArgNums('data')) table.sort(rownums) for k, num in ipairs(rownums) do addRow({ header = args['header' .. tostring(num)], label = args['label' .. tostring(num)], data = args['data' .. tostring(num)], datastyle = args.datastyle, class = args['class' .. tostring(num)], rowclass = args['rowclass' .. tostring(num)], rowstyle = args['rowstyle' .. tostring(num)], rowcellstyle = args['rowcellstyle' .. tostring(num)], dataid = args['dataid' .. tostring(num)], labelid = args['labelid' .. tostring(num)], headerid = args['headerid' .. tostring(num)], rowid = args['rowid' .. tostring(num)] }) end end local function renderNavBar() if not args.name then return end root :tag('tr') :tag('td') :attr('colspan', '2') :css('text-align', 'right') :wikitext(navbar{ args.name, mini = 1, }) end local function renderItalicTitle() local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then root:wikitext(mw.getCurrentFrame():expandTemplate({title = 'italic title'})) end end local function renderTrackingCategories() if args.decat ~= 'yes' then if #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then root:wikitext('') end if args.child == 'yes' and args.title then root:wikitext('') end end end local function _infobox() -- Specify the overall layout of the infobox, with special settings -- if the infobox is used as a 'child' inside another infobox. if args.child ~= 'yes' then root = mw.html.create('table') root :addClass('infobox') :addClass(args.bodyclass) if args.subbox == 'yes' then root :css('padding', '0') :css('border', 'none') :css('margin', '1px') :css('width', 'auto') :css('min-width', '100%') :css('font-size', '100%') :css('clear', 'none') :css('float', 'none') :css('background-color', 'transparent') else root :css('width', '21em') end root :cssText(args.bodystyle) renderTitle() renderAboveRow() else root = mw.html.create() root :wikitext(args.title) end renderSubheaders() renderImages() renderRows() renderBelowRow() renderNavBar() renderItalicTitle() renderTrackingCategories() return tostring(root) end local function preprocessSingleArg(argName) -- If the argument exists and isn't blank, add it to the argument table. -- Blank arguments are treated as nil to match the behaviour of ParserFunctions. if origArgs[argName] and origArgs[argName] ~= '' then args[argName] = origArgs[argName] end end local function preprocessArgs(prefixTable, step) -- Assign the parameters with the given prefixes to the args table, in order, in batches -- of the step size specified. This is to prevent references etc. from appearing in the -- wrong order. The prefixTable should be an array containing tables, each of which has -- two possible fields, a "prefix" string and a "depend" table. The function always parses -- parameters containing the "prefix" string, but only parses parameters in the "depend" -- table if the prefix parameter is present and non-blank. if type(prefixTable) ~= 'table' then error("Non-table value detected for the prefix table", 2) end if type(step) ~= 'number' then error("Invalid step value detected", 2) end -- Get arguments without a number suffix, and check for bad input. for i,v in ipairs(prefixTable) do if type(v) ~= 'table' or type(v.prefix) ~= "string" or (v.depend and type(v.depend) ~= 'table') then error('Invalid input detected to preprocessArgs prefix table', 2) end preprocessSingleArg(v.prefix) -- Only parse the depend parameter if the prefix parameter is present and not blank. if args[v.prefix] and v.depend then for j, dependValue in ipairs(v.depend) do if type(dependValue) ~= 'string' then error('Invalid "depend" parameter value detected in preprocessArgs') end preprocessSingleArg(dependValue) end end end -- Get arguments with number suffixes. local a = 1 -- Counter variable. local moreArgumentsExist = true while moreArgumentsExist == true do moreArgumentsExist = false for i = a, a + step - 1 do for j,v in ipairs(prefixTable) do local prefixArgName = v.prefix .. tostring(i) if origArgs[prefixArgName] then moreArgumentsExist = true -- Do another loop if any arguments are found, even blank ones. preprocessSingleArg(prefixArgName) end -- Process the depend table if the prefix argument is present and not blank, or -- we are processing "prefix1" and "prefix" is present and not blank, and -- if the depend table is present. if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then for j,dependValue in ipairs(v.depend) do local dependArgName = dependValue .. tostring(i) preprocessSingleArg(dependArgName) end end end end a = a + step end end function p.infobox(frame) -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- Parse the data parameters in the same order that the old {{infobox}} did, so that -- references etc. will display in the expected places. Parameters that depend on -- another parameter are only processed if that parameter is present, to avoid -- phantom references appearing in article reference lists. preprocessSingleArg('child') preprocessSingleArg('bodyclass') preprocessSingleArg('subbox') preprocessSingleArg('bodystyle') preprocessSingleArg('title') preprocessSingleArg('titleclass') preprocessSingleArg('titlestyle') preprocessSingleArg('above') preprocessSingleArg('aboveclass') preprocessSingleArg('abovestyle') preprocessArgs({ {prefix = 'subheader', depend = {'subheaderstyle', 'subheaderrowclass'}} }, 10) preprocessSingleArg('subheaderstyle') preprocessSingleArg('subheaderclass') preprocessArgs({ {prefix = 'image', depend = {'caption', 'imagerowclass'}} }, 10) preprocessSingleArg('captionstyle') preprocessSingleArg('imagestyle') preprocessSingleArg('imageclass') preprocessArgs({ {prefix = 'header'}, {prefix = 'data', depend = {'label'}}, {prefix = 'rowclass'}, {prefix = 'rowstyle'}, {prefix = 'rowcellstyle'}, {prefix = 'class'}, {prefix = 'dataid'}, {prefix = 'labelid'}, {prefix = 'headerid'}, {prefix = 'rowid'} }, 50) preprocessSingleArg('headerclass') preprocessSingleArg('headerstyle') preprocessSingleArg('labelstyle') preprocessSingleArg('datastyle') preprocessSingleArg('below') preprocessSingleArg('belowclass') preprocessSingleArg('belowstyle') preprocessSingleArg('name') args['italic title'] = origArgs['italic title'] -- different behaviour if blank or absent preprocessSingleArg('decat') return _infobox() end return p pi4n78n4f7qe4x7zl4wovkhsydo8vgz .quest 0 70017 556502 504252 2026-08-30T12:55:14Z Mirzali 16 556502 wikitext text/x-wiki '''.quest''', [[İnternet|internet]] de nameyê bandıra jeneriko (be zıwanê [[İngılızki]]: ''[[Bandıra sewiyaya serêna jenerike|Generic top-level domains]]'') ke yew kodê interneti rê bırriyayo a. == Bıvênên == * [[Domain]] * [[Komputer]] * [[Website]] {{Generic top-level domain}} {{ccTLD}} [[Kategoriye:Bandıra sewiyaya serêna jenerike]] 591ywt8g8xjn811e9eub0xr8begit51 .qvc 0 70215 556507 504253 2026-08-30T20:30:25Z Mirzali 16 556507 wikitext text/x-wiki '''.qvc''', [[İnternet|internet]] de nameyê bandıra jeneriko (be zıwanê [[İngılızki]]: ''[[Bandıra sewiyaya serêna jenerike|Generic top-level domains]]'') ke yew kodê interneti rê bırriyayo a. == Bıvênên == * [[Domain]] * [[Komputer]] * [[Website]] {{Generic top-level domain}} {{ccTLD}} [[Kategoriye:Bandıra sewiyaya serêna jenerike]] buylfghgdd1oa9vkidh1d6sek48i3x8 NGC 5869 0 76401 556504 489344 2026-08-30T13:13:33Z Mirzali 16 [[Katalogo Pêroyiyo Newe]] 556504 wikitext text/x-wiki {{Galaksiye}} '''NGC 5869''', yew cısmê [[Asmên|asmên]]iyo. No cısım [[Katalogo Pêroyiyo Newe|Katalogê Pêroyiyê Neweyi]] de komê estareyanê {{Wikidata|P59}} miyan de ca gêno. {{Wikidata|P575}} de terefê {{Wikidata|P61}}i ra keşıf biyo. == Bıvênên == * [[Asmên]] * [[Galaksiye]] * [[Estare]] * [[Pulsar]] * [[Nebula]] * [[Lista cısmanê NGC]] == Gıreyê teberi == * {{NASANED}} * {{Simbad}} * {{Leda}} * {{Seds}} * {{WikiSky}} {{NGC|5869}} [[Kategoriye:Asmênşınasiye]] o8hkn7zmmv9yidggj1lxuyddvr4ij7i NGC 5846 0 76415 556508 489355 2026-08-30T20:31:28Z Mirzali 16 [[Katalogo Pêroyiyo Newe]] 556508 wikitext text/x-wiki {{Galaksiye}} '''NGC 5846''', yew cısmê [[Asmên|asmên]]iyo. No cısım [[Katalogo Pêroyiyo Newe|Katalogê Pêroyiyê Neweyi]] de komê estareyanê {{Wikidata|P59}} miyan de ca gêno. {{Wikidata|P575}} de terefê {{Wikidata|P61}}i ra keşıf biyo. == Bıvênên == * [[Asmên]] * [[Galaksiye]] * [[Estare]] * [[Pulsar]] * [[Nebula]] * [[Lista cısmanê NGC]] == Gıreyê teberi == * {{NASANED}} * {{Simbad}} * {{Leda}} * {{Seds}} * {{WikiSky}} {{NGC|5846}} [[Kategoriye:Asmênşınasiye]] 4l8n38xcepae7dwxi7dgpmrurqbs9yr Asuman Krause 0 84461 556505 446385 2026-08-30T20:27:46Z Mirzali 16 556505 wikitext text/x-wiki {{Merdumi}} '''Asuman Krause''' (b. 1 Adar 1976; [[Berlin]], [[Almanya]]), yew kaykera û spikera [[Tırk]]a. == Têlevizyon == * ''Wipe Out'' * ''Fear Factor Extreme'' * ''Big Brother Tırkiya'' == Diskografiye == {| class="wikitable" !Serre !Albumi |- |2006 |"Çok Yanlızım" |- |2008 |"Kukla" |- |} [[Kategoriye:Merdumê weşi]] [[Kategoriye:Merdumê ke 1976 de biyê]] d4vdkaesqcoag58q411bwgn4iswdhj9 Ahmet Cevdet Ertuğrul 0 89389 556506 456429 2026-08-30T20:29:06Z Mirzali 16 {{Kontrolê_otoriteyi}} 556506 wikitext text/x-wiki {{İdarekar}} '''Ahmet Cevdet Ertuğrul''', yew serdar, wali û siyasetkaro [[Tırk]]o. {{Portal|Biyografiye|Tırkiya}} {{Waliyê Zonğuldaki}} {{Kontrolê_otoriteyi}} [[Kategoriye:Siyasetkarê Tırki]] ct6z42h6fcenvqtwnnn406gu2ooxkdu Werênayışê karberi:ChomponU Pongsawet 3 100454 556503 2026-08-30T13:09:01Z Mirzali 16 /* Modul:Infobox */ qısımo newe 556503 wikitext text/x-wiki == Modul:Infobox == Your so-called update for [https://diq.wikipedia.org/w/index.php?title=Modul:Infobox&diff=prev&oldid=556499 the module] has caused the templates to stop working. Since every website has its own specific settings, a blanket update does more harm than good. Please refrain from doing this in the future. [[Karber:Mirzali|Mirzali]] ([[Werênayışê karberi:Mirzali|mesac]]) 13:09, 30 Tebaxe 2026 ([[UTC]]) mffdsm082hpm41vmq0c0s9p71z53ohg Werênayışê karberi:Mirzali/Arşiv 12 3 100455 556509 2026-08-31T07:15:34Z JackonLee54 34697 message to Mirzali 556509 wikitext text/x-wiki ==Zazaki Request== '''Ma be xêr Mister Mirzali''', A while ago, Asmen had restricted your talk page to "confirmed users only" which is still in effect today. Therefore this is my message to you: Two days ago, I had helped the Zazaki people translate the article on the "Zazaki people" into [[:nan:Zaza_lâng|this Wikipedia language here]]. Would you be so kind as to translate this short Bible verse into the splendid Southern Zazaki (also known as Dımılki) language: :"''Denn Gott hat die Menschen so sehr geliebt, dass er seinen einzigen Sohn für sie hergab. Jeder, der an ihn glaubt, wird nicht zugrunde gehen, sondern das ewige Leben haben''." This is all the help that I request from you. --[[Karber:JackonLee54|JackonLee54]] ([[Werênayışê karberi:JackonLee54|mesac]]) 07:15, 31 Tebaxe 2026 ([[UTC]]) sz9orz1f2938zooo8ex6ct31chjgtcb 556515 556509 2026-08-31T11:35:46Z Mirzali 16 556515 wikitext text/x-wiki == Bot == Silav, Mirzali. Guhartinên [https://diq.wikipedia.org/w/index.php?title=NGC_5149&curid=75582&diff=490223&oldid=431394] bi vî awayî bi botê hêsantir e. Ger destûra te hebe, em bota min li vir jî çalak bikin û tiştên ku divê werin guhartin em biguherînin. Dibe? [[Karber:Balyozxane|Balyozxane]] ([[Karber vaten:Balyozxane|mesac]]) 22:35, 11 Kanun 2022 ([[UTC]]) :Silav [[Karber:Balyozxane|Balyozxane]]! Dê pir baş be, ji ber ku van çêtirkirinan dema min jî digire. Ez destûrê didim te. Pêşî ji bo alîkariya te spas dikim. -- [[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 09:26, 12 Kanun 2022 ([[UTC]]) :: Dengê xwe li vir [[Wikipedia:Portalê cemaeti/Bot Flag Requests#Balyozbot]] bide xêra xwe. ::: {{done|[[Wikipedia:Portalê cemaeti/Bot Flag Requests#Balyozbot|Min ew kir.]]}} -- [[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 12:02, 12 Kanun 2022 ([[UTC]]) == Pirsek == Min xelet fêm nekî înşela lê dixwazim tiştek li te bipirsim. Gelo di vê dengdanê [[:w:ku:Wîkîpediya:Rêveber/Balyozxane]] de dengê xwe bidî min? {{=)}} [[Karber:Balyozxane|Balyozxane]] ([[Karber vaten:Balyozxane|mesac]]) 19:17, 12 Kanun 2022 ([[UTC]]) : {{done|[https://ku.wikipedia.org/wiki/W%C3%AEk%C3%AEpediya:R%C3%AAveber/Balyozxane]}} Helbet ez qet şaş fam nakim. Ez kêfxweş im ku alîkariya her kesê ku alîkariya min bike. -- [[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 20:49, 12 Kanun 2022 ([[UTC]]) :: Gelek spas :) [[Karber:Balyozxane|Balyozxane]] ([[Karber vaten:Balyozxane|mesac]]) 00:15, 21 Kanun 2022 ([[UTC]]) == Bot 2 == Silav, bot hatiye. Tiştên ku divê werin guhertin bi vî awayî (Galaksi > Galaksiye) li gotûbêja min binivîse ez ê sibê dest pê bikim.[[Karber:Balyozxane|Balyozxane]] ([[Karber vaten:Balyozxane|mesac]]) 00:15, 21 Kanun 2022 ([[UTC]]) == Update request for the article [[Ekşi Sözlük]] == Hello. Can you update the article [[Ekşi Sözlük]], by adding that on February 21, 2023, access to the website was blocked in Turkey by the Information and Communication Technologies Authority of Turkey? Here are two websites from non-governmental and non-progovernmental sources in Turkish, which can be deciphered via a machine translator. {{Cite web|url=https://www.cumhuriyet.com.tr/turkiye/btkdan-eksi-sozluk-engeli-2054108|title=BTK'den Ekşi Sözlük engeli!|date=2023-02-21|access-date=2023-02-21|publisher=Cumhuriyet.com.tr|language=tr}} {{Cite web|url=https://www.gazeteduvar.com.tr/eksi-sozluk-hakkinda-erisimin-engellenmesi-karari-haber-1604918|title=Ekşi Sözlük hakkında erişimin engellenmesi kararı|date=2023-02-21|access-date=2023-02-21|publisher=Gazeteduvar.com|language=tr}} Yours sincerely, [[Karber:Multituberculata|Multituberculata]] ([[Karber vaten:Multituberculata|mesac]]) 12:19, 24 Şıbat 2023 ([[UTC]]) [[Karber:Multituberculata|Multituberculata]] ([[Karber vaten:Multituberculata|mesac]]) 12:19, 24 Şıbat 2023 ([[UTC]]) :{{done}}! -- [[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 08:10, 25 Şıbat 2023 ([[UTC]]) ::Thank you very much. --[[Karber:Multituberculata|Multituberculata]] ([[Karber vaten:Multituberculata|mesac]]) 05:11, 25 Şıbat 2023 ([[UTC]]) == Requsest == Hi, wish you a good time. could you please write an article about Zazaki alphabet on English wikipedia? if you do so, I will translate that to Spanish, Persian, Esperanto and Tajik. [[Karber:Parsehos|Parsehos]] ([[Karber vaten:Parsehos|mesac]]) 04:01, 26 Nisane 2023 ([[UTC]]) == Translation request == Hi. I am sorry to bother you with this but I would like to ask you whether you could please translate this to Zazaki? Lingua Franca Nova (“Elefen”) is a language designed to be particularly simple, consistent, and easy to learn for international communications. It has a number of positive qualities: * 1. It has a limited number of phonemes. It sounds similar to Italian or Spanish. * 2. It is phonetically spelled. No child should have to spend years learning irregularities. * 3. It has a completely regular grammar, similar to the world’s creoles. * 4. It has a limited and completely regular set of productive affixes for routine word derivation. * 5. It has well-defined rules for word order, in keeping with many major languages. * 6. Its vocabulary is strongly rooted in modern Romance languages. These languages are themselves widespread and influential, plus they have contributed the major part of English vocabulary * 7. It is designed to be naturally accepting of Latin and Greek technical neologisms, the de facto “world standard”. * 8. It is designed to seem relatively “natural” to those who are familiar with Romance languages, without being any more difficult for others to learn. * We hope you like Elefen! Thanks for your help. –[[Karber:Caro de Segeda|Caro de Segeda]] ([[Karber vaten:Caro de Segeda|mesac]]) 06:16, 1 Hezirane 2023 ([[UTC]]) == Translation request == Hello. Can you translate and create the article [[:de:Laacher See]], which is the third most powerful volcano in Europe after Campi Flegrei and Santorini, in Zazaki Wikipedia? Yours sincerely, [[Karber:Multituberculata|Multituberculata]] ([[Karber vaten:Multituberculata|mesac]]) 11:41, 22 Temuze 2023 ([[UTC]]) == [[:Şablon:Xerita eyaletanê Almanya]] == Hello Mirzali! Please change the file <nowiki>[[:File:Coat of arms of Berlin.svg]]</nowiki> to <nowiki>[[:File:DEU Berlin COA.svg]]</nowiki>. The filename has been changed. [[Karber:Doc Taxon|Doc Taxon]] ([[Karber vaten:Doc Taxon|mesac]]) 16:48, 2 Keşkelun 2024 ([[UTC]]) [[Karber:Doc Taxon|Doc Taxon]] ([[Karber vaten:Doc Taxon|mesac]]) 16:48, 2 Keşkelun 2024 ([[UTC]]) :Done, thanks for the notification. --[[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 08:21, 3 Keşkelun 2024 ([[UTC]]) == Thank you for being a medical contributors! == <div lang="en" dir="ltr" class="mw-content-ltr"> {| style="background-color: #fdffe7; border: 1px solid #fceb92;" |rowspan="2" style="vertical-align: middle; padding: 5px;" | [[File:Wiki Project Med Foundation logo.svg|130px]] |style="font-size: x-large; padding: 3px 3px 0 3px; height: 1.5em;" |'''The 2024 Cure Award''' |- | style="vertical-align: middle; padding: 3px;" |In 2024 you '''[[mdwiki:WikiProjectMed:WikiProject_Medicine/Stats/Top_medical_editors_2024_(all)|were one of the top medical editors in your language]]'''. Thank you from [[m:WikiProject_Med|Wiki Project Med]] for helping bring free, complete, accurate, up-to-date health information to the public. We really appreciate you and the vital work you do! Wiki Project Med Foundation is a [[meta:Wikimedia_thematic_organizations|thematic organization]] whose mission is to improve our health content. '''[[meta:Wiki_Project_Med#People_interested|Consider joining for 2025]]''', there are no associated costs. Additionally one of our primary efforts revolves around translating health content. We invite you to '''[https://mdwiki.toolforge.org/Translation_Dashboard/index.php try our new workflow]''' if you have not already. Our dashboard automatically [https://mdwiki.toolforge.org/Translation_Dashboard/leaderboard.php collects statistics] of your efforts and we are working on [https://mdwiki.toolforge.org/fixwikirefs.php tools to automatically improve formating]. |} Thanks again :-) -- [[mdwiki:User:Doc_James|<span style="color:#0000f1">'''Doc James'''</span>]] along with the rest of the team at '''[[m:WikiProject_Med|Wiki Project Med Foundation]]''' 06:24, 26 Çele 2025 ([[UTC]]) </div> <!-- Message sent by User:Doc James@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Top_Other_Language_Editors_2024&oldid=28172893 --> == →Taxımo mewcud: 2015 == 2015 → Taxımo mewcud: 2025. 2015'te ne olduğu kimseyi ilgilendirmiyor. Yıl 2025 değil mi? Yanılıyor muyum? -- [[Karber:Makenzis|Makenzis]] ([[Karber vaten:Makenzis|mesac]]) 12:15, 13 Şıbat 2025 ([[UTC]]) : {{ping|Makenzis}} Düşünceli uyarınız için teşekkür ederim. [https://diq.wikipedia.org/wiki/Coritiba_Foot_Ball_Club#Tax%C4%B1mo_mewcud Tabela]yı güncelledim. -- [[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 13:34, 13 Şıbat 2025 ([[UTC]]) == Blocks == Hello, perhaps you don't know this, but usually we don't hardblock IPs for indefinite amount of time as they are likely rotating multiple owners meaning innocent people will be blocked. I suggest you decrease indefinite blocks of IPs. Best regards, [[Karber:A09|A09]] ([[Karber vaten:A09|mesac]]) 14:44, 20 Şıbat 2025 ([[UTC]]) : {{ping|A09}} I know, but in a platform like Zazaki with a small community, most people come not to contribute, but to cause trouble. This wastes our time. I've been struggling with this since 2006 and I'm still busy fixing bugs. So I have no tolerance for those who make mistakes. With friendly greetings! --[[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 15:08, 20 Şıbat 2025 ([[UTC]]) ::I totally understand your concerns, however global praxis is that blocks are meant to be preventative and not punitive. As someone who is in anti-vandalism corps for the sixth year now, I can share alot of experience with you. See, most of the vandalism is short-term based (think of bored schoolers who vandalise Wikipedia in their free time when on a break), but you also have long-term abusers (which are usually account based, you can block those indefinitely). However, IPs are different. Internet providers are constantly shifting IPs between their customers meaning your indefinite blocks actually do more harm than prevention (some even see it punitive, to say the least) as they block innocent potential editors in the future. My rationale and thought process is usually to escalate blocks: so for schoolers, a few hours is sufficient, for usual vandals, a few days, for more egregious a week/month, and the worst ones for a year (except proxies, which can be blocked for any duration, but not indefinite). Reblocking is far better than indefinite blocking for IPs. So I suggest we convert recent blocks to a week/month ones, and the older blocks are lifted. As a member of global sysops, I will closely patrol diqwiki and (re)raise blocks if needed. Would you agree to this proposal? Best regards,--[[Karber:A09|A09]] ([[Karber vaten:A09|mesac]]) 20:26, 20 Şıbat 2025 ([[UTC]]) :::{{ping|A09}} We have had a compulsive maniac for years. That is not an insult, it is literally the case. At first, he was constantly logging in with many fake accounts at the same time. I closed all his accounts one by one. He also admitted that he was the same person. His swearing and insults were also a plus. I think he is now continuing the same process with different IPs. Because his mistakes are very familiar to me. I don't think anyone else would attack our project out of boredom. He was also responsible for my user page not being public because he was constantly vandalizing it. Anyway, I agree to your proposal, so you can (re)raise blocks if needed. Best regards! --[[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 21:08, 20 Şıbat 2025 ([[UTC]]) ::::Thanks for letting me know this! I will contact you privately via email to gain more information about this vandal you have described so we (preferably local community with help of global sysops) will be able to efficiently sieve through IP block list while also implementing safety precautions (ie. blacklists, edit filters or IP range blocks) to counteract this vandal. Any documentational site is always a good starting point. The case is surely something we will keep in mind when unblocking. Thank you for your cooperation and willingness, so far it was a pleasure, which doesn't always happen when handling admin behaviour cases! --[[Karber:A09|A09]] ([[Karber vaten:A09|mesac]]) 21:46, 20 Şıbat 2025 ([[UTC]]) :::::{{ping|A09}}I just answered your email. I hope you can do something with it. Best regards! --[[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 09:11, 21 Şıbat 2025 ([[UTC]]) ::::I have responded and I'm currently investigating. There's a lot of material to go through. Best regards,--[[Karber:A09|A09]] ([[Karber vaten:A09|mesac]]) 09:27, 21 Şıbat 2025 ([[UTC]]) :::::{{ping|A09}} I take note of it and thank you in advance for your effort. Best regards! --[[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 10:34, 21 Şıbat 2025 ([[UTC]]) :Sorry for the delay, there were some urgent situations on other wikis. I will work on the situation today, if you'd need any explanation regarding the implementation, please contact me in private.--[[Karber:A09|A09]] ([[Karber vaten:A09|mesac]]) 11:28, 8 Adare 2025 ([[UTC]]) ::{{ping|A09}} Please excuse my late reply. My laptop, which I have had for years, is broken. As a result, all my connection data is lost. However, I have set up a new email address. Can you please write to me at my new email address? I will reply to you immediately. --[[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 21:21, 10 Adare 2025 ([[UTC]]) :::Hello {{ping|A09}}, I had the hard disk of my old laptop read and recovered my old data. I have therefore sent you another email. I apologize if I gave the impression of being dishonest due to these circumstances and recent events. I ask for your understanding. Best regards. -- [[Karber:Mirzali|Mirzali]] ([[Werênayışê karberi:Mirzali|mesac]]) 08:07, 18 Tebaxe 2026 ([[UTC]]) == David Woodard == Perhaps you should allow a discussion about whether the [[David Woodard]] article should be deleted!? * This article and the spamming investigation is covered in the recent edition of ''The Signpost'': [[:en:Wikipedia:Wikipedia Signpost/2025-08-09/Disinformation report|Wikipedia:Wikipedia Signpost/2025-08-09/Disinformation report]]. * German edition article is deleted. (''See [[:de:Wikipedia:Löschkandidaten/2._Juli_2025]]'') * English edition article is downedited, and sources are investigated and discussed at [[:en:Talk:David_Woodard#Source_list]] * Number of languages with article about Woodard has been reduced from 99 to 19 during the last month. With greetings, --[[Karber:Orland|Orland]] ([[Karber vaten:Orland|mesac]]) 17:12, 17 Tebaxe 2025 ([[UTC]]) : {{ping|Orland}} Following your suggestion, I've tagged the [[David Woodard]] article with a deletion label. As long as this article has an equivalent in other languages, it will remain. Although I'm solely responsible for the content of the Zazaki Wikipedia, I don't want to directly decide on the deletion of an existing article. I always delete spam articles like [[DJ Parisa]], for example, without hesitation. Sincerely! -- [[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 05:18, 18 Tebaxe 2025 ([[UTC]]) == Şablon:Serrename == Sorry for writing in English, as I don't r/w Zazaki. I'm working on the new calendar template by copying from [[en:Template:Calendar]]. After it's finished, we shall replace all existing month-specific calendar templates with this new template, and eventually delete them all, as well as [[Şablon:Mengi]]. You may take a look at my edits, and adjust as needed, as I don't know your language. [[Karber:Ikan|Ikan]] ([[Karber vaten:Ikan|mesac]]) 09:50, 21 Tışrino Verên 2025 ([[UTC]]) : {{ping|Ikan}} Thank you for your work on this and for letting us know! It's greatly appreciated. Your approach makes perfect sense. Please feel free to continue, and we will review the template once it's ready. We will check the Zazaki translations for the month and day names to ensure everything is correct, as that is the part you cannot do without knowing the language. We are happy to help with the final adjustments and support the plan to consolidate the old templates. Please don't hesitate to notify us here if you need any specific coordination from our side. Best regards, [[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 06:05, 22 Tışrino Verên 2025 ([[UTC]]) :: Please take a look at its current state. Also, [[Şablon:Çımeyê mengan]] shall be deleted as well. [[Karber:Ikan|Ikan]] ([[Karber vaten:Ikan|mesac]]) 06:09, 22 Tışrino Verên 2025 ([[UTC]]) == A request == Hello dear Mirazi. I'm sorry for writing in English, because I can't write in the nice language of Zazaki correctly.</br> Sir, I was editing my user page, and added the page [[Hamid Hassani]] by fault! Please delete the page whenever possible. Thank you indeed! -- [[Karber:Hamid Hassani|Hamid Hassani]] ([[Karber vaten:Hamid Hassani|mesac]]) 07:32, 10 Tışrino Peyên 2025 ([[UTC]]) [[Karber:Hamid Hassani|Hamid Hassani]] ([[Karber vaten:Hamid Hassani|me]]) 07:32, 10 Tışrino Peyên 2025 ([[UTC]]) :{{ping|Hamid Hassani}} Thanks for the notification. I have deleted [[https://diq.wikipedia.org/w/index.php?title=Hamid_Hassani&action=edit&redlink=1| the page]] in question. -- [[Karber:Mirzali|Mirzali]] ([[Karber vaten:Mirzali|mesac]]) 17:57, 10 Tışrino Peyên 2025 ([[UTC]]) == Kategoriye:Bestere == Hello, Can you please delete the duplicate empty categories at [[:Kategoriye:Bestere]]? Thank you [[Karber:Vargenau|Vargenau]] ([[Werênayışê karberi:Vargenau|mesac]]) 15:11, 9 Kanun 2025 ([[UTC]]) :{{ping|Vargenau}} Thank you so much for your valuable help. I am currently abroad for family reasons and therefore have limited opportunities to check the changes here. However, I will do so immediately upon my return. Thank you for the reminder. Best regards! --[[Karber:Mirzali|Mirzali]] ([[Werênayışê karberi:Mirzali|mesac]]) 19:40, 9 Kanun 2025 ([[UTC]]) :: I have worked on linking diq categories to other languages. :: For that, I had to change the categories of some pages when you had two redundant categories. :: But there are still many categories without intewikis. See [[Werênayışê karberi:Vargenau/Categories without interwikis]] :: Best regards :: [[Karber:Vargenau|Vargenau]] ([[Werênayışê karberi:Vargenau|mesac]]) 12:27, 12 Kanun 2025 ([[UTC]]) == You may be an eligible candidate for the U4C election == <div lang="en" dir="ltr" class="mw-content-ltr"> Greetings, The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years. This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required. The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will week between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run. In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 18:32, 28 Nisane 2026 ([[UTC]]) </div> <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30471751 --> == Zazaki == Hello. I'm looking for Zaza translation of descriptions of a few items for Wikidata. Would you help? [[Karber:Eurohunter|Eurohunter]] ([[Werênayışê karberi:Eurohunter|mesac]]) 19:16, 7 Gulane 2026 ([[UTC]]) == Zazaki Request == '''Ma be xêr Mister Mirzali''', A while ago, Asmen had restricted your talk page to "confirmed users only" which is still in effect today. Therefore this is my message to you: Two days ago, I had helped the Zazaki people translate the article on the "Zazaki people" into [[:nan:Zaza_lâng|this Wikipedia language here]]. Would you be so kind as to translate this short Bible verse into the splendid Southern Zazaki (also known as Dımılki) language: :"''Denn Gott hat die Menschen so sehr geliebt, dass er seinen einzigen Sohn für sie hergab. Jeder, der an ihn glaubt, wird nicht zugrunde gehen, sondern das ewige Leben haben''." This is all the help that I request from you. --[[Karber:JackonLee54|JackonLee54]] ([[Werênayışê karberi:JackonLee54|mesac]]) 07:15, 31 Tebaxe 2026 ([[UTC]]) fx7oemqx3jv5iqi6ov47qo62ja288l8 Şablon:Karber zh 10 100456 556510 2026-08-31T07:25:21Z JackonLee54 34697 Ebe zerrekê '{{Dora Karberi-Sewiye | Sewiye = | id = [[Çinki|zh]] | info = 該用戶的 '''[[:Category:Karber zh-N|母語]]''' 是 '''[[:Category:Karber zh|中文]]'''. | nocat = {{{nocat|}}} | usercategory = Karber zh | usercategory2 = Karber zh-N }}<noinclude> {{documentation}} </noinclude>' ra pela newiye vıraziye 556510 wikitext text/x-wiki {{Dora Karberi-Sewiye | Sewiye = | id = [[Çinki|zh]] | info = 該用戶的 '''[[:Category:Karber zh-N|母語]]''' 是 '''[[:Category:Karber zh|中文]]'''. | nocat = {{{nocat|}}} | usercategory = Karber zh | usercategory2 = Karber zh-N }}<noinclude> {{documentation}} </noinclude> or9zoe0dm83smdgzt27scjzq91j2y47 556513 556510 2026-08-31T11:28:57Z Mirzali 16 556513 wikitext text/x-wiki {{Dora Karberi-Sewiye | Sewiye = | id = [[Çinki|zh]] | info = 該用戶的 '''[[:Kategoriye:Karber zh-N|母語]]''' 是 '''[[:Kategoriye:Karber zh|中文]]'''. | nocat = {{{nocat|}}} | usercategory = Karber zh | usercategory2 = Karber zh-N }}<noinclude> {{documentation}} </noinclude> l4nvqnwjkzysunpnl8j74jjkeppc13a Şablon:Karber nan 10 100457 556511 2026-08-31T07:31:24Z JackonLee54 34697 Ebe zerrekê '{{Dora Karberi-Sewiye | Sewiye = | id = [[Minnan Veroci|nan]] | info = Chit-ê iōng-chiá ê '''[[:Category:Karber zh-N|bó-gí]]''' sī '''[[:Category:Karber nan|Bân-lâm-oē]]'''. | nocat = {{{nocat|}}} | usercategory = Karber nan | usercategory2 = Karber nan-N }}<noinclude> {{documentation}} </noinclude>' ra pela newiye vıraziye 556511 wikitext text/x-wiki {{Dora Karberi-Sewiye | Sewiye = | id = [[Minnan Veroci|nan]] | info = Chit-ê iōng-chiá ê '''[[:Category:Karber zh-N|bó-gí]]''' sī '''[[:Category:Karber nan|Bân-lâm-oē]]'''. | nocat = {{{nocat|}}} | usercategory = Karber nan | usercategory2 = Karber nan-N }}<noinclude> {{documentation}} </noinclude> 5bwj2d28el8tvbz6b85j77018dqqcjf Karber:JackonLee54 2 100458 556512 2026-08-31T07:32:09Z JackonLee54 34697 Ebe zerrekê '{| cellspacing="0" style="width:238px;background:#c5fcdc;" | {{Karber zh}} |- | {{Karber nan}} |- | |}' ra pela newiye vıraziye 556512 wikitext text/x-wiki {| cellspacing="0" style="width:238px;background:#c5fcdc;" | {{Karber zh}} |- | {{Karber nan}} |- | |} p9i2q5qqa1zpcotebc6s841fzhxbh19