وِکیٖپیٖڈیا
kswiki
https://ks.wikipedia.org/wiki/%D8%A7%D9%8E%DB%81%D9%8E%D9%85_%D8%B5%D9%8E%D9%81%DB%81%D9%95
MediaWiki 1.47.0-wmf.17
first-letter
میڈیا
خاص
کَتھ
رُکُن
رُکُن کَتھ
وِکیٖپیٖڈیا
وِکیٖپیٖڈیا کَتھ
فَیِل
فَیِل کَتھ
میٖڈیاوِکی
میٖڈیاوِکی کَتھ
فرما
فرما کَتھ
مَدَتھ
مَدَتھ کَتھ
زٲژ
زٲژ کَتھ
TimedText
TimedText talk
Module
Module talk
Event
Event talk
Module:Convert
828
7135
150948
150719
2026-09-01T09:47:03Z
آیات محراج
11062
[[Special:Contributions/آیات محراج|آیات محراج]] ([[User talk:آیات محراج|کَتھ]]) سٕنٛدِ طَرفہٕ کَرنہٕ آمٕژ [[Special:Diff/150719|150719]] تَبدیٖلی آی رَد کَرنہٕ
150948
Scribunto
text/plain
-- Convert a value from one unit of measurement to another.
-- Example: {{convert|123|lb|kg}} --> 123 pounds (56 kg)
-- See [[:en:Template:Convert/Transwiki guide]] if copying to another wiki.
local MINUS = '−' -- Unicode U+2212 MINUS SIGN (UTF-8: e2 88 92)
local abs = math.abs
local floor = math.floor
local format = string.format
local log10 = math.log10
local ustring = mw.ustring
local ulen = ustring.len
local usub = ustring.sub
-- Configuration options to keep magic values in one location.
-- Conversion data and message text are defined in separate modules.
local config, maxsigfig
local numdot -- must be '.' or ',' or a character which works in a regex
local numsep, numsep_remove, numsep_remove2
local data_code, all_units
local text_code
local varname -- can be a code to use variable names that depend on value
local from_en_table -- to translate an output string of en digits to local language
local to_en_table -- to translate an input string of digits in local language to en
-- Use translation_table in convert/text to change the following.
local en_default -- true uses lang=en unless convert has lang=local or local digits
local group_method = 3 -- code for how many digits are in a group
local per_word = 'per' -- for units like "liters per kilometer"
local plural_suffix = 's' -- only other useful value is probably '' to disable plural unit names
local omitsep -- true to omit separator before local symbol/name
-- All units should be defined in the data module. However, to cater for quick changes
-- and experiments, any unknown unit is looked up in an extra data module, if it exists.
-- That module would be transcluded in only a small number of pages, so there should be
-- little server overhead from making changes, and changes should propagate quickly.
local extra_module -- name of module with extra units
local extra_units -- nil or table of extra units from extra_module
-- Some options in the invoking template can set variables used later in the module.
local currency_text -- for a user-defined currency symbol: {{convert|12|$/ha|$=€}} (euro replaces dollar)
local function from_en(text)
-- Input is a string representing a number in en digits with '.' decimal mark,
-- without digit grouping (which is done just after calling this).
-- Return the translation of the string with numdot and digits in local language.
if numdot ~= '.' then
text = text:gsub('%.', numdot)
end
if from_en_table then
text = text:gsub('%d', from_en_table)
end
return text
end
local function to_en(text)
-- Input is a string representing a number in the local language with
-- an optional numdot decimal mark and numsep digit grouping.
-- Return the translation of the string with '.' mark and en digits,
-- and no separators (they have to be removed here to handle cases like
-- numsep = '.' and numdot = ',' with input "1.234.567,8").
if to_en_table then
text = ustring.gsub(text, '%d', to_en_table)
end
if numsep_remove then
text = text:gsub(numsep_remove, '')
end
if numsep_remove2 then
text = text:gsub(numsep_remove2, '')
end
if numdot ~= '.' then
text = text:gsub(numdot, '.')
end
return text
end
local function decimal_mark(text)
-- Return ',' if text probably is using comma for decimal mark, or has no decimal mark.
-- Return '.' if text probably is using dot for decimal mark.
-- Otherwise return nothing (decimal mark not known).
if not text:find('[.,]') then return ',' end
text = text:gsub('^%-', ''):gsub('%+%d+/%d+$', ''):gsub('[Ee]%-?%d+$', '')
local decimal =
text:match('^0?([.,])%d+$') or
text:match('%d([.,])%d?%d?$') or
text:match('%d([.,])%d%d%d%d+$')
if decimal then return decimal end
if text:match('%.%d+%.') then return ',' end
if text:match('%,%d+,') then return '.' end
end
local add_warning, with_separator -- forward declarations
local function to_en_with_check(text, parms)
-- Version of to_en() for a wiki using numdot = ',' and numsep = '.' to check
-- text (an input number as a string) which might have been copied from enwiki.
-- For example, in '1.234' the '.' could be a decimal mark or a group separator.
-- From viwiki.
if to_en_table then
text = ustring.gsub(text, '%d', to_en_table)
end
if decimal_mark(text) == '.' then
local original = text
text = text:gsub(',', '') -- for example, interpret "1,234.5" as an enwiki value
if parms then
add_warning(parms, 0, 'cvt_enwiki_num', original, with_separator({}, text))
end
else
if numsep_remove then
text = text:gsub(numsep_remove, '')
end
if numsep_remove2 then
text = text:gsub(numsep_remove2, '')
end
if numdot ~= '.' then
text = text:gsub(numdot, '.')
end
end
return text
end
local function omit_separator(id)
-- Return true if there should be no separator before id (a unit symbol or name).
-- For zhwiki, there should be no separator if id uses local characters.
-- The following kludge should be a sufficient test.
if omitsep then
if id:sub(1, 2) == '-{' then -- for "-{...}-" content language variant
return true
end
if id:byte() > 127 then
local first = usub(id, 1, 1)
if first ~= 'Å' and first ~= '°' and first ~= 'µ' then
return true
end
end
end
return id:sub(1, 1) == '/' -- no separator before units like "/ha"
end
local spell_module -- name of module that can spell numbers
local speller -- function from that module to handle spelling (set if needed)
local wikidata_module, wikidata_data_module -- names of Wikidata modules
local wikidata_code, wikidata_data -- exported tables from those modules (set if needed)
local function set_config(args)
-- Set configuration options from template #invoke or defaults.
config = args
maxsigfig = config.maxsigfig or 14 -- maximum number of significant figures
local data_module, text_module
local sandbox = config.sandbox and ('/' .. config.sandbox) or ''
data_module = "Module:Convert/data" .. sandbox
text_module = "Module:Convert/text" .. sandbox
extra_module = "Module:Convert/extra" .. sandbox
wikidata_module = "Module:Convert/wikidata" .. sandbox
wikidata_data_module = "Module:Convert/wikidata/data" .. sandbox
spell_module = "Module:ConvertNumeric"
data_code = mw.loadData(data_module)
text_code = mw.loadData(text_module)
all_units = data_code.all_units
local translation = text_code.translation_table
if translation then
numdot = translation.numdot
numsep = translation.numsep
if numdot == ',' and numsep == '.' then
if text_code.all_messages.cvt_enwiki_num then
to_en = to_en_with_check
end
end
if translation.group then
group_method = translation.group
end
if translation.per_word then
per_word = translation.per_word
end
if translation.plural_suffix then
plural_suffix = translation.plural_suffix
end
varname = translation.varname
from_en_table = translation.from_en
local use_workaround = true
if use_workaround then
-- 2013-07-05 workaround bug by making a copy of the required table.
-- mw.ustring.gsub fails with a table (to_en_table) as the replacement,
-- if the table is accessed via mw.loadData.
local source = translation.to_en
if source then
to_en_table = {}
for k, v in pairs(source) do
to_en_table[k] = v
end
end
else
to_en_table = translation.to_en
end
if translation.lang == 'en default' then
en_default = true -- for hiwiki
end
omitsep = translation.omitsep -- for zhwiki
end
numdot = config.numdot or numdot or '.' -- decimal mark before fractional digits
numsep = config.numsep or numsep or ',' -- group separator for numbers
-- numsep should be ',' or '.' or '' or ' ' or a Unicode character.
-- numsep_remove must work in a regex to identify separators to be removed.
if numsep ~= '' then
numsep_remove = (numsep == '.') and '%.' or numsep
end
if numsep ~= ',' and numdot ~= ',' then
numsep_remove2 = ',' -- so numbers copied from enwiki will work
end
end
local function collection()
-- Return a table to hold items.
return {
n = 0,
add = function (self, item)
self.n = self.n + 1
self[self.n] = item
end,
}
end
local function divide(numerator, denominator)
-- Return integers quotient, remainder resulting from dividing the two
-- given numbers, which should be unsigned integers.
local quotient, remainder = floor(numerator / denominator), numerator % denominator
if not (0 <= remainder and remainder < denominator) then
-- Floating point limits may need this, as in {{convert|160.02|Ym|ydftin}}.
remainder = 0
end
return quotient, remainder
end
local function split(text, delimiter)
-- Return a numbered table with fields from splitting text.
-- The delimiter is used in a regex without escaping (for example, '.' would fail).
-- Each field has any leading/trailing whitespace removed.
local t = {}
text = text .. delimiter -- to get last item
for item in text:gmatch('%s*(.-)%s*' .. delimiter) do
table.insert(t, item)
end
return t
end
local function strip(text)
-- If text is a string, return its content with no leading/trailing
-- whitespace. Otherwise return nil (a nil argument gives a nil result).
if type(text) == 'string' then
return text:match("^%s*(.-)%s*$")
end
end
local function table_len(t)
-- Return length (<100) of a numbered table to replace #t which is
-- documented to not work if t is accessed via mw.loadData().
for i = 1, 100 do
if t[i] == nil then
return i - 1
end
end
end
local function wanted_category(catkey, catsort, want_warning)
-- Return message category if it is wanted in current namespace,
-- otherwise return ''.
local cat
local title = mw.title.getCurrentTitle()
if title then
local nsdefault = '0' -- default namespace: '0' = article; '0,10' = article and template
local namespace = title.namespace
for _, v in ipairs(split(config.nscat or nsdefault, ',')) do
if namespace == tonumber(v) then
cat = text_code.all_categories[want_warning and 'warning' or catkey]
if catsort and catsort ~= '' and cat:sub(-2) == ']]' then
cat = cat:sub(1, -3) .. '|' .. mw.text.nowiki(usub(catsort, 1, 20)) .. ']]'
end
break
end
end
end
return cat or ''
end
local function message(parms, mcode, is_warning)
-- Return wikitext for an error message, including category if specified
-- for the message type.
-- mcode = numbered table specifying the message:
-- mcode[1] = 'cvt_xxx' (string used as a key to get message info)
-- mcode[2] = 'parm1' (string to replace '$1' if any in message)
-- mcode[3] = 'parm2' (string to replace '$2' if any in message)
-- mcode[4] = 'parm3' (string to replace '$3' if any in message)
local msg
if type(mcode) == 'table' then
if mcode[1] == 'cvt_no_output' then
-- Some errors should cause convert to output an empty string,
-- for example, for an optional field in an infobox.
return ''
end
msg = text_code.all_messages[mcode[1]]
end
parms.have_problem = true
local function subparm(fmt, ...)
local rep = {}
for i, v in ipairs({...}) do
rep['$' .. i] = v
end
return (fmt:gsub('$%d+', rep))
end
if msg then
local parts = {}
local regex, replace = msg.regex, msg.replace
for i = 1, 3 do
local limit = 40
local s = mcode[i + 1]
if s then
if regex and replace then
s = s:gsub(regex, replace)
limit = nil -- allow long "should be" messages
end
-- Escape user input so it does not break the message.
-- To avoid tags (like {{convert|1<math>23</math>|m}}) breaking
-- the mouseover title, any strip marker starting with char(127) is
-- replaced with '...' (text not needing i18n).
local append
local pos = s:find(string.char(127), 1, true)
if pos then
append = '...'
s = s:sub(1, pos - 1)
end
if limit and ulen(s) > limit then
s = usub(s, 1, limit)
append = '...'
end
s = mw.text.nowiki(s) .. (append or '')
else
s = '?'
end
parts['$' .. i] = s
end
local function ispreview()
-- Return true if a prominent message should be shown.
if parms.test == 'preview' or parms.test == 'nopreview' then
-- For testing, can preview a real message or simulate a preview
-- when running automated tests.
return parms.test == 'preview'
end
local success, revid = pcall(function ()
return (parms.frame):preprocess('{{REVISIONID}}') end)
return success and (revid == '')
end
local want_warning = is_warning and
not config.warnings and -- show unobtrusive warnings if config.warnings not configured
not msg.nowarn -- but use msg settings, not standard warning, if specified
local title = string.gsub(msg[1] or 'Missing message', '$%d+', parts)
local text = want_warning and '*' or msg[2] or 'Missing message'
local cat = wanted_category(msg[3], mcode[2], want_warning)
local anchor = msg[4] or ''
local fmtkey = ispreview() and 'cvt_format_preview' or
(want_warning and 'cvt_format2' or msg.format or 'cvt_format')
local fmt = text_code.all_messages[fmtkey] or 'convert: bug'
return subparm(fmt, title:gsub('"', '"'), text, cat, anchor)
end
return 'Convert internal error: unknown message'
end
function add_warning(parms, level, key, text1, text2) -- for forward declaration above
-- If enabled, add a warning that will be displayed after the convert result.
-- A higher level is more verbose: more kinds of warnings are displayed.
-- To reduce output noise, only the first warning is displayed.
if level <= (tonumber(config.warnings) or 1) then
if parms.warnings == nil then
parms.warnings = message(parms, { key, text1, text2 }, true)
end
end
end
local function spell_number(parms, inout, number, numerator, denominator)
-- Return result of spelling (number, numerator, denominator), or
-- return nil if spelling is not available or not supported for given text.
-- Examples (each value must be a string or nil):
-- number numerator denominator output
-- ------ --------- ----------- -------------------
-- "1.23" nil nil one point two three
-- "1" "2" "3" one and two thirds
-- nil "2" "3" two thirds
if not speller then
local function get_speller(module)
return require(module).spell_number
end
local success
success, speller = pcall(get_speller, spell_module)
if not success or type(speller) ~= 'function' then
add_warning(parms, 1, 'cvt_no_spell', 'spell')
return nil
end
end
local case
if parms.spell_upper == inout then
case = true
parms.spell_upper = nil -- only uppercase first word in a multiple unit
end
local sp = not parms.opt_sp_us
local adj = parms.opt_adjectival
return speller(number, numerator, denominator, case, sp, adj)
end
------------------------------------------------------------------------
-- BEGIN: Code required only for built-in units.
-- LATER: If need much more code, move to another module to simplify this module.
local function speed_of_sound(altitude)
-- This is for the Mach built-in unit of speed.
-- Return speed of sound in metres per second at given altitude in feet.
-- If no altitude given, use default (zero altitude = sea level).
-- Table gives speed of sound in miles per hour at various altitudes:
-- altitude = -17,499 to 302,499 feet
-- mach_table[a + 4] = s where
-- a = (altitude / 5000) rounded to nearest integer (-3 to 60)
-- s = speed of sound (mph) at that altitude
-- LATER: Should calculate result from an interpolation between the next
-- lower and higher altitudes in table, rather than rounding to nearest.
-- From: http://www.aerospaceweb.org/question/atmosphere/q0112.shtml
local mach_table = { -- a =
799.5, 787.0, 774.2, 761.207051, -- -3 to 0
748.0, 734.6, 721.0, 707.0, 692.8, 678.3, 663.5, 660.1, 660.1, 660.1, -- 1 to 10
660.1, 660.1, 660.1, 662.0, 664.3, 666.5, 668.9, 671.1, 673.4, 675.6, -- 11 to 20
677.9, 683.7, 689.9, 696.0, 702.1, 708.1, 714.0, 719.9, 725.8, 731.6, -- 21 to 30
737.3, 737.7, 737.7, 736.2, 730.5, 724.6, 718.8, 712.9, 707.0, 701.1, -- 31 to 40
695.0, 688.9, 682.8, 676.6, 670.4, 664.1, 657.8, 652.9, 648.3, 643.7, -- 41 to 50
639.1, 634.4, 629.6, 624.8, 620.0, 615.2, 613.2, 613.2, 613.2, 613.5, -- 51 to 60
}
altitude = altitude or 0
local a = (altitude < 0) and -altitude or altitude
a = floor(a / 5000 + 0.5)
if altitude < 0 then
a = -a
end
if a < -3 then
a = -3
elseif a > 60 then
a = 60
end
return mach_table[a + 4] * 0.44704 -- mph converted to m/s
end
-- END: Code required only for built-in units.
------------------------------------------------------------------------
local function add_style(parms, class)
-- Add selected template style to parms if not already present.
parms.templatestyles = parms.templatestyles or {}
if not parms.templatestyles[class] then
parms.templatestyles[class] = parms.frame:extensionTag({
name = 'templatestyles', args = { src = text_code.titles[class] }
})
end
end
local function get_styles(parms)
-- Return string of required template styles, empty if none.
if parms.templatestyles then
local t = {}
for _, v in pairs(parms.templatestyles) do
table.insert(t, v)
end
return table.concat(t)
end
return ''
end
local function get_range(word)
-- Return a range (string or table) corresponding to word (like "to"),
-- or return nil if not a range word.
local ranges = text_code.ranges
return ranges.types[word] or ranges.types[ranges.aliases[word]]
end
local function check_mismatch(unit1, unit2)
-- If unit1 cannot be converted to unit2, return an error message table.
-- This allows conversion between units of the same type, and between
-- Nm (normally torque) and ftlb (energy), as in gun-related articles.
-- This works because Nm is the base unit (scale = 1) for both the
-- primary type (torque), and the alternate type (energy, where Nm = J).
-- A match occurs if the primary types are the same, or if unit1 matches
-- the alternate type of unit2, and vice versa. That provides a whitelist
-- of which conversions are permitted between normally incompatible types.
if unit1.utype == unit2.utype or
(unit1.utype == unit2.alttype and unit1.alttype == unit2.utype) then
return nil
end
return { 'cvt_mismatch', unit1.utype, unit2.utype }
end
local function override_from(out_table, in_table, fields)
-- Copy the specified fields from in_table to out_table, but do not
-- copy nil fields (keep any corresponding field in out_table).
for _, field in ipairs(fields) do
if in_table[field] then
out_table[field] = in_table[field]
end
end
end
local function shallow_copy(t)
-- Return a shallow copy of table t.
-- Do not need the features and overhead of the Scribunto mw.clone().
local result = {}
for k, v in pairs(t) do
result[k] = v
end
return result
end
local unit_mt = {
-- Metatable to get missing values for a unit that does not accept SI prefixes.
-- Warning: The boolean value 'false' is returned for any missing field
-- so __index is not called twice for the same field in a given unit.
__index = function (self, key)
local value
if key == 'name1' or key == 'sym_us' then
value = self.symbol
elseif key == 'name2' then
value = self.name1 .. plural_suffix
elseif key == 'name1_us' then
value = self.name1
if not rawget(self, 'name2_us') then
-- If name1_us is 'foot', do not make name2_us by appending plural_suffix.
self.name2_us = self.name2
end
elseif key == 'name2_us' then
local raw1_us = rawget(self, 'name1_us')
if raw1_us then
value = raw1_us .. plural_suffix
else
value = self.name2
end
elseif key == 'link' then
value = self.name1
else
value = false
end
rawset(self, key, value)
return value
end
}
local function prefixed_name(unit, name, index)
-- Return unit name with SI prefix inserted at correct position.
-- index = 1 (name1), 2 (name2), 3 (name1_us), 4 (name2_us).
-- The position is a byte (not character) index, so use Lua's sub().
local pos = rawget(unit, 'prefix_position')
if type(pos) == 'string' then
pos = tonumber(split(pos, ',')[index])
end
if pos then
return name:sub(1, pos - 1) .. unit.si_name .. name:sub(pos)
end
return unit.si_name .. name
end
local unit_prefixed_mt = {
-- Metatable to get missing values for a unit that accepts SI prefixes.
-- Before use, fields si_name, si_prefix must be defined.
-- The unit must define _symbol, _name1 and
-- may define _sym_us, _name1_us, _name2_us
-- (_sym_us, _name2_us may be defined for a language using sp=us
-- to refer to a variant unrelated to U.S. units).
__index = function (self, key)
local value
if key == 'symbol' then
value = self.si_prefix .. self._symbol
elseif key == 'sym_us' then
value = rawget(self, '_sym_us')
if value then
value = self.si_prefix .. value
else
value = self.symbol
end
elseif key == 'name1' then
value = prefixed_name(self, self._name1, 1)
elseif key == 'name2' then
value = rawget(self, '_name2')
if value then
value = prefixed_name(self, value, 2)
else
value = self.name1 .. plural_suffix
end
elseif key == 'name1_us' then
value = rawget(self, '_name1_us')
if value then
value = prefixed_name(self, value, 3)
else
value = self.name1
end
elseif key == 'name2_us' then
value = rawget(self, '_name2_us')
if value then
value = prefixed_name(self, value, 4)
elseif rawget(self, '_name1_us') then
value = self.name1_us .. plural_suffix
else
value = self.name2
end
elseif key == 'link' then
value = self.name1
else
value = false
end
rawset(self, key, value)
return value
end
}
local unit_per_mt = {
-- Metatable to get values for a per unit of form "x/y".
-- This is never called to determine a unit name or link because per units
-- are handled as a special case.
-- Similarly, the default output is handled elsewhere, and for a symbol
-- this is only called from get_default() for default_exceptions.
__index = function (self, key)
local value
if key == 'symbol' then
local per = self.per
local unit1, unit2 = per[1], per[2]
if unit1 then
value = unit1[key] .. '/' .. unit2[key]
else
value = '/' .. unit2[key]
end
elseif key == 'sym_us' then
value = self.symbol
elseif key == 'scale' then
local per = self.per
local unit1, unit2 = per[1], per[2]
value = (unit1 and unit1.scale or 1) * self.scalemultiplier / unit2.scale
else
value = false
end
rawset(self, key, value)
return value
end
}
local function make_per(unitcode, unit_table, ulookup)
-- Return true, t where t is a per unit with unit codes expanded to unit tables,
-- or return false, t where t is an error message table.
local result = {
unitcode = unitcode,
utype = unit_table.utype,
per = {}
}
override_from(result, unit_table, { 'invert', 'iscomplex', 'default', 'link', 'symbol', 'symlink' })
result.symbol_raw = (result.symbol or false) -- to distinguish between a defined exception and a metatable calculation
local prefix
for i, v in ipairs(unit_table.per) do
if i == 1 and v == '' then
-- First unit symbol can be empty; that gives a nil first unit table.
elseif i == 1 and text_code.currency[v] then
prefix = currency_text or v
else
local success, t = ulookup(v)
if not success then return false, t end
result.per[i] = t
end
end
local multiplier = unit_table.multiplier
if not result.utype then
-- Creating an automatic per unit.
local unit1 = result.per[1]
local utype = (unit1 and unit1.utype or prefix or '') .. '/' .. result.per[2].utype
local t = data_code.per_unit_fixups[utype]
if t then
if type(t) == 'table' then
utype = t.utype or utype
result.link = result.link or t.link
multiplier = multiplier or t.multiplier
else
utype = t
end
end
result.utype = utype
end
result.scalemultiplier = multiplier or 1
result.vprefix = prefix or false -- set to non-nil to avoid calling __index
return true, setmetatable(result, unit_per_mt)
end
local function lookup(parms, unitcode, what, utable, fails, depth)
-- Return true, t where t is a copy of the unit's converter table,
-- or return false, t where t is an error message table.
-- Parameter 'what' determines whether combination units are accepted:
-- 'no_combination' : single unit only
-- 'any_combination' : single unit or combination or output multiple
-- 'only_multiple' : single unit or output multiple only
-- Parameter unitcode is a symbol (like 'g'), with an optional SI prefix (like 'kg').
-- If, for example, 'kg' is in this table, that entry is used;
-- otherwise the prefix ('k') is applied to the base unit ('g').
-- If unitcode is a known combination code (and if allowed by what),
-- a table of output multiple unit tables is included in the result.
-- For compatibility with the old template, an underscore in a unitcode is
-- replaced with a space so usage like {{convert|350|board_feet}} works.
-- Wikignomes may also put two spaces or " " in combinations, so
-- replace underscore, " ", and multiple spaces with a single space.
utable = utable or parms.unittable or all_units
fails = fails or {}
depth = depth and depth + 1 or 1
if depth > 9 then
-- There are ways to mistakenly define units which result in infinite
-- recursion when lookup() is called. That gives a long delay and very
-- confusing error messages, so the depth parameter is used as a guard.
return false, { 'cvt_lookup', unitcode }
end
if unitcode == nil or unitcode == '' then
return false, { 'cvt_no_unit' }
end
unitcode = unitcode:gsub('_', ' '):gsub(' ', ' '):gsub(' +', ' ')
local function call_make_per(t)
return make_per(unitcode, t,
function (ucode) return lookup(parms, ucode, 'no_combination', utable, fails, depth) end
)
end
local t = utable[unitcode]
if t then
if t.shouldbe then
return false, { 'cvt_should_be', t.shouldbe }
end
if t.sp_us then
parms.opt_sp_us = true
end
local target = t.target -- nil, or unitcode is an alias for this target
if target then
local success, result = lookup(parms, target, what, utable, fails, depth)
if not success then return false, result end
override_from(result, t, { 'customary', 'default', 'link', 'symbol', 'symlink' })
local multiplier = t.multiplier
if multiplier then
result.multiplier = tostring(multiplier)
result.scale = result.scale * multiplier
end
return true, result
end
if t.per then
return call_make_per(t)
end
local combo = t.combination -- nil or a table of unitcodes
if combo then
local multiple = t.multiple
if what == 'no_combination' or (what == 'only_multiple' and not multiple) then
return false, { 'cvt_bad_unit', unitcode }
end
-- Recursively create a combination table containing the
-- converter table of each unitcode.
local result = { utype = t.utype, multiple = multiple, combination = {} }
local cvt = result.combination
for i, v in ipairs(combo) do
local success, t = lookup(parms, v, multiple and 'no_combination' or 'only_multiple', utable, fails, depth)
if not success then return false, t end
cvt[i] = t
end
return true, result
end
local result = shallow_copy(t)
result.unitcode = unitcode
if result.prefixes then
result.si_name = ''
result.si_prefix = ''
return true, setmetatable(result, unit_prefixed_mt)
end
return true, setmetatable(result, unit_mt)
end
local SIprefixes = text_code.SIprefixes
for plen = SIprefixes[1] or 2, 1, -1 do
-- Look for an SI prefix; should never occur with an alias.
-- Check for longer prefix first ('dam' is decametre).
-- SIprefixes[1] = prefix maximum #characters (as seen by mw.ustring.sub).
local prefix = usub(unitcode, 1, plen)
local si = SIprefixes[prefix]
if si then
local t = utable[usub(unitcode, plen+1)]
if t and t.prefixes then
local result = shallow_copy(t)
result.unitcode = unitcode
result.si_name = parms.opt_sp_us and si.name_us or si.name
result.si_prefix = si.prefix or prefix
result.scale = t.scale * 10 ^ (si.exponent * t.prefixes)
return true, setmetatable(result, unit_prefixed_mt)
end
end
end
-- Accept user-defined combinations like "acre+m2+ha" or "acre m2 ha" for output.
-- If '+' is used, each unit code can include a space, and any error is fatal.
-- If ' ' is used and if each space-separated word is a unit code, it is a combo,
-- but errors are not fatal so the unit code can be looked up as an extra unit.
local err_is_fatal
local combo = collection()
if unitcode:find('+', 1, true) then
err_is_fatal = true
for item in (unitcode .. '+'):gmatch('%s*(.-)%s*%+') do
if item ~= '' then
combo:add(item)
end
end
elseif unitcode:find('%s') then
for item in unitcode:gmatch('%S+') do
combo:add(item)
end
end
if combo.n > 1 then
local function lookup_combo()
if what == 'no_combination' or what == 'only_multiple' then
return false, { 'cvt_bad_unit', unitcode }
end
local result = { combination = {} }
local cvt = result.combination
for i, v in ipairs(combo) do
local success, t = lookup(parms, v, 'only_multiple', utable, fails, depth)
if not success then return false, t end
if i == 1 then
result.utype = t.utype
else
local mismatch = check_mismatch(result, t)
if mismatch then
return false, mismatch
end
end
cvt[i] = t
end
return true, result
end
local success, result = lookup_combo()
if success or err_is_fatal then
return success, result
end
end
-- Accept any unit with an engineering notation prefix like "e6cuft"
-- (million cubic feet), but not chained prefixes like "e3e6cuft",
-- and not if the unit is a combination or multiple,
-- and not if the unit has an offset or is a built-in.
-- Only en digits are accepted.
local exponent, baseunit = unitcode:match('^e(%d+)(.*)')
if exponent then
local engscale = text_code.eng_scales[exponent]
if engscale then
local success, result = lookup(parms, baseunit, 'no_combination', utable, fails, depth)
if success and not (result.offset or result.builtin or result.engscale) then
result.unitcode = unitcode -- 'e6cuft' not 'cuft'
result.defkey = unitcode -- key to lookup default exception
result.engscale = engscale
result.scale = result.scale * 10 ^ tonumber(exponent)
return true, result
end
end
end
-- Look for x/y; split on right-most slash to get scale correct (x/y/z is x/y per z).
local top, bottom = unitcode:match('^(.-)/([^/]+)$')
if top and not unitcode:find('e%d') then
-- If valid, create an automatic per unit for an "x/y" unit code.
-- The unitcode must not include extraneous spaces.
-- Engineering notation (apart from at start and which has been stripped before here),
-- is not supported so do not make a per unit if find text like 'e3' in unitcode.
local success, result = call_make_per({ per = {top, bottom} })
if success then
return true, result
end
end
if not parms.opt_ignore_error and not get_range(unitcode) then
-- Want the "what links here" list for the extra_module to show only cases
-- where an extra unit is used, so do not require it if invoked from {{val}}
-- or if looking up a range word which cannot be a unit.
if not extra_units then
local success, extra = pcall(function () return require(extra_module).extra_units end)
if success and type(extra) == 'table' then
extra_units = extra
end
end
if extra_units then
-- A unit in one data table might refer to a unit in the other table, so
-- switch between them, relying on fails or depth to terminate loops.
if not fails[unitcode] then
fails[unitcode] = true
local other = (utable == all_units) and extra_units or all_units
local success, result = lookup(parms, unitcode, what, other, fails, depth)
if success then
return true, result
end
end
end
end
if to_en_table then
-- At fawiki it is common to translate all digits so a unit like "km2" becomes "km۲".
local en_code = ustring.gsub(unitcode, '%d', to_en_table)
if en_code ~= unitcode then
return lookup(parms, en_code, what, utable, fails, depth)
end
end
return false, { 'cvt_unknown', unitcode }
end
local function valid_number(num)
-- Return true if num is a valid number.
-- In Scribunto (different from some standard Lua), when expressed as a string,
-- overflow or other problems are indicated with text like "inf" or "nan"
-- which are regarded as invalid here (each contains "n").
if type(num) == 'number' and tostring(num):find('n', 1, true) == nil then
return true
end
end
local function hyphenated(name, parts)
-- Return a hyphenated form of given name (for adjectival usage).
-- The name may be linked and the target of the link must not be changed.
-- Hypothetical examples:
-- [[long ton|ton]] → [[long ton|ton]] (no change)
-- [[tonne|long ton]] → [[tonne|long-ton]]
-- [[metric ton|long ton]] → [[metric ton|long-ton]]
-- [[long ton]] → [[long ton|long-ton]]
-- Input can also have multiple links in a single name like:
-- [[United States customary units|U.S.]] [[US gallon|gallon]]
-- [[mile]]s per [[United States customary units|U.S.]] [[quart]]
-- [[long ton]]s per [[short ton]]
-- Assume that links cannot be nested (never like "[[abc[[def]]ghi]]").
-- This uses a simple and efficient procedure that works for most cases.
-- Some units (if used) would require more, and can later think about
-- adding a method to handle exceptions.
-- The procedure is to replace each space with a hyphen, but
-- not a space after ')' [for "(pre-1954 US) nautical mile"], and
-- not spaces immediately before '(' or in '(...)' [for cases like
-- "British thermal unit (ISO)" and "Calorie (International Steam Table)"].
if name:find(' ', 1, true) then
if parts then
local pos
if name:sub(1, 1) == '(' then
pos = name:find(')', 1, true)
if pos then
return name:sub(1, pos+1) .. name:sub(pos+2):gsub(' ', '-')
end
elseif name:sub(-1) == ')' then
pos = name:find('(', 1, true)
if pos then
return name:sub(1, pos-2):gsub(' ', '-') .. name:sub(pos-1)
end
end
return name:gsub(' ', '-')
end
parts = collection()
for before, item, after in name:gmatch('([^[]*)(%[%[[^[]*%]%])([^[]*)') do
if item:find(' ', 1, true) then
local prefix
local plen = item:find('|', 1, true)
if plen then
prefix = item:sub(1, plen)
item = item:sub(plen + 1, -3)
else
prefix = item:sub(1, -3) .. '|'
item = item:sub(3, -3)
end
item = prefix .. hyphenated(item, parts) .. ']]'
end
parts:add(before:gsub(' ', '-') .. item .. after:gsub(' ', '-'))
end
if parts.n == 0 then
-- No link like "[[...]]" was found in the original name.
parts:add(hyphenated(name, parts))
end
return table.concat(parts)
end
return name
end
local function hyphenated_maybe(parms, want_name, sep, id, inout)
-- Return s, f where
-- s = id, possibly modified
-- f = true if hyphenated
-- Possible modifications: hyphenate; prepend '-'; append mid text.
if id == nil or id == '' then
return ''
end
local mid = (inout == (parms.opt_flip and 'out' or 'in')) and parms.mid or ''
if want_name then
if parms.opt_adjectival then
return '-' .. hyphenated(id) .. mid, true
end
if parms.opt_add_s and id:sub(-1) ~= 's' then
id = id .. 's' -- for nowiki
end
end
return sep .. id .. mid
end
local function use_minus(text)
-- Return text with Unicode minus instead of '-', if present.
if text:sub(1, 1) == '-' then
return MINUS .. text:sub(2)
end
return text
end
local function digit_groups(parms, text, method)
-- Return a numbered table of groups of digits (left-to-right, in local language).
-- Parameter method is a number or nil:
-- 3 for 3-digit grouping (default), or
-- 2 for 3-then-2 grouping (only for digits before decimal mark).
local len_right
local len_left = text:find('.', 1, true)
if len_left then
len_right = #text - len_left
len_left = len_left - 1
else
len_left = #text
end
local twos = method == 2 and len_left > 5
local groups = collection()
local run = len_left
local n
if run < 4 or (run == 4 and parms.opt_comma5) then
if parms.opt_gaps then
n = run
else
n = #text
end
elseif twos then
n = run % 2 == 0 and 1 or 2
else
n = run % 3 == 0 and 3 or run % 3
end
while run > 0 do
groups:add(n)
run = run - n
n = (twos and run > 3) and 2 or 3
end
if len_right then
if groups.n == 0 then
groups:add(0)
end
if parms.opt_gaps and len_right > 3 then
local want4 = not parms.opt_gaps3 -- true gives no gap before trailing single digit
local isfirst = true
run = len_right
while run > 0 do
n = (want4 and run == 4) and 4 or (run > 3 and 3 or run)
if isfirst then
isfirst = false
groups[groups.n] = groups[groups.n] + 1 + n
else
groups:add(n)
end
run = run - n
end
else
groups[groups.n] = groups[groups.n] + 1 + len_right
end
end
local pos = 1
for i, length in ipairs(groups) do
groups[i] = from_en(text:sub(pos, pos + length - 1))
pos = pos + length
end
return groups
end
function with_separator(parms, text) -- for forward declaration above
-- Input text is a number in en digits with optional '.' decimal mark.
-- Return an equivalent, formatted for display:
-- with a custom decimal mark instead of '.', if wanted
-- with thousand separators inserted, if wanted
-- digits in local language
-- The given text is like '123' or '123.' or '12345.6789'.
-- The text has no sign (caller inserts that later, if necessary).
-- When using gaps, they are inserted before and after the decimal mark.
-- Separators are inserted only before the decimal mark.
-- A trailing dot (as in '123.') is removed because their use appears to
-- be accidental, and such a number should be shown as '123' or '123.0'.
-- It is useful for convert to suppress the dot so, for example, '4000.'
-- is a simple way of indicating that all the digits are significant.
if text:sub(-1) == '.' then
text = text:sub(1, -2)
end
if #text < 4 or parms.opt_nocomma or numsep == '' then
return from_en(text)
end
local groups = digit_groups(parms, text, group_method)
if parms.opt_gaps then
if groups.n <= 1 then
return groups[1] or ''
end
local nowrap = '<span style="white-space: nowrap">'
local gap = '<span style="margin-left: 0.25em">'
local close = '</span>'
return nowrap .. groups[1] .. gap .. table.concat(groups, close .. gap, 2, groups.n) .. close .. close
end
return table.concat(groups, numsep)
end
-- An input value like 1.23e12 is displayed using scientific notation (1.23×10¹²).
-- That also makes the output use scientific notation, except for small values.
-- In addition, very small or very large output values use scientific notation.
-- Use format(fmtpower, significand, '10', exponent) where each argument is a string.
local fmtpower = '%s<span style="margin:0 .15em 0 .25em">×</span>%s<sup>%s</sup>'
local function with_exponent(parms, show, exponent)
-- Return wikitext to display the implied value in scientific notation.
-- Input uses en digits; output uses digits in local language.
return format(fmtpower, with_separator(parms, show), from_en('10'), use_minus(from_en(tostring(exponent))))
end
local function make_sigfig(value, sigfig)
-- Return show, exponent that are equivalent to the result of
-- converting the number 'value' (where value >= 0) to a string,
-- rounded to 'sigfig' significant figures.
-- The returned items are:
-- show: a string of digits; no sign and no dot;
-- there is an implied dot before show.
-- exponent: a number (an integer) to shift the implied dot.
-- Resulting value = tonumber('.' .. show) * 10^exponent.
-- Examples:
-- make_sigfig(23.456, 3) returns '235', 2 (.235 * 10^2).
-- make_sigfig(0.0023456, 3) returns '235', -2 (.235 * 10^-2).
-- make_sigfig(0, 3) returns '000', 1 (.000 * 10^1).
if sigfig <= 0 then
sigfig = 1
elseif sigfig > maxsigfig then
sigfig = maxsigfig
end
if value == 0 then
return string.rep('0', sigfig), 1
end
local exp, fracpart = math.modf(log10(value))
if fracpart >= 0 then
fracpart = fracpart - 1
exp = exp + 1
end
local digits = format('%.0f', 10^(fracpart + sigfig))
if #digits > sigfig then
-- Overflow (for sigfig=3: like 0.9999 rounding to "1000"; need "100").
digits = digits:sub(1, sigfig)
exp = exp + 1
end
assert(#digits == sigfig, 'Bug: rounded number has wrong length')
return digits, exp
end
-- Fraction output format.
local fracfmt = {
{ -- Like {{frac}} (fraction slash).
'<span class="frac" role="math">{SIGN}<span class="num">{NUM}</span>⁄<span class="den">{DEN}</span></span>', -- 1/2
'<span class="frac" role="math">{SIGN}{WHOLE}<span class="sr-only">+</span><span class="num">{NUM}</span>⁄<span class="den">{DEN}</span></span>', -- 1+2/3
style = 'frac',
},
{ -- Like {{sfrac}} (stacked fraction, that is, horizontal bar).
'<span class="sfrac tion" role="math">{SIGN}<span class="num">{NUM}</span><span class="sr-only">/</span><span class="den">{DEN}</span></span>', -- 1//2
'<span class="sfrac" role="math">{SIGN}{WHOLE}<span class="sr-only">+</span><span class="tion"><span class="num">{NUM}</span><span class="sr-only">/</span><span class="den">{DEN}</span></span></span>', -- 1+2//3
style = 'sfrac',
},
}
local function format_fraction(parms, inout, negative, wholestr, numstr, denstr, do_spell, style)
-- Return wikitext for a fraction, possibly spelled.
-- Inputs use en digits and have no sign; output uses digits in local language.
local wikitext
if not style then
style = parms.opt_fraction_horizontal and 2 or 1
end
if wholestr == '' then
wholestr = nil
end
local substitute = {
SIGN = negative and MINUS or '',
WHOLE = wholestr and with_separator(parms, wholestr),
NUM = from_en(numstr),
DEN = from_en(denstr),
}
wikitext = fracfmt[style][wholestr and 2 or 1]:gsub('{(%u+)}', substitute)
if do_spell then
if negative then
if wholestr then
wholestr = '-' .. wholestr
else
numstr = '-' .. numstr
end
end
local s = spell_number(parms, inout, wholestr, numstr, denstr)
if s then
return s
end
end
add_style(parms, fracfmt[style].style)
return wikitext
end
local function format_number(parms, show, exponent, isnegative)
-- Parameter show is a string or a table containing strings.
-- Each string is a formatted number in en digits and optional '.' decimal mark.
-- A table represents a fraction: integer, numerator, denominator;
-- if a table is given, exponent must be nil.
-- Return t where t is a table with fields:
-- show = wikitext formatted to display implied value
-- (digits in local language)
-- is_scientific = true if show uses scientific notation
-- clean = unformatted show (possibly adjusted and with inserted '.')
-- (en digits)
-- sign = '' or MINUS
-- exponent = exponent (possibly adjusted)
-- The clean and exponent fields can be used to calculate the
-- rounded absolute value, if needed.
--
-- The value implied by the arguments is found from:
-- exponent is nil; and
-- show is a string of digits (no sign), with an optional dot;
-- show = '123.4' is value 123.4, '1234' is value 1234.0;
-- or:
-- exponent is an integer indicating where dot should be;
-- show is a string of digits (no sign and no dot);
-- there is an implied dot before show;
-- show does not start with '0';
-- show = '1234', exponent = 3 is value 0.1234*10^3 = 123.4.
--
-- The formatted result:
-- * Is for an output value and is spelled if wanted and possible.
-- * Includes a Unicode minus if isnegative and not spelled.
-- * Uses a custom decimal mark, if wanted.
-- * Has digits grouped where necessary, if wanted.
-- * Uses scientific notation if requested, or for very small or large values
-- (which forces result to not be spelled).
-- * Has no more than maxsigfig significant digits
-- (same as old template and {{#expr}}).
local xhi, xlo -- these control when scientific notation (exponent) is used
if parms.opt_scientific then
xhi, xlo = 4, 2 -- default for output if input uses e-notation
elseif parms.opt_scientific_always then
xhi, xlo = 0, 0 -- always use scientific notation (experimental)
else
xhi, xlo = 10, 4 -- default
end
local sign = isnegative and MINUS or ''
local maxlen = maxsigfig
local tfrac
if type(show) == 'table' then
tfrac = show
show = tfrac.wholestr
assert(exponent == nil, 'Bug: exponent given with fraction')
end
if not tfrac and not exponent then
local integer, dot, decimals = show:match('^(%d*)(%.?)(.*)')
if integer == '0' or integer == '' then
local zeros, figs = decimals:match('^(0*)([^0]?.*)')
if #figs == 0 then
if #zeros > maxlen then
show = '0.' .. zeros:sub(1, maxlen)
end
elseif #zeros >= xlo then
show = figs
exponent = -#zeros
elseif #figs > maxlen then
show = '0.' .. zeros .. figs:sub(1, maxlen)
end
elseif #integer >= xhi then
show = integer .. decimals
exponent = #integer
else
maxlen = maxlen + #dot
if #show > maxlen then
show = show:sub(1, maxlen)
end
end
end
if exponent then
local function zeros(n)
return string.rep('0', n)
end
if #show > maxlen then
show = show:sub(1, maxlen)
end
if exponent > xhi or exponent <= -xlo or (exponent == xhi and show ~= '1' .. zeros(xhi - 1)) then
-- When xhi, xlo = 10, 4 (the default), scientific notation is used if the
-- rounded value satisfies: value >= 1e9 or value < 1e-4 (1e9 = 0.1e10),
-- except if show is '1000000000' (1e9), for example:
-- {{convert|1000000000|m|m|sigfig=10}} → 1,000,000,000 metres (1,000,000,000 m)
local significand
if #show > 1 then
significand = show:sub(1, 1) .. '.' .. show:sub(2)
else
significand = show
end
return {
clean = '.' .. show,
exponent = exponent,
sign = sign,
show = sign .. with_exponent(parms, significand, exponent-1),
is_scientific = true,
}
end
if exponent >= #show then
show = show .. zeros(exponent - #show) -- result has no dot
elseif exponent <= 0 then
show = '0.' .. zeros(-exponent) .. show
else
show = show:sub(1, exponent) .. '.' .. show:sub(exponent+1)
end
end
local formatted_show
if tfrac then
show = tostring(tfrac.value) -- to set clean in returned table
formatted_show = format_fraction(parms, 'out', isnegative, tfrac.wholestr, tfrac.numstr, tfrac.denstr, parms.opt_spell_out)
else
if isnegative and show:match('^0.?0*$') then
sign = '' -- don't show minus if result is negative but rounds to zero
end
formatted_show = sign .. with_separator(parms, show)
if parms.opt_spell_out then
formatted_show = spell_number(parms, 'out', sign .. show) or formatted_show
end
end
return {
clean = show,
sign = sign,
show = formatted_show,
is_scientific = false, -- to avoid calling __index
}
end
local function extract_fraction(parms, text, negative)
-- If text represents a fraction, return
-- value, altvalue, show, denominator
-- where
-- value is a number (value of the fraction in argument text)
-- altvalue is an alternate interpretation of any fraction for the hands
-- unit where "12.1+3/4" means 12 hands 1.75 inches
-- show is a string (formatted text for display of an input value,
-- and is spelled if wanted and possible)
-- denominator is value of the denominator in the fraction
-- Otherwise, return nil.
-- Input uses en digits and '.' decimal mark (input has been translated).
-- Output uses digits in local language and local decimal mark, if any.
------------------------------------------------------------------------
-- Originally this function accepted x+y/z where x, y, z were any valid
-- numbers, possibly with a sign. For example '1.23e+2+1.2/2.4' = 123.5,
-- and '2-3/8' = 1.625. However, such usages were found to be errors or
-- misunderstandings, so since August 2014 the following restrictions apply:
-- x (if present) is an integer or has a single digit after decimal mark
-- y and z are unsigned integers
-- e-notation is not accepted
-- The overall number can start with '+' or '-' (so '12+3/4' and '+12+3/4'
-- and '-12-3/4' are valid).
-- Any leading negative sign is removed by the caller, so only inputs
-- like the following are accepted here (may have whitespace):
-- negative = false false true (there was a leading '-')
-- text = '2/3' '+2/3' '2/3'
-- text = '1+2/3' '+1+2/3' '1-2/3'
-- text = '12.3+1/2' '+12.3+1/2' '12.3-1/2'
-- Values like '12.3+1/2' are accepted, but are intended only for use
-- with the hands unit (not worth adding code to enforce that).
------------------------------------------------------------------------
local leading_plus, prefix, numstr, slashes, denstr =
text:match('^%s*(%+?)%s*(.-)%s*(%d+)%s*(/+)%s*(%d+)%s*$')
if not leading_plus then
-- Accept a single U+2044 fraction slash because that may be pasted.
leading_plus, prefix, numstr, denstr =
text:match('^%s*(%+?)%s*(.-)%s*(%d+)%s*⁄%s*(%d+)%s*$')
slashes = '/'
end
local numerator = tonumber(numstr)
local denominator = tonumber(denstr)
if numerator == nil or denominator == nil or (negative and leading_plus ~= '') then
return nil
end
local whole, wholestr
if prefix == '' then
wholestr = ''
whole = 0
else
-- Any prefix must be like '12+' or '12-' (whole number and fraction sign);
-- '12.3+' and '12.3-' are also accepted (single digit after decimal point)
-- because '12.3+1/2 hands' is valid (12 hands 3½ inches).
local num1, num2, frac_sign = prefix:match('^(%d+)(%.?%d?)%s*([+%-])$')
if num1 == nil then return nil end
if num2 == '' then -- num2 must be '' or like '.1' but not '.' or '.12'
wholestr = num1
else
if #num2 ~= 2 then return nil end
wholestr = num1 .. num2
end
if frac_sign ~= (negative and '-' or '+') then return nil end
whole = tonumber(wholestr)
if whole == nil then return nil end
end
local value = whole + numerator / denominator
if not valid_number(value) then return nil end
local altvalue = whole + numerator / (denominator * 10)
local style = #slashes -- kludge: 1 or 2 slashes can be used to select style
if style > 2 then style = 2 end
local wikitext = format_fraction(parms, 'in', negative, leading_plus .. wholestr, numstr, denstr, parms.opt_spell_in, style)
return value, altvalue, wikitext, denominator
end
local function extract_number(parms, text, another, no_fraction)
-- Return true, info if can extract a number from text,
-- where info is a table with the result,
-- or return false, t where t is an error message table.
-- Input can use en digits or digits in local language and can
-- have references at the end. Accepting references is intended
-- for use in infoboxes with a field for a value passed to convert.
-- Parameter another = true if the expected value is not the first.
-- Before processing, the input text is cleaned:
-- * Any thousand separators (valid or not) are removed.
-- * Any sign is replaced with '-' (if negative) or '' (otherwise).
-- That replaces Unicode minus with '-'.
-- If successful, the returned info table contains named fields:
-- value = a valid number
-- altvalue = a valid number, usually same as value but different
-- if fraction used (for hands unit)
-- singular = true if value is 1 or -1 (to use singular form of units)
-- clean = cleaned text with any separators and sign removed
-- (en digits and '.' decimal mark)
-- show = text formatted for output, possibly with ref strip markers
-- (digits in local language and custom decimal mark)
-- The resulting show:
-- * Is for an input value and is spelled if wanted and possible.
-- * Has a rounded value, if wanted.
-- * Has digits grouped where necessary, if wanted.
-- * If negative, a Unicode minus is used; otherwise the sign is
-- '+' (if the input text used '+'), or is '' (if no sign in input).
text = strip(text or '')
local reference
local pos = text:find('\127', 1, true)
if pos then
local before = text:sub(1, pos - 1)
local remainder = text:sub(pos)
local refs = {}
while #remainder > 0 do
local ref, spaces
ref, spaces, remainder = remainder:match('^(\127[^\127]*UNIQ[^\127]*%-ref[^\127]*\127)(%s*)(.*)')
if ref then
table.insert(refs, ref)
else
refs = {}
break
end
end
if #refs > 0 then
text = strip(before)
reference = table.concat(refs)
end
end
local clean = to_en(text, parms)
if clean == '' then
return false, { another and 'cvt_no_num2' or 'cvt_no_num' }
end
local isnegative, propersign = false, '' -- most common case
local singular, show, denominator
local value = tonumber(clean)
local altvalue
if value then
local sign = clean:sub(1, 1)
if sign == '+' or sign == '-' then
propersign = (sign == '+') and '+' or MINUS
clean = clean:sub(2)
end
if value < 0 then
isnegative = true
value = -value
end
else
local valstr
for _, prefix in ipairs({ '-', MINUS, '−' }) do
-- Including '-' sets isnegative in case input is a fraction like '-2-3/4'.
local plen = #prefix
if clean:sub(1, plen) == prefix then
valstr = clean:sub(plen + 1)
if valstr:match('^%s') then -- "- 1" is invalid but "-1 - 1/2" is ok
return false, { 'cvt_bad_num', text }
end
break
end
end
if valstr then
isnegative = true
propersign = MINUS
clean = valstr
value = tonumber(clean)
end
if value == nil then
if not no_fraction then
value, altvalue, show, denominator = extract_fraction(parms, clean, isnegative)
end
if value == nil then
return false, { 'cvt_bad_num', text }
end
if value <= 1 then
singular = true -- for example, "½ mile" or "one half mile" (singular unit)
end
end
end
if not valid_number(value) then -- for example, "1e310" may overflow
return false, { 'cvt_invalid_num' }
end
if show == nil then
-- clean is a non-empty string with no spaces, and does not represent a fraction,
-- and value = tonumber(clean) is a number >= 0.
-- If the input uses e-notation, show will be displayed using a power of ten, but
-- we use the number as given so it might not be normalized scientific notation.
-- The input value is spelled if specified so any e-notation is ignored;
-- that allows input like 2e6 to be spelled as "two million" which works
-- because the spell module converts '2e6' to '2000000' before spelling.
local function rounded(value, default, exponent)
local precision = parms.opt_ri
if precision then
local fmt = '%.' .. format('%d', precision) .. 'f'
local result = fmt:format(tonumber(value) + 2e-14) -- fudge for some common cases of bad rounding
if not exponent then
singular = (tonumber(result) == 1)
end
return result
end
return default
end
singular = (value == 1)
local scientific
local significand, exponent = clean:match('^([%d.]+)[Ee]([+%-]?%d+)')
if significand then
show = with_exponent(parms, rounded(significand, significand, exponent), exponent)
scientific = true
else
show = with_separator(parms, rounded(value, clean))
end
show = propersign .. show
if parms.opt_spell_in then
show = spell_number(parms, 'in', propersign .. rounded(value, clean)) or show
scientific = false
end
if scientific then
parms.opt_scientific = true
end
end
if isnegative and (value ~= 0) then
value = -value
altvalue = -(altvalue or value)
end
return true, {
value = value,
altvalue = altvalue or value,
singular = singular,
clean = clean,
show = show .. (reference or ''),
denominator = denominator,
}
end
local function get_number(text)
-- Return v, f where:
-- v = nil (text is not a number)
-- or
-- v = value of text (text is a number)
-- f = true if value is an integer
-- Input can use en digits or digits in local language,
-- but no separators, no Unicode minus, and no fraction.
if text then
local number = tonumber(to_en(text))
if number then
local _, fracpart = math.modf(number)
return number, (fracpart == 0)
end
end
end
local function gcd(a, b)
-- Return the greatest common denominator for the given values,
-- which are known to be positive integers.
if a > b then
a, b = b, a
end
if a <= 0 then
return b
end
local r = b % a
if r <= 0 then
return a
end
if r == 1 then
return 1
end
return gcd(r, a)
end
local function fraction_table(value, denominator)
-- Return value as a string or a table:
-- * If result is a string, there is no fraction, and the result
-- is value formatted as a string of en digits.
-- * If result is a table, it represents a fraction with named fields:
-- wholestr, numstr, denstr (strings of en digits for integer, numerator, denominator).
-- The result is rounded to the nearest multiple of (1/denominator).
-- If the multiple is zero, no fraction is included.
-- No fraction is included if value is very large as the fraction would
-- be unhelpful, particularly if scientific notation is required.
-- Input value is a non-negative number.
-- Input denominator is a positive integer for the desired fraction.
if value <= 0 then
return '0'
end
if denominator <= 0 or value > 1e8 then
return format('%.2f', value)
end
local integer, decimals = math.modf(value)
local numerator = floor((decimals * denominator) +
0.5 + 2e-14) -- add fudge for some common cases of bad rounding
if numerator >= denominator then
integer = integer + 1
numerator = 0
end
local wholestr = tostring(integer)
if numerator > 0 then
local div = gcd(numerator, denominator)
if div > 1 then
numerator = numerator / div
denominator = denominator / div
end
return {
wholestr = (integer > 0) and wholestr or '',
numstr = tostring(numerator),
denstr = tostring(denominator),
value = value,
}
end
return wholestr
end
local function preunits(count, preunit1, preunit2)
-- If count is 1:
-- ignore preunit2
-- return p1
-- else:
-- preunit1 is used for preunit2 if the latter is empty
-- return p1, p2
-- where:
-- p1 is text to insert before the input unit
-- p2 is text to insert before the output unit
-- p1 or p2 may be nil to mean "no preunit"
-- Using '+' gives output like "5+ feet" (no space before, but space after).
local function withspace(text, wantboth)
-- Return text with space before and, if wantboth, after.
-- However, no space is added if there is a space or ' ' or '-'
-- at that position ('-' is for adjectival text).
-- There is also no space if text starts with '&'
-- (e.g. '°' would display a degree symbol with no preceding space).
local char = text:sub(1, 1)
if char == '&' then
return text -- an html entity can be used to specify the exact display
end
if not (char == ' ' or char == '-' or char == '+') then
text = ' ' .. text
end
if wantboth then
char = text:sub(-1, -1)
if not (char == ' ' or char == '-' or text:sub(-6, -1) == ' ') then
text = text .. ' '
end
end
return text
end
local PLUS = '+ '
preunit1 = preunit1 or ''
local trim1 = strip(preunit1)
if count == 1 then
if trim1 == '' then
return nil
end
if trim1 == '+' then
return PLUS
end
return withspace(preunit1, true)
end
preunit1 = withspace(preunit1)
preunit2 = preunit2 or ''
local trim2 = strip(preunit2)
if trim1 == '+' then
if trim2 == '' or trim2 == '+' then
return PLUS, PLUS
end
preunit1 = PLUS
end
if trim2 == '' then
if trim1 == '' then
return nil, nil
end
preunit2 = preunit1
elseif trim2 == '+' then
preunit2 = PLUS
elseif trim2 == ' ' then -- trick to make preunit2 empty
preunit2 = nil
else
preunit2 = withspace(preunit2)
end
return preunit1, preunit2
end
local function range_text(range, want_name, parms, before, after, inout)
-- Return before .. rtext .. after
-- where rtext is the text that separates two values in a range.
local rtext, adj_text, exception
if type(range) == 'table' then
-- Table must specify range text for ('off' and 'on') or ('input' and 'output'),
-- and may specify range text for 'adj=on',
-- and may specify exception = true.
rtext = range[want_name and 'off' or 'on'] or
range[((inout == 'in') == (parms.opt_flip == true)) and 'output' or 'input']
adj_text = range['adj']
exception = range['exception']
else
rtext = range
end
if parms.opt_adjectival then
if want_name or (exception and parms.abbr_org == 'on') then
rtext = adj_text or rtext:gsub(' ', '-'):gsub(' ', '-')
end
end
if rtext == '–' and after:sub(1, #MINUS) == MINUS then
rtext = ' – '
end
return before .. rtext .. after
end
local function get_composite(parms, iparm, in_unit_table)
-- Look for a composite input unit. For example, {{convert|1|yd|2|ft|3|in}}
-- would result in a call to this function with
-- iparm = 3 (parms[iparm] = "2", just after the first unit)
-- in_unit_table = (unit table for "yd"; contains value 1 for number of yards)
-- Return true, iparm, unit where
-- iparm = index just after the composite units (7 in above example)
-- unit = composite unit table holding all input units,
-- or return true if no composite unit is present in parms,
-- or return false, t where t is an error message table.
local default, subinfo
local composite_units, count = { in_unit_table }, 1
local fixups = {}
local total = in_unit_table.valinfo[1].value
local subunit = in_unit_table
while subunit.subdivs do -- subdivs is nil or a table of allowed subdivisions
local subcode = strip(parms[iparm+1])
local subdiv = subunit.subdivs[subcode] or subunit.subdivs[(all_units[subcode] or {}).target]
if not subdiv then
break
end
local success
success, subunit = lookup(parms, subcode, 'no_combination')
if not success then return false, subunit end -- should never occur
success, subinfo = extract_number(parms, parms[iparm])
if not success then return false, subinfo end
iparm = iparm + 2
subunit.inout = 'in'
subunit.valinfo = { subinfo }
-- Recalculate total as a number of subdivisions.
-- subdiv[1] = number of subdivisions per previous unit (integer > 1).
total = total * subdiv[1] + subinfo.value
if not default then -- set by the first subdiv with a default defined
default = subdiv.default
end
count = count + 1
composite_units[count] = subunit
if subdiv.unit or subdiv.name then
fixups[count] = { unit = subdiv.unit, name = subdiv.name, valinfo = subunit.valinfo }
end
end
if count == 1 then
return true -- no error and no composite unit
end
for i, fixup in pairs(fixups) do
local unit = fixup.unit
local name = fixup.name
if not unit or (count > 2 and name) then
composite_units[i].fixed_name = name
else
local success, alternate = lookup(parms, unit, 'no_combination')
if not success then return false, alternate end -- should never occur
alternate.inout = 'in'
alternate.valinfo = fixup.valinfo
composite_units[i] = alternate
end
end
return true, iparm, {
utype = in_unit_table.utype,
scale = subunit.scale, -- scale of last (least significant) unit
valinfo = { { value = total, clean = subinfo.clean, denominator = subinfo.denominator } },
composite = composite_units,
default = default or in_unit_table.default
}
end
local function translate_parms(parms, kv_pairs)
-- Update fields in parms by translating each key:value in kv_pairs to terms
-- used by this module (may involve translating from local language to English).
-- Also, checks are performed which may display warnings, if enabled.
-- Return true if successful or return false, t where t is an error message table.
currency_text = nil -- local testing can hold module in memory; must clear globals
local accept_any_text = {
input = true,
qid = true,
qual = true,
stylein = true,
styleout = true,
tracking = true,
}
if kv_pairs.adj and kv_pairs.sing then
-- For enwiki (before translation), warn if attempt to use adj and sing
-- as the latter is a deprecated alias for the former.
if kv_pairs.adj ~= kv_pairs.sing and kv_pairs.sing ~= '' then
add_warning(parms, 1, 'cvt_unknown_option', 'sing=' .. kv_pairs.sing)
end
kv_pairs.sing = nil
end
kv_pairs.comma = kv_pairs.comma or config.comma -- for plwiki who want default comma=5
for loc_name, loc_value in pairs(kv_pairs) do
local en_name = text_code.en_option_name[loc_name]
if en_name then
local en_value
if en_name == '$' or en_name == 'frac' or en_name == 'sigfig' then
if loc_value == '' then
add_warning(parms, 2, 'cvt_empty_option', loc_name)
elseif en_name == '$' then
-- Value should be a single character like "€" for the euro currency symbol, but anything is accepted.
currency_text = (loc_value == 'euro') and '€' or loc_value
else
local minimum
local number, is_integer = get_number(loc_value)
if en_name == 'frac' then
minimum = 2
if number and number < 0 then
parms.opt_fraction_horizontal = true
number = -number
end
else
minimum = 1
end
if number and is_integer and number >= minimum then
en_value = number
else
add_warning(parms, 1, (en_name == 'frac' and 'cvt_bad_frac' or 'cvt_bad_sigfig'), loc_name .. '=' .. loc_value)
end
end
elseif accept_any_text[en_name] then
en_value = loc_value ~= '' and loc_value or nil -- accept non-empty user text with no validation
if en_name == 'input' then
-- May have something like {{convert|input=}} (empty input) if source is an infobox
-- with optional fields. In that case, want to output nothing rather than an error.
parms.input_text = loc_value -- keep input because parms.input is nil if loc_value == ''
end
else
en_value = text_code.en_option_value[en_name][loc_value]
if en_value and en_value:sub(-1) == '?' then
en_value = en_value:sub(1, -2)
add_warning(parms, -1, 'cvt_deprecated', loc_name .. '=' .. loc_value)
end
if en_value == nil then
if loc_value == '' then
add_warning(parms, 2, 'cvt_empty_option', loc_name)
else
add_warning(parms, 1, 'cvt_unknown_option', loc_name .. '=' .. loc_value)
end
elseif en_value == '' then
en_value = nil -- an ignored option like adj=off
elseif type(en_value) == 'string' and en_value:sub(1, 4) == 'opt_' then
for _, v in ipairs(split(en_value, ',')) do
local lhs, rhs = v:match('^(.-)=(.+)$')
if rhs then
parms[lhs] = tonumber(rhs) or rhs
else
parms[v] = true
end
end
en_value = nil
end
end
parms[en_name] = en_value
else
add_warning(parms, 1, 'cvt_unknown_option', loc_name .. '=' .. loc_value)
end
end
local abbr_entered = parms.abbr
local cfg_abbr = config.abbr
if cfg_abbr then
-- Don't warn if invalid because every convert would show that warning.
if cfg_abbr == 'on always' then
parms.abbr = 'on'
elseif cfg_abbr == 'off always' then
parms.abbr = 'off'
elseif parms.abbr == nil then
if cfg_abbr == 'on default' then
parms.abbr = 'on'
elseif cfg_abbr == 'off default' then
parms.abbr = 'off'
end
end
end
if parms.abbr then
if parms.abbr == 'unit' then
parms.abbr = 'on'
parms.number_word = true
end
parms.abbr_org = parms.abbr -- original abbr, before any flip
elseif parms.opt_hand_hh then
parms.abbr_org = 'on'
parms.abbr = 'on'
else
parms.abbr = 'out' -- default is to abbreviate output only (use symbol, not name)
end
if parms.opt_order_out then
-- Disable options that do not work in a useful way with order=out.
parms.opt_flip = nil -- override adj=flip
parms.opt_spell_in = nil
parms.opt_spell_out = nil
parms.opt_spell_upper = nil
end
if parms.opt_spell_out and not abbr_entered then
parms.abbr = 'off' -- should show unit name when spelling the output value
end
if parms.opt_flip then
local function swap_in_out(option)
local value = parms[option]
if value == 'in' then
parms[option] = 'out'
elseif value == 'out' then
parms[option] = 'in'
end
end
swap_in_out('abbr')
swap_in_out('lk')
if parms.opt_spell_in and not parms.opt_spell_out then
-- For simplicity, and because it does not appear to be needed,
-- user cannot set an option to spell the output only.
parms.opt_spell_in = nil
parms.opt_spell_out = true
end
end
if parms.opt_spell_upper then
parms.spell_upper = parms.opt_flip and 'out' or 'in'
end
if parms.opt_table or parms.opt_tablecen then
if abbr_entered == nil and parms.lk == nil then
parms.opt_values = true
end
parms.table_align = parms.opt_table and 'right' or 'center'
end
if parms.table_align or parms.opt_sortable_on then
parms.need_table_or_sort = true
end
local disp_joins = text_code.disp_joins
local default_joins = disp_joins['b']
parms.join_between = default_joins[3] or '; '
local disp = parms.disp
if disp == nil then -- special case for the most common setting
parms.joins = default_joins
elseif disp == 'x' then
-- Later, parms.joins is set from the input parameters.
else
-- Old template does this.
local abbr = parms.abbr
if disp == 'slash' then
if abbr_entered == nil then
disp = 'slash-nbsp'
elseif abbr == 'in' or abbr == 'out' then
disp = 'slash-sp'
else
disp = 'slash-nosp'
end
elseif disp == 'sqbr' then
if abbr == 'on' then
disp = 'sqbr-nbsp'
else
disp = 'sqbr-sp'
end
end
parms.joins = disp_joins[disp] or default_joins
parms.join_between = parms.joins[3] or parms.join_between
parms.wantname = parms.joins.wantname
end
if (en_default and not parms.opt_lang_local and (parms[1] or ''):find('%d')) or parms.opt_lang_en then
from_en_table = nil
end
if en_default and from_en_table then
-- For hiwiki: localized symbol/name is defined with the US symbol/name field,
-- and is used if output uses localized numbers.
parms.opt_sp_us = true
end
return true
end
local function get_values(parms)
-- If successful, update parms and return true, v, i where
-- v = table of input values
-- i = index to next entry in parms after those processed here
-- or return false, t where t is an error message table.
local valinfo = collection() -- numbered table of input values
local range = collection() -- numbered table of range items (having, for example, 2 range items requires 3 input values)
local had_nocomma -- true if removed "nocomma" kludge from second parameter (like "tonocomma")
local parm2 = strip(parms[2])
if parm2 and parm2:sub(-7, -1) == 'nocomma' then
parms[2] = strip(parm2:sub(1, -8))
parms.opt_nocomma = true
had_nocomma = true
end
local function extractor(i)
-- If the parameter is not a value, try unpacking it as a range ("1-23" for "1 to 23").
-- However, "-1-2/3" is a negative fraction (-1⅔), so it must be extracted first.
-- Do not unpack a parameter if it is like "3-1/2" which is sometimes incorrectly
-- used instead of "3+1/2" (and which should not be interpreted as "3 to ½").
-- Unpacked items are inserted into the parms table.
-- The tail recursion allows combinations like "1x2 to 3x4".
local valstr = strip(parms[i]) -- trim so any '-' as a negative sign will be at start
local success, result = extract_number(parms, valstr, i > 1)
if not success and valstr and i < 20 then -- check i to limit abuse
local lhs, sep, rhs = valstr:match('^(%S+)%s+(%S+)%s+(%S.*)')
if lhs and not (sep == '-' and rhs:match('/')) then
if sep:find('%d') then
return success, result -- to reject {{convert|1 234 567|m}} with a decent message (en only)
end
parms[i] = rhs
table.insert(parms, i, sep)
table.insert(parms, i, lhs)
return extractor(i)
end
if not valstr:match('%-.*/') then
for _, sep in ipairs(text_code.ranges.words) do
local start, stop = valstr:find(sep, 2, true) -- start at 2 to skip any negative sign for range '-'
if start then
parms[i] = valstr:sub(stop + 1)
table.insert(parms, i, sep)
table.insert(parms, i, valstr:sub(1, start - 1))
return extractor(i)
end
end
end
end
return success, result
end
local i = 1
local is_change
while true do
local success, info = extractor(i) -- need to set parms.opt_nocomma before calling this
if not success then return false, info end
i = i + 1
if is_change then
info.is_change = true -- value is after "±" and so is a change (significant for range like {{convert|5|±|5|°C}})
is_change = nil
end
valinfo:add(info)
local range_item = get_range(strip(parms[i]))
if not range_item then
break
end
i = i + 1
range:add(range_item)
if type(range_item) == 'table' then
-- For range "x", if append unit to some values, append it to all.
parms.in_range_x = parms.in_range_x or range_item.in_range_x
parms.out_range_x = parms.out_range_x or range_item.out_range_x
parms.abbr_range_x = parms.abbr_range_x or range_item.abbr_range_x
is_change = range_item.is_range_change
end
end
if range.n > 0 then
if range.n > 30 then -- limit abuse, although 4 is a more likely upper limit
return false, { 'cvt_invalid_num' } -- misleading message but it will do
end
parms.range = range
elseif had_nocomma then
return false, { 'cvt_unknown', parm2 }
end
return true, valinfo, i
end
local function simple_get_values(parms)
-- If input is like "{{convert|valid_value|valid_unit|...}}",
-- return true, i, in_unit, in_unit_table
-- i = index in parms of what follows valid_unit, if anything.
-- The valid_value is not negative and does not use a fraction, and
-- no options requiring further processing of the input are used.
-- Otherwise, return nothing or return false, parm1 for caller to interpret.
-- Testing shows this function is successful for 96% of converts in articles,
-- and that on average it speeds up converts by 8%.
local clean = to_en(strip(parms[1] or ''), parms)
if parms.opt_ri or parms.opt_spell_in or #clean > 10 or not clean:match('^[0-9.]+$') then
return false, clean
end
local value = tonumber(clean)
if not value then return end
local info = {
value = value,
altvalue = value,
singular = (value == 1),
clean = clean,
show = with_separator(parms, clean),
}
local in_unit = strip(parms[2])
local success, in_unit_table = lookup(parms, in_unit, 'no_combination')
if not success then return end
in_unit_table.valinfo = { info }
return true, 3, in_unit, in_unit_table
end
local function wikidata_call(parms, operation, ...)
-- Return true, s where s is the result of a Wikidata operation,
-- or return false, t where t is an error message table.
local function worker(...)
wikidata_code = wikidata_code or require(wikidata_module)
wikidata_data = wikidata_data or mw.loadData(wikidata_data_module)
return wikidata_code[operation](wikidata_data, ...)
end
local success, status, result = pcall(worker, ...)
if success then
return status, result
end
if parms.opt_sortable_debug then
-- Use debug=yes to crash if an error while accessing Wikidata.
error('Error accessing Wikidata: ' .. status, 0)
end
return false, { 'cvt_wd_fail' }
end
local function get_parms(parms, args)
-- If successful, update parms and return true, unit where
-- parms is a table of all arguments passed to the template
-- converted to named arguments, and
-- unit is the input unit table;
-- or return false, t where t is an error message table.
-- For special processing (not a convert), can also return
-- true, wikitext where wikitext is the final result.
-- The returned input unit table may be for a fake unit using the specified
-- unit code as the symbol and name, and with bad_mcode = message code table.
-- MediaWiki removes leading and trailing whitespace from the values of
-- named arguments. However, the values of numbered arguments include any
-- whitespace entered in the template, and whitespace is used by some
-- parameters (example: the numbered parameters associated with "disp=x").
local kv_pairs = {} -- table of input key:value pairs where key is a name; needed because cannot iterate parms and add new fields to it
for k, v in pairs(args) do
if type(k) == 'number' or k == 'test' then -- parameter "test" is reserved for testing and is not translated
parms[k] = v
else
kv_pairs[k] = v
end
end
if parms.test == 'wikidata' then
local ulookup = function (ucode)
-- Use empty table for parms so it does not accumulate results when used repeatedly.
return lookup({}, ucode, 'no_combination')
end
return wikidata_call(parms, '_listunits', ulookup)
end
local success, msg = translate_parms(parms, kv_pairs)
if not success then return false, msg end
if parms.input then
success, msg = wikidata_call(parms, '_adjustparameters', parms, 1)
if not success then return false, msg end
end
local success, i, in_unit, in_unit_table = simple_get_values(parms)
if not success then
if type(i) == 'string' and i:match('^NNN+$') then
-- Some infoboxes have examples like {{convert|NNN|m}} (3 or more "N").
-- Output an empty string for these.
return false, { 'cvt_no_output' }
end
local valinfo
success, valinfo, i = get_values(parms)
if not success then return false, valinfo end
in_unit = strip(parms[i])
i = i + 1
success, in_unit_table = lookup(parms, in_unit, 'no_combination')
if not success then
in_unit = in_unit or ''
if parms.opt_ignore_error then -- display given unit code with no error (for use with {{val}})
in_unit_table = '' -- suppress error message and prevent processing of output unit
end
in_unit_table = setmetatable({
symbol = in_unit, name2 = in_unit, utype = in_unit,
scale = 1, default = '', defkey = '', linkey = '',
bad_mcode = in_unit_table }, unit_mt)
end
in_unit_table.valinfo = valinfo
end
if parms.test == 'msg' then
-- Am testing the messages produced when no output unit is specified, and
-- the input unit has a missing or invalid default.
-- Set two units for testing that.
-- LATER: Remove this code.
if in_unit == 'chain' then
in_unit_table.default = nil -- no default
elseif in_unit == 'rd' then
in_unit_table.default = "ft!X!m" -- an invalid expression
end
end
in_unit_table.inout = 'in' -- this is an input unit
if not parms.range then
local success, inext, composite_unit = get_composite(parms, i, in_unit_table)
if not success then return false, inext end
if composite_unit then
in_unit_table = composite_unit
i = inext
end
end
if in_unit_table.builtin == 'mach' then
-- As with old template, a number following Mach as the input unit is the altitude,
-- and there is no way to specify an altitude for the output unit.
-- Could put more code in this function to get any output unit and check for
-- an altitude following that unit.
local success, info = extract_number(parms, parms[i], false, true)
if success then
i = i + 1
in_unit_table.altitude = info.value
end
end
local word = strip(parms[i])
i = i + 1
local precision, is_bad_precision
local function set_precision(text)
local number, is_integer = get_number(text)
if number then
if is_integer then
precision = number
else
precision = text
is_bad_precision = true
end
return true -- text was used for precision, good or bad
end
end
if word and not set_precision(word) then
parms.out_unit = parms.out_unit or word
if set_precision(strip(parms[i])) then
i = i + 1
end
end
if parms.opt_adj_mid then
word = parms[i]
i = i + 1
if word then -- mid-text words
if word:sub(1, 1) == '-' then
parms.mid = word
else
parms.mid = ' ' .. word
end
end
end
if parms.opt_one_preunit then
parms[parms.opt_flip and 'preunit2' or 'preunit1'] = preunits(1, parms[i])
i = i + 1
end
if parms.disp == 'x' then
-- Following is reasonably compatible with the old template.
local first = parms[i] or ''
local second = parms[i+1] or ''
i = i + 2
if strip(first) == '' then -- user can enter ' ' rather than ' ' to avoid the default
first = ' [ ' .. first
second = ' ]' .. second
end
parms.joins = { first, second }
elseif parms.opt_two_preunits then
local p1, p2 = preunits(2, parms[i], parms[i+1])
i = i + 2
if parms.preunit1 then
-- To simplify documentation, allow unlikely use of adj=pre with disp=preunit
-- (however, an output unit must be specified with adj=pre and with disp=preunit).
parms.preunit1 = parms.preunit1 .. p1
parms.preunit2 = p2
else
parms.preunit1, parms.preunit2 = p1, p2
end
end
if precision == nil then
if set_precision(strip(parms[i])) then
i = i + 1
end
end
if is_bad_precision then
add_warning(parms, 1, 'cvt_bad_prec', precision)
else
parms.precision = precision
end
for j = i, i + 3 do
local parm = parms[j] -- warn if find a non-empty extraneous parameter
if parm and parm:match('%S') then
add_warning(parms, 1, 'cvt_unknown_option', parm)
break
end
end
return true, in_unit_table
end
local function record_default_precision(parms, out_current, precision)
-- If necessary, adjust parameters and return a possibly adjusted precision.
-- When converting a range of values where a default precision is required,
-- that default is calculated for each value because the result sometimes
-- depends on the precise input and output values. This function may cause
-- the entire convert process to be repeated in order to ensure that the
-- same default precision is used for each individual convert.
-- If that were not done, a range like 1000 to 1000.4 may give poor results
-- because the first output could be heavily rounded, while the second is not.
-- For range 1000.4 to 1000, this function can give the second convert the
-- same default precision that was used for the first.
if not parms.opt_round_each then
local maxdef = out_current.max_default_precision
if maxdef then
if maxdef < precision then
parms.do_convert_again = true
out_current.max_default_precision = precision
else
precision = out_current.max_default_precision
end
else
out_current.max_default_precision = precision
end
end
return precision
end
local function default_precision(parms, invalue, inclean, denominator, outvalue, in_current, out_current, extra)
-- Return a default value for precision (an integer like 2, 0, -2).
-- If denominator is not nil, it is the value of the denominator in inclean.
-- Code follows procedures used in old template.
local fudge = 1e-14 -- {{Order of magnitude}} adds this, so we do too
local prec, minprec, adjust
local subunit_ignore_trailing_zero
local subunit_more_precision -- kludge for "in" used in input like "|2|ft|6|in"
local composite = in_current.composite
if composite then
subunit_ignore_trailing_zero = true -- input "|2|st|10|lb" has precision 0, not -1
if composite[#composite].exception == 'subunit_more_precision' then
subunit_more_precision = true -- do not use standard precision with input like "|2|ft|6|in"
end
end
if denominator and denominator > 0 then
prec = math.max(log10(denominator), 1)
else
-- Count digits after decimal mark, handling cases like '12.345e6'.
local exponent
local integer, dot, decimals, expstr = inclean:match('^(%d*)(%.?)(%d*)(.*)')
local e = expstr:sub(1, 1)
if e == 'e' or e == 'E' then
exponent = tonumber(expstr:sub(2))
end
if dot == '' then
prec = subunit_ignore_trailing_zero and 0 or -integer:match('0*$'):len()
else
prec = #decimals
end
if exponent then
-- So '1230' and '1.23e3' both give prec = -1, and '0.00123' and '1.23e-3' give 5.
prec = prec - exponent
end
end
if in_current.istemperature and out_current.istemperature then
-- Converting between common temperatures (°C, °F, °R, K); not keVT.
-- Kelvin value can be almost zero, or small but negative due to precision problems.
-- Also, an input value like -300 C (below absolute zero) gives negative kelvins.
-- Calculate minimum precision from absolute value.
adjust = 0
local kelvin = abs((invalue - in_current.offset) * in_current.scale)
if kelvin < 1e-8 then -- assume nonzero due to input or calculation precision problem
minprec = 2
else
minprec = 2 - floor(log10(kelvin) + fudge) -- 3 sigfigs in kelvin
end
else
if invalue == 0 or outvalue <= 0 then
-- We are never called with a negative outvalue, but it might be zero.
-- This is special-cased to avoid calculation exceptions.
return record_default_precision(parms, out_current, 0)
end
if out_current.exception == 'integer_more_precision' and floor(invalue) == invalue then
-- With certain output units that sometimes give poor results
-- with default rounding, use more precision when the input
-- value is equal to an integer. An example of a poor result
-- is when input 50 gives a smaller output than input 49.5.
-- Experiment shows this helps, but it does not eliminate all
-- surprises because it is not clear whether "50" should be
-- interpreted as "from 45 to 55" or "from 49.5 to 50.5".
adjust = -log10(in_current.scale)
elseif subunit_more_precision then
-- Conversion like "{{convert|6|ft|1|in|cm}}" (where subunit is "in")
-- has a non-standard adjust value, to give more output precision.
adjust = log10(out_current.scale) + 2
else
adjust = log10(abs(invalue / outvalue))
end
adjust = adjust + log10(2)
-- Ensure that the output has at least two significant figures.
minprec = 1 - floor(log10(outvalue) + fudge)
end
if extra then
adjust = extra.adjust or adjust
minprec = extra.minprec or minprec
end
return record_default_precision(parms, out_current, math.max(floor(prec + adjust), minprec))
end
local function convert(parms, invalue, info, in_current, out_current)
-- Convert given input value from one unit to another.
-- Return output_value (a number) if a simple convert, or
-- return f, t where
-- f = true, t = table of information with results, or
-- f = false, t = error message table.
local inscale = in_current.scale
local outscale = out_current.scale
if not in_current.iscomplex and not out_current.iscomplex then
return invalue * (inscale / outscale) -- minimize overhead for most common case
end
if in_current.invert or out_current.invert then
-- Inverted units, such as inverse length, inverse time, or
-- fuel efficiency. Built-in units do not have invert set.
if (in_current.invert or 1) * (out_current.invert or 1) < 0 then
return 1 / (invalue * inscale * outscale)
end
return invalue * (inscale / outscale)
elseif in_current.offset then
-- Temperature (there are no built-ins for this type of unit).
if info.is_change then
return invalue * (inscale / outscale)
end
return (invalue - in_current.offset) * (inscale / outscale) + out_current.offset
else
-- Built-in unit.
local in_builtin = in_current.builtin
local out_builtin = out_current.builtin
if in_builtin and out_builtin then
if in_builtin == out_builtin then
return invalue
end
-- There are no cases (yet) where need to convert from one
-- built-in unit to another, so this should never occur.
return false, { 'cvt_bug_convert' }
end
if in_builtin == 'mach' or out_builtin == 'mach' then
local adjust
if in_builtin == 'mach' then
inscale = speed_of_sound(in_current.altitude)
adjust = outscale / 0.1
else
outscale = speed_of_sound(out_current.altitude)
adjust = 0.1 / inscale
end
return true, {
outvalue = invalue * (inscale / outscale),
adjust = log10(adjust) + log10(2),
}
elseif in_builtin == 'hand' then
-- 1 hand = 4 inches; 1.2 hands = 6 inches.
-- Decimals of a hand are only defined for the first digit, and
-- the first fractional digit should be a number of inches (1, 2 or 3).
-- However, this code interprets the entire fractional part as the number
-- of inches / 10 (so 1.75 inches would be 0.175 hands).
-- A value like 12.3 hands is exactly 12*4 + 3 inches; base default precision on that.
local integer, fracpart = math.modf(invalue)
local inch_value = 4 * integer + 10 * fracpart -- equivalent number of inches
local factor = inscale / outscale
if factor == 4 then
-- Am converting to inches: show exact result, and use "inches" not "in" by default.
if parms.abbr_org == nil then
out_current.usename = true
end
local show = format('%g', abs(inch_value)) -- show and clean are unsigned
if not show:find('e', 1, true) then
return true, {
invalue = inch_value,
outvalue = inch_value,
clean = show,
show = show,
}
end
end
local outvalue = (integer + 2.5 * fracpart) * factor
local fracstr = info.clean:match('%.(.*)') or ''
local fmt
if fracstr == '' then
fmt = '%.0f'
else
fmt = '%.' .. format('%d', #fracstr - 1) .. 'f'
end
return true, {
invalue = inch_value,
clean = format(fmt, inch_value),
outvalue = outvalue,
minprec = 0,
}
end
end
return false, { 'cvt_bug_convert' } -- should never occur
end
local function user_style(parms, i)
-- Return text for a user-specified style for a table cell, or '' if none,
-- given i = 1 (input style) or 2 (output style).
local style = parms[(i == 1) and 'stylein' or 'styleout']
if style then
style = style:gsub('"', '')
if style ~= '' then
if style:sub(-1) ~= ';' then
style = style .. ';'
end
return style
end
end
return ''
end
local function make_table_or_sort(parms, invalue, info, in_current, scaled_top)
-- Set options to handle output for a table or a sort key, or both.
-- The text sort key is based on the value resulting from converting
-- the input to a fake base unit with scale = 1, and other properties
-- required for a conversion derived from the input unit.
-- For other modules, return the sort key in a hidden span element, and
-- the scaled value used to generate the sort key.
-- If scaled_top is set, it is the scaled value of the numerator of a per unit
-- to be combined with this unit (the denominator) to make the sort key.
-- Scaling only works with units that convert with a factor (not temperature).
local sortkey, scaled_value
if parms.opt_sortable_on then
local base = { -- a fake unit with enough fields for a valid convert
scale = 1,
invert = in_current.invert and 1,
iscomplex = in_current.iscomplex,
offset = in_current.offset and 0,
}
local outvalue, extra = convert(parms, invalue, info, in_current, base)
if extra then
outvalue = extra.outvalue
end
if in_current.istemperature then
-- Have converted to kelvin; assume numbers close to zero have a
-- rounding error and should be zero.
if abs(outvalue) < 1e-12 then
outvalue = 0
end
end
if scaled_top and outvalue ~= 0 then
outvalue = scaled_top / outvalue
end
scaled_value = outvalue
if not valid_number(outvalue) then
if outvalue < 0 then
sortkey = '1000000000000000000'
else
sortkey = '9000000000000000000'
end
elseif outvalue == 0 then
sortkey = '5000000000000000000'
else
local mag = floor(log10(abs(outvalue)) + 1e-14)
local prefix
if outvalue > 0 then
prefix = 7000 + mag
else
prefix = 2999 - mag
outvalue = outvalue + 10^(mag+1)
end
sortkey = format('%d', prefix) .. format('%015.0f', floor(outvalue * 10^(14-mag)))
end
end
local sortspan
if sortkey and not parms.table_align then
sortspan = parms.opt_sortable_debug and
'<span data-sort-value="' .. sortkey .. '♠"><span style="border:1px solid">' .. sortkey .. '♠</span></span>' or
'<span data-sort-value="' .. sortkey .. '♠"></span>'
parms.join_before = sortspan
end
if parms.table_align then
local sort
if sortkey then
sort = ' data-sort-value="' .. sortkey .. '"'
if parms.opt_sortable_debug then
parms.join_before = '<span style="border:1px solid">' .. sortkey .. '</span>'
end
else
sort = ''
end
local style = 'style="text-align:' .. parms.table_align .. ';'
local joins = {}
for i = 1, 2 do
joins[i] = (i == 1 and '' or '\n|') .. style .. user_style(parms, i) .. '"' .. sort .. '|'
end
parms.table_joins = joins
end
return sortspan, scaled_value
end
local cvt_to_hand
local function cvtround(parms, info, in_current, out_current)
-- Return true, t where t is a table with the conversion results; fields:
-- show = rounded, formatted string with the result of converting value in info,
-- using the rounding specified in parms.
-- singular = true if result (after rounding and ignoring any negative sign)
-- is "1", or like "1.00", or is a fraction with value < 1;
-- (and more fields shown below, and a calculated 'absvalue' field).
-- or return false, t where t is an error message table.
-- Input info.clean uses en digits (it has been translated, if necessary).
-- Output show uses en or non-en digits as appropriate, or can be spelled.
if out_current.builtin == 'hand' then
return cvt_to_hand(parms, info, in_current, out_current)
end
local invalue = in_current.builtin == 'hand' and info.altvalue or info.value
local outvalue, extra = convert(parms, invalue, info, in_current, out_current)
if parms.need_table_or_sort then
parms.need_table_or_sort = nil -- process using first input value only
make_table_or_sort(parms, invalue, info, in_current)
end
if extra then
if not outvalue then return false, extra end
invalue = extra.invalue or invalue
outvalue = extra.outvalue
end
if not valid_number(outvalue) then
return false, { 'cvt_invalid_num' }
end
local isnegative
if outvalue < 0 then
isnegative = true
outvalue = -outvalue
end
local precision, show, exponent
local denominator = out_current.frac
if denominator then
show = fraction_table(outvalue, denominator)
else
precision = parms.precision
if not precision then
if parms.sigfig then
show, exponent = make_sigfig(outvalue, parms.sigfig)
elseif parms.opt_round then
local n = parms.opt_round
if n == 0.5 then
local integer, fracpart = math.modf(floor(2 * outvalue + 0.5) / 2)
if fracpart == 0 then
show = format('%.0f', integer)
else
show = format('%.1f', integer + fracpart)
end
else
show = format('%.0f', floor((outvalue / n) + 0.5) * n)
end
else
local inclean = info.clean
if extra then
inclean = extra.clean or inclean
show = extra.show
end
if not show then
precision = default_precision(parms, invalue, inclean, info.denominator, outvalue, in_current, out_current, extra)
end
end
end
end
if precision then
if precision >= 0 then
local fudge
if precision <= 8 then
-- Add a fudge to handle common cases of bad rounding due to inability
-- to precisely represent some values. This makes the following work:
-- {{convert|-100.1|C|K}} and {{convert|5555000|um|m|2}}.
-- Old template uses #expr round, which invokes PHP round().
-- LATER: Investigate how PHP round() works.
fudge = 2e-14
else
fudge = 0
end
local fmt = '%.' .. format('%d', precision) .. 'f'
local success
success, show = pcall(format, fmt, outvalue + fudge)
if not success then
return false, { 'cvt_big_prec', tostring(precision) }
end
else
precision = -precision -- #digits to zero (in addition to any digits after dot)
local shift = 10 ^ precision
show = format('%.0f', outvalue/shift)
if show ~= '0' then
exponent = #show + precision
end
end
end
local t = format_number(parms, show, exponent, isnegative)
if type(show) == 'string' then
-- Set singular using match because on some systems 0.99999999999999999 is 1.0.
if exponent then
t.singular = (exponent == 1 and show:match('^10*$'))
else
t.singular = (show == '1' or show:match('^1%.0*$'))
end
else
t.fraction_table = show
t.singular = (outvalue <= 1) -- cannot have 'fraction == 1', but if it were possible it would be singular
end
t.raw_absvalue = outvalue -- absolute value before rounding
return true, setmetatable(t, {
__index = function (self, key)
if key == 'absvalue' then
-- Calculate absolute value after rounding, if needed.
local clean, exponent = rawget(self, 'clean'), rawget(self, 'exponent')
local value = tonumber(clean) -- absolute value (any negative sign has been ignored)
if exponent then
value = value * 10^exponent
end
rawset(self, key, value)
return value
end
end })
end
function cvt_to_hand(parms, info, in_current, out_current)
-- Convert input to hands, inches.
-- Return true, t where t is a table with the conversion results;
-- or return false, t where t is an error message table.
if parms.abbr_org == nil then
out_current.usename = true -- default is to show name not symbol
end
local precision = parms.precision
local frac = out_current.frac
if not frac and precision and precision > 1 then
frac = (precision == 2) and 2 or 4
end
local out_next = out_current.out_next
if out_next then
-- Use magic knowledge to determine whether the next unit is inches without requiring i18n.
-- The following ensures that when the output combination "hand in" is used, the inches
-- value is rounded to match the hands value. Also, displaying say "61½" instead of 61.5
-- is better as 61.5 implies the value is not 61.4.
if out_next.exception == 'subunit_more_precision' then
out_next.frac = frac
end
end
-- Convert to inches; calculate hands from that.
local dummy_unit_table = { scale = out_current.scale / 4, frac = frac }
local success, outinfo = cvtround(parms, info, in_current, dummy_unit_table)
if not success then return false, outinfo end
local tfrac = outinfo.fraction_table
local inches = outinfo.raw_absvalue
if tfrac then
inches = floor(inches) -- integer part only; fraction added later
else
inches = floor(inches + 0.5) -- a hands measurement never shows decimals of an inch
end
local hands, inches = divide(inches, 4)
outinfo.absvalue = hands + inches/4 -- supposed to be the absolute rounded value, but this is close enough
local inchstr = tostring(inches) -- '0', '1', '2' or '3'
if precision and precision <= 0 then -- using negative or 0 for precision rounds to nearest hand
hands = floor(outinfo.raw_absvalue/4 + 0.5)
inchstr = ''
elseif tfrac then
-- Always show an integer before fraction (like "15.0½") because "15½" means 15-and-a-half hands.
inchstr = numdot .. format_fraction(parms, 'out', false, inchstr, tfrac.numstr, tfrac.denstr)
else
inchstr = numdot .. from_en(inchstr)
end
outinfo.show = outinfo.sign .. with_separator(parms, format('%.0f', hands)) .. inchstr
return true, outinfo
end
local function evaluate_condition(value, condition)
-- Return true or false from applying a conditional expression to value,
-- or throw an error if invalid.
-- A very limited set of expressions is supported:
-- v < 9
-- v * 9 < 9
-- where
-- 'v' is replaced with value
-- 9 is any number (as defined by Lua tonumber)
-- only en digits are accepted
-- '<' can also be '<=' or '>' or '>='
-- In addition, the following form is supported:
-- LHS and RHS
-- where
-- LHS, RHS = any of above expressions.
local function compare(value, text)
local arithop, factor, compop, limit = text:match('^%s*v%s*([*]?)(.-)([<>]=?)(.*)$')
if arithop == nil then
error('Invalid default expression', 0)
elseif arithop == '*' then
factor = tonumber(factor)
if factor == nil then
error('Invalid default expression', 0)
end
value = value * factor
end
limit = tonumber(limit)
if limit == nil then
error('Invalid default expression', 0)
end
if compop == '<' then
return value < limit
elseif compop == '<=' then
return value <= limit
elseif compop == '>' then
return value > limit
elseif compop == '>=' then
return value >= limit
end
error('Invalid default expression', 0) -- should not occur
end
local lhs, rhs = condition:match('^(.-%W)and(%W.*)')
if lhs == nil then
return compare(value, condition)
end
return compare(value, lhs) and compare(value, rhs)
end
local function get_default(value, unit_table)
-- Return true, s where s = name of unit's default output unit,
-- or return false, t where t is an error message table.
-- Some units have a default that depends on the input value
-- (the first value if a range of values is used).
-- If '!' is in the default, the first bang-delimited field is an
-- expression that uses 'v' to represent the input value.
-- Example: 'v < 120 ! small ! big ! suffix' (suffix is optional)
-- evaluates 'v < 120' as a boolean with result
-- 'smallsuffix' if (value < 120), or 'bigsuffix' otherwise.
-- Input must use en digits and '.' decimal mark.
local default = data_code.default_exceptions[unit_table.defkey or unit_table.symbol] or unit_table.default
if not default then
local per = unit_table.per
if per then
local function a_default(v, u)
local success, ucode = get_default(v, u)
if not success then
return '?' -- an unlikely error has occurred; will cause lookup of default to fail
end
-- Attempt to use only the first unit if a combination or output multiple.
-- This is not bulletproof but should work for most cases.
-- Where it does not work, the convert will need to specify the wanted output unit.
local t = all_units[ucode]
if t then
local combo = t.combination
if combo then
-- For a multiple like ftin, the "first" unit (ft) is last in the combination.
local i = t.multiple and table_len(combo) or 1
ucode = combo[i]
end
else
-- Try for an automatically generated combination.
local item = ucode:match('^(.-)%+') or ucode:match('^(%S+)%s')
if all_units[item] then
return item
end
end
return ucode
end
local unit1, unit2 = per[1], per[2]
local def1 = (unit1 and a_default(value, unit1) or unit_table.vprefix or '')
local def2 = a_default(1, unit2) -- 1 because per unit of denominator
return true, def1 .. '/' .. def2
end
return false, { 'cvt_no_default', unit_table.symbol }
end
if default:find('!', 1, true) == nil then
return true, default
end
local t = split(default, '!')
if #t == 3 or #t == 4 then
local success, result = pcall(evaluate_condition, value, t[1])
if success then
default = result and t[2] or t[3]
if #t == 4 then
default = default .. t[4]
end
return true, default
end
end
return false, { 'cvt_bad_default', unit_table.symbol }
end
local linked_pages -- to record linked pages so will not link to the same page more than once
local function unlink(unit_table)
-- Forget that the given unit has previously been linked (if it has).
-- That is needed when processing a range of inputs or outputs when an id
-- for the first range value may have been evaluated, but only an id for
-- the last value is displayed, and that id may need to be linked.
linked_pages[unit_table.unitcode or unit_table] = nil
end
local function make_link(link, id, unit_table)
-- Return wikilink "[[link|id]]", possibly abbreviated as in examples:
-- [[Mile|mile]] --> [[mile]]
-- [[Mile|miles]] --> [[mile]]s
-- However, just id is returned if:
-- * no link given (so caller does not need to check if a link was defined); or
-- * link has previously been used during the current convert (to avoid overlinking).
local link_key
if unit_table then
link_key = unit_table.unitcode or unit_table
else
link_key = link
end
if not link or link == '' or linked_pages[link_key] then
return id
end
linked_pages[link_key] = true
-- Following only works for language en, but it should be safe on other wikis,
-- and overhead of doing it generally does not seem worthwhile.
local l = link:sub(1, 1):lower() .. link:sub(2)
if link == id or l == id then
return '[[' .. id .. ']]'
elseif link .. 's' == id or l .. 's' == id then
return '[[' .. id:sub(1, -2) .. ']]s'
else
return '[[' .. link .. '|' .. id .. ']]'
end
end
local function variable_name(clean, unit_table)
-- For slwiki, a unit name depends on the value.
-- Parameter clean is the unsigned rounded value in en digits, as a string.
-- Value Source Example for "m"
-- integer 1: name1 meter (also is the name of the unit)
-- integer 2: var{1} metra
-- integer 3 and 4: var{2} metri
-- integer else: var{3} metrov (0 and 5 or more)
-- real/fraction: var{4} metra
-- var{i} means the i'th field in unit_table.varname if it exists and has
-- an i'th field, otherwise name2.
-- Fields are separated with "!" and are not empty.
-- A field for a unit using an SI prefix has the prefix name inserted,
-- replacing '#' if found, or before the field otherwise.
local vname
if clean == '1' then
vname = unit_table.name1
elseif unit_table.varname then
local i
if clean == '2' then
i = 1
elseif clean == '3' or clean == '4' then
i = 2
elseif clean:find('.', 1, true) then
i = 4
else
i = 3
end
if i > 1 and varname == 'pl' then
i = i - 1
end
vname = split(unit_table.varname, '!')[i]
end
if vname then
local si_name = rawget(unit_table, 'si_name') or ''
local pos = vname:find('#', 1, true)
if pos then
vname = vname:sub(1, pos - 1) .. si_name .. vname:sub(pos + 1)
else
vname = si_name .. vname
end
return vname
end
return unit_table.name2
end
local function linked_id(parms, unit_table, key_id, want_link, clean)
-- Return final unit id (symbol or name), optionally with a wikilink,
-- and update unit_table.sep if required.
-- key_id is one of: 'symbol', 'sym_us', 'name1', 'name1_us', 'name2', 'name2_us'.
local abbr_on = (key_id == 'symbol' or key_id == 'sym_us')
if abbr_on and want_link then
local symlink = rawget(unit_table, 'symlink')
if symlink then
return symlink -- for exceptions that have the linked symbol built-in
end
end
local multiplier = rawget(unit_table, 'multiplier')
local per = unit_table.per
if per then
local paren1, paren2 = '', '' -- possible parentheses around bottom unit
local unit1 = per[1] -- top unit_table, or nil
local unit2 = per[2] -- bottom unit_table
if abbr_on then
if not unit1 then
unit_table.sep = '' -- no separator in "$2/acre"
end
if not want_link then
local symbol = unit_table.symbol_raw
if symbol then
return symbol -- for exceptions that have the symbol built-in
end
end
if (unit2.symbol):find('⋅', 1, true) then
paren1, paren2 = '(', ')'
end
end
local key_id2 -- unit2 is always singular
if key_id == 'name2' then
key_id2 = 'name1'
elseif key_id == 'name2_us' then
key_id2 = 'name1_us'
else
key_id2 = key_id
end
local result
if abbr_on then
result = '/'
elseif omitsep then
result = per_word
elseif unit1 then
result = ' ' .. per_word .. ' '
else
result = per_word .. ' '
end
if want_link and unit_table.link then
if abbr_on or not varname then
result = (unit1 and linked_id(parms, unit1, key_id, false, clean) or '') .. result .. linked_id(parms, unit2, key_id2, false, '1')
else
result = (unit1 and variable_name(clean, unit1) or '') .. result .. variable_name('1', unit2)
end
if omit_separator(result) then
unit_table.sep = ''
end
return make_link(unit_table.link, result, unit_table)
end
if unit1 then
result = linked_id(parms, unit1, key_id, want_link, clean) .. result
if unit1.sep then
unit_table.sep = unit1.sep
end
elseif omitsep then
unit_table.sep = ''
end
return result .. paren1 .. linked_id(parms, unit2, key_id2, want_link, '1') .. paren2
end
if multiplier then
-- A multiplier (like "100" in "100km") forces the unit to be plural.
multiplier = from_en(multiplier)
if not omitsep then
multiplier = multiplier .. (abbr_on and ' ' or ' ')
end
if not abbr_on then
if key_id == 'name1' then
key_id = 'name2'
elseif key_id == 'name1_us' then
key_id = 'name2_us'
end
end
else
multiplier = ''
end
local id = unit_table.fixed_name or ((varname and not abbr_on) and variable_name(clean, unit_table) or unit_table[key_id])
if omit_separator(id) then
unit_table.sep = ''
end
if want_link then
local link = data_code.link_exceptions[unit_table.linkey or unit_table.symbol] or unit_table.link
if link then
local before = ''
local i = unit_table.customary
if i == 1 and parms.opt_sp_us then
i = 2 -- show "U.S." not "US"
end
if i == 3 and abbr_on then
i = 4 -- abbreviate "imperial" to "imp"
end
local customary = text_code.customary_units[i]
if customary then
-- LATER: This works for language en only, but it's esoteric so ignore for now.
local pertext
if id:sub(1, 1) == '/' then
-- Want unit "/USgal" to display as "/U.S. gal", not "U.S. /gal".
pertext = '/'
id = id:sub(2)
elseif id:sub(1, 4) == 'per ' then
-- Similarly want "per U.S. gallon", not "U.S. per gallon" (but in practice this is unlikely to be used).
pertext = 'per '
id = id:sub(5)
else
pertext = ''
end
-- Omit any "US"/"U.S."/"imp"/"imperial" from start of id since that will be inserted.
local removes = (i < 3) and { 'US ', 'US ', 'U.S. ', 'U.S. ' } or { 'imp ', 'imp ', 'imperial ' }
for _, prefix in ipairs(removes) do
local plen = #prefix
if id:sub(1, plen) == prefix then
id = id:sub(plen + 1)
break
end
end
before = pertext .. make_link(customary.link, customary[1]) .. ' '
end
id = before .. make_link(link, id, unit_table)
end
end
return multiplier .. id
end
local function make_id(parms, which, unit_table)
-- Return id, f where
-- id = unit name or symbol, possibly modified
-- f = true if id is a name, or false if id is a symbol
-- using the value for index 'which', and for 'in' or 'out' (unit_table.inout).
-- Result is '' if no symbol/name is to be used.
-- In addition, set unit_table.sep = ' ' or ' ' or ''
-- (the separator that caller will normally insert before the id).
if parms.opt_values then
unit_table.sep = ''
return ''
end
local inout = unit_table.inout
local info = unit_table.valinfo[which]
local abbr_org = parms.abbr_org
local adjectival = parms.opt_adjectival
local lk = parms.lk
local want_link = (lk == 'on' or lk == inout)
local usename = unit_table.usename
local singular = info.singular
local want_name
if usename then
want_name = true
else
if abbr_org == nil then
if parms.wantname then
want_name = true
end
if unit_table.usesymbol then
want_name = false
end
end
if want_name == nil then
local abbr = parms.abbr
if abbr == 'on' or abbr == inout or (abbr == 'mos' and inout == 'out') then
want_name = false
else
want_name = true
end
end
end
local key
if want_name then
if lk == nil and unit_table.builtin == 'hand' then
want_link = true
end
if parms.opt_use_nbsp then
unit_table.sep = ' '
else
unit_table.sep = ' '
end
if parms.opt_singular then
local value
if inout == 'in' then
value = info.value
else
value = info.absvalue
end
if value then -- some unusual units do not always set value field
value = abs(value)
singular = (0 < value and value < 1.0001)
end
end
if unit_table.engscale then
-- engscale: so "|1|e3kg" gives "1 thousand kilograms" (plural)
singular = false
end
key = (adjectival or singular) and 'name1' or 'name2'
if parms.opt_sp_us then
key = key .. '_us'
end
else
if unit_table.builtin == 'hand' then
if parms.opt_hand_hh then
unit_table.symbol = 'hh' -- LATER: might want i18n applied to this
end
end
unit_table.sep = ' '
key = parms.opt_sp_us and 'sym_us' or 'symbol'
end
return linked_id(parms, unit_table, key, want_link, info.clean), want_name
end
local function decorate_value(parms, unit_table, which, number_word)
-- If needed, update unit_table so values will be shown with extra information.
-- For consistency with the old template (but different from fmtpower),
-- the style to display powers of 10 includes "display:none" to allow some
-- browsers to copy, for example, "10³" as "10^3", rather than as "103".
local info
local engscale = unit_table.engscale
local prefix = unit_table.vprefix
if engscale or prefix then
info = unit_table.valinfo[which]
if info.decorated then
return -- do not redecorate if repeating convert
end
info.decorated = true
if engscale then
local inout = unit_table.inout
local abbr = parms.abbr
if (abbr == 'on' or abbr == inout) and not parms.number_word then
info.show = info.show ..
'<span style="margin-left:0.2em">×<span style="margin-left:0.1em">' ..
from_en('10') ..
'</span></span><s style="display:none">^</s><sup>' ..
from_en(tostring(engscale.exponent)) .. '</sup>'
elseif number_word then
local number_id
local lk = parms.lk
if lk == 'on' or lk == inout then
number_id = make_link(engscale.link, engscale[1])
else
number_id = engscale[1]
end
-- WP:NUMERAL recommends " " in values like "12 million".
info.show = info.show .. (parms.opt_adjectival and '-' or ' ') .. number_id
end
end
if prefix then
info.show = prefix .. info.show
end
end
end
local function process_input(parms, in_current)
-- Processing required once per conversion.
-- Return block of text to represent input (value/unit).
if parms.opt_output_only or parms.opt_output_number_only or parms.opt_output_unit_only then
parms.joins = { '', '' }
return ''
end
local first_unit
local composite = in_current.composite -- nil or table of units
if composite then
first_unit = composite[1]
else
first_unit = in_current
end
local id1, want_name = make_id(parms, 1, first_unit)
local sep = first_unit.sep -- separator between value and unit, set by make_id
local preunit = parms.preunit1
if preunit then
sep = '' -- any separator is included in preunit
else
preunit = ''
end
if parms.opt_input_unit_only then
parms.joins = { '', '' }
if composite then
local parts = { id1 }
for i, unit in ipairs(composite) do
if i > 1 then
table.insert(parts, (make_id(parms, 1, unit)))
end
end
id1 = table.concat(parts, ' ')
end
if want_name and parms.opt_adjectival then
return preunit .. hyphenated(id1)
end
return preunit .. id1
end
if parms.opt_also_symbol and not composite and not parms.opt_flip then
local join1 = parms.joins[1]
if join1 == ' (' or join1 == ' [' then
parms.joins = { ' [' .. first_unit[parms.opt_sp_us and 'sym_us' or 'symbol'] .. ']' .. join1 , parms.joins[2] }
end
end
if in_current.builtin == 'mach' and first_unit.sep ~= '' then -- '' means omitsep with non-enwiki name
local prefix = id1 .. ' '
local range = parms.range
local valinfo = first_unit.valinfo
local result = prefix .. valinfo[1].show
if range then
-- For simplicity and because more not needed, handle one range item only.
local prefix2 = make_id(parms, 2, first_unit) .. ' '
result = range_text(range[1], want_name, parms, result, prefix2 .. valinfo[2].show, 'in')
end
return preunit .. result
end
if composite then
-- Simplify: assume there is no range, and no decoration.
local mid = (not parms.opt_flip) and parms.mid or ''
local sep1 = ' '
local sep2 = ' '
if parms.opt_adjectival and want_name then
sep1 = '-'
sep2 = '-'
end
if omitsep and sep == '' then
-- Testing the id of the most significant unit should be sufficient.
sep1 = ''
sep2 = ''
end
local parts = { first_unit.valinfo[1].show .. sep1 .. id1 }
for i, unit in ipairs(composite) do
if i > 1 then
table.insert(parts, unit.valinfo[1].show .. sep1 .. (make_id(parms, 1, unit)))
end
end
return table.concat(parts, sep2) .. mid
end
local add_unit = (parms.abbr == 'mos') or
parms[parms.opt_flip and 'out_range_x' or 'in_range_x'] or
(not want_name and parms.abbr_range_x)
local range = parms.range
if range and not add_unit then
unlink(first_unit)
end
local id = range and make_id(parms, range.n + 1, first_unit) or id1
local extra, was_hyphenated = hyphenated_maybe(parms, want_name, sep, id, 'in')
if was_hyphenated then
add_unit = false
end
local result
local valinfo = first_unit.valinfo
if range then
for i = 0, range.n do
local number_word
if i == range.n then
add_unit = false
number_word = true
end
decorate_value(parms, first_unit, i+1, number_word)
local show = valinfo[i+1].show
if add_unit then
show = show .. first_unit.sep .. (i == 0 and id1 or make_id(parms, i+1, first_unit))
end
if i == 0 then
result = show
else
result = range_text(range[i], want_name, parms, result, show, 'in')
end
end
else
decorate_value(parms, first_unit, 1, true)
result = valinfo[1].show
end
return result .. preunit .. extra
end
local function process_one_output(parms, out_current)
-- Processing required for each output unit.
-- Return block of text to represent output (value/unit).
local inout = out_current.inout -- normally 'out' but can be 'in' for order=out
local id1, want_name = make_id(parms, 1, out_current)
local sep = out_current.sep -- set by make_id
local preunit = parms.preunit2
if preunit then
sep = '' -- any separator is included in preunit
else
preunit = ''
end
if parms.opt_output_unit_only then
if want_name and parms.opt_adjectival then
return preunit .. hyphenated(id1)
end
return preunit .. id1
end
if out_current.builtin == 'mach' and out_current.sep ~= '' then -- '' means omitsep with non-enwiki name
local prefix = id1 .. ' '
local range = parms.range
local valinfo = out_current.valinfo
local result = prefix .. valinfo[1].show
if range then
-- For simplicity and because more not needed, handle one range item only.
result = range_text(range[1], want_name, parms, result, prefix .. valinfo[2].show, inout)
end
return preunit .. result
end
local add_unit = (parms[parms.opt_flip and 'in_range_x' or 'out_range_x'] or
(not want_name and parms.abbr_range_x)) and
not parms.opt_output_number_only
local range = parms.range
if range and not add_unit then
unlink(out_current)
end
local id = range and make_id(parms, range.n + 1, out_current) or id1
local extra, was_hyphenated = hyphenated_maybe(parms, want_name, sep, id, inout)
if was_hyphenated then
add_unit = false
end
local result
local valinfo = out_current.valinfo
if range then
for i = 0, range.n do
local number_word
if i == range.n then
add_unit = false
number_word = true
end
decorate_value(parms, out_current, i+1, number_word)
local show = valinfo[i+1].show
if add_unit then
show = show .. out_current.sep .. (i == 0 and id1 or make_id(parms, i+1, out_current))
end
if i == 0 then
result = show
else
result = range_text(range[i], want_name, parms, result, show, inout)
end
end
else
decorate_value(parms, out_current, 1, true)
result = valinfo[1].show
end
if parms.opt_output_number_only then
return result
end
return result .. preunit .. extra
end
local function make_output_single(parms, in_unit_table, out_unit_table)
-- Return true, item where item = wikitext of the conversion result
-- for a single output (which is not a combination or a multiple);
-- or return false, t where t is an error message table.
if parms.opt_order_out and in_unit_table.unitcode == out_unit_table.unitcode then
out_unit_table.valinfo = in_unit_table.valinfo
else
out_unit_table.valinfo = collection()
for _, v in ipairs(in_unit_table.valinfo) do
local success, info = cvtround(parms, v, in_unit_table, out_unit_table)
if not success then return false, info end
out_unit_table.valinfo:add(info)
end
end
return true, process_one_output(parms, out_unit_table)
end
local function make_output_multiple(parms, in_unit_table, out_unit_table)
-- Return true, item where item = wikitext of the conversion result
-- for an output which is a multiple (like 'ftin');
-- or return false, t where t is an error message table.
local inout = out_unit_table.inout -- normally 'out' but can be 'in' for order=out
local multiple = out_unit_table.multiple -- table of scaling factors (will not be nil)
local combos = out_unit_table.combination -- table of unit tables (will not be nil)
local abbr = parms.abbr
local abbr_org = parms.abbr_org
local disp = parms.disp
local want_name = (abbr_org == nil and (disp == 'or' or disp == 'slash')) or
not (abbr == 'on' or abbr == inout or abbr == 'mos')
local want_link = (parms.lk == 'on' or parms.lk == inout)
local mid = parms.opt_flip and parms.mid or ''
local sep1 = ' '
local sep2 = ' '
if parms.opt_adjectival and want_name then
sep1 = '-'
sep2 = '-'
end
local do_spell = parms.opt_spell_out
parms.opt_spell_out = nil -- so the call to cvtround does not spell the value
local function make_result(info, isfirst)
local fmt, outvalue, sign
local results = {}
for i = 1, #combos do
local tfrac, thisvalue, strforce
local out_current = combos[i]
out_current.inout = inout
local scale = multiple[i]
if i == 1 then -- least significant unit ('in' from 'ftin')
local decimals
out_current.frac = out_unit_table.frac
local success, outinfo = cvtround(parms, info, in_unit_table, out_current)
if not success then return false, outinfo end
if isfirst then
out_unit_table.valinfo = { outinfo } -- in case output value of first least significant unit is needed
end
sign = outinfo.sign
tfrac = outinfo.fraction_table
if outinfo.is_scientific then
strforce = outinfo.show
decimals = ''
elseif tfrac then
decimals = ''
else
local show = outinfo.show -- number as a string in local language
local p1, p2 = show:find(numdot, 1, true)
decimals = p1 and show:sub(p2 + 1) or '' -- text after numdot, if any
end
fmt = '%.' .. ulen(decimals) .. 'f' -- to reproduce precision
if decimals == '' then
if tfrac then
outvalue = floor(outinfo.raw_absvalue) -- integer part only; fraction added later
else
outvalue = floor(outinfo.raw_absvalue + 0.5) -- keep all integer digits of least significant unit
end
else
outvalue = outinfo.absvalue
end
end
if scale then
outvalue, thisvalue = divide(outvalue, scale)
else
thisvalue = outvalue
end
local id
if want_name then
if varname then
local clean
if strforce or tfrac then
clean = '.1' -- dummy value to force name for floating point
else
clean = format(fmt, thisvalue)
end
id = variable_name(clean, out_current)
else
local key = 'name2'
if parms.opt_adjectival then
key = 'name1'
elseif tfrac then
if thisvalue == 0 then
key = 'name1'
end
elseif parms.opt_singular then
if 0 < thisvalue and thisvalue < 1.0001 then
key = 'name1'
end
else
if thisvalue == 1 then
key = 'name1'
end
end
id = out_current[key]
end
else
id = out_current['symbol']
end
if i == 1 and omit_separator(id) then
-- Testing the id of the least significant unit should be sufficient.
sep1 = ''
sep2 = ''
end
if want_link then
local link = out_current.link
if link then
id = make_link(link, id, out_current)
end
end
local strval
local spell_inout = (i == #combos or outvalue == 0) and inout or '' -- trick so the last value processed (first displayed) has uppercase, if requested
if strforce and outvalue == 0 then
sign = '' -- any sign is in strforce
strval = strforce -- show small values in scientific notation; will only use least significant unit
elseif tfrac then
local wholestr = (thisvalue > 0) and tostring(thisvalue) or nil
strval = format_fraction(parms, spell_inout, false, wholestr, tfrac.numstr, tfrac.denstr, do_spell)
else
strval = (thisvalue == 0) and from_en('0') or with_separator(parms, format(fmt, thisvalue))
if do_spell then
strval = spell_number(parms, spell_inout, strval) or strval
end
end
table.insert(results, strval .. sep1 .. id)
if outvalue == 0 then
break
end
fmt = '%.0f' -- only least significant unit can have a non-integral value
end
local reversed, count = {}, #results
for i = 1, count do
reversed[i] = results[count + 1 - i]
end
return true, sign .. table.concat(reversed, sep2)
end
local valinfo = in_unit_table.valinfo
local success, result = make_result(valinfo[1], true)
if not success then return false, result end
local range = parms.range
if range then
for i = 1, range.n do
local success, result2 = make_result(valinfo[i+1])
if not success then return false, result2 end
result = range_text(range[i], want_name, parms, result, result2, inout)
end
end
return true, result .. mid
end
local function process(parms, in_unit_table, out_unit_table)
-- Return true, s, outunit where s = final wikitext result,
-- or return false, t where t is an error message table.
linked_pages = {}
local success, bad_output
local bad_input_mcode = in_unit_table.bad_mcode -- nil if input unit is a valid convert unit
local out_unit = parms.out_unit
if out_unit == nil or out_unit == '' or type(out_unit) == 'function' then
if bad_input_mcode or parms.opt_input_unit_only then
bad_output = ''
else
local getdef = type(out_unit) == 'function' and out_unit or get_default
success, out_unit = getdef(in_unit_table.valinfo[1].value, in_unit_table)
parms.out_unit = out_unit
if not success then
bad_output = out_unit
end
end
end
if not bad_output and not out_unit_table then
success, out_unit_table = lookup(parms, out_unit, 'any_combination')
if success then
local mismatch = check_mismatch(in_unit_table, out_unit_table)
if mismatch then
bad_output = mismatch
end
else
bad_output = out_unit_table
end
end
local lhs, rhs
local flipped = parms.opt_flip and not bad_input_mcode
if bad_output then
rhs = (bad_output == '') and '' or message(parms, bad_output)
elseif parms.opt_input_unit_only then
rhs = ''
else
local combos -- nil (for 'ft' or 'ftin'), or table of unit tables (for 'm ft')
if not out_unit_table.multiple then -- nil/false ('ft' or 'm ft'), or table of factors ('ftin')
combos = out_unit_table.combination
end
local frac = parms.frac -- nil or denominator of fraction for output values
if frac then
-- Apply fraction to the unit (if only one), or to non-SI units (if a combination),
-- except that if a precision is also specified, the fraction only applies to
-- the hand unit; that allows the following result:
-- {{convert|156|cm|in hand|1|frac=2}} → 156 centimetres (61.4 in; 15.1½ hands)
-- However, the following is handled elsewhere as a special case:
-- {{convert|156|cm|hand in|1|frac=2}} → 156 centimetres (15.1½ hands; 61½ in)
if combos then
local precision = parms.precision
for _, unit in ipairs(combos) do
if unit.builtin == 'hand' or (not precision and not unit.prefixes) then
unit.frac = frac
end
end
else
out_unit_table.frac = frac
end
end
local outputs = {}
local imax = combos and #combos or 1 -- 1 (single unit) or number of unit tables
if imax == 1 then
parms.opt_order_out = nil -- only useful with an output combination
end
if not flipped and not parms.opt_order_out then
-- Process left side first so any duplicate links (from lk=on) are suppressed
-- on right. Example: {{convert|28|e9pc|e9ly|abbr=off|lk=on}}
lhs = process_input(parms, in_unit_table)
end
for i = 1, imax do
local success, item
local out_current = combos and combos[i] or out_unit_table
out_current.inout = 'out'
if i == 1 then
if imax > 1 and out_current.builtin == 'hand' then
out_current.out_next = combos[2] -- built-in hand can influence next unit in a combination
end
if parms.opt_order_out then
out_current.inout = 'in'
end
end
if out_current.multiple then
success, item = make_output_multiple(parms, in_unit_table, out_current)
else
success, item = make_output_single(parms, in_unit_table, out_current)
end
if not success then return false, item end
outputs[i] = item
end
if parms.opt_order_out then
lhs = outputs[1]
table.remove(outputs, 1)
end
local sep = parms.table_joins and parms.table_joins[2] or parms.join_between
rhs = table.concat(outputs, sep)
end
if flipped or not lhs then
local input = process_input(parms, in_unit_table)
if flipped then
lhs = rhs
rhs = input
else
lhs = input
end
end
if parms.join_before then
lhs = parms.join_before .. lhs
end
local wikitext
if bad_input_mcode then
if bad_input_mcode == '' then
wikitext = lhs
else
wikitext = lhs .. message(parms, bad_input_mcode)
end
elseif parms.table_joins then
wikitext = parms.table_joins[1] .. lhs .. parms.table_joins[2] .. rhs
else
wikitext = lhs .. parms.joins[1] .. rhs .. parms.joins[2]
end
if parms.warnings and not bad_input_mcode then
wikitext = wikitext .. parms.warnings
end
return true, get_styles(parms) .. wikitext, out_unit_table
end
local function main_convert(frame)
-- Do convert, and if needed, do it again with higher default precision.
local parms = { frame = frame } -- will hold template arguments, after translation
set_config(frame.args)
local success, result = get_parms(parms, frame:getParent().args)
if success then
if type(result) ~= 'table' then
return tostring(result)
end
local in_unit_table = result
local out_unit_table
for _ = 1, 2 do -- use counter so cannot get stuck repeating convert
success, result, out_unit_table = process(parms, in_unit_table, out_unit_table)
if success and parms.do_convert_again then
parms.do_convert_again = false
else
break
end
end
end
-- If input=x gives a problem, the result should be just the user input
-- (if x is a property like P123 it has been replaced with '').
-- An unknown input unit would display the input and an error message
-- with success == true at this point.
-- Also, can have success == false with a message that outputs an empty string.
if parms.input_text then
if success and not parms.have_problem then
return result
end
local cat
if parms.tracking then
-- Add a tracking category using the given text as the category sort key.
-- There is currently only one type of tracking, but in principle multiple
-- items could be tracked, using different sort keys for convenience.
cat = wanted_category('tracking', parms.tracking)
end
return parms.input_text .. (cat or '')
end
return success and result or message(parms, result)
end
local function _unit(unitcode, options)
-- Helper function for Module:Val to look up a unit.
-- Parameter unitcode must be a string to identify the wanted unit.
-- Parameter options must be nil or a table with optional fields:
-- value = number (for sort key; default value is 1)
-- scaled_top = nil for a normal unit, or a number for a unit which is
-- the denominator of a per unit (for sort key)
-- si = { 'symbol', 'link' }
-- (a table with two strings) to make an SI unit
-- that will be used for the look up
-- link = true if result should be [[linked]]
-- sort = 'on' or 'debug' if result should include a sort key in a
-- span element ('debug' makes the key visible)
-- name = true for the name of the unit instead of the symbol
-- us = true for the US spelling of the unit, if any
-- Return nil if unitcode is not a non-empty string.
-- Otherwise return a table with fields:
-- text = requested symbol or name of unit, optionally linked
-- scaled_value = input value adjusted by unit scale; used for sort key
-- sortspan = span element with sort key like that provided by {{ntsh}},
-- calculated from the result of converting value
-- to a base unit with scale 1.
-- unknown = true if the unitcode was not known
unitcode = strip(unitcode)
if unitcode == nil or unitcode == '' then
return nil
end
set_config({})
linked_pages = {}
options = options or {}
local parms = {
abbr = options.name and 'off' or 'on',
lk = options.link and 'on' or nil,
opt_sp_us = options.us and true or nil,
opt_ignore_error = true, -- do not add pages using this function to 'what links here' for Module:Convert/extra
opt_sortable_on = options.sort == 'on' or options.sort == 'debug',
opt_sortable_debug = options.sort == 'debug',
}
if options.si then
-- Make a dummy table of units (just one unit) for lookup to use.
-- This makes lookup recognize any SI prefix in the unitcode.
local symbol = options.si[1] or '?'
parms.unittable = { [symbol] = {
_name1 = symbol,
_name2 = symbol,
_symbol = symbol,
utype = symbol,
scale = symbol == 'g' and 0.001 or 1,
prefixes = 1,
default = symbol,
link = options.si[2],
}}
end
local success, unit_table = lookup(parms, unitcode, 'no_combination')
if not success then
unit_table = setmetatable({
symbol = unitcode, name2 = unitcode, utype = unitcode,
scale = 1, default = '', defkey = '', linkey = '' }, unit_mt)
end
local value = tonumber(options.value) or 1
local clean = tostring(abs(value))
local info = {
value = value,
altvalue = value,
singular = (clean == '1'),
clean = clean,
show = clean,
}
unit_table.inout = 'in'
unit_table.valinfo = { info }
local sortspan, scaled_value
if options.sort then
sortspan, scaled_value = make_table_or_sort(parms, value, info, unit_table, options.scaled_top)
end
return {
text = make_id(parms, 1, unit_table),
sortspan = sortspan,
scaled_value = scaled_value,
unknown = not success and true or nil,
}
end
return { convert = main_convert, _unit = _unit }
np44e67mufafly7e8ntph1rmj2m817v
وِکیٖپیٖڈیا:اؠسَمبَلی (باقٕے)
4
7479
150933
150387
2026-08-31T20:52:36Z
MediaWiki message delivery
3853
/* Tech News: 2026-36 */ نٔو حِصہٕ
150933
wikitext
text/x-wiki
<noinclude>{{short description|Central discussion page of Wikipedia for general topics not covered by the specific topic pages}}{{pp-move-indef|small=yes}}{{Village pump page header|Miscellaneous|alpha=yes|یَتھ صَفَس مَنٛز چھِ باقی بَحَث کَرنہٕ یِوان. بیٚیہِ چھِ یَتھ مَنٛز کیٚنٛہہ خَبرٕ تہٕ آسَن.
* پرٛٲنؠ بَحَث چھِ کیٚنٛہہ وَقٕت پَتہٕ مَحفوٗظ خانَس مَنٛز مَحفوٗظ کَرنہٕ یِوان.
|وپ:ابق}}
<!--
-->__NEWSECTIONLINK__
{{Auto-archive|archive_after_last_comment=45d|archive_to_subpage=مَحفوٗظ خانہٕ %1}}
== <span lang="en" dir="ltr">Tech News: 2025-25</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W25"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/25|Translations]] are available.
'''Updates for editors'''
* You can [https://wikimediafoundation.limesurvey.net/359761?lang=en nominate your favorite tools] for the sixth edition of the [[m:Special:MyLanguage/Coolest Tool Award|Coolest Tool Award]]. Nominations are anonymous and will be open until June 25. You can re-use the survey to nominate multiple tools.
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:33}} community-submitted {{PLURAL:33|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.6|MediaWiki]]
'''In depth'''
* Foundation staff and technical volunteers use Wikimedia APIs to build the tools, applications, features, and integrations that enhance user experiences. Over the coming years, the MediaWiki Interfaces team will be investing in Wikimedia web (HTTP) APIs to better serve technical volunteer needs and protect Wikimedia infrastructure from potential abuse. You can [https://techblog.wikimedia.org/2025/06/12/apis-as-a-product-investing-in-the-current-and-next-generation-of-technical-contributors/ read more about their plans to evolve the APIs in this Techblog post].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/25|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W25"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:37, 16 June 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28870688 -->
== <span lang="en" dir="ltr">Tech News: 2025-26</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W26"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/26|Translations]] are available.
'''Weekly highlight'''
* This week, the Moderator Tools and Machine Learning teams will continue the rollout of [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|a new filter to Recent Changes]], releasing it to the third and last batch of Wikipedias. This filter utilizes the Revert Risk model, which was created by the Research team, to highlight edits that are likely to be reverted and help Recent Changes patrollers identify potentially problematic contributions. The feature will be rolled out to the following Wikipedias: {{int:project-localized-name-azwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-swwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tlwiki/en}}. The rollout will continue in the coming weeks to include [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|the rest of the Wikipedias in this project]]. [https://phabricator.wikimedia.org/T391964]
'''Updates for editors'''
* Last week, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] were rolled out on Czech, Korean, and Turkish Wikipedias. This and next week, deployments on larger Wikipedias will follow. [[mw:Talk:Trust and Safety Product/Temporary Accounts|Share your thoughts]] about the project. [https://phabricator.wikimedia.org/T340001]
* Later this week, the Editing team will release [[mw:Special:MyLanguage/Help:Edit check#Multi check|Multi Check]] to all Wikipedias (except English Wikipedia). This feature shows multiple [[mw:Special:MyLanguage/Help:Edit check#Reference check|Reference checks]] within the editing experience. This encourages users to add citations when they add multiple new paragraphs to a Wikipedia article. This feature was previously available as an A/B test. [https://analytics.wikimedia.org/published/reports/editing/multi_check_ab_test_report_final.html#summary-of-results The test shows] that users who are shown multiple checks are 1.3 times more likely to add a reference to their edit, and their edit is less likely to be reverted (-34.7%). [https://phabricator.wikimedia.org/T395519]
* A few pages need to be renamed due to software updates and to match more recent Unicode standards. All of these changes are related to title-casing changes. Approximately 71 pages and 3 files will be renamed, across 15 wikis; the complete list is in [[phab:T396903|the task]]. The developers will rename these pages next week, and they will fix redirects and embedded file links a few minutes later via a system settings update.
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that had caused pages to scroll upwards when text near the top was selected. [https://phabricator.wikimedia.org/T364023]
'''Updates for technical contributors'''
* Editors can now use Lua modules to filter and transform tabular data for use with [[mw:Special:MyLanguage/Extension:Chart|Extension:Chart]]. This can be used for things like selecting a subset of rows or columns from the source data, converting between units, statistical processing, and many other useful transformations. [[mw:Special:MyLanguage/Extension:Chart/Transforms|Information on how to use transforms is available]]. [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Chart/Project/Updates]
* The <code dir=ltr>all_links</code> variable in [[Special:AbuseFilter|AbuseFilter]] is now renamed to <code dir=ltr>new_links</code> for consistency with other variables. Old usages will still continue to work. [https://phabricator.wikimedia.org/T391811]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.7|MediaWiki]]
'''In depth'''
* The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/34|Growth newsletter]] is available. It includes: the recent updates for the "Add a Link" Task, two new Newcomer Engagement Features, and updates to Community Configuration.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/26|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W26"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:19, 23 جوٗن 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28870688 -->
== <span lang="en" dir="ltr">Tech News: 2025-27</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W27"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/27|Translations]] are available.
'''Weekly highlight'''
* The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] has been enabled on all Wikipedias. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. The extension has three features: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Campaigns/Foundation Product Team/Invitation list|Invitation List]]. To request the extension for your wiki, visit the [[m:Special:MyLanguage/CampaignEvents/Deployment status#How to Request the CampaignEvents Extension for your wiki|Deployment information page]].
'''Updates for editors'''
* AbuseFilter maintainers can now [[mw:Special:MyLanguage/Extension:IPReputation/AbuseFilter variables|match against IP reputation data]] in [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilters]]. IP reputation data is information about the proxies and VPNs associated with the user's IP address. This data is not shown publicly and is not generated for actions performed by registered accounts. [https://phabricator.wikimedia.org/T354599]
* Hidden content that is within [[mw:Special:MyLanguage/Manual:Collapsible elements|collapsible parts of wikipages]] will now be revealed when someone searches the page using the web browser's "Find in page" function (Ctrl+F or ⌘F) in supporting browsers. [https://phabricator.wikimedia.org/T327893][https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/hidden#browser_compatibility]
* [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new feature, called [[mw:Special:MyLanguage/Help:TemplateData/Template discovery|Favourite Templates]], will be deployed later this week on all projects (except English Wikipedia, which will receive the feature next week), following a piloting phase on Polish and Arabic Wikipedia, and Italian and English Wikisource. The feature will provide a better way for new and experienced contributors to recall and discover templates via the template dialog, by allowing users to put templates on a special "favourite list". The feature works with both the visual editor and the wikitext editor. The feature is a [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|community wishlist focus area]].
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that had caused some Notifications to be sent multiple times. [https://phabricator.wikimedia.org/T397103]
'''Updates for technical contributors'''
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.8|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/27|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W27"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:39, 30 جوٗن 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28917415 -->
== <span lang="en" dir="ltr">Tech News: 2025-28</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W28"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/28|Translations]] are available.
'''Weekly highlight'''
* [[mw:Special:MyLanguage/Help:Temporary accounts|Temporary accounts]] have been rolled out on 18 large and medium-sized Wikipedias, including German, Japanese, French, and Chinese. Now, about 1/3 of all logged-out activity across wikis is coming from temporary accounts. Users involved in patrolling may be interested in two new documentation pages: [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Access to IP|Access to IP]], explaining everything related to access to temporary account IP addresses, and [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Repository|Repository]] with a list of new gadgets and user scripts.
'''Updates for editors'''
* Anyone can play an experimental new game, [[mw:Special:MyLanguage/New Engagement Experiments/WikiRun|WikiRun]], that lets you race through Wikipedia by clicking from one article to another, aiming to reach a target page in as few steps and in as little time as possible. The project's goal is to explore new ways of engaging readers. [https://wikirun-game.toolforge.org/ Try playing the game] and let the team know what you think [[mw:Talk:New Engagement Experiments/WikiRun|on the talk page]].
* Users of the Wikipedia Android app in some languages can now play the new [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/TrivaGame|trivia game]]. ''Which came first?'' is a simple history game where you guess which of two events happened earlier on today's date. It was previously available as an A/B test. It is now available to all users in English, German, French, Spanish, Portuguese, Russian, Arabic, Turkish, and Chinese. The goal of the feature is to help engage with new generations of readers. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/News/2025/22]
* Users of the iOS Wikipedia App in some languages may see a new tabbed browsing feature that enables you to open multiple tabs while reading. This feature makes it easier to explore related topics and switch between articles. The A/B test is currently running in Arabic, English, and Japanese in selected regions. More details are available on the [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Tabbed Browsing (Tabs)|Tabbed Browsing project page]].
* Bureaucrats on Wikimedia wikis can now use [[{{#special:VerifyOATHForUser}}]] to check if users have enabled [[mw:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]]. [https://phabricator.wikimedia.org/T265726]
* [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new feature related to [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template Recall and Discovery]] will be deployed later this week to all Wikimedia projects: a [[mw:Special:MyLanguage/Help:TemplateData/Template discovery#Template categories|template category browser]] will be introduced to assist users in finding templates to put in their “favourite” list. The browser will allow users to browse a list of templates which have been organised into a given category tree. The feature has been requested by the community [[m:Special:MyLanguage/Community Wishlist/Wishes/Select templates by categories|through the Community Wishlist]].
* It is now possible to access watchlist preferences from the watchlist page. Also the redundant button to edit the watchlist has been removed. [https://www.mediawiki.org/wiki/Moderator_Tools/Watchlist]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* As part of [[mw:MediaWiki_1.44|MediaWiki 1.44]] there is now a unified built-in Notifications system that makes it easier for developers to send, manage, and customize notifications. Check out the updated documentation at [[mw:Manual:Notifications|Manual:Notifications]], information about migration in [[phab:T388663|T388663]] and details on deprecated hooks in [[phab:T389624|T389624]].
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.9|MediaWiki]]
'''Meetings and events'''
* [[d:Special:MyLanguage/Event:WikidataCon 2025|WikidataCon 2025]], the conference dedicated to Wikidata is now open for [https://pretalx.com/wikidatacon-2025/cfp session proposals] and for [[d:Special:RegisterForEvent/1340|registration]]. This year's event will be held online from October 31 – November 02 and will explore on the theme of "Connecting People through Linked Open Data".
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/28|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W28"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:04, 8 جُلَے 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28930584 -->
== <span lang="en" dir="ltr">Tech News: 2025-29</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W29"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/29|Translations]] are available.
'''Updates for editors'''
* [[mw:Special:MyLanguage/Help:TemplateData/Template discovery#Featured templates|Featured templates]], a new feature related to [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template Recall and Discovery]] will be deployed this week to all Wikimedia projects: With this feature, editors will be able to quickly access a list of templates that are likely to be useful. These templates will be displayed in a list, under the "featured" tab of the template discovery interface. Administrators can define the list via the Community Configuration interface. The feature fulfills a request by the community [[m:Special:MyLanguage/Community Wishlist/Wishes/Easy access Templates|through the Community Wishlist]]. [https://phabricator.wikimedia.org/T367428][https://phabricator.wikimedia.org/T392896]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the request to add Malayalam fonts in the [[oldWikisource:Special:MyLanguage/Wikisource:WS Export|Wikisource Book Export Tool]] was resolved and now, the rendering of Malayalam letters in exported Wikisource books are accurate. [https://phabricator.wikimedia.org/T374457]
'''Updates for technical contributors'''
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.10|MediaWiki]]
'''In depth'''
* Developers, designers, and all Wikimedians are invited to [https://phabricator.wikimedia.org/project/board/7953/ submit a project idea] for the Wikimania Hackathon 2025. Read [https://diff.wikimedia.org/2025/06/30/call-for-projects-wikimania-hackathon-2025-is-coming-to-nairobi/ this Diff blog post] for more details.
'''Meetings and events'''
* [[m:WikiIndaba conference 2025|WikiIndaba 2025]] scholarship application and program submission is open until 23:59 GMT on July 20. WikiIndaba is a regional conference for African Wikimedians both on the continent and in the diaspora to unite and grow together. Submit [https://docs.google.com/forms/d/e/1FAIpQLSdJTv68R1OPASXXDfpIl8EWiMLTM-TDwh6_5gNVvFuWccFZ2Q/viewform your scholarship application] and [https://ee.kobotoolbox.org/x/BI3omIfH program proposal] now!
* [https://br.wikimedia.org/wiki/WikiCon_Brasil_2025 WikiCon Brasil 2025] will take place on July 19-20 in Salvador, Bahia, Brazil. The Brazilian community members are encouraged to register and attend!
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/29|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W29"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:07, 14 جُلَے 2025 (UTC)
<!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28980963 -->
== <span lang="en" dir="ltr">Tech News: 2025-30</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W30"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/30|Translations]] are available.
'''Updates for editors'''
* The Translation Suggestions feature in the [[mw:Special:MyLanguage/Content translation|Content Translation tool]] now has another level of article filters added to the "[https://en.wikipedia.org/w/index.php?title=Special:ContentTranslation&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en&to=fi#/ ... More]" category. Translators who use the Suggestions feature can now select and receive article suggestions that are customized to geographical locations of their interest using the new "{{int:Cx-sx-suggestions-filters-tab-regions}}" filter. [https://phabricator.wikimedia.org/T113257]
* Administrators can now limit "Add a Link" to newcomers. The [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|"Add a Link"]] Structured Task [[mw:Special:MyLanguage/Growth/Constructive activation experimentation#Enwiki A/B test & "Add a Link" Improvements (Wiki Experiences 1.2.11 & 1.2.16)|helps new account holders start editing]], but some communities have requested the ability to restrict it to its intended audience: newcomers. Administrators can configure this setting within the [[Special:CommunityConfiguration/GrowthSuggestedEdits|Community Configuration]] feature.
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:29}} community-submitted {{PLURAL:29|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* For AbuseFilter editors on [[phab:T392144|some wikis]], it is now possible to filter edits based on the RevertRisk score of the edit being attempted. It is only populated if the action being evaluated is an edit. For more information, please see the [[mw:Special:MyLanguage/Extension:ORES/AbuseFilter variables#What variables are available for use|ORES/AbuseFilter variables]] documentation.
* The [[mw:Special:MyLanguage/Beta Cluster|Beta Cluster]] wikis have [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/YDABPV75LADRQCXMJAFWUP256N4EQ25B/|been moved]] from <code dir=ltr>beta.wmflabs.org</code> to <code dir=ltr>beta.wmcloud.org</code>. Users may need to update URLs in any tools, or in their password managers. Any related issues can be [[phab:T289318|reported in the task]].
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.11|MediaWiki]]
'''Meetings and events'''
* [[m:Special:MyLanguage/WikiCite 2025|WikiCite 2025]] will take place from 29–31 August, both online and in-person in Bern, Switzerland. The event's goals are to reconnect communities, institutions, and individuals working with open citations, bibliographic data, and the Wikidata/Wikibase ecosystem. Registration is open and the call for proposals will be announced soon. [https://lists.wikimedia.org/hyperkitty/list/wikidata@lists.wikimedia.org/message/KQZUG3ETKLBWPBYSB2YAWZIRPWHS24TG/]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/30|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W30"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:40, 21 جُلَے 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29005283 -->
== <span lang="en" dir="ltr">Tech News: 2025-31</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W31"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/31|Translations]] are available.
'''Weekly highlight'''
* The Community Tech team will be focusing on wishes related to Watchlists and Recent Changes pages, over the next few months. They are looking for feedback. Please [[m:Special:MyLanguage/Community Wishlist/Updates#July 24, 2025: Watchlists and Recent Changes pages|read the latest update]], and if you have ideas, please [[m:Special:MyLanguage/Community Wishlist|submit a wish]] on the topic.
'''Updates for editors'''
* The Wikimedia Commons community has decided to block [[:mw:Special:MyLanguage/Upload dialog|cross-wiki uploads]] to Wikimedia Commons, for all users without autoconfirmed rights on that wiki, starting on August 16. This is because of [[:c:Commons:Cross-wiki media upload tool/History|widespread problems]] related to files that are uploaded by newcomers. Users who are affected by this will get an error message with a link to the less restrictive UploadWizard on Commons. Please help translating the [[:c:Special:MyLanguage/MediaWiki:Abusefilter-disallowed-cross-wiki-upload|message]] or give feedback on the message text. Please also update your local help pages to explain this restriction. [https://phabricator.wikimedia.org/T370598]
* On wikis with temporary accounts enabled and Meta-Wiki, administrators may now set up a footer for the Special:Contributions pages of temporary accounts, similar to those which can be shown on IP and user-account pages. They may do it by creating the page named <code dir=ltr>MediaWiki:Sp-contributions-footer-temp</code>. [https://phabricator.wikimedia.org/T398347]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.12|MediaWiki]]
'''Meetings and events'''
* [[wmania:Special:MyLanguage/2025:Wikimania|Wikimania 2025]] will run from August 6–9. The [https://wikimedia.eventyay.com/talk/wikimania2025/schedule/ program is available] for you to plan which sessions you want to attend. Most sessions will be live-streamed, with exceptions for those that show the "no camera" icon. If you are joining online to watch live-streams and use the interactive features, please [[wmania:Special:MyLanguage/2025:Registration|register]] for a free virtual ticket. For example, you may be interested in technical sessions such as:
** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/KFEFVG/ Temporary Accounts: Enhancing privacy for our unregistered editors]
** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/TVCVAB/ Building a Sustainable Future for Wikimedia Contributors]
** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/WTRQCJ/ A dozen visions for wikitext!]
** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/8YKKP9/ Coordinate Across Stakeholders with the Product and Technology Advisory Council]
* The [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Fall 2025|MediaWiki Users and Developers Conference, Fall 2025]] will be held 28–30 October 2025 in Hanover, Germany. This event is organized by and for the third-party MediaWiki community. You can propose sessions and register to attend.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/31|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W31"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:25, 29 جُلَے 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29051727 -->
== <span lang="en" dir="ltr">Tech News: 2025-32</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W32"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/32|Translations]] are available.
'''Updates for editors'''
* Editors can now enable the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/User Info|User Info card]]. This feature adds an icon next to usernames on history pages and similar user-contribution log pages. When you tap or click on the icon, it displays data related to that user account such as the number of edits, reverted edits, blocks, and more. It's part of a broader project to make it easier for moderators to evaluate account trustworthiness. The feature can be enabled in [[testwiki:Special:GlobalPreferences#mw-prefsection-rendering|your global preferences]], and later this week it will be available in local preferences. [https://phabricator.wikimedia.org/T386439]
* Everybody is invited to share comments on [[m:Special:MyLanguage/CampaignEvents/Collaborative contributions|Collaborative Contributions]], a project recently launched by the [[m:Special:MyLanguage/Connection Team|Connection team]]. The project aims to create a new way to display the impact of collaborative editing activities (such as edit-a-thons, backlog drives, and WikiProjects) on the wikis. Post your comments on the [[m:Talk:CampaignEvents/Collaborative contributions|project talk page]]. [https://phabricator.wikimedia.org/T378035]
* Administrators can now define the default block duration for temporary accounts. To do that, they need to create a page named <code dir=ltr>MediaWiki:Ipb-default-expiry-temporary-account</code> and use a value defined in <code dir=ltr>MediaWiki:Ipboptions</code>. This allows administrators to easily block temporary accounts for 90 days, which is functionally equivalent to an indefinite block. The advantage of this solution is that it does not clutter Special:BlockList. [[mw:Special:MyLanguage/Manual:Block and unblock#Default block duration options|More documentation]] is available. [https://phabricator.wikimedia.org/T398626]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* Gadgets can now include <code dir=ltr>.vue</code> files. This makes it easier to develop modern user interfaces using [[mw:Vue.js|Vue.js]], in particular using [[mw:Special:MyLanguage/Codex|Codex]], the official design system of Wikimedia. [[wmdoc:codex/latest/icons/overview.html|Codex icons]] can be loaded through the gadget definition. [[mw:Special:MyLanguage/Extension:Gadgets#Pages|The documentation]] has examples. For user scripts that use Vue.js, an [[mw:API:CodexIcons|API module]] now exists to load Codex icons. [https://phabricator.wikimedia.org/T340460][https://phabricator.wikimedia.org/T311099]
* Module developers can now use a [[mw:Help:Extension:Translate/Message Bundles/Lua reference|Lua interface]] to simplify the preparation of Lua modules for translation on Meta-Wiki. This improvement makes it easier for translators to find and edit module strings without dealing with raw Lua code. It helps prevent mistakes that could break the module during translation. Module developers and translators are invited to [[commons:File:Translatable modules video demo July 2025.webm|watch the demo video]], read more about [[mw:Special:MyLanguage/Translatable modules|translatable modules]] to understand how it works, refer to Meta-Wiki's [[m:Module:User Wikimedia project|Module:User Wikimedia project]] for example usage, and [[mw:Talk:Translatable modules|share their feedback]] on how well it addresses the challenges in their workflow. The interface still has some performance issues, so it should not be used in widely used modules yet. [https://phabricator.wikimedia.org/T359918]
* Developers of external tools that connect to Wikimedia pages must set a user-agent that complies with [[foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|the user-agent policy]]. This policy will start to be more strongly enforced in August because of external crawlers that are [[diffblog:2025/04/01/how-crawlers-impact-the-operations-of-the-wikimedia-projects/|overusing]] Wikimedia's resources. Tools that are hosted on Wikimedia's Toolforge or Cloud VPS will not be affected by this for now, but should still set a user-agent. [[phab:T400119|More technical details are available]], and related questions are welcome in that task.
* Parsoid Read Views is going to be rolling out to some smaller Wikipedias over the next few weeks, following the successful transition of Wikivoyages and Wiktionaries to Parsoid Read Views. For more information, see the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parsoid/Parser Unification]] project page. [https://phabricator.wikimedia.org/project/profile/7694/]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.13|MediaWiki]]
'''Meetings and events'''
* [[wmania:Special:MyLanguage/2025:Wikimania|Wikimania 2025]] will run from August 6–9. The [https://wikimedia.eventyay.com/talk/wikimania2025/schedule/ program is available] for you to plan which sessions you want to attend. Most sessions will be live-streamed, with exceptions for those that show the "no camera" icon. If you are joining online to watch live-streams and use the interactive features, please [[wmania:Special:MyLanguage/2025:Registration|register]] for a free virtual ticket. For example, you may be interested in technical sessions such as:
** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/GEH9DH/ Wikimedia’s knowledge infrastructure in a changing internet: Establishing sustainable pathways for content reuse]
** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/7ELN9Q/ Wikifunctions is coming soon to a wiki near you!]
** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/ZMGVJV/ Shaping the Future of Wikipedia’s Reader Experience]
** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/KCKTFZ/ Making Wikipedia More Readable: What Comes Next]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/32|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W32"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 03:38, 5 اَگست 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29083927 -->
== <span lang="en" dir="ltr">Tech News: 2025-33</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W33"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/33|Translations]] are available.
'''Updates for editors'''
* The WikiEditor toolbar now includes [[mw:Special:MyLanguage/Help:Extension:WikiEditor#Keyboard shortcuts|its keyboard shortcuts]] in the tooltips for its buttons. This will help to improve the discoverability of this feature. [https://phabricator.wikimedia.org/T400583]
* The [[m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] published a set of [[m:Special:MyLanguage/Product and Technology Advisory Council/August 2025 draft PTAC proposals for feedback|proposed experiments]] the Wikimedia Foundation can try to improve communication with community. Feedback on the proposals are welcomed until August 22 on [[m:Talk:Product and Technology Advisory Council/August 2025 draft PTAC proposals for feedback|this talk page]].
* The search bar on the Minerva skin (mobile) has been updated to use the same type-ahead search component that is used on the Vector 2022 skin. There are no changes in search functionality but there are minor visual changes. Specifically, the close-search button has been changed from an "X" to a back arrow. This helps to distinguish it from the other "X" button that is used to clear any text. [https://phabricator.wikimedia.org/T393944]
* Editors on some wikis will see a new toggle for "Group results by page" on watchlist, related changes, and recent changes pages. This is [[mw:Special:MyLanguage/Moderator Tools/Watchlist/Experiment|an A/B experiment]] that is planned to start on August 11, and will run for 3–6 weeks on the Bengali, Chinese, Czech, French, Greek, Portuguese, and Urdu Wikipedias. The experiment will examine how making this feature more discoverable might affect editors' ability to find the edits they are looking for. [https://phabricator.wikimedia.org/T396789]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* The multiwiki datasets of [[:wikt:en:Module:Unicode data|Unicode data]] have been moved to [[c:Category:Unicode Module Datasets|Category:Unicode Module Datasets]] on Wikimedia Commons, to follow the idea of "One common data source, multiple local wikis". Most wikis have been updated to use the Commons version. You can ask questions at [[c:Category talk:Unicode Module Datasets|the talkpage]]. [https://en.wiktionary.org/wiki/Module_talk:Unicode_data#Data_from_commons]
* Lua code can add warnings when something is wrong, by using the <code dir=ltr>mw.addWarning()</code> function. It is now possible to add more than one warning, instead of new warnings replacing old ones. If you maintain a Lua module that used warnings, you should check it still works as expected. [https://phabricator.wikimedia.org/T398390]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.14|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/33|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W33"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:27, 11 اَگست 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29106516 -->
== <span lang="en" dir="ltr">Tech News: 2025-34</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W34"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/34|Translations]] are available.
'''Updates for editors'''
* Later this week, people who are logged-in and have the "[[mw:Special:MyLanguage/Talk pages project/Feature summary|Discussion tools]]" [[Special:Preferences#mw-prefsection-betafeatures|Beta Feature]] enabled will gain the ability to "Thank" individual comments directly from talk pages, rather than needing to navigate to page history. [[mw:Special:MyLanguage/Talk pages project/Feature summary#Comment actions|Learn more about this feature]]. [https://phabricator.wikimedia.org/T400849]
* An A/B test comparing two versions of the desktop donate link launched on testwiki on 12 August and on English Wikipedia 14 August for 0.1% of logged out users on the desktop site. The experiment will run for three weeks, ending on 12 September. [https://phabricator.wikimedia.org/T395716]
* An A/A test to measure the baseline for reader retention was launched 12 August using [[wikitech:Experimentation Lab|Experimentation Lab]]. This measures the percentage of users who revisit a wiki after their initial visit over a 14-day period. No visual changes are expected. The experiment will run through 31 August. [https://phabricator.wikimedia.org/T399227]
* Five new wikis have been created:
** a {{int:project-localized-name-group-wikisource/en}} in [[d:Q34057|Tagalog]] ([[s:tl:|<code>s:tl:</code>]]) [https://phabricator.wikimedia.org/T388639]
** a {{int:project-localized-name-group-wikisource/en}} in [[d:Q36213|Madurese]] ([[s:mad:|<code>s:mad:</code>]]) [https://phabricator.wikimedia.org/T391747]
** a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q3450749|Rakhine]] ([[w:rki:|<code>w:rki:</code>]]) [https://phabricator.wikimedia.org/T392490]
** a {{int:project-localized-name-group-wikibooks/en}} in [[d:Q13324|Minangkabau]] ([[b:min:|<code>b:min:</code>]]) [https://phabricator.wikimedia.org/T395452]
** a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q7598268|Standard Moroccan Amazigh]] ([[wikt:zgh:|<code>wikt:zgh:</code>]]) [https://phabricator.wikimedia.org/T399684]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:46}} community-submitted {{PLURAL:46|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.15|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/34|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W34"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:36, 19 اَگست 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29127690 -->
== <span lang="en" dir="ltr">Tech News: 2025-35</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W35"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/35|Translations]] are available.
'''Updates for editors'''
* [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Template authors can now use additional CSS properties, since the CSS sanitizer used by [[mw:Special:MyLanguage/Help:TemplateStyles|TemplateStyles]] was updated. For example: <code>width: fit-content</code>; <code>ruby-align</code>; relative units such as <code>lh</code>; and custom strings in <code>list-style-type</code>. These improvements are a [[m:Special:MyLanguage/Community Wishlist/Wishes/Allow use of modern CSS in templates by updating the TemplateStyles CSS sanitizer|Community Wishlist wish]]. [https://phabricator.wikimedia.org/T271958][https://phabricator.wikimedia.org/T277755][https://phabricator.wikimedia.org/T293633][https://phabricator.wikimedia.org/T295088][https://phabricator.wikimedia.org/T326906][https://phabricator.wikimedia.org/T340057][https://phabricator.wikimedia.org/T360725][https://phabricator.wikimedia.org/T371809][https://phabricator.wikimedia.org/T375344][https://phabricator.wikimedia.org/T394619]
* On large wikis, the default time period to display edits from, within the Special:RecentChanges page, has been changed from 7 days to 1 day. This is part of a performance improvement project. This should have no user-facing impact due to the quantity of edits on these wikis. [https://phabricator.wikimedia.org/T399455]
* Administrators can now access the [[{{#special:BlockedExternalDomains}}]] page from the [[{{#special:CommunityConfiguration}}]] list page. This makes it easier to find. [https://phabricator.wikimedia.org/T393240]
* Wikimedia Commons videos were not shown in the Videos tab in Google Search. The problem was investigated and reported to Google who have now fixed the issue. [https://phabricator.wikimedia.org/T396168][https://meta.wikimedia.org/wiki/Community_Wishlist/Wishes/Do_something_about_Google_%26_DuckDuckGo_search_not_indexing_media_files_and_categories_on_Commons]
* One new wiki has been created: a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q33014|Betawi]] ([[wikt:bew:|<code>wikt:bew:</code>]]) [https://phabricator.wikimedia.org/T402130]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:39}} community-submitted {{PLURAL:39|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* Two fields of the [[mw:Special:MyLanguage/Manual:Recentchanges table|recentchanges database table]] are being removed. <code>rc_new</code> and <code>rc_type</code> are being removed in favor of <code>rc_source</code>. Queries to these older fields will start to fail starting this week and developers should use <code>rc_source</code> instead. These older fields were deprecated over 10 years ago and should not be in use. This is part of work to improve the performance and stability of queries to the recentchanges table. [https://phabricator.wikimedia.org/T400696]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.16|MediaWiki]]
'''In depth'''
* The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/July|Language and Internationalization Newsletter]] is now available. This edition includes: support for new languages in MediaWiki and translatewiki; the start of the Language Onboarding and Development project to help support the growth of new and small wikis; updates on research projects; and more.
'''Meetings and events'''
* The next [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Community meetings#29 August 2025|Language Community Meeting]] is happening soon, August 29th at [https://zonestamp.toolforge.org/1756479600 15:00 UTC]. This week's meeting will cover: the Avro keyboard developers from Wikimedia Bangladesh, who were recently awarded a national award for their contributions to this keyboard; and other topics.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/35|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W35"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:10, 26 اَگست 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29175124 -->
== <span lang="en" dir="ltr">Tech News: 2025-36</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W36"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/36|Translations]] are available.
'''Weekly highlight'''
* The Editing team wants to compile a list of templates, jargon terms, and policies used in edit summaries when a copyright violation is removed. This will help them identify the number of edits reverted due to copyright issues. We invite community members from the following Wikis to list these terms in [[Phab:T402601|T402601]], or to share their list with [[User:Trizek (WMF)|Trizek_(WMF)]]: {{int:project-localized-name-arwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-enwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-eswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-idwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-itwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-plwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ptwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ukwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-viwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zhwiki/en}}. This project is open until September 9th 2025.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] has been enabled for all Wikisources. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. The extension has three features: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Special:MyLanguage/Connection Team/Invitation list|Invitation List]]. To request the extension for your wiki, visit the Deployment information page. [https://meta.wikimedia.org/wiki/CampaignEvents/Deployment_status#How_to_Request_the_CampaignEvents_Extension_for_your_wiki]
* The lists in the footer of the editing interface, such as "Templates used on this page," will now be organized into columns when there is enough space. This enhancement minimizes scrolling when editing lengthy articles on Wikipedia. [https://phabricator.wikimedia.org/T401066]
* On September 3rd, 2025 we will increase the sampling percentages of our [[mw:Special:MyLanguage/Moderator Tools/Watchlist/Experiment#Scope of the experiment|group by toggle experiment]] of the <code>Special:RecentChanges</code>, <code>Special:Watchlist</code>, and <code>Special:RelatedChanges</code> pages on the Chinese, French, and Portuguese Wikipedias to 100 percent, allowing more editors to be part of this experiment. This adjustment is intended to ensure we have sufficient data to make informed decisions when evaluating the experiment results. [https://phabricator.wikimedia.org/T402958][https://phabricator.wikimedia.org/T396789]
* Upon clicking an empty search bar, logged-out users will see suggestions of articles for further reading on English Wikipedia beginning the week of September 22. The feature will be available on both desktop and mobile. All non-English wikis received this change in June and July. The goal is to make it easier for users to find articles. [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments/Search Suggestions|Learn more]].
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:37}} community-submitted {{PLURAL:37|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.17|MediaWiki]]
'''In depth'''
* Wikifunctions now has a new capability called "lightweight enumeration types", an enumeration type is simply a fixed set of values that's in the type's definition. This capability makes it quick and easy to define such a type, and allows for the reuse of values that are already present in Wikidata. Here is [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-07-19|a newsletter]] to learn more.
* The latest [[mw:Special:MyLanguage/Readers/Newsletter updates#August 2025: Newsletter #1|Readers Newsletter]] is now available. This edition includes: the formation of two new teams — Reader Growth and Reader Experience; insights into declining pageviews and account creations; highlights from the Wikimania Nairobi panel on improving the reading experience; upcoming experiments to engage new and existing readers; and more.
'''Meetings and events'''
* Spotlight on some Wikimania 2025 Sessions:
** Identifying AI-generated text by searching for ISBNs whose checksums fail: Mathias Schindler of WMDE [https://www.youtube.com/watch?v=Dw9o8Lsl974&t=15910s shared tools to help communities search for these].
** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/TCHZKH/ La durabilité du mouvement Wikimedia face aux défis actuels et futurs]: This session explored how Wikimedia can stay a trusted source of knowledge in the age of generative AI, information overload, and disinformation.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/36|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W36"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:48, 1 سیٚپٹَمبَر 2025 (UTC)
<!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29196010 -->
== <span lang="en" dir="ltr">Tech News: 2025-37</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W37"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/37|Translations]] are available.
'''Weekly highlight'''
* The Editing team is working on a new check: [[mw:Special:MyLanguage/Paste check|Paste check]]. This check informs newcomers who paste text into Wikipedia that the content might not be accepted. This check is an effort to increase the likelihood that the new content people are adding to Wikipedia is aligned with the Movement's commitment to offering information under a free content license. This check will soon be tested at a few wikis. If your community is interested in this test, please [[phab:T403680|tell us in this task]], or [[mw:Talk:Edit check|contact the team]].
'''Updates for editors'''
* [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Later this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will be able to use a [[w:en:Lint (software)|linting tool]] to see errors or other potential problems in wikitext in real time. See the [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|help page for more information]]. [https://phabricator.wikimedia.org/T381577]
* [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] When browsing a wiki (like <code dir=ltr>en.wikipedia.org</code>), the software responds in one of two ways: a desktop page, or a redirect to a mobile version on an "m" domain (like <code dir=ltr>en.m.wikipedia.org</code>). Over the next three weeks, MediaWiki will start displaying the mobile version to mobile devices directly on the standard domain, without this redirect. This change does not affect existing m-dot URLs, or the "Desktop view" opt-out. [[mw:Requests for comment/Mobile domain sunsetting/2025 Announcement|Learn more]]. [https://phabricator.wikimedia.org/T214998]
* When an edit changes the categories of a page, the changes to the category membership counts are now happening asynchronously. This improves the speed of saving edits, especially when moving many pages to or from the same category, and reduces the risk of site outages, but it means that the counts can show outdated information for a few minutes. [https://phabricator.wikimedia.org/T365303]
* Edits on Wikidata to qualifiers (properties and values) and references (properties and values) in a Wikidata item statement will now not add entries to the RecentChanges or Watchlist pages on all other Wikis. This is a temporary change to improve performance while other solutions are created. Wikidata's own pages remain unchanged. [[m:Wikidata For Wikimedia Projects/Reduce change propagation noise#Phase 1: Turn off (temporarily) Qualifiers and References Wikidata edits to the Recent Changes tables|Learn more]]. [https://phabricator.wikimedia.org/T401286][https://phabricator.wikimedia.org/T400698]
* Japanese-language wikis have had a major upgrade to the way that search works. The new search should generally give more accurate and more relevant search results. [https://phabricator.wikimedia.org/T318269]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.18|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/37|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W37"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:12, 9 سیٚپٹَمبَر 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29238161 -->
== <span lang="en" dir="ltr">Tech News: 2025-38</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W38"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/38|Translations]] are available.
'''Updates for editors'''
* References lists that are made using the <code dir=ltr><nowiki><references/></nowiki></code> [[mw:Special:MyLanguage/Help:Cite#references-tag|tag]] will now automatically display with columns in Vector 2022 when readers are using its 'standard' settings for text-size and page-width. [https://phabricator.wikimedia.org/T334941]
* Starting in the week of October 6, on [[git:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/small.dblist|small wikis]] and [[git:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/medium.dblist|medium wikis]] that have the [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] enabled, all autoconfirmed users will be able to use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] as an organizer. No changes will be made for [[git:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/large.dblist|large wikis]] unless requested in Phabricator. This change is being made to make it easier for more people to use Event Registration, especially on wikis that are less likely to have policies related to the Event Organizer right. [[m:Special:MyLanguage/CampaignEvents/Proposal to grant autoconfirmed users on small and medium wikis the organizer access to the event registration tool|Learn more]].
* Users that search using regular expressions (regex) can now use additional features including:
** for the <code dir=ltr>intitle:</code> keyword: [[mw:Special:MyLanguage/Help:CirrusSearch#Metacharacters|metacharacters]] for start-of-line (<code dir=ltr>^</code>) and end-of-line (<code dir=ltr>$</code>) anchors [https://phabricator.wikimedia.org/T317599]
** for both <code dir=ltr>intitle:</code> and <code dir=ltr>insource:</code> keywords: shorthand [[mw:Special:MyLanguage/Help:CirrusSearch#Character_Classes|character classes]] for digits (<code dir=ltr>\d</code>), whitespace (<code dir=ltr>\s</code>), and word characters (<code dir=ltr>\w</code>); and [[mw:Special:MyLanguage/Help:CirrusSearch#Escape codes|escape codes]] for line feed (<code dir=ltr>\r</code>), newline (<code dir=ltr>\n</code>), tab (<code dir=ltr>\t</code>), and unicode (e.g. <code dir=ltr>\uHHHH</code>). [https://phabricator.wikimedia.org/T403212]
* When you search for text that looks like an IP, the system will now show search results. It used to take you to the contributions for that IP instead of showing search results. [https://phabricator.wikimedia.org/T306325]
* [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on September 24. This is planned at [https://zonestamp.toolforge.org/1758726000 15:00 UTC]. This is for the datacenter server switchover backup tests which happen twice a year. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the background and details of this process on the Diff blog]].
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that affected users who used the page-tabs to switch from wikitext editing of a section into the visualeditor. [https://phabricator.wikimedia.org/T401043]
'''Updates for technical contributors'''
* The MediaWiki Interfaces team is redesigning the Wikimedia REST API Sandbox with Codex. If you have feedback on improvements for the API documentation or what makes developer experiences smooth (or frustrating), you’re invited to [https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ2aZzbXeQvjOF7gB1fJXiwAYemQjKf4sXNaRODPA7_obFyNBwkzNkoVCoTF-aeov89kIjXHbCQm join an upcoming discovery interview], or [[mw:MediaWiki Interfaces Team/Developer Feedback/Wikimedia Web APIs|leave feedback onwiki]]. [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/C4FBAOA57PH6G5ORVMAUF5TGYBLZDU5Q/|Learn more]].
* Edits to Wikidata aliases (an alternative name for an item or a property) will now be shown in RecentChanges and Watchlist entries on other wikis less often, reducing unnecessary notifications. This will reduce the overall quantity of 'noisy' entries. Wikidata's own pages remain unchanged. [[m:Wikidata For Wikimedia Projects/Reduce change propagation noise#Phase 1: More granular Alias tracking|Learn more]]. [https://phabricator.wikimedia.org/T401288]
* The new [https://www.unicode.org/versions/Unicode17.0.0/ Unicode 17.0] version has been released. The [[:c:Category:Unicode Module Datasets|datasets on Commons]] for the [[:d:Q39301585|Module:Unicode data]] have been updated. Wikipedias that do not use the Commons datasets should either update their own data or switch to the Commons datasets.
* Users of the [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] Structured Contents endpoints can now access [https://enterprise.wikimedia.com/blog/parsed-wikipedia-tables/ Parsed Tables]. The new Parsed Tables feature extracts and represents Wikipedia tables in structured JSON. This improves machine accessibility as part of the [https://enterprise.wikimedia.com/api/structured-contents/ Structured Contents initiative]. Structured Contents output is freely available through the [https://enterprise.wikimedia.com/docs/on-demand/#article-structured-contents-beta On-demand API], or through Wikimedia Cloud Services.
* A [https://www.kaggle.com/datasets/wikimedia-foundation/english-wikipedia-people-dataset dataset of English Wikipedia biographical information] from [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] has been published on Kaggle, for evaluation and research. This provides structured data from more than 1.5 million biographies, including birth and death dates, education, affiliations, careers, awards, and more (from a June 2024 snapshot).
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.19|MediaWiki]]
'''Meetings and events'''
* [[wmania:Special:MyLanguage/2026:Scholarships|Scholarship applications]] for Wikimania 2026 in Paris, France, are open until October 31.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/38|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W38"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:05, 15 سیٚپٹَمبَر 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29263921 -->
== <span lang="en" dir="ltr">Tech News: 2025-39</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W39"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/39|Translations]] are available.
'''Weekly highlight'''
* [https://zonestamp.toolforge.org/1758726000 On September 24th at 15:00 UTC], all Wikimedia sites users will experience a brief read-only period due to a scheduled [[m:Special:MyLanguage/Tech/Server switch|datacenter server switchover]]. The Wikimedia Foundation's Site Reliability Engineering (SRE) team will redirect all traffic from one primary server to its backup. You can listen to the switchover using the [http://listen.hatnote.com/ "Listen to Wikipedia"] tool, where you will hear edits stop for a few minutes during the read-only phase, then resume. This twice-yearly datacenter server switchover ensures reliability by testing the backup datacenter, so that our sites can stay online even if the primary datacenter fails. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the process on the Diff blog]].
'''Updates for editors'''
* Editors of [[f:Special:Mylanguage/Wikifunctions:Status updates/2025-09-12#Next round of Wiktionaries to receive embedded Wikifunctions calls|60 more Wiktionaries]] will soon be able to call [[f:Special:MyLanguage/Wikifunctions:Introduction|functions from Wikifunctions]] and integrate them into their pages. A function takes one or more inputs and transforms them into a desired output, like adding numbers, converting miles to meters, calculating elapsed time, or declining a word into a case. They will join the other [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-29#Wikifunctions available on 65 Wiktionaries|65 Wiktionary language editions]], which already have access to embedded Wikifunctions calls. Later this year, plans are in place to expand to more Wiktionaries and the Incubator.
* A new [[mw:Special:MyLanguage/Help:Magic words#Technical metadata of another page|parser function]] has been added: <code><nowiki>{{#contentmodel}}</nowiki></code>. Template editors and admins can use it to get the localized or canonical name of the [[mw:Special:MyLanguage/Help:ChangeContentModel|content model]] of a specific page. The function makes it easier to create and edit system messages, such as ''MediaWiki:editinginterface'', even when you switch types of pages, like wiki, JavaScript, CSS or JSON page. [https://phabricator.wikimedia.org/T328254]
* Adding or editing a <code>DISPLAYTITLE</code> for an article using VisualEditor will no longer be broken. Editors who use VisualEditor mode to modify the <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> would no longer have the literal text "DISPLAYTITLE" or its localized variant added to their articles. A list of pages that may have been affected and might need cleanup is documented in [[phab:P83438|this ticket]].
* Beta users of the Wikipedia Android app can now try the redesigned [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Activity Tab Experiment|Activity tab]], which replaces the Edits tab. The new tab offers personalized insights into reading, editing, and donation activity, while simplifying navigation and making app use more engaging.
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:12}} community-submitted {{PLURAL:12|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.20|MediaWiki]]
'''In depth'''
* Wikifunctions users can now import many essential facts involving [[f:Special:MyLanguage/Z6011|geo-coordinates]], [[f:Special:MyLanguage/Z6010|quantities]] and [[f:Special:MyLanguage/Z6064|time]] values from Wikidata. This is made possible by the creation of Wikifunctions types for these values, which makes them available for use by functions in Wikifunctions. Learn more about how this works in [[c:File:ImportingWikidataDatatypesIntoWikifunctions.webm|this video]] and Wikifunctions' [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-01#News in Types I: Wikidata quantity|August 1 newsletter]] (for quantities) and [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-22#News in Types: Wikidata geo-coordinate|August 22 newsletter]] (for geo-coordinates).
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/39|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W39"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:54, 22 سیٚپٹَمبَر 2025 (UTC)
<!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29305556 -->
== <span lang="en" dir="ltr">Tech News: 2025-40</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W40"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/40|Translations]] are available.
'''Weekly highlight'''
* A major software upgrade has been made to [[phab:|Phabricator]]. The update introduces performance improvements, a refreshed search interface, enhancements to Maniphest task search, updates to user profile pages and project workboards, new Herald automation features, as well as general text input, mobile experience improvements and more. [https://phabricator.wikimedia.org/phame/post/view/321/iterative_improvements_september_2025/]
'''Updates for editors'''
* The Community Tech team will release the new Community Wishlist extension on October 1, that will improve the way wishes will be submitted. The new extension will allow users to add tags to their wishes to better categorise them, and (in a future iteration) to filter them by status, tags and focus areas. It will also be possible to support individual wishes again, as requested by the community in many instances. The old system will be retired. There will be a brief period of downtime while the extension is deployed and wishes are migrated to the new system. You can read more about this [[:m:Special:MyLanguage/Community Wishlist/Updates|in the latest update]] or you can consult the [[:mw:Special:MyLanguage/Help:Extension:CommunityRequests|current documentation on MediaWiki]].
* As announced [[diffblog:2025/09/02/better-detecting-bots-and-replacing-our-captcha/|on Diff blog]], the production trial of the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/hCaptcha|hCaptcha]] service for bot detection has begun. The trial is currently using hCaptcha to protect account creation on Chinese, Persian, Portuguese, Indonesian, Japanese, and Turkish Wikipedias, where it will replace our existing [[mw:Special:MyLanguage/Extension:ConfirmEdit#FancyCaptcha|CAPTCHA]] (FancyCaptcha). The goal with the trial is to better block bots while also improving usability and accessibility for users who encounter CAPTCHA challenges.
* The [[mw:Special:MyLanguage/Extension:CampaignEvents|CampaignEvents]] extension has been [[m:Special:MyLanguage/CampaignEvents/Deployment status|deployed]] to Wikimedia Commons. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. On Commons, anyone who is a registered user can use it as an event participant. To use it as an organizer, someone needs to have the [[c:Special:MyLanguage/Commons:Event organizers|event organizer right]].
* [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new feature to re-use references with different details has been released to German Wikipedia. You can [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#test|test the feature]] on testwiki or [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing on betawiki] as well. Please share your thoughts on [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Templates used in sub-references|using templates in sub-references]] or [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Pilot wikis|volunteer to become a pilot wiki]].
* On wikis using the [[mw:Special:MyLanguage/Help:Growth/Mentorship|Mentorship]] system, communities can now opt experienced editors out of Mentorship through [[{{#special:CommunityConfiguration/Mentorship}}]]. Within this setting, communities may define thresholds, based on edit count and account age, to decide when an editor is considered experienced enough to no longer receive Mentorship. [https://phabricator.wikimedia.org/T403563]
* The Editing Team and the Machine Learning Team are working on a new check for newcomers: [[mw:Special:MyLanguage/Edit check/Tone Check|Tone check]]. Using a prediction model, this check will encourage editors to improve the tone of their edits, using artificial intelligence. We invite volunteers to review the first version of the Tone language model for the following languages: Arabic, Czech, German, Hebrew, Indonesian, Dutch, Polish, Russian, Turkish, Chinese, Farsi, Italian, Norwegian, Romanian and Latvian. Users from these wikis interested in reviewing this model are [[mw:Special:MyLanguage/Edit_check/Tone_Check/Model_evaluation|invited to sign up at MediaWiki.org]]. The deadline to sign up is on October 3, which will be the start date of the test.
* The rollout of [[:mw:Special:MyLanguage/Help:Manage blocks|multiblocks]] had the side effect that non-active block logs may have been shown on {{#special:Contributions}} and on blocked users' user and user_talk pages. This issue will be fully resolved in a few days. As part of the fix, [{{fullurl:Special:Allmessages|prefix=sp-contributions-blocked-notice}} messages prefixed with <code>sp-contributions-blocked-notice</code>] will be removed and replaced with [{{fullurl:Special:Allmessages|prefix=blocked-notice-logextract}} those prefixed with <code>blocked-notice-logextract</code>] in a few weeks. Please help translate the new messages and update any local overrides if needed.
* There was a bug with links added using visual editor if they included characters such as <code dir=ltr><nowiki>[ ] |</nowiki></code> after the fragment identifier (<code><nowiki>#</nowiki></code>). They were not encoded properly creating an incorrect link. This has been fixed. [https://phabricator.wikimedia.org/T404823]
* One new wiki has been created: a {{int:project-localized-name-group-wikiquote/en}} in [[d:Q9237|Malay]] ([[q:ms:|<code>q:ms:</code>]]) [https://phabricator.wikimedia.org/T404698]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/User Info|User Info Card]] now displays currently active global lock/blocks. [https://phabricator.wikimedia.org/T401128]
'''Updates for technical contributors'''
* Later this week, editors using Lua modules will be able to use the <code>[[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.title.newBatch|mw.title.newBatch]]</code> function to look up the existence of up to 25 pages at once, in a way that only increases the [[mw:Special:MyLanguage/Manual:Parser functions#Expensive parser functions|expensive function]] count once.
* A new [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|Unsupported Tools Working Group]] has been formed as part of ongoing efforts to collectively determine technical work priorities, similar to the [[m:Special:MyLanguage/Product and Technology Advisory Council|Product & Technology Advisory Council]] (PTAC). The working group will help prioritize and review requests for support of unmaintained extensions, gadgets, bots, and tools. For the first cycle, the group will be prioritizing an unsupported Wikimedia Commons tool.
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.21|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/40|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W40"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:50, 29 سیٚپٹَمبَر 2025 (UTC)
<!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29355230 -->
== <span lang="en" dir="ltr">Tech News: 2025-41</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W41"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/41|Translations]] are available.
'''Weekly highlight'''
* [[mw:Special:MyLanguage/Help:Edit check#paste|Paste Check]] is a new Edit Check feature to help avoid and fight copyright violations. When editors paste text into an article, Paste Check prompts them to confirm the origin and licensing of the content. Starting Wednesday, 8 October, [[phab:T403680|22 wikis will test Paste Check]]. Paste Check will help new volunteers understand and follow the policies and guidelines necessary to make constructive contributions to Wikipedia projects.
'''Updates for editors'''
* Mobile devices will receive mobile articles directly on the standard domain (like <code>en.wikipedia.org</code>), instead of via a redirect to an "m" domain (like <code>en.m.wikipedia.org</code>). This change improves performance. This week it will be enabled on Wikipedias. The existing mobile URLs and the "Desktop view" opt-out remain available. [[mw:Requests for comment/Mobile domain sunsetting/2025 Announcement|Learn more]]. [https://phabricator.wikimedia.org/T214998]
* New [[mw:Special:MyLanguage/Help:CirrusSearch#creationdate and lasteditdate|date filters]], <code dir=ltr>creationdate:</code> and <code dir=ltr>lasteditdate:</code>, are now available in the wiki search engine. This allows users to filter search results by a page's first or last revision date. The filters support comparison operators (e.g. <code dir=ltr>>2024</code>) and relative dates (e.g. <code dir=ltr>today-1d</code>), making it easier to find recently updated content or pages within specific age ranges. [https://phabricator.wikimedia.org/T403593]
* [[f:|Wikifunctions]] now supports rich text in embedded calls across the 150 wikis where it's enabled. To showcase this, the team created a [[f:Z26333|Latin declination table]] that Wiktionary editors can use to automatically generate noun forms, producing clear, formatted results — see an [[f:Wikifunctions:Embedded function calls/Wiktionary tables demonstration|example output]]. If you need any help or have any feedback, please [[f:Wikifunctions:Project chat|contact the Wikifunctions Team]]. [https://phabricator.wikimedia.org/T397402]
* An edit link will now appear inside the categories box on article pages for logged in users, which will directly launch the VisualEditor category dialog. [https://phabricator.wikimedia.org/T291691]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a problem downloading pdf files last week and that has been resolved. [https://phabricator.wikimedia.org/T405957]
'''Updates for technical contributors'''
* The field <code dir=ltr>rev_sha1</code> in the revision database table is being removed in favor of <code dir=ltr>content_sha1</code> in the content database table. See [https://lists.wikimedia.org/hyperkitty/list/cloud@lists.wikimedia.org/thread/2D2M3SP4WHR6BXXKTZ2PBLZQYR3EGQVR/ the announcement] for more information.
* The [[mw:Special:MyLanguage/Reading/Web|Reader Experience team]] will roll out [[w:en:Light-on-dark color scheme|Dark Mode]] user interface on all Wikimedia sites on October 29, 2025. All anonymous users of Wikimedia sites will have the option to activate a color scheme that features light-colored text on a dark background. This is designed to provide a more comfortable reading experience, especially in low-light situations. Template authors and technical contributors are encouraged to [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-04|learn how to make pages ready for Dark mode]] and address any compatibility issues found in templates in their wiki before the enablement. Please contact the Web team for questions or any support on [[mw:Talk:Reading/Web/Accessibility for reading#|this talk page]] before the enablement. [https://phabricator.wikimedia.org/T395628]
* Starting on Monday, October 6, API endpoints under the <code>rest.php</code> path will be rerouted through a new internal API Gateway. Individual wikis will be updated based on the standard release groups, with total traffic increased over time. This change is expected to be non-breaking and non-disruptive. If any issues are observed, please file a Phabricator ticket to the [[phab:tag/serviceops/|Service Ops team board]]. [https://phabricator.wikimedia.org/T400130]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.22|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/41|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W41"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:21, 6 اَکتوٗبَر 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29400897 -->
== <span lang="en" dir="ltr">Tech News: 2025-42</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W42"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/42|Translations]] are available.
'''Weekly highlight'''
* Last week, improvements to account security and two-factor authentication (2FA) features were enabled across all wikis. These changes include user interface improvements for [https://auth.wikimedia.org/metawiki/wiki/Special:AccountSecurity Special:AccountSecurity], the support of multiple 2FA methods via authenticator apps and portable security keys (previously users could only enable one method), and a new Recovery Codes module which facilitates fewer account lockouts due to lost two-factor apps and devices. As part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project, work is continuing through the rest of 2025 on further user experience improvements, and support for passkeys as an alternate second factor.
'''Updates for editors'''
* Another part of the Account security project is making 2FA generally available to all users. Along with editors with advanced privileges, such as administrators and bureaucrats, 40% of editors now have access to 2FA. You can check if you have access at [https://auth.wikimedia.org/metawiki/wiki/Special:AccountSecurity Special:AccountSecurity]. Instructions for activation are on the linked page. The plan is to continue increasing availability if it is determined that the user support capabilities are able to support global usage. [https://phabricator.wikimedia.org/T400579]
* This week, users at wikis where talk page [[mw:Special:MyLanguage/Talk pages project/Usability|Usability Improvements]] are already available by default (everywhere ''except'' the 12 wikis listed in [[phab:T379264|T379264]]) will gain the ability to Thank a comment directly from the talk page it appears on. Before this change, Thanking could only be done by visiting the revision history of the talk page. You can [[diffblog:2025/10/13/revolutionizing-gratitude-a-new-era-of-thanking-comments/|learn more about this change]]. [https://phabricator.wikimedia.org/T366095]
* Users who have not [[Special:Preferences#mw-prefsection-personal-email|verified their email address]] will soon be receiving monthly Notification reminders to do so. This is because users who have verified their email can more easily recover their account. These reminders will not be sent if the user is inactive or removes the unverified email from their account. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Email_confirmation][https://phabricator.wikimedia.org/T58074]
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a fix was made for an occasional error with saving translated paragraphs in the Content Translation tool, and the related error messages are now easier to see. [https://phabricator.wikimedia.org/T376531]
'''Updates for technical contributors'''
* The Unsupported Tools Working Group has chosen [[c:Special:MyLanguage/Commons:Video2commons|Video2Commons]] as the first tool for its pilot cycle. The group will explore ways to improve and sustain the tool over the coming months. [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|Learn more on Meta]].
* [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.23|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/42|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W42"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:58, 13 اَکتوٗبَر 2025 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29434481 -->
== <span lang="en" dir="ltr">Tech News: 2025-43</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W43"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/43|Translations]] are available.
'''Updates for editors'''
* To optimize how user data is stored in our databases, the saved preferences of users who haven't logged in for over five years and have fewer than 100 edits will be cleared. When those users return, default settings will apply. [https://phabricator.wikimedia.org/T406724]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a broken link from the GlobalContributions interface message to the XTools GlobalContributions page which has now been fixed. [https://phabricator.wikimedia.org/T406415]
'''Updates for technical contributors'''
* The work to reroute all traffic to API endpoints under the <code dir=ltr><nowiki>rest.php</nowiki></code> route through a common API gateway is now complete. If any issues are observed, please file a phabricator ticket to the [[phab:tag/serviceops/|Service Ops team board]].
* Edits to Wikidata references or qualifiers will now be shown in RecentChanges and Watchlist entries on other wikis less often, reducing unnecessary notifications. This will reduce the overall quantity of 'noisy' entries. Wikidata's own pages remain unchanged. [https://phabricator.wikimedia.org/T401290]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.24|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/43|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W43"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:34, 20 اَکتوٗبَر 2025 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29478670 -->
== <span lang="en" dir="ltr">Tech News: 2025-44</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W44"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/44|Translations]] are available.
'''Updates for editors'''
* The Wikipedia iOS app has launched an A/B/C test of improvements made to the tabbed browsing feature for select regions and languages. The test, named “More dynamic tabs”, explores new tab experiences and includes “Did you know” and “Because you read” article recommendations. You can [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Tabbed Browsing (Tabs)/New Tab Experience and Recommendations Experiment|read more on the project page]].
* Autoconfirmed users on [[git:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/small.dblist|small]] and [[git:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/medium.dblist|medium wikis]] with the CampaignEvents extension can now use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] without the Event Organizer right. This feature lets organizers enable registration, manage participants, and lets users register with one click instead of signing event pages.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue of flashing colors when holding or pressing the arrow keys under the dark mode settings in Vector 2022 has been fixed. [https://phabricator.wikimedia.org/T402285]
'''Updates for technical contributors'''
* The CampaignEvents extension will be deployed to all remaining wikis during the week of 17 November 2025. The extension currently includes three features: Event Registration, Collaboration List, and Invitation List. For this rollout, Invitation List will not be enabled on Wikifunctions and MediaWiki unless requested by those communities. [[m:Special:MyLanguage/CampaignEvents/Deployment status|Visit the deployment page to learn more]].
* The SwaggerUI-based REST sandbox experience is now live on all wiki projects. The sandbox can be accessed through the [[{{#special:RestSandbox}}]] page. Please report any issues to the MediaWiki Interfaces team board, or join the discussion on the [[mw:Special:MyLanguage/MediaWiki Interfaces Team/Feature Feedback/REST Sandbox|project launch]] page. [https://phabricator.wikimedia.org/project/board/6931/]
* Transform endpoints with a trailing slash path in the MediaWiki REST API are now marked as deprecated. They will remain functional during this time, but removal is expected by the end of January 2026. All API users currently calling them are encouraged to transition to the non-trailing slash versions. Both endpoint variations can be found and tested using the [https://test.wikipedia.org/w/index.php?api=mw-extra&title=Special%3ARestSandbox REST Sandbox]. See the [[mw:API/Deprecation|MediaWiki REST API Deprecation]] page for more detailed information about the API deprecation policies and procedures.
* A dedicated [[mw:API:REST API/Changelog|changelog now exists for the MediaWiki REST API]]. The changelog provides an overview of these changes, making it easier for developers to keep track of improvements and iterations. Announcements will also continue to flow through the standard communication channels, including Tech News and email distribution lists, but can now be more easily referenced from a central location. If you have feedback about the style, structure, or content of this changelog, please [[mw:API talk:REST API/Changelog|join the discussion]].
* Administrators can delete the tracking category which was previously added by the JsonConfig extension, as it is no longer used. See the categories linked from [[d:Q130635582#sitelinks-wikipedia|Q130635582]]. It is OK if there are still pages listed in the category as that is just a caching issue, and they will be automatically cleared out the next time each page is edited. [https://phabricator.wikimedia.org/T378352]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.25|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/44|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W44"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:29, 27 اَکتوٗبَر 2025 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29513638 -->
== <span lang="en" dir="ltr">Tech News: 2025-45</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W45"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/45|Translations]] are available.
'''Updates for editors'''
* Administrators will now find that [[{{#special:MergeHistory}}]] is now significantly more flexible about what it can merge. It can now merge sections taken from the middle of the history of the source (rather than only the start) and insert revisions anywhere in the history of the destination page (rather than only the start). [https://phabricator.wikimedia.org/T382958]
* For users with "{{int:discussiontools-preference-autotopicsub}}" [[Special:Preferences#mw-prefsection-editing|enabled in their preferences]], starting a new topic or adding a reply to an existing topic will now subscribe them to replies to that topic. Previously, this would only happen if the DiscussionTools "{{int:Skin-action-addsection}}" or "{{int:Discussiontools-replybutton}}" widgets were used. When DiscussionTools was originally launched existing accounts were not opted in to automatic topic subscriptions, so this change should primarily affect newer accounts and users who have deliberately changed their preferences since that time. [https://phabricator.wikimedia.org/T290778]
* Scribunto modules can now be used to [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#SVG library|generate SVG images]]. This can be used to build charts, graphics and other visualizations dynamically through Lua, reducing the need to compose them externally and upload them as files. [https://phabricator.wikimedia.org/T405861]
* Wikimedia sites now provide all anonymous users with the option to enable a dark mode color scheme, featuring light-colored text on a dark background. This enhancement aims to deliver a more enjoyable reading experience, especially in dimly lit environments. [https://phabricator.wikimedia.org/T395628]
* Users with large watchlists have long faced timeouts when editing [[Special:EditWatchlist|Special:EditWatchlist]]. The page now loads entries in smaller sections instead of all at once due to a paging update, allowing everyone to edit their watchlists smoothly. As part of the database update, sorting by expiry has been removed because it was over 100× slower than sorting by title. A [https://meta.wikimedia.org/wiki/Community_Wishlist/W454 community wish] has been created to explore alternative ways to restore sort-by-expiry. If this feature is important to you, please support the wish! [https://phabricator.wikimedia.org/T41510]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the fixing of the persisting highlighting when using VisualEditor find and replace during a query. [https://phabricator.wikimedia.org/T407318]
'''Updates for technical contributors'''
* Since 2019 the [[m:Special:MyLanguage/Wikimedia URL Shortener|Wikimedia URL Shortener]] at https://w.wiki is available for all Wikimedia wikis to create short links to articles, permalinks, diffs, etc. It is available in the sidebar as "Get shortened URL". There are 30 wikis that also install an older "ShortUrl" extension. The old extension will soon be removed. This means <code>/s/</code> URLs will not be advertised under article titles via HTML <code dir=ltr>class="title-shortlink"</code>. The <code>/s/</code> URLs will keep working. [https://phabricator.wikimedia.org/T107188]
* On Thursday, October 30, the [[:mw:Special:MyLanguage/MediaWiki Interfaces Team|MediaWiki Interfaces]] and [[:mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|SRE Service Operations]] teams began rerouting Action API traffic through a common API gateway. Individual wikis will be updated based on the standard release groups, with total traffic increased over time. This change is expected to be non-breaking and non-disruptive. If any issues are observed, please file a Phabricator ticket to the [https://phabricator.wikimedia.org/tag/serviceops/ Service Ops team] board.
* MediaWiki Train deployments will pause for the final two weeks of 2025: 22 December and 29 December. Backport windows will also pause between Monday, 22 December 2025 and Thursday, 2 January 2026. A backport window is a scheduled time to add things like bug fixes and configuration changes. There are seven deployment trains remaining for 2025. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/SMWTEAES4SDLDUSK4HMWNBSKNCXZAWYN/]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.26|MediaWiki]]
'''In depth'''
* In 2025, the Wikimedia Foundation reported that AI systems and search engines increasingly use Wikipedia content without driving users to the site, contributing to an 8% drop in human pageviews compared to 2024. After detecting bots disguised as humans, Wikimedia updated its traffic data to reflect this shift. Read more about current user trends on Wikipedia in [[diffblog:2025/10/17/new-user-trends-on-wikipedia/|a Diff blog post]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/45|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W45"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:32, 3 نَوَمبَر 2025 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29552512 -->
== <span lang="en" dir="ltr">Tech News: 2025-46</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W46"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/46|Translations]] are available.
'''Updates for editors'''
[[File:Talk pages default look (April 2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]]
* Starting November 12, users will see a change in the [[m:Special:MyLanguage/Talk pages project/Feature summary#Usability improvements|appearance of talk pages]] on [[Phab:T379264|some Wikipedias]]. Almost [[phab:T392121|all wikis]] have received this design change; [[phab:T409297|English Wikipedia]] will get these changes later. You can read more [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|on ''Diff'']]. Users can opt out of these changes [[Special:Preferences#mw-prefsection-editing|in their user preferences]] in "{{int:discussiontools-preference-visualenhancements}}". [https://phabricator.wikimedia.org/T379264]
* MediaWiki can now display a [[mw:Special:MyLanguage/Help:Protection indicators|page indicator]] automatically while a page is protected. This feature is disabled by default. It can be enabled by [[m:Special:MyLanguage/Requesting wiki configuration changes|community request]]. [https://phabricator.wikimedia.org/T12347]
* Using the "{{int:showpreview}}" or "{{int:showdiff}}" buttons in the wikitext editor will now carry over certain URL parameters like '[[mw:Special:MyLanguage/Manual:Parameters to index.php#useskin|useskin]]', '[[mw:Special:MyLanguage/Manual:Parameters to index.php#uselang|uselang]]' and '[[mw:Special:MyLanguage/Help:Section#Editing sections|section]]'. This update also fixes an issue where, if the browser crashed while previewing an edit to a single section, saving this edit could overwrite the entire page with just that section’s content. [https://phabricator.wikimedia.org/T62744][https://phabricator.wikimedia.org/T24029][https://phabricator.wikimedia.org/T155097]
* Wikivoyage wikis can use [[mw:Special:MyLanguage/Help:Extension:Kartographer#Markers and counters|colored map markers in the article text]]. The text of these markers will now be shown in contrasting black or white color, instead of always being white. Local workarounds for the problem can be removed. [https://phabricator.wikimedia.org/T369454]
* The Activity tab in the Wikipedia Android app is now available for all users. The new tab offers personalized insights into reading, editing, and donation activity, while simplifying navigation and making app use more engaging. [https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Android/Activity_Tab_Experiment]
* The Reader Growth team is launching an experiment called "Image browsing" to test how to make it easier for readers to browse and discover images on Wikipedia articles. This experiment, a mobile-only A/B test, will go live on English Wikipedia in the week of November 17 and will run for four weeks, affecting 0.05% of users on English wiki. The test launched on November 3 on Arabic, Chinese, French, Indonesian, and Vietnamese wikis, affecting up to 10% of users on those wikis. [https://www.mediawiki.org/wiki/Readers/Reader_Growth/WE3.1.3_Image_Browsing]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example the inability to lock accounts on mobile sites has been fixed. [https://phabricator.wikimedia.org/T256185]
'''Updates for technical contributors'''
* [[wikitech:Help talk:Toolforge/Toolforge standards committee#November 2025 committee nominations|Nominations are open on Wikitech]] for new [[wikitech:Help:Toolforge/Toolforge standards committee|Toolforge standards committee]] members. The committee oversees the Toolforge [[wikitech:Help:Toolforge/Right to fork policy|Right to fork policy]] and [[wikitech:Help:Toolforge/Abandoned tool policy|Abandoned tool policy]] among other duties. Nominations will remain open through 2025-11-28.
* The [[w:JSON Web Token#Standard fields|JWT issuer field]] in [[mw:Special:MyLanguage/OAuth/For Developers#OAuth 2|OAuth 2 access tokens]] for [[m:Special:MyLanguage/Help:Unified login|SUL wikis]] has been changed to <code><nowiki>https://meta.wikimedia.org</nowiki></code>. Old access tokens will still work. [https://phabricator.wikimedia.org/T399199]
* The [[w:JSON Web Token#Standard fields|JWT subject field]] in [[mw:Special:MyLanguage/OAuth/For Developers#OAuth 2|OAuth 2 access tokens]] will soon change from <code><user id></code> to <code dir=ltr style="white-space:nowrap">mw:<identity type>:<user id></code>, where <code><identity type></code> is typically <code dir=ltr>CentralAuth:</code><!-- not a typo --> (for [[m:Special:MyLanguage/Help:Unified login|SUL wikis]]) or <code dir=ltr style="white-space:nowrap">local:<wiki id></code> (for other wikis). This is to avoid conflicts between different user ID types, and to make OAuth 2 access tokens and the <code>sessionJwt</code> cookie more similar. Old access tokens will still work. [https://phabricator.wikimedia.org/T399199]
* MediaWiki's block messages ([[MediaWiki:Blockedtext|blockedtext]], [[MediaWiki:Blockedtext-partial|blockedtext-partial]], [[MediaWiki:Autoblockedtext|autoblockedtext]], [[MediaWiki:Systemblockedtext|systemblockedtext]], [[MediaWiki:Blockedtext-tempuser|blockedtext-tempuser]], [[MediaWiki:Autoblockedtext-tempuser|autoblockedtext-tempuser]]) now support additional parameters indicating whether the user is blocked from editing their own user talk page <code><nowiki>$9</nowiki></code> or emailing other users <code><nowiki>$</nowiki><nowiki>10</nowiki></code>. [https://phabricator.wikimedia.org/T285612]
* A <code>REL1_45</code> branch for MediaWiki core and each of the extensions and skins in Wikimedia git has been created. This is the first step in the release process for MediaWiki 1.45.0, scheduled for late November 2025. If you are working on a critical bug fix or working on a new feature, you may need to take note of this change. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/ZUY7TY3Z6XPZWZVAZV63OPO5OW52Q6GE/]
* The process for generating CirrusSearch dumps has been updated due to slowing performance. If you encounter any issues migrating to the replacement dumps, please contact the Search Platform Team for support. [https://phabricator.wikimedia.org/T366248][https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/3KQPOR6ACVN6OVLMLZPIBXQSWQKW4E3K/]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.2|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/46|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W46"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:37, 10 نَوَمبَر 2025 (UTC)
<!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29606150 -->
== <span lang="en" dir="ltr">Tech News: 2025-47</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W47"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/47|Translations]] are available.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] is experimenting with [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4_Reading lists|reading lists on mobile web]], allowing logged-in readers with no edits to save private lists of articles for later. The experiment is running on Arabic, Chinese, French, Indonesian, and Vietnamese Wikipedias since the week of 10 November, and will begin on English Wikipedia the week of 17 November.
* Users who can’t receive their email verification code during login can now get help by submitting a form on a new special page. This update is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] initiative. If your account has an email address, please make sure you still have access to it. When logging in from a new device or location without 2FA, you may be asked to enter a 6-digit code sent by email to finish logging in. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Why are you requiring me to enter a code from my email to log in? Can I opt out of this?|Learn more]].
* One new wiki has been created: a {{int:project-localized-name-group-wikisource}} in [[d:Q13324|Minangkabau]] ([[s:min:|<code>s:min:</code>]]) [https://phabricator.wikimedia.org/T408317]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* As part of the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parser Unification]] project, the Content Transform Team rolled out Parsoid as the default parser to many low-traffic Wikipedias and is preparing the next step to high traffic ones. This message is an invitation for you to opt-in to Parsoid, as described in the [[mw:Special:MyLanguage/Help:Extension:ParserMigration|Extension:ParserMigration]] documentation, and identify any issues you might encounter with your own workflow using bots, gadgets, or user scripts. Please, let us know through the ''"Report Visual Bug"'' link in the Tools sidebar or create a phab ticket and tag the [[phab:project/view/5846|Content Transform Team in Phabricator]].
* Unsupported Tools: Several issues with [[:c:Special:MyLanguage/Commons:Video2commons|Video2Commons]] have been fixed, including filename-related upload failures, black-video imports, and retry handling. AV1 support has also been added. Ongoing work focuses on backend stability, ffmpeg errors, subtitle imports, metadata handling, and playlist uploads. To track specific tasks, check the [[phab:tag/video2commons/|Phabricator board]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.3|MediaWiki]]
'''Meetings and events'''
* Save the date for the next Wikimedia Hackathon happening in Milan, Italy from May 1–3, 2026. Registration will open in January 2026. [https://pretix.eu/wikimedia/Hackathon-2026/ Scholarship applications are currently open], and will close on November 28, 2025. If you have any questions, please email <bdi lang="en" dir="ltr">hackathon@wikimedia.org</bdi>.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/47|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W47"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:25, 17 نَوَمبَر 2025 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29627455 -->
== <span lang="en" dir="ltr">Tech News: 2025-48</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W48"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/48|Translations]] are available.
'''Updates for editors'''
* Last week, the [[mw:Special:MyLanguage/Wikimedia Search Platform|Wikimedia Search Team]] recreated the "DWIM" (Do What I Mean) gadget functionality server-side, for Russian and Hebrew Wikipedias. This feature adds cross-keyboard suggestions to the standard search-box suggestions. For example, searching for ''<span lang="und" dir="ltr">cxfcnmt</span>'' on Russian Wikipedia will now add suggestions for ''<span lang="ru" dir="ltr">счастье</span>'' ("happiness") that the user probably intended. They plan to enable this feature for other Russian and Hebrew wikis this week. [https://phabricator.wikimedia.org/T408734]
* Later this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will have syntax highlighting available in [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]]. This requires that the "{{int:discussiontools-preference-sourcemodetoolbar}}" preference be set. [https://phabricator.wikimedia.org/T407918]
* [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|Campaign events extension]] – the set of tools for coordinating events and other on-wiki collaborations has now been deployed to all Wikimedia wikis. A new feature known as [[m:Special:MyLanguage/CampaignEvents/Collaborative contributions|Collaborative contribution]] to help organizers and participants see the impact of activities has also been added. Join the upcoming [[m:Special:MyLanguage/Event:Connection learning session 3|learning session]] to see the new feature in action and share your feedback.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug which stopped CodeReviewBot from working, has now been fixed. [https://phabricator.wikimedia.org/T410417]
'''Updates for technical contributors'''
* Users of Wikimedia API can join a usability study to help validate the new design of Wikimedia REST API sandboxes. Interested participants should fill the [https://wikimediafoundation.limesurvey.net/487662 recruitment survey]. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/IREJRRWTZTGCYWQHDMSNJFTQAEPOOAE3/]
* The MediaWiki Interfaces team is deprecating XSLT stylesheets within the Action API. Support for <code dir=ltr>format=xml'''&xlst={stylesheet}'''</code> will be removed from Wikimedia projects by the end of November, 2025. In addition, it will soon be disabled by default in MediaWiki release versions: v1.43 (LTS), v1.44, and v1.45. Support for XSLT stylesheets will be fully removed from MediaWiki v1.46 (expected to release between April and May 2026). [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/5AX7UWAVVUNUSBOIRHMNOKWOZ5EZI3JX/]
* The WDQS legacy endpoint ([https://query-legacy-full.wikidata.org/ query-legacy-full.wikidata.org]) will be decommissioned at the end of December 2025, and finally closed down on 7th January 2026. After this date, users should expect requests to query.wikidata.org that require the full graph to fail or return invalid results if they are not rewritten to use SPARQL federation. The team encourages users to ensure that tools and workflows use the supported WDQS endpoints (<span dir=ltr><nowiki>https://query.wikidata.org/</nowiki></span> - Main graph or <span dir=ltr><nowiki>https://query-scholarly.wikidata.org/</nowiki></span> - Scholarly graph). For support with migrating use cases, please review the [[d:Special:MyLanguage/Wikidata:Data_access|Data Access]] and [[d:Wikidata:Request_a_query|Request a Query]] pages for details and assistance on alternative access methods.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.4|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/48|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W48"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:55, 24 نَوَمبَر 2025 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29702226 -->
== <span lang="en" dir="ltr">Tech News: 2025-49</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W49"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/49|Translations]] are available.
'''Updates for editors'''
* The Wikipedia Year in Review 2025 will be available on December 2 for users of iOS and Android Wikipedia apps, featuring new personalized insights, updated reading highlights, and refreshed designs. Learn more on the review's [[mw:Special:MyLanguage/Wikimedia Apps/Team/Wikipedia Year in Review/Updates|project page]].
* The Growth team is working on improving the text and presentation of the Verification Email sent to new users to make them more welcoming, useful and informative. Some new text have been drafted for A/B testing and you can help by translating them. See [[phab:T396155|Phabricator]].
* [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]] will now be deployed at Japanese, Urdu and Chinese Wikipedias on December 2. Add a link is based on a prediction model that suggests links to be added to articles. While this feature has already been available on most Wikipedias, the prediction model could not support certain languages. A new model has now been developed to handle these languages, and it will be gradually rolled out to other Wikipedias over time. If you would like to know more, please contact [[mw:user:Trizek (WMF)|Trizek (WMF)]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where search boxes on some Commons pages showed no results due to switch from SpecialSearch to MediaSearch, has now been fixed. [https://phabricator.wikimedia.org/T399476]
* Two new wikis have been created:
** a {{int:project-localized-name-group-wikipedia}} in [[d:Q36846|Toki Pona]] ([[w:tok:|<code>w:tok:</code>]]) [https://phabricator.wikimedia.org/T404457]
** a {{int:project-localized-name-group-wikiquote}} in [[d:Q33655|Nigerian Pidgin]] ([[q:pcm:|<code>q:pcm:</code>]]) [https://phabricator.wikimedia.org/T408318]
'''Updates for technical contributors'''
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.5|MediaWiki]]
'''In depth'''
* The Wikimedia Foundation is in the early stages of exploring approaches to '''Article guidance'''. The initiative aims to identify interventions that could help new editors easily understand and apply existing Wikipedia practices and policies when creating an article. The project is in the exploration and early experimental design phase. All community members are encouraged to [[mw:Special:MyLanguage/Article guidance|learn more]] about the project, and share their thoughts on [[mw:Special:MyLanguage/Talk:Article guidance|the talk page]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/49|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W49"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:57, 1 ڈیٚسَمبَر 2025 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29732328 -->
== <span lang="en" dir="ltr">Tech News: 2025-50</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W50"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/50|Translations]] are available.
'''Weekly highlight'''
* Anybody who wishes to secure their user account can now use [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] (2FA). This is available to all registered users of all Wikimedia projects. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] initiative. Later, 2FA will be required for all users who can take security- or privacy-sensitive actions.
'''Updates for editors'''
* Following last week's deployments, the [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]] feature, which allows editors to add suggested links during editing, will be available to an additional [[Phab:T410469|33 Wikipedias]] starting on 9 December. This expansion is possible thanks to the new prediction model that now supports all languages, including those that were previously not covered. While the feature has been available on most Wikipedias for some time, this rollout brings us closer to using the improved model everywhere. If you have any questions or would like more details please contact [[mw:user:Trizek (WMF)|Trizek (WMF)]].
* Last week, the [[mw:Special:MyLanguage/Wikimedia Search Platform|Search Platform team]] added [[w:en:Transliteration|transliterated]] as-you-type search suggestions to Georgian wikis. If there are only a few regular search suggestions, then queries in Latin or Cyrillic script [[phab:T127003|are now rewritten into Georgian script]] to look for more matches. For example, searching for either <bdi lang="ka-Latn" dir="ltr">''bedniereba''</bdi> or <bdi lang="ka-Cyrl" dir="ltr">''бедниереба''</bdi> will now suggest the existing article about <bdi lang="ka" dir="ltr">ბედნიერება</bdi> ("happiness"). You can recommend other languages where transliterated suggestions would be useful [[phab:T375215|on Phabricator]] for future development.
* Later this week, a controlled experiment will begin for editors on the 100 largest Wikipedias who are editing a section in the mobile web visual editor. 50% of these editors will notice a new "Edit full page" button that will enable them to expand their editing session to the whole page. This feature is intended to make it easier for people on mobile web to edit any article section, regardless of which section-edit icon they tapped to begin. The experiment will last ~4 weeks. You can find [[phab:T409112|more details]] about the project.
* Later this week, the [[mw:Special:MyLanguage/Readers/Reader Growth|Reader Growth team]] will launch a [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.1.14 Expanded Mobile Sections|mobile web experiment]] to expand all article sections by default (currently they are collapsed by default) and pin the section header the user is currently reading to the top of the page. The experiment will affect 10% of users on Arabic, Chinese, French, Indonesian, and Vietnamese Wikipedias. [https://phabricator.wikimedia.org/T409485]
* The [[mw:Special:MyLanguage/Wikimedia Apps/Team/Wikipedia Year in Review/2025 Year in Review|Wikipedia Year in Review 2025]], a feature in the Wikipedia mobile apps (iOS and Android) that provides users with a personalised summary of their engagement with Wikipedia over the year, is now available on the iOS and Android apps. This edition includes expanded personalised insights, improved reading highlights, new donor messaging, and updated designs. Open the app to view your Year in Review and explore your reading journey from 2025.
* A recent software bug caused edits made with VisualEditor to make unintended changes to wikitext, including removing whitespace and replacing spaces with underscores in wikilinks inside citations. This was partially fixed last week, and further fixes are in progress. Editors who used VisualEditor between November 28 and December 2 should review their edits for unexpected modifications. [https://phabricator.wikimedia.org/T411238]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the incorrect handling of URLs copied from the address bar of Microsoft Edge users, has been resolved. [https://phabricator.wikimedia.org/T341281]
'''Updates for technical contributors'''
* Starting this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will have [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] as the editor for Lua, JavaScript, CSS, JSON and Vue content models, instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]]. With this, the [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|linters]] will be upgraded. This is part of a larger effort to eventually replace CodeEditor and provide a consistent code editing experience. [https://phabricator.wikimedia.org/T373711]
* Developers are encouraged to take the [https://wikimediafoundation.limesurvey.net/552643 2025 Developer Satisfaction Survey], which remains open until 5 January 2026. If you build software for the Wikimedia ecosystem and would like to share your experiences or feedback, your participation is greatly appreciated. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/W4WBKO6Q55UWWCCSFWQATKEXBEHP3QNR/]
* There is no new MediaWiki version this week.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/50|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W50"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:44, 8 ڈیٚسَمبَر 2025 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29738112 -->
== <span lang="en" dir="ltr">Tech News: 2025-51</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W51"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/51|Translations]] are available.
'''Updates for editors'''
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:18}} community-submitted {{PLURAL:18|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, one of the fixes addressed an issue for temporary accounts adding an external URL, which triggered an hCaptcha request in more cases than intended, and did not display the required popup on the first attempt to publish the edit. [https://phabricator.wikimedia.org/T411927]
'''Updates for technical contributors'''
* To improve database and site performance, external links to Wikimedia projects will no longer be stored in the database. This means they will not be searchable in [[{{#special:LinkSearch}}]], will not be checked by the Spam Blacklist or AbuseFilter as new links, and will not be in the <code dir=ltr>externallinks</code> table on database replicas. In the future this may be extended to other highly-linked trusted websites on a per-wiki basis, such as Creative Commons links on Wikimedia Commons. [https://phabricator.wikimedia.org/T405005]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.7|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/51|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W51"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:02, 15 ڈیٚسَمبَر 2025 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29796010 -->
== <span lang="en" dir="ltr">Tech News: 2025-52</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2025-W52"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/52|Translations]] are available.
'''Updates for editors'''
* From January, edit filters [[mw:Special:MyLanguage/Extension:AbuseFilter/Access flags|can be set]] to automatically suppress their details such as rules and list of attempted edits and actions. This will help oversighters use edit filters to prevent doxxing or other suppressible material. [https://phabricator.wikimedia.org/T290324]
* The next issue of Tech News will be sent out on 12 January 2026 because of the end of year holidays. Thank you to all of the translators, and people who submitted content or feedback, this year.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:16}} community-submitted {{PLURAL:16|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the crash that occurred when tapping "First Steps" in the Wikipedia Android Year in Review has now been fixed, and the feature opens as expected. [https://phabricator.wikimedia.org/T411546]
'''Updates for technical contributors'''
* Interface elements such as diffs and categories generated by MediaWiki used to have the attribute <code dir=ltr>data-mw="interface"</code> to distinguish from wiki content. The attribute has been replaced with <code dir=ltr>data-mw-interface=""</code>, to avoid potential conflicts with other <code dir=ltr>data-mw</code> attributes, which are generated by Parsoid. [https://phabricator.wikimedia.org/T409187]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] There is no new MediaWiki version this week or next week.
'''Meetings and events'''
* The [[mw:Wikimedia Hackathon Northwestern Europe 2026|Wikimedia Hackathon Northwestern Europe 2026]] will take place on 13-14 March 2026 in Arnhem, the Netherlands. Applications just opened mid-December and will close in mid-January or earlier if capacity is reached. With space for approximately 100 participants, early application is encouraged.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2025/52|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2025-W52"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:44, 22 ڈیٚسَمبَر 2025 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29831856 -->
== <span lang="en" dir="ltr">Tech News: 2026-03</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W03"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/03|Translations]] are available.
'''Weekly highlight'''
* The Wikimedia Foundation has shared some guiding questions for the July 2026–June 2027 Annual Plan on [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] and ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. These focus on global trends, faster and healthier experimentation, better support for newcomers, strengthening editors and advanced users, improving collaboration across projects, and growing and retaining readership. Feedback and ideas are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|talk page]].
'''Updates for editors'''
* As part of the current work of Community Tech team on the [[m:Special:MyLanguage/Community Wishlist/W372|Multiple watchlists]] project, the display of [[Special:EditWatchlist|EditWatchlist]] will be updated as a first step towards multiple watchlists. Additionally, the pagination on [[Special:Search|Search]] will be updated too, as a part of the work on the [[m:Special:MyLanguage/Community Wishlist/W186|Revamp pagination / page navigation]] wish. [https://phabricator.wikimedia.org/T411596]
* [[m:Special:GlobalWatchlist|The Global Watchlist]] is a MediaWiki [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] that lets you see your watchlists from different wikis on the same page. It was recently updated to look more like the regular [[Special:Watchlist|Watchlist]], such as preparing it for temporary accounts in IP masking (including rerouting user links to contributions pages), making page titles bold, and opening links in edit summaries and tags in new browser tabs. [https://phabricator.wikimedia.org/T398361][https://phabricator.wikimedia.org/T298919][https://phabricator.wikimedia.org/T273526][https://phabricator.wikimedia.org/T286309]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where global blocks did not have the option to disable sending emails, has now been fixed, and will be available for use in the week of January 13. [https://phabricator.wikimedia.org/T401293]
'''Updates for technical contributors'''
* The [[mw:Special:MyLanguage/VisualEditor/Citation tool|VisualEditor citation tool]] and [[mw:Special:MyLanguage/Help:Reference Previews|Reference Previews]] now support "map" as a reference type. [https://phabricator.wikimedia.org/T411083]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.10|MediaWiki]]/[[mw:MediaWiki 1.46/wmf.11|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/03|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W03"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:32, 12 جَنؤری 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29907192 -->
== <span lang="en" dir="ltr">Tech News: 2026-04</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W04"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/04|Translations]] are available.
'''Updates for editors'''
* The tray shown on [[Special:Diff|Special:Diff]] in mobile view has been redesigned. It is now collapsed by default, and incorporates a link to undo the edit being viewed, making it easier for mobile editors and reviewers to take action while keeping the interface uncluttered. [https://phabricator.wikimedia.org/T402297]
* [[m:Special:GlobalWatchlist|The Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continues to improve — it now automatically determines the text direction (ensuring correct display of sites with unusual domain names) and shows detailed descriptions for log actions. Later this week, a new permanent link for page creations and CSS classes for each entry element will be added. [https://phabricator.wikimedia.org/T412505][https://phabricator.wikimedia.org/T287929][https://phabricator.wikimedia.org/T262768][https://phabricator.wikimedia.org/T414135]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the previously observed issue in Vector 2022, where anchor link targets were obscured by the sticky header, has now been addressed. [https://phabricator.wikimedia.org/T406114]
'''Updates for technical contributors'''
* As mentioned in the [[m:Special:MyLanguage/Tech/News/2025/44|October 2025 deprecation announcement]], MediaWiki Interfaces team will begin sunsetting all transform endpoints containing a trailing slash from the MediaWiki REST API the week of January 26. Changes are expected to roll out to all wikis on or before January 30th. All API users currently calling them are encouraged to transition to the non-trailing slash versions. Both endpoint variations can be found, compared, and tested using the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox]. If you have questions or encounter any problems, please file a ticket in Phabricator to the [https://phabricator.wikimedia.org/project/view/6931/ #MW-Interfaces-Team board].
* Interactive reference documentation for the [[mw:Special:MyLanguage/Wikimedia REST API|Wikimedia REST API]] has moved. Requests to API docs previously hosted through [[mw:Special:MyLanguage/RESTBase|RESTBase]] (e.g.: <code dir=ltr>https://en.wikipedia.org/api/rest_v1/</code>) are now redirected to the [[w:en:Special:RestSandbox|REST Sandbox]].
* The [[mw:Special:MyLanguage/Wikidata Platform|WMF Wikidata Platform team]] (WDP) has published its [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|January 2026 newsletter]]. It includes updates on the legacy full-graph endpoint decommissioning, the User-Agent policy change, the monthly Blazegraph migration office hours, and efforts to reduce regressions caused by the legacy endpoint shutdown. As a reminder, you can [[m:Special:MyLanguage/Global message delivery/Targets/WDP team updates|subscribe to the WDP newsletter]]!
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.12|MediaWiki]]
'''Meetings and events'''
* The [[mw:Wikimedia Hackathon Northwestern Europe 2026|Wikimedia Hackathon Northwestern Europe 2026]] will take place on 13-14 March 2026 in Arnhem, the Netherlands. Applications opened mid-December and will close soon or when capacity is reached. It's a two-day, technically oriented hackathon bringing together Wikimedians from the region. Hope to see you there!
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/04|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W04"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:29, 19 جَنؤری 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29943403 -->
== <span lang="en" dir="ltr">Tech News: 2026-05</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W05"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/05|Translations]] are available.
'''Updates for editors'''
* Wikimedia Foundation invites comments on [[m:Special:MyLanguage/Product and Technology Advisory Council/Year1 Reflections and Proposed Way Forward 2026 Update|proposed future]] of the [[:m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] until 28 February.
* All users with registered accounts can now use passkeys for [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] (2FA). Passkeys are a simple way to log in without using a second device. They verify the user's identity using a fingerprint, face scan, or a PIN code. To set up a passkey, first set up a regular 2FA method. Currently, to log in with a passkey, users must also use a password. Later this quarter, passwordless login will allow users to log in with a single click and a passkey. Users with advanced rights will also be required to have 2FA enabled. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project.
* Unregistered contributors on blocked IPs or blocked IP ranges can now interact on-wiki to appeal a block by creating a temporary account to appeal a block on the user talk page, unless the "prevent this user from editing their own talk page" is enabled. This solves the problem of logged-out users unable to use the default unblock process via user talk page. [https://phabricator.wikimedia.org/T398673]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the Two-Factor Authentication (2FA) methods description on the management page has been updated. It is now clearer and easier for users to understand and make use of. [https://phabricator.wikimedia.org/T332385]
'''Updates for technical contributors'''
* A new AbuseFilter variable, <code>account_type</code>, has been added to provide a reliable way to determine the account type being created in the <code>createaccount</code> and <code>autocreateaccount</code> actions. As part of this change, the variable <code>accountname</code> has been renamed to <code>account_name</code>, and <code>accountname</code> is now deprecated. Edit filter managers should update any filters that use hardcoded account type checks or the deprecated variable. [https://phabricator.wikimedia.org/T414049]
* Image thumbnails that are requested in non-standard sizes, and using non-standard methods such as direct requests to <code dir=ltr><nowiki>upload.wikimedia.org/…</nowiki></code> will stop working in the near future. This change is to prevent ongoing external abuse by web-scrapers and bots. Some users with custom CSS/JS, Interface Admins who can fix gadgets and local skins, and Tool-authors, will need to update their code to use standard thumbnail sizes. [[phab:T414805|Details, search-links, and examples of how to fix them, are available in the task]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.13|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/05|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W05"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:17, 26 جَنؤری 2026 (UTC)
<!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29969530 -->
== <span lang="en" dir="ltr">Tech News: 2026-06</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W06"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/06|Translations]] are available.
'''Updates for editors'''
* The "{{int:pageinfo-toolboxlink}}" feature, which gives validating information about a page ([{{fullurl:{{FULLPAGENAME}}|action=info}} example]), now automatically includes a table of contents. If there is a local [[{{ns:8}}:Pageinfo-header]] page created by individual users, it can now be removed. [https://phabricator.wikimedia.org/T363726]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, VisualEditor previously added bold or italic formatting inside link descriptions, making the wikicode complex. This has now been fixed. [https://phabricator.wikimedia.org/T409669]
'''Updates for technical contributors'''
* There was no XML dump on 20 January. Additionally, from now on, dumps will be generated once per month only. [https://phabricator.wikimedia.org/T414389]
* The MediaWiki Interfaces team removed support for all transform endpoints containing a trailing slash from the [https://www.mediawiki.org/wiki/Special:MyLanguage/API:REST%20API MediaWiki REST API]. All API users currently calling those endpoints are encouraged to transition to the non-trailing slash versions. If you have questions or encounter any problems, please file a ticket in phabricator to the [https://phabricator.wikimedia.org/project/view/6931/ #MW-Interfaces-Team board].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.14|MediaWiki]]
'''Weekly highlight'''
* Users are reminded that the Wikimedia Foundation has shared some guiding questions for the July 2026–June 2027 Annual Plan on [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] and ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. These focus on global trends, faster and healthier experimentation, better support for newcomers, strengthening editors and advanced users, improving collaboration across projects, and growing and retaining readership. Feedback and ideas are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|talk page]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/06|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W06"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:43, 2 فرؤری 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30000986 -->
== <span lang="en" dir="ltr">Tech News: 2026-07</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W07"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/07|Translations]] are available.
'''Updates for editors'''
* [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] Logged-in contributors who manage large or complex watchlists can now organise and filter watched pages in ways that improve their workflows with the new [[mw:Special:MyLanguage/Help:Watchlist labels|Watchlist labels]] feature. By adding custom labels (for example: pages you created, pages being monitored for vandalism, or discussion pages) users can more quickly identify what needs attention, reduce cognitive load, and respond more efficiently. This improves watchlist usability, especially for highly active editors.
* A new feature available on [[Special:Contributions|Special:Contributions]] shows [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] that are likely operated by the same person, and so makes patrolling less time-consuming. Upon checking contributions of a temporary account, users with access to temporary account IP addresses can now see a view of contributions from the related temporary accounts. The feature looks up all the IPs associated with a given temporary account within the data retention period and shows all the contributions of all temporary accounts that have used these IPs. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts#February 2026: Improvements to the patroller tooling|Learn more]]. [https://phabricator.wikimedia.org/T415674]
* When editors preview a wikitext edit, the reminder box that they are only seeing a preview (which is shown at the top), now has a grey/neutral background instead of a yellow/warning background. This makes it easier to distinguish preview notes from actual warnings (for example, edit conflicts or problematic redirect targets), which will now be shown in separate warning or error boxes. [https://phabricator.wikimedia.org/T414742]
* The [[m:Special:GlobalWatchlist|Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continues to improve — it now properly supports more than one Wikibase site, for example both [[d:|Wikidata]] and [[testwikidata:|testwikidata]]. In addition, issues regarding text direction have been fixed for users who prefer Wikidata or other Wikibase sites in right-to-left (RTL) languages. [https://phabricator.wikimedia.org/T415440][https://phabricator.wikimedia.org/T415458]
* The automatic "magic links" for ISBN, RFC, and PMID numbers have been [[mw:Special:MyLanguage/Help:Magic links|deprecated in wikitext since 2021]] due to inflexibility and difficulties with localization. Several wikis have successfully replaced RFC and PMID magic links with equivalent external links, but a template was often required to replace the functionality of the ISBN magic link. There is now a new [[mw:Special:MyLanguage/Help:Magic words#isbn|built-in parser function]] <code dir=ltr><nowiki>{{#isbn}}</nowiki></code> available to replace the basic functionality of the ISBN magic link. This makes it easier for wikis who wish to migrate off of the deprecated magic link functionality to do so. [https://phabricator.wikimedia.org/T145604]
* Two new wikis have been created:
** a {{int:project-localized-name-group-wikipedia}} in [[d:Q35401|Jju]] ([[w:kaj:|<code>w:kaj:</code>]]) [https://phabricator.wikimedia.org/T413283]
** a {{int:project-localized-name-group-wikipedia}} in [[d:Q1186896|Nawat]] ([[w:ppl:|<code>w:ppl:</code>]]) [https://phabricator.wikimedia.org/T413273]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* A new global user group has been created: [[{{int:grouppage-local-bot}}|{{int:group-local-bot}}]]. It will be used internally by the software to allow community bots to bypass rate limits that are applied to abusive [[w:en:Web scraping|web scrapers]]. Accounts that are approved as bots on at least one Wikimedia wiki will be automatically added to this group. It will not change what user permissions the bot has. [https://phabricator.wikimedia.org/T415588]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.15|MediaWiki]]
'''Meetings and events'''
* The [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Spring 2026|MediaWiki Users and Developers Conference, Spring 2026]] will be held March 25–27 in Salt Lake City, USA. This event is organized by and for the third-party MediaWiki community. You can propose sessions and register to attend. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/AZBWVI46SDEB65PGR5J6E4TYOQQEZXM7/]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/07|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W07"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:29, 9 فرؤری 2026 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30026671 -->
== <span lang="en" dir="ltr">Tech News: 2026-08</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W08"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/08|Translations]] are available.
'''Weekly highlight'''
* The [[mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|SRE Team]] will be performing a cleanup of Wikimedia's [[m:Special:MyLanguage/Etherpad|Etherpad]] instance, the web-based editor for real-time collaborative document editing. All pads will be permanently deleted after 30 April, 2026 – if there are still migration projects in progress at that point the team can revisit the date on a case by case basis. Please create local backups of any content you wish to keep, as deleted data cannot be recovered. This cleanup helps reduce database size and minimize infrastructure footprint. Etherpad will continue to support real-time collaboration, but long-term storage should not be expected. Additional cleanups may occur in the future without prior notice. [https://phabricator.wikimedia.org/T415237]
'''Updates for editors'''
* The Information Retrieval team will be launching an [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|Android mobile app experiment]] that tests hybrid search capabilities which can handle both semantic and keyword queries. The improvement of on-platform search will enable readers to find what they’re looking for directly on Wikipedia more easily. The experiment will first be launched on Greek Wikipedia in late February, followed by English, French, and Portuguese in March. [https://diff.wikimedia.org/2026/01/08/semantic-search-making-it-easier-to-find-the-information-readers-want/ Read more] on Diff blog. [https://www.mediawiki.org/wiki/Readers/Information_Retrieval]
* The Reader Growth team will run [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.10.2 Mobile Table of Contents|an experiment]] for mobile web users, that adds a table of contents and automatically expands all article sections, to learn more about navigation issues they face. The test will be available on Arabic, Chinese, English, French, Indonesian, and Vietnamese Wikipedias.
* Previously, site notices ([[{{ns:8}}:Sitenotice]] and [[{{ns:8}}:Anonnotice]]) would only render on the desktop site. Now, they will render on all platforms. Users on mobile web will now see these notices and be informed. Site administrators should be prepared to test and fix notices on mobile devices to avoid interference with articles. To opt out, interface admins can add <code dir="ltr">#siteNotice { display: none; }</code> to [[{{ns:8}}:Minerva.css]]. [https://phabricator.wikimedia.org/T138572][https://phabricator.wikimedia.org/T416644]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue on [[Special:RecentChanges|Special:RecentChanges]] has been fixed. Previously, clicking hide in the active filters caused the "view new changes since…" button to disappear, though it should have remained visible. The button now behaves as expected. [https://phabricator.wikimedia.org/T406339]
'''Updates for technical contributors'''
* New documentation is now available to help editors debug on-site search features. It supports troubleshooting when pages do not appear in results, when ranking seems unexpected, and when you need to inspect what content is being indexed, helping make search behavior easier to understand and analyze. [[mw:Help:CirrusSearch/Debug|Learn more]]. [https://phabricator.wikimedia.org/T411169]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.16|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/08|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W08"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:16, 16 فرؤری 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30086330 -->
== <span lang="en" dir="ltr">Tech News: 2026-09</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W09"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/09|Translations]] are available.
'''Weekly highlight'''
* [[mw:Special:MyLanguage/Edit check/Reference Check|Reference Check]] has been deployed to English Wikipedia, completing its rollout across all Wikipedias. The feature prompts newcomers to add a citation before publishing new content, helping reduce common citation-related reverts and improve verifiability. In A/B testing, the impact was substantial: newcomers shown Reference Check were approximately 2.2 times more likely to include a reference on desktop and about 17.5 times more likely on mobile web. [https://analytics.wikimedia.org/published/reports/editing/reference_check_ab_test_report_final_2025.html]
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Extension:InterwikiSorting|InterwikiSorting extension]], which allowed for the [[m:Special:MyLanguage/Interwiki sorting order|sorting of interwiki links]], has been undeployed from Wikipedia. As a result, editors who had enabled interwiki link sorting in non-compact mode (full list format) will now see links reordered. The links moving forward will be listed in the alphabetical order of language code. [https://phabricator.wikimedia.org/T253764]
* Later this week, people who are editing a page-section using the mobile visual editor, will notice a new "Edit full page" button. When tapped, you will be able to edit the entire article. This helps when the change you want to make is outside the section you initially opened. [https://phabricator.wikimedia.org/T387175][https://phabricator.wikimedia.org/T409112]
* [[mw:Special:MyLanguage/Readers/Reader Experience|The Reader Experience team]] is inviting editors to assess whether dark mode should still be considered "beta" on their wiki, based on their experience of how well it functions on desktop and mobile. If the feature is deemed mature, editors can update the interface messages in <code dir=ltr>MediaWiki:skin-theme-description</code> and <code dir=ltr>MediaWiki:Vector-night-mode-beta-tag</code> to indicate that dark mode is ready and no longer considered beta.
* The improved [[mw:Wikimedia_Apps/Team/iOS/Activity_Tab|Activity tab]] which displays user-insights is now available to all users of the Wikipedia iOS app (version 7.9.0 and later). Following earlier A/B testing that showed higher account creation among users with access to the feature, it has been rolled out to 100% of users along with some updates. The Activity tab now shows your edited articles in the timeline, offers editing impact insights like contribution counts and article view trends, and customization options to improve in-app experience for users.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug that prevented [[mw:Special:MyLanguage/Extension:DiscussionTools|DiscussionTools]] from working on mobile has now been fixed, restoring full functionality. [https://phabricator.wikimedia.org/T415303]
'''Updates for technical contributors'''
* The [[m:Special:GlobalWatchlist|Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] that makes this possible continues to improve. The latest upgrade is the inclusion of a [[mw:Extension:GlobalWatchlist#hook|new hook]], <code dir=ltr>ext.globalwatchlist.rebuild</code>, which fires after each watchlist rebuild. This allows you to run gadgets and user scripts for the Special page. [https://phabricator.wikimedia.org/T275159]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.17|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/09|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W09"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:03, 23 فرؤری 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30119102 -->
== <span lang="en" dir="ltr">Tech News: 2026-10</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W10"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/10|Translations]] are available.
'''Weekly highlight'''
* Wikipedia 25 [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments|Birthday mode]] is now live on Betawi, Breton, Chinese, Czech, Dutch, English, French, Gorontalo, Indonesian, Italian, Luxembourgish, Madurese, Sicilian, Spanish, Thai, and Vietnamese Wikipedias! This limited-time campaign feature celebrates 25 years of Wikipedia with a birthday mascot, Baby Globe. When turned on, Baby Globe is shown on [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments/article configuration|~2,500 articles]], waiting to be discovered by readers. Communities can choose to turn Birthday mode on by getting consensus from their community and asking an admin to enable the feature and customize it via [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments#Community Configuration Demo|community configuration]] on the local wiki.
'''Updates for editors'''
* [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new feature to re-use references with different details has been released to Swedish Wikipedia, Polish Wikipedia and [[:phab:T418209|a couple of other wikis]]. You can [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#test|try the feature]] on these projects or on testwiki and [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing betawiki]. Learnings from the first pilot wiki German Wikipedia have been [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing/Learnings|published in a report]]. Reach out to the Wikimedia Deutschland team if you are [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Pilot wikis|interested in becoming a pilot wiki]].
* [[mw:Special:MyLanguage/Help:Edit check#Paste check|Paste Check]] will become available at all Wikipedias this week. The feature prompts newcomers who are pasting text they are not likely to have written into VisualEditor to consider whether doing so risks a copyright violation. Paste Check [[mw:Special:MyLanguage/Edit check/Tags|tags]] all edits where it is shown for potential review. Local administrators can configure various aspects of the feature via [[{{#special:EditChecks}}]]. [[mw:Special:MyLanguage/Edit check/Paste Check#A/B Experiment|Research]] across 22 wikis found that Paste Check resulted in an 18% decrease in relative reverted-edits compared to the control group. Translators can [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-visualeditor-ve-mw-editcheck&filter=&optional=1&action=translate help to localize] this and related features.
* The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] will be standardizing the user menu in the top right for all mobile users so that it is closer to the desktop experience. Currently this user menu is only visible to users with Advanced Mobile Controls (AMC) turned on. The only change is that a couple buttons previously in the left-side menu will move to the top right for users who do not have AMC turned on. This change is expected to go out March 9 and seeks to improve the user interface. [https://phabricator.wikimedia.org/T413912]
* Starting in the week of March 2, the emails sent out when an email address was added, removed, or changed for an account will switch to a substantially nicer and clearer HTML email from the prior plaintext one. [https://phabricator.wikimedia.org/T410807]
* Notifications are currently limited to 2,000 historic entries per user, and extend back to 2013 when the feature was released. This is going to be changed to only store Notifications from the last 5 years, but up to 10,000 of them. This will help with long-term infrastructure health and help to prevent more recent notifications from disappearing too soon. [https://phabricator.wikimedia.org/T383948]
* The [[m:Special:GlobalWatchlist|Global Watchlist]] which lets you view your watchlists from multiple wikis on a single page continues to see improvements. The latest update improves label usage experience. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] now allows activating the [[mw:Special:MyLanguage/Manual:Language#Fallback languages|language fallback system]] for Wikidata items without labels in the viewed language, and showing those labels in the user’s preferred Wikidata language if no <code dir=ltr>uselang=</code> URL parameter is provided. [https://phabricator.wikimedia.org/T373686][https://phabricator.wikimedia.org/T416111]
* The Wikipedia Android team has started a beta test of [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|hybrid search]] on Greek Wikipedia. Hybrid search capabilities can handle both semantic and keyword queries enabling readers to find what they’re looking for directly on Wikipedia more easily.
* For security reasons, members of certain user groups are [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|required to have two-factor authentication]] (2FA) enabled. Currently, 2FA is required to use the group, but not to be a member of it. Given that this model still has some vulnerabilities, the situation will [[phab:T418580|gradually change in March]]. Members of these groups will be unable to disable last 2FA method on their account, and it will be impossible to add users without 2FA to these groups. Users will still be able to add new authentication methods or remove them, as long as at least one method is continuously enabled. In the second half of March, users without 2FA will be removed from these groups. This applies to: CentralNotice administrators, checkusers, interface administrators, suppressors, Wikidata staff, Wikifunctions staff, WMF Office IT and WMF Trust & Safety. Nothing will change for other users. See the linked task for deployment schedule. [https://phabricator.wikimedia.org/T418580]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue preventing users from creating an instance in [https://www.wikibase.cloud/ Wikibase.cloud] has now been fixed. [https://phabricator.wikimedia.org/T416807]
'''Updates for technical contributors'''
* To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], over the next month the Wikimedia Foundation will implement global API rate limits across our APIs. In early March, stricter limits will be applied to unidentified requests from outside Toolforge/WMCS and API requests that are made from web browsers. In April, higher limits will be applied to identified traffic. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]].
* The Wikidata Query Service Linked Data Fragment (LDF) endpoint will be decommissioned in February. This endpoint served limited traffic, which was successfully migrated to other data access methods that were better suited to support existing use cases. The hardware used to support the LDF endpoint will be reallocated to support the ongoing backend migration efforts. [https://phabricator.wikimedia.org/T415696]
* The new Parsoid parser [[mw:Special:MyLanguage/Parsoid/Parser Unification/Updates|continues to be deployed to additional wikis]], improving platform sustainability and making it easier to introduce new reading and editing features. Parsoid is now the default parser on 488 WMF wikis (268 Wikipedias), now covering more than 10% of all Wikipedia page views.
* The process and criteria for [[Special:MyLanguage/Wikimedia Enterprise#Access|requesting exceptional access]] to the high volume feed of the ''Wikimedia Enterprise'' APIs (at no cost for mission-aligned usecases), [[m:Talk:Wikimedia Enterprise#Exceptional access criteria|have now been published]]. This is to provide more thorough and clearer documentation for users.
* [https://techblog.wikimedia.org/ Tech Blog], the blog dedicated to the Wikimedia technical community [https://techblog.wikimedia.org/2026/02/24/a-tech-blog-diff/ will be migrating] to [[diffblog:|Diff]], the community news and event blog. The migration should be complete in April 2026, after which new posts will be accepted for publishing. Readers will be able to access posts – old and new – on the landing page at https://diff.wikimedia.org/techblog.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.18|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/10|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W10"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:51, 2 مارٕچ 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30137798 -->
== <span lang="en" dir="ltr">Tech News: 2026-11</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W11"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/11|Translations]] are available.
'''Weekly highlight'''
* [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies.
* Last week, all wikis had 2 hours of read-only time, and extended unavailability for user-scripts and gadgets. This was due to a security incident which has since been resolved. Work is ongoing to prevent re-occurrences. For current information please see the [[m:Steward's noticeboard#Statement on Meta about today's user script security incident|post on the Stewards' noticeboard]] ([[m:Special:MyLanguage/Wikimedia Foundation/Product and Technology/Product Safety and Integrity/March 2026 User Script Incident|translations]]).
'''Updates for editors'''
* Users facing multiple blocks on mobile will now see the reasons for each block separately, instead of a generic message. This helps them understand why they are blocked and what steps they can take to resolve the issue. For example, users affected for using common VPNs (such as [[Special:MyLanguage/Apple iCloud Private Relay|iCloud Private Relay]]) will receive clearer guidance on what they need to do to start editing again. [https://phabricator.wikimedia.org/T357118]
* Later this week, [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] will become available as a beta feature within the visual editor at all Wikipedias. This feature proactively suggests various types of actions that people can consider taking to improve Wikipedia articles, and learn about related guidelines. The feature is locally configurable, and can also be locally expanded with custom Suggestions. Current settings can be seen at [[Special:EditChecks]] and there are [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators %E2%80%93 local customization|instructions for how administrators can customize]] the links to point to local guidelines. The feature is connected to [[mw:Special:MyLanguage/Help:Edit check|Edit check]] which suggests improvements while someone is writing new content. In the future, the Editing team plans to evaluate the feature's impact with newcomers through a controlled experiment. [https://phabricator.wikimedia.org/T404600]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where the cursor became misaligned during the use of CodeMirror’s syntax highlighting, which makes wikitext and code easier to read, has now been fixed. This problem specifically affected users who defined a font rule in a custom stylesheet while creating a new topic with DiscussionTools. [https://phabricator.wikimedia.org/T418793]
'''Updates for technical contributors'''
* API rate limiting update: To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], global API rate limits will be applied this week to requests without a compliant User-Agent that originate from outside Toolforge/WMCS and to unauthenticated requests made from web browsers. Higher limits will be applied to identified traffic in April. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]].
* The new GraphQL API has been released. The API was developed as a flexible alternative to select features of the Wikidata Query Service (WDQS), to improve developer experience and foster adaptability, and efficient data access. Try it out and [[d:Wikidata:Wikibase GraphQL#Feedback and development|give feedback]]. You can also [https://greatquestion.co/wikimediadeutschland/GraphQLAPI/apply sign up for usability tests].
* The [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|PTAC Unsupported Tools Working Group]] continued improvements to [[commons:Special:MyLanguage/Commons:Video2commons#|Video2Commons]] in February, with fixes addressing authentication errors, large-file handling, task queue visibility, and clearer upload behavior. Work is still ongoing in some areas, including changes related to deprecated server-side uploads. Read [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group#February 2026|this update]] to learn more.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.19|MediaWiki]]
'''In depth'''
* The Article Guidance team invites experienced Wikipedia editors from selected [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators#Collaborators|pilot wikis]] and interested contributors from other Wikipedias to fill out this questionnaire which is available in [https://docs.google.com/forms/d/e/1FAIpQLSfmLeVWnxmsCbPoI_UF2jyRcn73WRGWCVPHzerXb4Cz97X_Ag/viewform English], [https://docs.google.com/forms/d/e/1FAIpQLSd6rzr4XXQw8r4024fE3geTPFe13M_6w7Mitj-YJi0sOlWTAw/viewform?usp=header Arabic], [https://docs.google.com/forms/d/e/1FAIpQLSdok3-RfB18lcugYTUMGkpwmqG_8p760Wv4dCXitOXOszjUDw/viewform?usp=header Bengali], [https://docs.google.com/forms/d/e/1FAIpQLSfjTfYp4jEo0akA4B1e-Nfg3QZPCudUjhJzHzzDi6AHyAaMGA/viewform?usp=header Japanese], [https://docs.google.com/forms/d/e/1FAIpQLScteVoI29Aue4xc72dekk-6RYtvmMgQxzMI900UOawrFrSTWg/viewform?usp=header Portuguese], [https://docs.google.com/forms/d/e/1FAIpQLSetdxnYwL3ub2vqA7awCg5hJZPMIYcDPaiTe12rY9h0GYnVlw/viewform?usp=header Persian], and [https://docs.google.com/forms/d/e/1FAIpQLScNvfJF-Ot-4pzA4qAN771_0QDJ4Li19YcUsaTgSKW8Nc7U_Q/viewform?usp=header Turkish]. Your answers will help the team customize guidance for less experienced editors and help them learn community policies and practices while creating an article. Learn more [[mw:Special:MyLanguage/Article guidance|on the project page]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/11|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W11"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:52, 9 مارٕچ 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30213008 -->
== <span lang="en" dir="ltr">Tech News: 2026-12</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W12"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/12|Translations]] are available.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature, also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], has been used for wikitext syntax highlighting since November 2024. It will be promoted out of beta by May 2026 in order to bring improvements and new [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Features|features]] to all editors who use the standard syntax highlighter. If you have any questions or concerns about promoting the feature out of beta, [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|please share]]. [https://phabricator.wikimedia.org/T259059]
* Some changes to local user groups are performed by stewards on Meta-Wiki and logged there only. Now, interwiki rights changes will be logged both on Meta-Wiki and the wiki of the target user to make it easier to access a full record of user's rights changes on a local wiki. Past log entries for such changes will be backfilled in the coming weeks. [https://phabricator.wikimedia.org/T6055]
* On wikis using [[m:Special:MyLanguage/Flagged Revisions|Flagged Revisions]], the number of pending changes shown on [[{{#Special:PendingChanges}}]] previously counted pages which were no longer pending review, because they have been removed from the system without being reviewed, e.g. due to being deleted, moved to a different namespace, or due to wiki configuration changes. The count will be correct now. On some wikis the number shown will be much smaller than before. There should be no change to the list of pages itself. [https://phabricator.wikimedia.org/T413016]
* Wikifunctions composition language has been rewritten, resulting in a new version of the language. This change aims to increase service stability by reducing the orchestrator's memory consumption. This rewrite also enables substantial latency reduction, code simplification, and better abstractions, which will open the door to later feature additions. Read more about [[f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|the changes]].
* Users can now sort search results alphabetically by page title. The update gives an additional option to finding pages more easily and quickly. Previously, results could be sorted by Edit date, Creation date, or Relevance. To use the new option, open 'Advanced Search' on the search results page and select 'Alphabetically' under 'Sorting Order'. [https://phabricator.wikimedia.org/T403775]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented UploadWizard on Wikimedia Commons from importing files from Flickr has now been fixed. [https://phabricator.wikimedia.org/T419263]
'''Updates for technical contributors'''
* A new special page, [[{{#special:LintTemplateErrors}}]], has been created to list transcluded pages that are flagged as containing lint errors to help users discover them easily. The list is sorted by the number of transclusions with errors. For example: [[{{#special:LintTemplateErrors}}/night-mode-unaware-background-color]]. [https://phabricator.wikimedia.org/T170874]
* Users of the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature have been using [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages, for some time now. Along with promoting CodeMirror 6 out of beta, the plan is to replace CodeEditor as the standard editor for these content models by May 2026. [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|Feedback or concerns are welcome]]. [https://phabricator.wikimedia.org/T419332]
* The [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] JavaScript modules will soon be upgraded to CodeMirror 6. Leading up to the upgrade, loading the <code dir=ltr>ext.CodeMirror</code> or <code dir=ltr>ext.CodeMirror.lib</code> modules from gadgets and user scripts was deprecated in July 2025. The use of the <code dir=ltr>ext.CodeMirror.switch</code> hook was also deprecated in March 2025. Contributors can now make their scripts or gadgets compatible with CodeMirror 6. See the [[mw:Special:MyLanguage/Extension:CodeMirror#Gadgets and user scripts|migration guide]] for more information. [https://phabricator.wikimedia.org/T373720]
* The MediaWiki Interfaces team is expanding coverage of REST API module definitions to include [[mw:Special:MyLanguage/API:REST API/Extensions|extension APIs]]. REST API modules are groups of related endpoints that can be independently managed and versioned. Modules now exist for [https://phabricator.wikimedia.org/T414470 GrowthExperiments] and [https://phabricator.wikimedia.org/T419053 Wikifunctions] APIs. As we migrate extension APIs to this structure, documentation will move out of the main MediaWiki OpenAPI spec and REST Sandbox view, and will instead be accessible via module-specific options in the dropdown on the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox] (i.e., [[{{#Special:RestSandbox}}]], available on all wiki projects).
* The [[mw:Special:MyLanguage/Extension:Scribunto|Scribunto]] extension provides different pieces of information about the wiki where the module is being used via the [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual|mw.site]] library. Starting last week, the library also provides a [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.site.wikiId|way]] of accessing the [[mw:Special:MyLanguage/Manual:Wiki ID|wiki ID]] that can be used to facilitate cross-wiki module maintenance. [https://phabricator.wikimedia.org/T146616]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.20|MediaWiki]]
'''In depth'''
* The [[m:Special:MyLanguage/Coolest Tool Award|2026 Coolest Tool Award]] celebrating outstanding community tools, is now open for nominations! Nominate your favorite tool using the [https://wikimediafoundation.limesurvey.net/435684?lang=en nomination survey] form by 23 March 2026. For more information on privacy and data handling, please see the [[foundation:Special:MyLanguage/Legal:Coolest_Tool_Award_2026_Survey_Privacy_Statement|survey privacy statement]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/12|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W12"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:35, 16 مارٕچ 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30260505 -->
== <span lang="en" dir="ltr">Tech News: 2026-13</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W13"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/13|Translations]] are available.
'''Weekly highlight'''
* Wikimedia site users can now log in without a password using passkeys. This is a secure method supported by fingerprint, facial recognition, or PIN. With this change, all users who opt for passwordless login will find it easier, faster, and more secure to log in to their accounts using any device. The new passkey login option currently appears as an autofill suggestion in the username field. An additional [[phab:T417120|"Log in with passkey" button]] will soon be available for users who have already registered a passkey. This update will improve security and user experience. The [[c:File:Passwordless_login_screencast.webm|screen recording]] demonstrates the passwordless login process step by step.
* [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies.
'''Updates for editors'''
* Wikimedia site users can now export their notifications older than 5 years using a [[toolforge:echo-chamber|new Toolforge tool]]. This will ensure that users retain their important notifications and avoid them being lost based on the planned change to delete notifications older than 5 years, as previously announced. [https://phabricator.wikimedia.org/T383948]
* Wikipedia editors in Indonesian, Thai, Turkish, and Simple English now have access to Special:PersonalDashboard. This is an [[mw:Special:MyLanguage/Moderator Tools/Dashboard|early version of an experience]] that introduces newer editors to patrolling workflows, making it easier for them to move from making edits to participating in more advanced moderation work on their project. [https://phabricator.wikimedia.org/T402647]
* The [[Special:Block]] now has two minor interface changes. Administrators can now easily perform indefinite blocks through a dedicated radio button in the expiry section. Also, choosing an indefinite expiry provides a different set of common reasons to select from, which can be changed at: [[MediaWiki:Ipbreason-indef-dropdown]]. [https://phabricator.wikimedia.org/T401823]
* Mobile editors [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#Logged-out|at several wikis]] can now see an improved logged-out edit warning, thanks to the recent updates from the Growth team. These changes released last week are part of ongoing efforts and tests to enhance [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|account creation experience on mobile]] and then increase participation. [https://phabricator.wikimedia.org/T408484]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:36}} community-submitted {{PLURAL:36|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented mobile web users from seeing the block information when affected by multiple blocks has been fixed. They can now see messages of all the blocks currently affecting them when they access Wikipedia.
'''Updates for technical contributors'''
* Images built using Toolforge will soon get the upgraded buildpacks version, bringing support for newer language versions and other upstream improvements and fixes. If you use Toolforge Build Service, review the recent [https://lists.wikimedia.org/hyperkitty/list/cloud-announce@lists.wikimedia.org/thread/EMYTA32EV2V5SQ2JIEOD2CL66YFIZEKV/ cloud-announce email] and update your build configuration as necessary to ensure your tools are compatible. [https://wikitech.wikimedia.org/w/index.php?title=Help:Toolforge/Building_container_images&oldid=2392097#Buildpack_environment_upgrade_process][https://phabricator.wikimedia.org/T380127]
* The [https://api.wikimedia.org/wiki/Main_Page API Portal] documentation wiki will shut down in June 2026. API keys created on the API Portal will continue to work normally. api.wikimedia.org endpoints will be deprecated gradually starting in July 2026. Documentation on the API Portal is moving to [[mw:Wikimedia APIs|mediawiki.org]]. Learn more on the [[wikitech:API Portal/Deprecation|project page]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.21|MediaWiki]]
'''In depth'''
* [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] is considering improvements to [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names|automatically generated reference names in VisualEditor]]. Please check out the [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names#Proposed solutions|proposed solutions]] and participate in the [[m:Talk:WMDE Technical Wishes/References/VisualEditor automatic reference names#Request for comment|request for comment]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/13|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W13"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:50, 23 مارٕچ 2026 (UTC)
<!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30268305 -->
== <span lang="en" dir="ltr">Tech News: 2026-14</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W14"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/14|Translations]] are available.
'''Weekly highlight'''
* The Beta version of [[abstract:|Abstract Wikipedia]] a new Wikimedia project which is language-independent, was launched last week. The project allows communities to build Wikipedia articles in their native language, which can be readily accessed by other users in their own languages. The wiki is powered by instructions from Wikifunctions and also based on structured content from Wikidata. [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-26|Read more]].
'''Updates for editors'''
* The Growth team is running an A/B test to evaluate a clearer, more user-friendly message that promotes account creation on wikis. Currently when logged-out mobile users begin editing, they see a jarring warning message that can feel abrupt and discouraging. This also presents temporary account editing as the default rather than encouraging account creation. The test is running on ten Wikipedias, including Arabic, French, Spanish and German. [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#2. Improve logged-out warning message (T415160)|Read more]].
* The Wikimedia Apps team is inviting feedback on [[mw:Special:MyLanguage/Wikimedia Apps/Team/Future of Editing on the Mobile Apps|how editing should work on the Wikipedia mobile apps]]. The discussion focuses on improving how users access editing tools when they tap "Edit". This is part of a broader effort to convert readers who develop an interest in editing, to access a more user-friendly pathway to start contributing.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:45}} community-submitted {{PLURAL:45|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where citation fetching from the large newspaper archive [https://www.newspapers.com Newspapers.com] was no longer working, due to a block in [[mw:Special:MyLanguage/Citoid|Citoid]] requests, has now been fixed. [https://phabricator.wikimedia.org/T419903]
'''Updates for technical contributors'''
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.22|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/14|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W14"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:25, 30 مارٕچ 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30329462 -->
== <span lang="en" dir="ltr">Tech News: 2026-15</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W15"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/15|Translations]] are available.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] now includes a new group goal-setting feature, enabling organizers to set and track event goals such as the number of articles created and participating contributors in real time. Similarly, participants can work toward shared targets and see their collective impact as the event unfolds. The feature is now available on all Wikimedia wikis. Learn more in [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Collaborative contributions#Goal setting|the documentation]].
* [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] The new [[mw:Special:MyLanguage/Help:Watchlist labels|watchlist labels]] feature (announced in [[m:Special:MyLanguage/Tech/News/2026/07|Tech News 2026-07]]) is now available via VisualEditor, the source editor, and the 'watchstar' (or watch link, for skins that don't have a star icon). Previously it was only possible to assign labels via [[Special:EditWatchlist|EditWatchlist]]. In all three places it is a new field following the expiry field.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where talk pages on mobile with Parsoid are unusable after empty section headers, has now been fixed. [https://phabricator.wikimedia.org/T419171]
'''Updates for technical contributors'''
* The [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|sub-referencing feature]], which lets editors add details to an existing reference without duplicating it, will be gradually rolled out to [[phab:T414094|more wikis]] later this year. Wikis using the [[mw:Special:MyLanguage/Reference Tooltips|Reference Tooltips]] gadget are encouraged to update their version (typically at [[m:MediaWiki:Gadget-ReferenceTooltips.js|MediaWiki:Gadget-ReferenceTooltips.js]] as shown [https://en.wikipedia.org/w/index.php?diff=1344408362 here]) to ensure compatibility. Other reference-related gadgets may also be affected. [https://phabricator.wikimedia.org/T416304]
* All Wikinews editions will be closed and switched to read-only mode on 4 May 2026. Content will remain accessible, but no new edits or articles can be added. This closure was approved by the Board of Trustees of the Wikimedia Foundation following extended discussions. [[m:Wikimedia Foundation Board noticeboard#Board of Trustees Approves Closure of Wikinews|Read more]].
* The [[:mw:Special:MyLanguage/API:Action API|Action API]] has had several formats for requested output. One of them, <bdi lang="zxx" dir="ltr"><code><nowiki>format=php</nowiki></code></bdi>, is being removed soon. Please ensure your scripts or bots use the [[mw:Special:MyLanguage/API:Data formats#Output|JSON format]]. This removal should affect very few scripts and bots. [https://phabricator.wikimedia.org/T118538]
* The [[Special:NamespaceInfo|Special:NamespaceInfo]] page now includes namespace aliases. For example "WP" for the "Project" ("Wikipedia") namespace on the German Wikipedia. [https://phabricator.wikimedia.org/T381455]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.23|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/15|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W15"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:18, 6 اپریٖل 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30362761 -->
== <span lang="en" dir="ltr">Tech News: 2026-16</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W16"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/16|Translations]] are available.
'''Weekly highlight'''
* Experienced editors are invited to [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Main_Page test] the [[mw:Special:MyLanguage/Article guidance|Article guidance]] feature, designed to help less-experienced editors create well-structured, policy-compliant Wikipedia articles. Testing instructions are [[mw:Special:MyLanguage/Article guidance/Test feature guide|available]]. Also, after reviewing [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance the outlines], please provide feedback on the [[mw:Talk:Article guidance|project talk page]]. Based on your input, the feature will be refined and transferred to the pilot Wikipedias to translate and adapt. Check out [[c:File:Article Guidance workflow demo - April 2026.webm|the video]] explaining the feature.
'''Updates for editors'''
* On most wikis, all autoconfirmed users can now use [[Special:ChangeContentModel|Special:ChangeContentModel]] page to [[mw:Special:MyLanguage/Help:ChangeContentModel|create new pages with custom content models]], such as mass message lists, making custom page formats more accessible. Check [[Special:ListGroupRights|Special:ListGroupRights]] for the status of your wiki. [https://phabricator.wikimedia.org/T248294]
* The Growth team has launched an [[mw:Special:MyLanguage/Contributors/Account_Creation_Experiments|account creation experiment]] to evaluate whether adding an account creation button to the mobile web header increases new account registrations and encourages more mobile users to contribute to the wikis. The experiment is currently live on Hindi, Indonesian, Bengali, Thai, and Hebrew Wikipedia, and targets 10% of logged-out mobile web users.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where VisualEditor could get stuck loading on Windows devices with animations turned off, has now been fixed. [https://phabricator.wikimedia.org/T382856]
'''Updates for technical contributors'''
* Starting later this week, {{int:group-abusefilter}} who have the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature enabled will have [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] as the editor at [[Special:AbuseFilter|Special:AbuseFilter]]. This is part of the broader effort to make the user experience more consistent across all editors. [https://phabricator.wikimedia.org/T399673][https://phabricator.wikimedia.org/T419332]
* Tools and bots that access the [[mw:Special:MyLanguage/Notifications/API|Notifications API]] (<bdi lang="zxx" dir="ltr"><code><nowiki>action=query&meta=notifications</nowiki></code></bdi>) will need to update their OAuth or BotPassword grants to also include access to private notifications. [https://phabricator.wikimedia.org/T421991]
* Due to a library upgrade, listings on category pages may be displayed out of order starting on Monday, 20th April. A migration script will be run to correct this, and will take hours to days depending on the size of the wiki (up to a week for English Wikipedia). [https://phabricator.wikimedia.org/T422544]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.24|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/16|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W16"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:18, 13 اپریٖل 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30380527 -->
== <span lang="en" dir="ltr">Tech News: 2026-17</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W17"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/17|Translations]] are available.
'''Weekly highlight'''
* After two years of development, [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]], also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], is to be promoted out of beta on Tuesday, April 21. It brings better code and wikitext readability, reduction in typing errors, and other [[mw:Special:MyLanguage/Help:Extension:CodeMirror|benefits]] to all users of the standard syntax highlighter. A huge thank you to volunteer [https://phabricator.wikimedia.org/p/Bhsd/ Bhsd] who developed many of the new features, including [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Code folding|code folding]], [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Autocompletion|autocompletion]], and [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|linting]]. [https://phabricator.wikimedia.org/T259059]
* A major update to the Wikipedia app for iOS is now rolling out, redesigning the interface to align with Apple's latest "Liquid Glass" visual design. [https://apps.apple.com/us/app/wikipedia/id324715238 Download the latest version] and explore the update.
'''Updates for editors'''
* [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|Reading lists]] is a feature which allows readers to save articles to a list for reading later. This feature is now in beta on Arabic, French, Indonesian, Vietnamese, and Chinese Wikipedias and by default for all new accounts on all Wikipedias.
* An experiment which explores extending [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|Page Previews to mobile web]] will be launched in the week of April 20 on Arabic, English, French, Italian, Polish, and Vietnamese Wikipedias. Page Previews are pop-ups that display a thumbnail, lead paragraph, and a link to open the full article of a blue link, thereby improving content discovery. The feature is already available on desktop and in the apps. [[m:Special:MyLanguage/List of experiments in Product and Technology#Template|Read more about this experiment and others]].
* On several wikis, logged-in editors who haven't [[mw:Special:MyLanguage/Help:Email confirmation|confirmed their email addresses]] can now see a banner encouraging them to do so. Having the email address confirmed allows a user to restore access to the account if they lose it. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Encouraging users to confirm their email addresses|Learn more]]. [https://phabricator.wikimedia.org/T421366]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:15}} community-submitted {{PLURAL:15|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where editing very large wiki pages in the 2017 wikitext editor caused slow loading, preview and scrolling lag, and performance issues when selecting, cutting, or pasting content, has now been fixed. [https://phabricator.wikimedia.org/T184857]
'''Updates for technical contributors'''
* As part of the promotion of [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] from a beta feature, all users will use [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages. [https://phabricator.wikimedia.org/T419332]
* The <code>mirrors.wikimedia.org</code> service for Debian and Ubuntu users will sunset and stop working on May 15. The resources for the service will be replaced with new and better options. Some users may need to switch to a different server which should take about a minute. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/LJYRIS4WB66HIRCAO4GIDTXCMDVZRBMA/ You can read more]. [https://phabricator.wikimedia.org/T416707]
* The <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> table will be removed from [[wikitech:Help:Wiki Replicas|wikireplicas]]. If your tools or queries access <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> or <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> directly, please update them to use the <bdi lang="zxx" dir="ltr"><code><nowiki>file</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>filerevision</nowiki></code></bdi> table before 28 May. [https://phabricator.wikimedia.org/T28741]
* Following the recent implementation of global API rate limits on unidentified traffic, the Wikimedia Foundation will continue efforts to ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]] by applying global limits to identified API traffic beginning the last week of April. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]].
* The [[mw:Special:MyLanguage/Attribution API|Attribution API]] is now available as a [[mw:Special:MyLanguage/Wikimedia APIs/Stability policy|beta]]. The API fetches information for crediting Wikimedia articles and media files wherever they are used. Reference documentation is available through the REST Sandbox special page available on all Wikimedia wikis (such as the [https://en.wikipedia.org/w/index.php?api=attribution.v0-beta&title=Special%3ARestSandbox REST sandbox on English Wikipedia]). Share your feedback on the [[mw:Talk:Attribution API|project talk page]].
* There is no new MediaWiki version this week.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/17|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W17"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14:59, 20 اپریٖل 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30432763 -->
== <span lang="en" dir="ltr">Tech News: 2026-18</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W18"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/18|Translations]] are available.
'''Updates for editors'''
* There is a change in how new users are autoconfirmed that will improve anti-vandalism protection. Currently, users who have had an account for a few days and made a few edits are automatically added to the [[{{int:grouppage-autoconfirmed/{{CONTENTLANGUAGE}}}}|{{int:group-autoconfirmed}}]] group. This configuration tends to be exploited by some vandals, who create accounts and start to use them only after some time. To mitigate this, the configuration will be updated next week so that – for the purpose of becoming autoconfirmed – the account age will be counted from their first edit, instead of registration date. The numeric value of the age threshold will remain the same. This change will be deployed only to wikis which require at least one edit as part of the autoconfirmation conditions. [https://phabricator.wikimedia.org/T418484]
* All Wikipedia users with new accounts and those who activated the "automatically enable most beta features" option in their preference can now use the [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|reading lists]] beta feature to save articles for later reading. This helps organize reading interests in one place for convenient access.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where infobox images have huge padding in Firefox, has been fixed. [https://phabricator.wikimedia.org/T423676]
'''Updates for technical contributors'''
* As a reminder, the global API rate limits will be applied this week to identified API traffic. This is to help ensure [[mw:MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]]. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, including the actual rate limits, see [[mw:Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.26|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/18|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W18"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:05, 27 اپریٖل 2026 (UTC)
<!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30458046 -->
== <span lang="en" dir="ltr">Tech News: 2026-19</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W19"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/19|Translations]] are available.
'''Weekly highlight'''
* The [[mw:Special:MyLanguage/Article guidance|Article guidance]] team invites experienced editors of [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators|pilot Wikipedias]]—Arabic, Bangla, Japanese, Portuguese, Persian, Turkish, Simple English, Spanish, and French—to help translate and adapt [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance sample outlines]. These outlines will guide editors in creating clear, well-structured, and policy-compliant articles when using [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Special:NewArticle the feature] once it is launched in May 2026. [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|Simple instructions]] on how to translate and adapt the outlines are available.
'''Updates for editors'''
* The [[:m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] has published [[:m:Special:MyLanguage/Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|draft recommendations]] on a model that affiliates can follow when contributing to the technical space. Community members are invited to provide feedback on the recommendation until May 8th [[:m:Talk:Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|on the talk page]].
* The number of available thumbnail size preferences in MediaWiki is being reduced to three standardized options—Small (180px), Regular (250px), and Large (400px), as part of ongoing efforts to improve performance and reduce strain on thumbnail services. As a result, existing preferences will be mapped to the nearest new size (for example, smaller selections like 120px or 150px will render at 180px, while larger ones like 300px or 360px will render at 400px). The preferences interface will soon be updated to reflect these changes, and users who wish to opt out or provide feedback can do so. [https://phabricator.wikimedia.org/T424909]
* From now on, even when a permission expires automatically, users will receive an Echo notification similar to the standard notification for permission changes. There is a difference between this and [[m:Special:MyLanguage/Global reminder bot|Global reminder bot]] in that the latter reminds users a week ''before'' the rights are due to expire, so that they can renew the rights.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the problem where the ULS language selector in [[m:Special:Translate|Special:Translate]] would scroll vertically when it shouldn't, has been resolved. Previously, when users opened the "Translate to English" dropdown and typed certain inputs, the dialog would scroll vertically by a few pixels even when there was enough space to display all results. The dropdown no longer shifts unnecessarily when filtering languages. [https://phabricator.wikimedia.org/T358864]
* The [[m:Special:GlobalWatchlist|Global Watchlist]], which lets you view your watchlists from multiple wikis on a single page, continues to improve. For example, watchlists for Wikibase sites such as [[:d:|Wikidata]] now support [[mw:Special:MyLanguage/Extension:EntitySchema|EntitySchema]] elements for better tracking. The Live Updates mode now refreshes the special page every 60 seconds to comply with the updated [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] for improved real-time responsiveness. Additionally, a directionality bug that displayed links as "changes 3" instead of "3 changes" in mixed-direction lists has been fixed. [https://phabricator.wikimedia.org/T415450][https://phabricator.wikimedia.org/T424422][https://phabricator.wikimedia.org/T418091]
'''Updates for technical contributors'''
* The second phase of [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] has been rolled out to reduce the [[diffblog:2026/03/26/quo-vadis-crawlers-progress-and-whats-next-on-safeguarding-our-infrastructure/|impact of AI crawlers]] and ensure fair, sustainable access to Wikimedia resources, prioritising human and mission-aligned traffic. [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits#Limits|Limits]] have been shifted from per-hour to per-minute, producing smoother traffic patterns and more predictable API load. Community users are not expected to be affected, and no action is required. Early indications show some User-Agent-based requestors are adjusting behaviour, and around 64% of automated API traffic has been identified. Monitoring continues, and Wikimedia Enterprise remains available for commercial support.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.27|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/19|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W19"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:42, 4 مٔی 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30498077 -->
== <span lang="en" dir="ltr">Tech News: 2026-20</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W20"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/20|Translations]] are available.
'''Weekly highlight'''
* Community Tech has published [[m:Special:MyLanguage/Community Wishlist/How to write a good wish|new guidance]] explaining how wishes on Community Wishlist are triaged and prioritized. The documentation is intended to help contributors write stronger proposals by clarifying the factors that influence prioritization decisions. Beyond vote counts, the guidance highlights considerations such as potential impact on the community when determining which wishes move forward.
'''Updates for editors'''
* The Reader Growth team is launching an experiment to test a new [[mw:Special:MyLanguage/Readers/Reader_Growth/Share_Card|Share Card feature]] that allows readers to create visually engaging cards from Wikipedia articles or selected article sections and share them online, with each card linking back to the original article to help expand readership and article discovery. The mobile-only A/B test will be available to a portion of readers on Arabic, Chinese, French, Vietnamese, and English Wikipedia to better understand reading and sharing habits, and is scheduled to begin the week of May 18 and run for four weeks.
* The Android and iOS Wikipedia apps recently released the [[mw:Special:MyLanguage/Wikimedia_Apps/Team/25th_Birthday_Reading_Challenge|25-day reading challenge]] into Beta, as part of efforts to drive reader engagement by encouraging users to complete reading milestones. To track their reading streak during the challenge, App users can add a widget featuring Baby Globe to their home screen. The challenge officially begins May 11.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:17}} community-submitted {{PLURAL:17|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the global preference for enabling syntax highlighting in wikitext could unexpectedly disable itself after being turned on, has now been fixed. [https://phabricator.wikimedia.org/T425286]
'''Updates for technical contributors'''
* [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The ResourceLoader module <bdi lang="zxx" dir="ltr"><code><nowiki>mediawiki.ui.input</nowiki></code></bdi>, deprecated since [[m:Special:MyLanguage/Tech/News/2023/39|September 2023]], will be removed this week. There is a [[mw:Special:MyLanguage/Codex/Migrating_from_MediaWiki_UI|guide for migrating from MediaWiki UI to Codex]] for any tools that use it. [https://phabricator.wikimedia.org/T420125]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.2|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/20|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W20"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:20, 11 مٔی 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30524429 -->
== <span lang="en" dir="ltr">Tech News: 2026-21</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W21"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/21|Translations]] are available.
'''Weekly highlight'''
* The Abstract Wikipedia team has identified five potential pilot wikis to assess their interest in adopting abstract articles on their wikis. The pilots are Malayalam, Bengali, Dagbani, Arabic, and Indonesian Wikipedia. The feedback period will be open until May 22. If your community is interested in becoming a pilot, [[m:Talk:Abstract Wikipedia|let us know on Meta]].
'''Updates for editors'''
* An experiment to show [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists]] to logged-out readers on mobile web will launch on May 18 across German, Spanish, Italian, Portuguese, Polish, Dutch, Turkish, and Urdu Wikipedias, and will run for one month. The effort supports broader goals of helping readers save and organize articles for later reading, while encouraging habits that could lead to future Wikipedia contributions.
* To support a bookmark button in the Reading List beta feature, the "Tools > Action" menu has been updated to display icons, including the watch star indicator that helps editors identify temporarily watched articles. The icons now also match those used on mobile, improving consistency across platforms. The change is currently limited to the actions menu and mainly affects editors with privileged user rights. [https://phabricator.wikimedia.org/T426008]
* [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] was released as an [[w:en:A/B test|A/B test]] for newcomer editors on the mobile website at [[phab:T421189|~15 Wikipedias]]. The experiment will measure the impact that Suggestion Mode has on the proportion of newcomer mobile web edit sessions that result in constructive (un-reverted) article edits. The experiment will also evaluate the feature's impact on editor retention, and monitor changes in revert and block rates.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue in the Wikipedia Android app where images could sometimes fail to load after opening a recommended reading list notification, has now been fixed. [https://phabricator.wikimedia.org/T418231]
'''Updates for technical contributors'''
* The [[mw:Special:MyLanguage/Wikidata Platform|Wikidata Platform team]] has published its [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/Backend Replacement|backend replacement recommendation]] and accompanying [[wikitech:Wikidata Query Service/WDQS Architecture re-design|technical architecture]] for the migration of the Wikidata Query Service (WDQS) away from Blazegraph. Feedback is invited until May 25th 2026, especially on potential gaps and impacts on advanced use cases. Wikidata community members and WDQS users are also encouraged to help identify high-impact tools and workflows that may need attention on [[d:Wikidata:SPARQL query service/WDQS backend update/High-Impact Use Cases|this page]]. Feedback can be shared on the [[d:Wikidata talk:SPARQL query service/WDQS backend update|Migration talk page]] or during the [[d:Special:MyLanguage/Wikidata:Blazegraph Migration Office Hours|next office hour]]. See the [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|WDP team newsletter]] for more details.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.3|MediaWiki]]
'''In depth'''
* On English, French, Japanese, and a few other Wikipedias, there was a [[diffblog:2025/09/02/better-detecting-bots-and-replacing-our-captcha/|trial of hCaptcha]], a third-party bot detection service. The trial showed that hCaptcha effectively detects and deters some bad-faith automated activity, on its own and by giving [[w:en:Wikipedia:Village pump (technical)/Archive 225#Introducing SuggestedInvestigations|checkusers and stewards]] signals to look into. Because the results were positive, hCaptcha will be rolled out across all wikis over the next few weeks. [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/hCaptcha|See the hCaptcha project page]] for technical information about the implementation and privacy protections. [[diffblog:2026/05/04/better-detecting-bots-and-replacing-our-captcha-part-2/|Learn more]].
* The latest Community Tech update is now available, with progress across several Community Wishlist initiatives, including Reading Lists expansion from the mobile app to the website, new language support for "Who Wrote That" and the Personal Dashboard, improvements to 3D rendering and Charts, and upcoming work on talk page sorting, audio playback, and editing workflows. The update also shares current priorities, wishlist status trends, and opportunities for community feedback on future focus areas and the Wikimedia Foundation’s 2026–2027 Annual Plan. [[m:Special:MyLanguage/Community Wishlist/Updates#May 13, 2026: Latest updates from the Community Tech team|Read the full newsletter for details]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/21|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W21"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:21, 18 مٔی 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30539262 -->
== <span lang="en" dir="ltr">Tech News: 2026-22</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W22"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/22|Translations]] are available.
'''Weekly highlight'''
* Following a [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#LOWM|successful account creation experiment]], an improved logged-out edit warning message will be deployed to all Wikimedia wikis in the first week of June. The change will only affect logged-out users on mobile web who open an editing session. The updated experience is designed to encourage account creation more clearly, while still allowing users to edit with temporary accounts. Results from the experiment showed a significant increase in account creation, with a 27% relative lift among users shown the updated message. As expected, as more people funnel into account creation, temporary accounts decreased by a relative 16%. The experiment did not show any significant changes in constructive edit rates or other monitored contributor metrics. [https://phabricator.wikimedia.org/T424595]
'''Updates for editors'''
* For security reasons, members of certain user groups are [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|required to have two-factor authentication]] (2FA) enabled. Members of these groups will be unable to disable the last 2FA method on their account, and it will be impossible to add users without 2FA to these groups. Users will still be able to add new authentication methods or remove them, as long as at least one method is continuously enabled. In the next few weeks, users without 2FA will be removed from these groups. Notably, this applies to bureaucrats. See the linked tasks for deployment schedules. [https://phabricator.wikimedia.org/T423119][https://phabricator.wikimedia.org/T423120]
* [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] will run an [[w:en:A/B testing|A/B test]] on [[:phab:T415904|10 wikis]], testing [[m:WMDE Technical Wishes/References/Reference Previews|potential improvements for Reference Previews]]. The experiment will run for ~2 weeks at the end of May / beginning of June and will affect 10% of desktop readers on the participating wikis.
* After two successful experiments, the Reader Growth team is rolling out an [[mw:Special:MyLanguage/Readers/Reader Growth/Image Browsing|Image Browsing]] beta feature for all Wikipedias on mobile on May 25. This means that anyone who has all beta features on by default will start to see this feature, and others can check the box to turn it on in their preferences. The beta feature will include a carousel of all an article's images at the top of the article, with controls for editors to [[mw:Readers/Reader_Growth/Image_Browsing#Phase_2.1_beta_feature|exclude images from the article's carousel or to exclude an article from the feature entirely]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, three dimensional STL files were being rendered incorrectly by the media viewer 3D extension which is now fixed. [https://phabricator.wikimedia.org/T416723]
'''Updates for technical contributors'''
* The legacy CSS classes <bdi lang="zxx" dir="ltr"><code><nowiki>tleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>tright</nowiki></code></bdi> have been replaced with <bdi lang="zxx" dir="ltr"><code><nowiki>floatleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>floatright</nowiki></code></bdi> as the former do not work consistently across all MediaWiki platforms, notably mobile web and mobile apps. Projects relying on these classes are encouraged to review related usage and plan for migration. Please note that <bdi lang="zxx" dir="ltr"><code><nowiki>floatleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>floatright</nowiki></code></bdi> may also be deprecated in future, although there are currently no plans to do so. [[phab:T426452|Read more]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.4|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/22|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W22"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:51, 25 مٔی 2026 (UTC)
<!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30584502 -->
== <span lang="en" dir="ltr">Tech News: 2026-23</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W23"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/23|Translations]] are available.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] is conducting an experiment to show the [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|reading lists]] feature, which is still in development, to logged-out mobile readers to test whether it encourages account creation at a higher rate compared to the watchstar button. The [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists#Experiment timeline|experiment]] was launched on May 18th on German, Spanish, Italian, Portuguese, Polish, Dutch, Turkish, and Urdu wikis, and it will run for a month.
* The Wikimedia Apps team released [[mw:Special:MyLanguage/Wikimedia Apps/Team/Explore Feed Refresh/Phase 1|Phase 1]] of the redesigned Home Feed to the Android Beta app. The new Home Feed includes a refreshed "Community" tab and a personalized "For You" tab featuring daily updated reading recommendations. The redesign is part of a broader effort to improve content discovery and create more engaging learning experiences in the Wikipedia apps.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:18}} community-submitted {{PLURAL:18|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where images could fail to load for some suggested edits on [[w:Special:Homepage|Special:Homepage]], leaving the thumbnail stuck in a loading state, has now been fixed. [https://phabricator.wikimedia.org/T424048]
'''Updates for technical contributors'''
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.5|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/23|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W23"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:08, 1 جوٗن 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30613639 -->
== <span lang="en" dir="ltr">Tech News: 2026-24</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W24"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/24|Translations]] are available.
'''Weekly highlight'''
* Wikimedia Enterprise has increased the free usage limits for its API offerings. The monthly request limit for the On-demand API has increased from 5,000 to 50,000 requests, while the Snapshot API limit has increased from 15 to 30 requests per month. In addition, Structured Contents snapshots are now available for free accounts. These changes expand access to Wikimedia Enterprise data for developers, researchers, and organizations using Wikimedia content. [https://enterprise.wikimedia.com/blog/enhanced-free-api]
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Explore Feed Refresh/Phase 1|refreshed Explore Feed]], now called the Home Feed, is rolling out to 50% of users of the Wikipedia Android app. The Home Feed helps readers discover relevant content through two new tabs: ''Community'' and ''For You''. The Community tab provides a scrollable feed of curated content and updates from the broader Wikimedia community and movement, while the ''For You'' tab offers a full-screen, swipeable experience that shows content tailored to a user's interests. The redesign is part of a broader effort to improve discovery and enhance the learning experience in the Wikipedia app.
* The [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/"Which came first?" Game|Which came first?]] daily trivia game is now available in the beta version of the Wikipedia iOS app in English, German, French, Portuguese, Russian, Spanish, Arabic, Chinese, and Turkish. The game uses historical events from Wikipedia's "On This Day" content and challenges readers to guess which of two events happened first. The game was previously released on Android. Communities interested in making the game available in their languages can [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Games#Game availability by language|read the instructions and requirements]].
* [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new MediaWiki feature that allows editors to reuse references with different details, will begin rolling out to Wikimedia wikis following a successful pilot phase. Deployment will start on 8 June for most [[wikitech:Deployments/Train#Wednesday|Group 1 wikis]] and French Wikipedia, with additional Wikipedia language editions receiving the feature over the coming months. Communities are encouraged to prepare by checking for [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-cite&language=en&action_source=search&filter=%21translated&optional=1&action=translate untranslated Cite extension messages] in their language and reviewing any use of [[mw:Special:MyLanguage/Reference Tooltips|Reference Tooltips]], which may require [[:phab:T416304#11668731|updates]] to support the new functionality. Wikis using [[mw:Special:MyLanguage/Help:Reference Previews|Reference Previews]] do not need to take any action. Communities may also wish to create the ''cite-tracking-category-ref-details'' [[Special:TrackingCategories|tracking category]] as a hidden category using <code><nowiki>__HIDDENCAT__</nowiki></code> (or a dedicated template), and connect it to the corresponding Wikidata item [[d:Q129764848]]. [https://phabricator.wikimedia.org/T425662]
* The [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews#Experimentation|Page Previews experiment]] on mobile web has concluded. The team decided not to roll out the feature after the results showed no statistically significant impact on reader retention, as the primary success metric was retention improvement. Page Previews, which are already available on desktop and in the apps, display a thumbnail, lead paragraph, and link to the full article when readers tap a blue link. The experiment tested this experience on mobile web across six Wikipedias.
* The [[mw:Special:MyLanguage/Codex/Design/Icons|user interface icon library]] will be [[phab:T399175|updated later this week or next week]]. Most of the ~300 icons have been slightly refined and ~30 new icons have been added. These changes improve the icons to make them more consistent and comprehensible, and provide more visual balance when they are used in groups.
* The [[mw:Special:MyLanguage/Universal Language Selector|Universal Language Selector]] (ULS) interface in MediaWiki, which helps users select content in other languages, has been updated. The new version improves speed and accessibility, and users of Wikimedia projects can now pin languages for quicker language switching. The deployment to Wikimedia sites will happen gradually in the coming weeks. You can test it now as a beta feature by selecting [[Special:Preferences#mw-prefsection-betafeatures|beta features]] in your profile preferences and share your feedback on [[mw:Special:MyLanguage/Universal Language Selector/New ULS|the project page]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the Pageviews Analysis dashboard on pageviews.wmcloud.org stopped updating graph data in May 2026, affecting all users, has been fixed. [https://phabricator.wikimedia.org/T427171]
'''Updates for technical contributors'''
* The function signature for <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink()</nowiki></code></bdi> has been simplified. Developers can now pass a configuration object instead of a list of positional parameters when creating portlet links. The previous function signature remains supported for backwards compatibility. For example, instead of: <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink('p-cactions', '#', 'Stub', 'ca-stubtag', 'Add a stub tag to this page');</nowiki></code></bdi> use <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink('p-cactions', { href: '#', text: 'Stub', id: 'ca-stubtag', tooltip: 'Add a stub tag to this page' });</nowiki></code></bdi>. Script maintainers are encouraged to review existing uses of <bdi lang="zxx" dir="ltr"><code><nowiki>addPortletLink()</nowiki></code></bdi> and update them where appropriate. This change will be available on all wikis from 11 June. Thanks to community volunteer Gerges for contributing this improvement. [https://phabricator.wikimedia.org/T427945]
* '''Community Wishlist discussion''': Product & Technology [[m:Special:MyLanguage/Community Wishlist/Updates#May 20, 2026: Community Tech becomes a program|introduced changes]] meant to increase the number and complexity of wishes fulfilled, including the disbanding of the Community Tech team. They are [[m:Special:MyLanguage/Community Wishlist/Updates|engaging in discussions]] about a [[m:Talk:Community Wishlist#Proposed direction for Wishlist|proposed direction for the wishlist]] from community members. Includes ways to structure annual voting, better tracking of wishes, removing focus areas, and [[m:Special:MyLanguage/Community Wishlist/Updates|staffing updates]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.6|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/24|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W24"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:29, 8 جوٗن 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30650573 -->
== <span lang="en" dir="ltr">Tech News: 2026-25</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W25"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/25|Translations]] are available.
'''Weekly highlight'''
* The [[mw:Special:MyLanguage/Readers/Reader Growth|Reader Growth team]] has launched an [[mw:Special:MyLanguage/Readers/Reader Growth/Image Browsing|Image Browsing]] beta feature on the mobile web version of all Wikipedias. The feature shows an image carousel at the top of articles with 3 or more images. Editors can configure this feature with the following controls: to hide a specific image from a page, either use <code>class=notpageimage</code> excluding it from thumbnail previews, or <code>class=noviewer</code> excluding it from MediaViewer. The carousel can also be disabled from a page entirely, with the magic word <code><nowiki>__NOMEDIAVIEWERCAROUSEL__</nowiki></code>. To submit feedback or flag bugs, please visit the [[mw:Talk:Readers/Reader Growth/Image Browsing|project page]].
* [[mw:Special:MyLanguage/Help:Tables#class="wikitable"|Wikitables]] can now be [[mw:Special:MyLanguage/Help:Sortable tables#Forcing the initial sort direction|sorted in descending order]] on the first click by adding <code dir=ltr>data-sort-order="desc"</code> to the header cell. Previously, by default, clicking a column header for the first time sorts it in ascending order. This addition to a Wikitable gives it more control and flexibility, while the default behavior for subsequent clicks remains unchanged. [https://phabricator.wikimedia.org/T398416]
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Article guidance|Article guidance]] feature is currently being tested with some editors creating new articles on the Simple English, French, and Turkish Wikipedias. The experiment will soon begin on the Arabic and Bangla Wikipedias as well. [[w:simple:Special:NewArticle|This feature]] gives editors community-curated guidance to help them create articles that follow community standards. Experienced editors can continue creating or adapting outlines for specific article types that are commonly created by less experienced contributors. The outlines guide less experienced editors in creating high-quality articles. A quick guide to markups used in outlines can be found on [[mw:Special:MyLanguage/Article guidance/Test feature guide#Markups in outlines|this page]]. [[w:simple:Wikipedia:Article Guidance|Example outlines]] that can be adapted and instructions for how to adapt them are on [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|this section]] of the project page.
* Wikis that wish to replace the "indefinitely" button in Special:Block for temporary accounts (for example, wikis that block temporary users only until account expiration) will be able to do so by creating [[MediaWiki:ipb-indefinite-expiry-temporary-account]] with the block duration they want. [https://phabricator.wikimedia.org/T427125]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:41}} community-submitted {{PLURAL:41|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* By the end of June, a valid user-agent string will be required for automated dumps downloads from the dumps.wikimedia.org website. Automated requests that provide a generic or empty user-agent will be blocked. This [[phab:T400119|extends enforcement]] of the long standing [[foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|user-agent policy]]. Access to dumps through Wikimedia Cloud Services will not change.
* The roll out of global [[mw:Wikimedia APIs/Rate limits|API rate limits]] is now complete, with limits enforced across all APIs and at the documented levels for all groups. Bots running in Toolforge/WMCS or with the bot user right on any wiki remain exempt. All bots should continue to follow the documented best practices to avoid being rate limited.
* The [https://api.wikimedia.org/wiki/Main_Page API Portal wiki] will be read only starting this week (June 15-18). The following week (June 22-25), all API Portal wiki URLs will redirect to [[mw:Wikimedia APIs|Wikimedia APIs on mediawiki.org]]. Learn more on the [[wikitech:API Portal/Deprecation|project page]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.7|MediaWiki]]
'''Meetings and events'''
* On June 17th at 6pm UTC the WMF will be holding Discord call focused on a code review. We've heard through the [[mw:Special:MyLanguage/Developer Satisfaction Survey/2026|Developer Satisfaction Survey]] that volunteers are struggling with code review and we'd like to discuss these experiences with the goal of surfacing workable solutions. You can join the call [https://discord.gg/wikipedia?event=1514727511102062664 via the Wikimedia Community Discord server].
* The [[m:Special:MyLanguage/Conferencia Wikimedia de América Latina 2026|Latin American Wikimedia Conference]] will host a regional hackathon that will bring together the Wikimedia movement’s technical community including developers, system administrators, data scientists, and users with extended rights. Interested technical contributors can [https://docs.google.com/forms/d/e/1FAIpQLSf4osJzTHBJjQbYJk7TMVEJjTEQv7IgtsUDfP-o-qTgeRQQxw/viewform apply for a scholarship] to participate until June 21 at midnight (Bolivia time, UTC-4).
* Sign up for Wikimania Team Challenges to join this special event. The Team challenges will take place online and in person from July 21 to 22, before Wikimania conference. Everyone is welcome, regardless of skills or Wikimania registration. Teams will work on 10 important challenges supporting the Wikimedia community. For details, visit [[wmania:Special:MyLanguage/2026:Team challenges|the Team Challenges page]] and [https://wikimedia.eventyay.com/wm/teamchallenges/ register there]. Registration closes on June 20th at 11pm UTC.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/25|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W25"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:48, 15 جوٗن 2026 (UTC)
<!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30689604 -->
== <span lang="en" dir="ltr">Tech News: 2026-26</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W26"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/26|Translations]] are available.
'''Weekly highlight'''
* [[mw:Special:MyLanguage/Growth/Feature summary|Growth features]] are [[phab:T418115|now available at Wikidata]]. This update enables access to Mentorship ([[mw:Special:MyLanguage/Help:Growth/Mentorship|if configured]]), Impact module, the Help Panel, and a simplified Newcomer Homepage (without Suggested Edits). Wikidata administrators are still configuring the features through Community Configuration.
'''Updates for editors'''
* The special page [[{{#special:RangeCalculator}}]] has been created. It allows users to find an IP range without needing to rely on external tools. Until now, this tool was only available to CheckUsers. [https://phabricator.wikimedia.org/T268429]
* [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]] is a new MediaWiki feature that allows editors to reuse references with different details. It will be deployed to most small and medium-sized Wikipedia language versions on June 23. The [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#deployment|FAQ]] lists possible actions to take on your wiki to support the deployment. Check the [[:phab:T414094|rollout plan]] for the next deployment steps. [https://phabricator.wikimedia.org/T428902]
* Starting next week, users will get a notification when they are blocked or unblocked from editing, or if this block changes. [https://phabricator.wikimedia.org/T100974]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]].
'''Updates for technical contributors'''
* Starting next week, abuse filters that are set to "require CAPTCHA verification" will begin to also affect users with the <code>skipcaptcha</code> right, which includes most autoconfirmed users. Bots are exempted. This change only affects edits that trigger an abuse filter. The <code>skipcaptcha</code> right will continue to exempt users from having to solve CAPTCHAs in the ordinary course of using the wikis. [https://phabricator.wikimedia.org/T402595]
* Reference documentation for the [[wikitech:Machine_Learning/LiftWing/API|Lift Wing API]] has moved from the API Portal to the interactive [https://wikitech.wikimedia.org/w/index.php?api=lift-wing&title=Special%3ARestSandbox REST Sandbox].
* The API Portal wiki is now closed. For API documentation, see [[mw:Special:MyLanguage/Wikimedia_APIs|Wikimedia APIs on mediawiki.org]]. All API Portal wiki URLs (https://api.wikimedia.org/wiki/) will redirect to the mediawiki.org page starting June 22. [https://phabricator.wikimedia.org/T427537]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.8|MediaWiki]]
'''Meetings and events'''
* Join an online call on 25 June at 2:30pm UTC to meet the current Wikimedia interns for [[mw:Google_Summer_of_Code/2026|Google Summer of Code]] and [[mw:Outreachy/Round_32|Outreachy]]. Interns will provide an overview of their projects and a brief demo of their work so far. Attendees are encouraged to [[mw:event:Google_Summer_of_Code/Summer_2026_June_Internship_open_session|share ideas and connections in their community]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/26|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W26"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 13:04, 23 جوٗن 2026 (UTC)
<!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30722494 -->
== <span lang="en" dir="ltr">Tech News: 2026-27</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W27"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/27|Translations]] are available.
'''Updates for editors'''
* As part of the [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|Account Creation Experiments]], the Growth team tested adding a user account icon in the mobile web header for logged-out users, providing direct access to "Create account" and "Log in" actions. The experiment increased account creation by about 20% without negatively affecting edit quality or constructive edit rates. The feature will now be rolled out to all Wikimedia Foundation wikis on mobile web in the first week of July. [https://phabricator.wikimedia.org/T428220]
* After a [[phab:T426248|successful experiment]], logged-in users who did not [[mw:Special:MyLanguage/Help:Email_confirmation|confirm their email address]] when their account was created see a new banner asking them to complete that process. This helps reduce the risk that users get locked out of their account, and makes account email addresses overall more reliable. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project. [https://phabricator.wikimedia.org/T428292]
* An update to [[Special:Search|Search]] is refining how the <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> behaves when used to exclude results. Previously, using <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> with negation could unintentionally broaden search results by adding the namespaces included in the search scope, leading to confusing behavior for users expecting a straightforward exclusion filter. With the update, <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> will now strictly exclude matching page titles as intended and may display a warning if the relevant namespace has not been explicitly selected. The behavior of <bdi lang="zxx" dir="ltr"><code><nowiki>prefix:</nowiki></code></bdi> without negation however remains unchanged. [https://phabricator.wikimedia.org/T427443]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:33}} community-submitted {{PLURAL:33|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where reviewers using the Page Curation toolbar were not automatically subscribed to talk page discussions they started has now been fixed. Reviewers will now receive notifications when someone replies to those discussions. [https://phabricator.wikimedia.org/T329346]
'''Updates for technical contributors'''
* Starting June 29th, automated downloads from the dumps.wikimedia.org website will be subject to the [[Foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|user-agent policy]]. Automated requests that provide a generic or empty user-agent will be blocked. Access to dumps through Wikimedia Cloud Services remains unaffected. This is a follow up to the announcement made in the [[m:Special:MyLanguage/Tech/News/2026/25|2026/25 issue of Tech News]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.9|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/27|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W27"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 11:47, 29 جوٗن 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30744833 -->
== <span lang="en" dir="ltr">Tech News: 2026-28</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W28"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/28|Translations]] are available.
'''Updates for editors'''
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the search bar results on Wikidata, showed English results instead of using the correct language fallback for users of language variants, has now been fixed. Search suggestions will now follow the expected language fallback chain. [https://phabricator.wikimedia.org/T429769]
'''Updates for technical contributors'''
* In preparation for [[m:Special:MyLanguage/Event:Celebrate Women|Celebrate Women campaign]] planned for March 2027, the Wikimedia Foundation’s [[m:Special:MyLanguage/Wikimedia Foundation/Advancement/Community Growth/Content Enablement|Content Enablement team]] has launched a 22-question survey to better understand technical contributions by women+ (anyone who identifies as a woman) across Wikimedia projects. The survey takes approximately 15–20 minutes to complete and will remain open until 20 July 2026. The [[m:Special:MyLanguage/Celebrate Women/Technical contributions survey|questions]] are also available on-wiki for review in advance.
* The [[mw:Special:MyLanguage/Extension:Score|Score extension]] now supports rendering music scores as SVG images in addition to PNG, addressing a long-standing [[:phab:T49578|feature request]] and resolving historical image quality issues. Both formats are now provided to clients, with PNG in the <bdi lang="zxx" dir="ltr"><code><nowiki>src</nowiki></code></bdi> attribute and SVG in the <bdi lang="zxx" dir="ltr"><code><nowiki>srcset</nowiki></code></bdi> attribute.
* The new [[wikitech:Parsoid|Parsoid]] parser [[mw:Special:MyLanguage/Parsoid/Parser_Unification/Updates|continues to be deployed to additional wikis]], making it easier to introduce new reading and editing features. It was enabled on French Wikipedia, bringing total progress to covering 78.9% of Wikipedia page views. Rollout to English Wikipedia desktop will progress through this week.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.10|MediaWiki]]
'''In depth'''
* The Wikimedia Hackathon 2026 [[diffblog:2026/06/29/wikimedia-hackathon-2026-building-collaborating-and-shaping-the-future-together/|recap blog post]] is now live. It highlights the projects, sessions, and social activities from this year’s event, and shares initial plans for the 2027 Wikimedia Hackathon.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/28|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W28"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 13:56, 6 جُلَے 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30773578 -->
== <span lang="en" dir="ltr">Tech News: 2026-29</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W29"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/29|Translations]] are available.
'''Updates for editors'''
* [[mw:Special:MyLanguage/Growth/Revise_Tone|Revise Tone]] helps newcomers identify passages in Wikipedia articles that may contain non-encyclopedic language and encourages them to consider revising the tone. The feature was [[w:en:A/B_testing|A/B tested]] on the Arabic, English, French, and Portuguese Wikipedias, where newcomer task completion rates [[mw:Special:MyLanguage/Growth/Revise_Tone#Experiment_Results|increased by 38.7%]] compared to the default Copyedit task, with no decrease in edit quality. The test ended on July 9, and the feature is now available for everyone on these wikis, configurable via Community Configuration. [[phab:T426364|The plan]] is to release Revise Tone to more wikis.
* The community configuration that allows [[mw:Special:MyLanguage/Help:Growth/Mentorship#Automated mentor list cleanup|automatic removal of inactive mentors]] based on configurable criteria will be enabled on Thursday 16, [[mw:Special:MyLanguage/Growth/Deployment|on some wikis]] to keep mentor lists up to date. Mentors are experienced contributors who opt in to help new users on-wiki through the [[mw:Special:MyLanguage/Growth/Feature summary|Growth Features]]. Administrators can now prepare the settings via [[w:Special:CommunityConfiguration/Mentorship|Special:CommunityConfiguration/Mentorship]]; they will take effect starting Thursday.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:38}} community-submitted {{PLURAL:38|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where some users of the Wikipedia Android app were logged out immediately after signing in, preventing them from staying logged in and editing pages, has now been fixed. [https://phabricator.wikimedia.org/T316916]
'''Updates for technical contributors'''
* Editing a page via user scripts or gadgets was causing watchlist labels that the user had assigned to that page to reset. This has now been fixed. [https://phabricator.wikimedia.org/T423778]
* To work around a Safari bug (see [[phab:T425211]]), on Parsoid-enabled wikis, wikilink hrefs now use absolute urls instead of protocol-relative urls. REST API output remains unchanged and continue to use protocol-relative urls. Gadgets, user scripts, bots, and CSS might need to be adapted if they relied on the presence of protocol-relative urls in wikilink hrefs. [https://phabricator.wikimedia.org/T431358]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.11|MediaWiki]]
'''In depth'''
* The Wikimedia Foundation’s Experiment Platform Team has published a blog post reflecting on its first year of structured experimentation. It highlights successful experiments such as Paste Check, Reference Check, and Tone Check, which improved editing outcomes and have been rolled out to more users, as well as experiments that did not lead to product changes. [[diffblog:2026/07/07/moving-the-needle-how-we-test-new-ideas-across-wikimedia-projects|Read more]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/29|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W29"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:10, 13 جُلَے 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30804401 -->
== <span lang="en" dir="ltr">Tech News: 2026-30</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W30"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/30|Translations]] are available.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Reader/Reader Experience|Reader Experience team]] has incorporated community feedback around the placement of watchstar and watchlist buttons for the [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|Reading Lists beta feature]], which would allow for saving articles for later reading – a [[m:Special:MyLanguage/Community Wishlist/W102|wishlist item]] to bring the functionality to web. Editors are invited to enable the beta feature to test it out and [[phab:T426453|share their thoughts]].
* [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] offers edit suggestions within the VisualEditor for improving Wikipedia articles. [[Special:EditChecks|All suggestions]] are [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators – local customization|community-configurable]]. The [[mw:Special:MyLanguage/Edit check/TextMatch|TextMatch]] feature is a way for volunteers to create custom local suggestions. The feature searches in articles for strings of text, and now includes support for regular expressions. This gives volunteers greater precision and flexibility over the kinds of local suggestions they can create. Note: Suggestions [[mw:Special:MyLanguage/Edit check/Configuration#:~:text=maximumEditcount|can be targeted]] based on the edit count of the person editing as well as other aspects of the page. You can [[mw:Special:MyLanguage/Help:Suggestion mode#Create custom local types of Suggestions|find examples from other communities]] for inspiration, including TextMatches that detect: typos, grammar-errors, potential advertisements, clichés, incorrect dash or hyphen usage, non-specific time keywords, outdated names, and more. Any [[mw:Special:MyLanguage/Talk:VisualEditor/Suggestion Mode|feedback]] is appreciated.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the SVG Translate tool could use an outdated version of a file, causing existing translations to be overwritten when new ones were uploaded, has now [[phab:T430577|been fixed]]. Overall, in the last quarter from April – June 2026 about 337 community tasks were resolved by the Wikimedia Foundation.
'''Updates for technical contributors'''
* On Parsoid-enabled wikis, Parsoid now renders a maximum of 1,250 images per page. A new tracking category, "media-limit-reached", will be soon made available to identify pages where this limit is reached, making it easier to find content whose media output may have been restricted during rendering. See [[phab:T430854]] for more information and to provide feedback.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.12|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/30|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W30"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 05:45, 21 جُلَے 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30836091 -->
== <span lang="en" dir="ltr">Tech News: 2026-31</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W31"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/31|Translations]] are available.
'''Updates for editors'''
* [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] [[mw:Special:MyLanguage/ContentTranslation|Content Translation]] now supports dark mode, fulfilling a [[m:Community Wishlist/W544|Community Wishlist request]]. This brings the tool in line with the accessibility features available in the Vector 2022 and Minerva skins, helping reduce visual fatigue for users translating content. [https://phabricator.wikimedia.org/T367077]
* DiscussionTools' source mode and the 2017 wikitext editor will now offer autocomplete for links (<bdi lang="zxx" dir="ltr"><code><nowiki>[[</nowiki></code></bdi>), templates (<bdi lang="zxx" dir="ltr"><code><nowiki>{{</nowiki></code></bdi>), HTML and parser tags (<bdi lang="zxx" dir="ltr"><code><nowiki><</nowiki></code></bdi>), and magic words (<bdi lang="zxx" dir="ltr"><code><nowiki>__</nowiki></code></bdi>), making it quicker and easier to insert links, templates, and other wiki markup while editing. [https://phabricator.wikimedia.org/T432400]
* The [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|Readers Growth team]] has concluded its experiment with mobile page previews and will not roll out the feature. Page Previews are a pop-up bottom sheet that appears when readers tap a blue link, showing a thumbnail, lead paragraph, and an option to open the article. The experiment showed flat retention and negative indicator metrics, suggesting that mobile web readers preferred navigating directly to linked articles rather than using page previews.
* The Reader Experience team has seen encouraging early results from the [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists feature]], with 93% of participating users reporting that it was useful. Reading Lists help active readers save articles for future reading and support their learning goals on Wikimedia projects. The team plans further improvements before expanding the feature to more users.
* The [[mw:Special:MyLanguage/Wikimedia Apps/Team/Explore Feed Refresh|Explore Feed Refresh]] initiative was tested with new and casual Wikipedia app readers. The refreshed feed helps readers discover new and relevant content. After a 10.5% increase in engagement with the feed, Wikimedia Apps team has decided to scale the Home Feed redesign to iOS with the learnings from the Android release applied.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where subject names in the Article Guidance feature were displayed with incorrect capitalization on French Wikipedia, has now been fixed. Subject names will now follow the correct capitalization rules for the language. [https://phabricator.wikimedia.org/T427201]
'''Updates for technical contributors'''
* After running several [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|Account Creation Experiments]] to improve registration completion rates, a new version of the username field on [[Special:CreateAccount|Create Account]] has been rolled out. It includes [[:c:File:Create account - July 2026 updates.png|a popover summarizing the username policy]] to provide clearer guidance during account creation. As part of this change, the messages <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-helpusername</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-help</nowiki></code></bdi> that several communities have configured will no longer be used. If communities want to customize the guidance shown in the new popover, they can instead edit the following messages: <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet1</nowiki></code></bdi>, <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet2</nowiki></code></bdi>, and <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet3</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T430604]
* Later this week, the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror syntax highlighter]] will offer [[w:en:Theme (computing)|themes]]. The themes can be picked from a dropdown menu in the full [[mw:Special:MyLanguage/Help:Extension:CodeMirror#CodeMirror preferences|CodeMirror preferences]] dialog. For wikitext, available themes are default, colorblind-friendly (previously the colorblind preference option on [[Special:Preferences#mw-prefsection-editing]]) and no-highlighting. For code languages (i.e., CSS/JavaScript/JSON/Vue/Lua), there are several themes available. These same themes will eventually be available for wikitext, too. [https://phabricator.wikimedia.org/T163533]
* From now on, wikis can restrict editing in the "User" namespace to only the page owner and certain user groups. [[mw:Special:MyLanguage/Manual:$wgRestrictUserPageEditing|Read the configuration documentation]] to learn more.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.14|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/31|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W31"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:48, 27 جُلَے 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30856308 -->
== <span lang="en" dir="ltr">Tech News: 2026-32</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W32"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/32|Translations]] are available.
'''Updates for editors'''
* The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] has developed a [https://82db7c8d4b.catalyst.wmcloud.org/w/index.php?title=Regent%27s_Park&uselang=de patch demo] that wraps the page toolbar onto two lines when there is not enough horizontal space for all the buttons. This aims to reduce crowding in the Vector 2022 toolbar, which can occur on some language Wikipedias at certain screen widths. [https://phabricator.wikimedia.org/T429518]
* The Reader Experience team is planning to launch [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists]], a [[m:Special:MyLanguage/Community Wishlist Survey 2021/Mobile and apps/Have Apps reading lists available on Destop/Mobile|Community Wishlist item]], which is currently available to try in beta, as a full feature in September. Before then, volunteer translator help is needed for [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-readinglists&filter=&action=translate string translations] into a number of languages. The feature supports reading and learning goals on Wikipedia.
* Next week, the table of contents on Wikimedia Commons file pages will be improved by consolidating the file page table of contents with the page table of contents. This will make it easier to understand a file page’s structure, navigate to specific sections, and share links to individual sections. [https://phabricator.wikimedia.org/T332644]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where some [[w:TIFF|TIFF]] images failed to load after clicking their thumbnail, causing a broken image to be displayed instead of the full-size image, has now been fixed. [https://phabricator.wikimedia.org/T429326]
'''Updates for technical contributors'''
* The variable and function selector in AbuseFilter has been updated to support search and autocomplete. It will allow filter maintainers to find the desired variable or function more quickly. [https://phabricator.wikimedia.org/T323698]
* The MJPEG and VP8 formats are removed from the video player. The MP4 format (MPEG-4 Part 2) is added instead, which provides higher quality videos to older iPhone devices. It may take a few weeks to retroactively update all existing videos. The default format for modern devices stays the same (VP9/WebM). [https://phabricator.wikimedia.org/T358266]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.15|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/32|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W32"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:45, 3 اَگست 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30872536 -->
== <span lang="en" dir="ltr">Tech News: 2026-33</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W33"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/33|Translations]] are available.
'''Updates for editors'''
* [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] A new ChartWizard is [[c:Special:ChartWizard/Data:Example.Pie.chart|now available on Wikimedia Commons]] for users interested in creating charts from their own data. The wizard makes the [[mw:Special:MyLanguage/Extension:Chart|Chart extension]] more beginner-friendly by allowing editors to create charts, such as bar and pie charts, without needing to use JSON. Users can still switch to the JSON editor if they prefer. Feedback on the new tool is welcome on the [[m:Talk:Community Wishlist/W414|wish talk page]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the Wikipedia iOS app’s Picture of the Day widget displayed the same image every day instead of updating daily, has now been fixed. [https://phabricator.wikimedia.org/T430692]
'''Updates for technical contributors'''
* [[mw:Special:MyLanguage/Extension:Math|Math formula]] SVG images will soon be generated in the browser instead of on the server. MathML continues to be generated on the server and renders in the browser without JavaScript. Wikibooks will see this change on 12 August, Wikisource on 19 August and Wikipedia from 20-27 August. You can try this by selecting "{{int:Mw-math-mathjax}}" in your preferences. This change is part of [[mw:Special:MyLanguage/RESTBase/deprecation|deprecating RESTBase]] and [[phab:T431372|deprecating Mathoid]]. [https://phabricator.wikimedia.org/T271001]
* Category pages will soon support sorting entries by the time they are added to a category. This will make it easier to find recently or long-standing categorized pages. It will also improve workflows for maintenance categories such as deletion backlogs and other time-based review tasks. You can use <bdi lang="zxx" dir="ltr"><code><nowiki>cldsort=timestamp</nowiki></code></bdi> URL argument in category view to sort the entries. [https://phabricator.wikimedia.org/T433768]
* [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] and user scripts on Wikimedia wikis may now use [[phab:T395347|ES2018 features]] and [[phab:T419142|ES2019 features]] in JavaScript code. Previously, the platform only allowed up to ES2017. MediaWiki validates the source code to protect functionality from syntax errors and to ensure scripts are valid in all [[mw:Special:MyLanguage/Compatibility#Browser_support_matrix|supported browsers]]. [https://phabricator.wikimedia.org/T419142]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.16|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/33|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W33"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:44, 10 اَگست 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30901051 -->
== <span lang="en" dir="ltr">Tech News: 2026-34</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W34"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/34|Translations]] are available.
'''Weekly highlight'''
* The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Worklist|Worklist feature]] for the Event Registration tool is now live on all Wikimedia wikis. With Worklist, event organizers can add the articles their event will focus on directly to the event page. The Worklist also powers [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Worklist#How Event Pathways uses the worklist|Event Pathways]] which notifies other editors of the upcoming or ongoing event when they edit an article featured in the event's Worklist. This is the minimum viable version (MVP), and feedback is welcome. Organizers are encouraged to try the feature. A hands-on [[m:Special:MyLanguage/Event:Worklist Setup Workshop: Get Your Event Ready|Worklist Setup Workshop]] will take place on 18 August at 16:00 UTC and 19 August at 11:00 UTC.
'''Updates for editors'''
* [[Special:ShortPages]] displays short pages by their size, but in many cases it gets filled with disambiguations and soft redirects, making it harder to find the short articles themselves. Starting this weekend, you will be able to choose not to include an article in the special page by adding the magic word <bdi lang="zxx" dir="ltr"><code><nowiki>__EXPECTSHORTPAGE__</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T433203]
* One new wiki has been created: a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q3436680|Bole]] ([[w:bol:|<bdi lang="zxx" dir="ltr"><code><nowiki>w:bol:</nowiki></code></bdi>]]) [https://phabricator.wikimedia.org/T429921]
* Starting the week of August 17, the page toolbar will wrap onto two lines when there is not enough horizontal space for all the buttons. This is a [[phab:T429518|fully merged patch from the Reader Experience team]] which aims to reduce crowding in the Vector 2022 toolbar, that may occur on some language Wikipedias at certain screen widths.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:16}} community-submitted {{PLURAL:16|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, uploading large files to Wikimedia Commons has become more stable and less prone to failure following some fixes related to the “Could not acquire lock” upload error. [https://phabricator.wikimedia.org/T386640]
'''Updates for technical contributors'''
* Debian Bullseye will reach the end of its Long Term Support on 31 August 2026. [[phab:T434103|Some Cloud VPS projects]] still have instances running Debian Bullseye. Maintainers of those projects are encouraged to migrate to Debian Bookworm or Debian Trixie. A [[wikitech:Help:Cloud VPS instance operating system migration|migration guide]] is available to help with the process, and users may also want to consider whether their workload is better suited to Toolforge. If you need help or cannot complete the migration by 31 August, please contact the Cloud VPS admins as soon as possible. [[listarchive:list/cloud-announce@lists.wikimedia.org/thread/RVIPQSYLKMSL5M46JP6NEJVGVE6I2RXQ/|Read more]].
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.16|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/34|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W34"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:02, 17 اَگست 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30922806 -->
== <span lang="en" dir="ltr">Tech News: 2026-35</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W35"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/35|Translations]] are available.
'''Updates for editors'''
* The [[Special:CreateAccount|Special:CreateAccount]] page has been simplified as part of ongoing work to modernize the account creation experience. The panel showing project statistics no longer appears next to the form on desktop and mobile web. Multiple account creation experiments show that a simpler form helps newcomers complete registration. [https://phabricator.wikimedia.org/T433783]
* In order to improve page performance, images now load when they are viewed. This means images lower down an article will not load if a reader never scrolls to that part of the page, which may affect some image-related metrics. [https://phabricator.wikimedia.org/T148047]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:42}} community-submitted {{PLURAL:42|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where image thumbnails in Abstract Wikipedia could fail to display after the corresponding file was moved on Wikimedia Commons, has now been fixed. Thumbnails will now update correctly when files are moved. [https://phabricator.wikimedia.org/T433448]
'''Updates for technical contributors'''
* User Info card is a feature that helps patrollers see information about user accounts. So far, it has been available only in places such as page history, logs and recent changes. Now, it's possible to [[mw:Special:MyLanguage/Help:Extension:CheckUser#User_Info_card_in_page_content|place it in the page content]] as well, using the <bdi lang="zxx" dir="ltr"><code><nowiki>{{#uic:}}</nowiki></code></bdi> parser function. It can be particularly useful in templates like [[:en:Template:Userlinks|<bdi lang="zxx" dir="ltr"><code><nowiki>{{Userlinks}}</nowiki></code></bdi>]] (or their specialized variants), as it will make it easier to see the context about a user on various noticeboard pages. The card will be displayed only to users who have it enabled in their [[Special:Preferences#mw-input-wpcheckuser-userinfocard-enable|preferences]]. [https://phabricator.wikimedia.org/T424466]
* Due to user security and privacy risks, we have disabled access to <bdi lang="zxx" dir="ltr"><code><nowiki>Special:MyPage</nowiki></code></bdi> URLs when specifically using <bdi lang="zxx" dir="ltr"><code><nowiki>action=raw</nowiki></code></bdi>. If you are impacted by this, consider whether you can use an alternative approach. <bdi lang="zxx" dir="ltr"><code><nowiki>Special:MyPage</nowiki></code></bdi> URLs can still be accessed and used without <bdi lang="zxx" dir="ltr"><code><nowiki>action=raw</nowiki></code></bdi>. Specified user page URLs (e.g. <bdi lang="zxx" dir="ltr"><code><nowiki>User:Myusername</nowiki></code></bdi>) can still be used with <bdi lang="zxx" dir="ltr"><code><nowiki>action=raw</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T120386]
* Due to an update, the thumbnailing software has been improved. This includes upgrading <bdi lang="zxx" dir="ltr"><code><nowiki>librsvg</nowiki></code></bdi> to 2.60 and <bdi lang="zxx" dir="ltr"><code><nowiki>ImageMagick</nowiki></code></bdi> to 7, as well as resolving a number of long-standing thumbnailing bugs like rendering errors. [https://phabricator.wikimedia.org/T419815#12222841]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.17|MediaWiki]]
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/35|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W35"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:44, 24 اَگست 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30961208 -->
== <span lang="en" dir="ltr">Tech News: 2026-36</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W36"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/36|Translations]] are available.
'''Weekly highlight'''
* A new format for the Community Wishlist is open for feedback. You can [[m:Special:MyLanguage/Community Wishlist/Community Wishlist 2027|read the proposed ideas on Meta]]. This new process plans to improve how wishes are triaged, voted on, and prioritized in a way that is transparent and balanced across project families and language editions. This consultation is open for two weeks.
'''Updates for editors'''
* The latest release of the Wikipedia Android app includes updates to the Saved feature, bringing the app’s saving experience closer to iOS and Web. The update redesigns the Saved tab with an “All articles” view, removes the default “Saved” reading list, renames reading lists to “Collections,” and modernizes the article-saving experience. [https://phabricator.wikimedia.org/T420788]
* The [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists]] feature was enabled for all logged-in users on Bengali, Chinese, Czech and Vietnamese Wikipedias on August 25, after several months as a beta feature. Reading Lists will be available to all logged-in users on Arabic, French and Indonesian Wikipedias on September 1, followed by English Wikipedia on September 14, and all other Wikipedia wikis on September 28.
* At the end of the month, some logged-out readers on Bengali, Czech, Persian, English, and Polish Wikipedias using the Minerva skin on mobile will see an [[mw:Special:MyLanguage/Readers/Reader_Growth/Minimal_Minerva|updated navigation bar]] in an [[w:A/B test|A/B test]]. The test will compare the current navigation bar with a new version designed to make it easier to find information more quickly. The goal is to determine whether these changes encourage readers to return more often. This experiment will not change the experience for logged-in readers and/or editors.
* Editors who maintain redirects, templates, and categories used on redirect pages now have improved ways for finding and curating redirects. Previously, redirects pages could not be searched. Two new search keywords, <bdi lang="zxx" dir="ltr"><code><nowiki>onlyredirects:</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>withredirects:</nowiki></code></bdi>, now allow redirects to be searched directly and can be combined with existing keywords such as <bdi lang="zxx" dir="ltr"><code><nowiki>incategory:</nowiki></code></bdi>, <bdi lang="zxx" dir="ltr"><code><nowiki>intitle:</nowiki></code></bdi>, and <bdi lang="zxx" dir="ltr"><code><nowiki>insource:</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T204089]
* The ISBN lookup tools for generating citations were recently not working because of external service problems. Developers are working on solutions. [https://phabricator.wikimedia.org/T435179]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where searching for pages by category using <bdi lang="zxx" dir="ltr"><code><nowiki>deepcat</nowiki></code></bdi> could return no results or unrelated results has now been fixed. [https://phabricator.wikimedia.org/T414859]
'''Updates for technical contributors'''
* The domain of URLs for thumbnails is changing from upload.wikimedia.org to thumb.wikimedia.org. The old URLs will continue to work for the foreseeable future but MediaWiki will advertise the new domain instead. URLs to other types of media such as original files, videos and transcodes will still be served from upload.wikimedia.org. [https://phabricator.wikimedia.org/T427465]
* The Wikimedia [https://www.mediawiki.org/w/index.php?api=wmf-math%2Fv1&title=Special%3ARestSandbox Math API] is now deprecated. These endpoints will be fully sunset by the end of September 2026. Developers who call these endpoints should transition to alternative math rendering solutions, such as the native [https://developer.mozilla.org/en-US/docs/Web/MathML MathML] or [https://www.mathjax.org/ MathJax]. Third-party MediaWiki installations that utilize the Math extension for formula rendering are required to upgrade to v1.43+ to avoid disruption of service.
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.18|MediaWiki]]
'''In depth'''
* Read more about [[mw:Special:MyLanguage/Edit_check/TextMatch|TextMatch]] in a Diff post titled, [[diffblog:2026/08/28/custom-edit-suggestions-for-every-wiki-how-communities-are-shaping-suggestion-mode-with-textmatch/|Custom edit suggestions for every wiki: How communities are shaping Suggestion Mode with TextMatch]].
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/36|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W36"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:52, 31 اَگست 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30990659 -->
pkro903nhvwnknlravx52bu4zmf2o9n
رُکُن کَتھ:511KeV
3
7889
150934
150819
2026-08-31T21:53:47Z
MediaWiki message delivery
3853
/* Translation notification: Wiki Academy, Bejoy Narayan Mahavidyalaya */ نٔو حِصہٕ
150934
wikitext
text/x-wiki
{{Talk header|archive_age=7|archive_bot=cewbot}}
{{Auto-archive|archive_after_last_comment=7d|archive_to_subpage=مَحفوٗظ خانہٕ %1}}
== Feminism and Folklore 2023 has ended, What's Next? ==
<div lang="en" dir="ltr" class="mw-content-ltr">{{int:please-translate}}
[[File:Feminism and Folklore 2023 logo.svg|right|350px]]
Dear {{PAGENAME}},
'''[[m:Feminism and Folklore 2023|Feminism and Folklore 2023]]''' writing competition has ended. We thank you for organizing it on your local Wikipedia and help in document folk cultures and women in folklore in different regions of the world on Wikipedia. What's next?
# Please complete the jury on or before 15th of May 2023.
# Email us on [mailto:support@wikilovesfolklore.org support@wikilovesfolklore.org] the Wiki usernames of top three users with most accepted articles in local contest.
# Write the information about the winners on the projects Meta Wiki '''[[:m:Feminism and Folklore 2023/Results|Results page]]'''
# You can also put the names of the winners on your local project page.
# We will be contacting the winners in phased manner for distribution of prizes.
Feel free to contact us via mail or [[:m:Talk:Feminism and Folklore 2023|talkpage]] if you need any help, clarification or assistance.
Thanks and regards,
'''International Team'''<br />
'''Feminism and Folklore'''
</div>
<!-- Message sent by User:Tiven2240@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Rockpeterson/wlf2023&oldid=24803574 -->
== Invitation to Rejoin the [https://mdwiki.org/wiki/WikiProjectMed:Translation_task_force Healthcare Translation Task Force] ==
[[File:Wiki Project Med Foundation logo.svg|right|frameless|125px]]
You have been a [https://mdwiki.toolforge.org/prior/index.php medical translators within Wikipedia]. We have recently relaunched our efforts and invite you to [https://mdwiki.toolforge.org/Translation_Dashboard/index.php join the new process]. Let me know if you have questions. Best [[User:Doc James|<span style="color:#0000f1">'''Doc James'''</span>]] ([[User talk:Doc James|talk]] · [[Special:Contributions/Doc James|contribs]] · [[Special:EmailUser/Doc James|email]]) 12:34, 2 August 2023 (UTC)
<!-- Message sent by User:Doc James@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Top_translators/1&oldid=25451563 -->
== 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|100px]]
|style="font-size: x-large; padding: 3px 3px 0 3px; height: 1.5em;" |'''The 2023 Cure Award'''
|-
| style="vertical-align: middle; padding: 3px;" |In 2023 you [https://mdwiki.toolforge.org/Translation_Dashboard/leaderboard.php?camp=all&project=all&year=2023&start=Filter joined us as a medical translator]. 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. Consider joining '''[[meta:Wiki_Project_Med#People_interested|here]]''', there are no associated costs and we look forwards to working together in 2024.
|}
Thanks again :-) -- [https://mdwiki.org/wiki/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]]'''
</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_Medical_Editors_2023&oldid=26031072 -->
== Feminism and Folklore 2025: Important Updates for Organizers & Jury ==
Hello Community Organizers and Jury,
Thank you for organising Feminism and Folklore writing competition on your wiki. Feminism and Folklore is the largest Wikipedia contest organized by community members. We congratulate you in joining and celebrating our cultural heritage and promoting gender equality on Wikipedia.
To encourage boost for the contributions of the participants, we're offering prizes for Feminism and Folklore local prizes. Each Wikipedia will have three local winners:
# First Prize: $25 USD
# Second Prize: $20 USD
# Best Jury Article: $15 USD
All this will be in '''gift voucher format only'''.
Prizes will only be given to users who have more than 5 accepted articles. No prizes will be given for users winning below 5 accepted articles.
Kindly inform your local community regarding these prizes and post them on the local project page
The Best Jury Article will be chosen by the jury based on how unique the article is aligned with the theme. The jury will review all submissions and decide the winner together, making sure it's fair. These articles will also be featured on our social media handles.
We're also providing internet and childcare support to the first 75 organizers and Jury members for those who request for it. Remember, only 75 organizers will get this support, and it's given on a first-come, first-served basis. The registration form will close after 75 registrations, and the deadline is <nowiki>'''</nowiki>March 5, 2025<nowiki>'''</nowiki>. This support is optional and not compulsory, so if you're interested, fill out the [https://docs.google.com/forms/d/e/1FAIpQLSeum8md6FqHY1ISWRLW5bqOAv_lcd1tpVtMMZfWKRDU_IffLQ/viewform?usp=dialog Form]
Each organizer/jury who gets support will receive $40 USD in gift voucher format, even if they're involved in more than one wiki. No dual support will be provided if you have signed up in more than one language. This support is meant to appreciate your volunteer support for the contest.
We also invite all organizers and jury members to join us for Advocacy session on '''Saturday, Feb 28, 2025'''. This session will help you understand the jury process for both contests and give you a chance to ask questions. More details are on [[meta:Event:Telling untold stories: How to document gendered narratives in Folklore on Wikipedia|Event:Telling untold stories: How to document gendered narratives in Folklore on Wikipedia - Meta]]
Let's celebrate our different cultures and work towards gender equality on Wikipedia!
Best regards,
Stella and Tiven
Wiki loves folklore international team
[[User:SAgbley|SAgbley]] ([[User talk:SAgbley|talk]]) 04:39, 25 February 2025 (UTC)
<!-- Message sent by User:Joris Darlington Quarshie@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Joris_Darlington_Quarshie/Community_Prizes&oldid=28309519 -->
== Translation notification: Incident Reporting System ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta.
The page [[:metawikipedia:Incident Reporting System|Incident Reporting System]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Incident+Reporting+System&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Incident+Reporting+System&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is medium.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta translation coordinators, 03:53, 2 اَگست 2025 (UTC)
<!-- Message sent by User:Minorax@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Template:Affiliate recognition pause notice 2025 ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Template:Affiliate recognition pause notice 2025|Template:Affiliate recognition pause notice 2025]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Template%3AAffiliate+recognition+pause+notice+2025&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Template%3AAffiliate+recognition+pause+notice+2025&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is low.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 15:33, 30 اَگست 2025 (UTC)
<!-- Message sent by User:Minorax@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Meta:Deletion policy ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Meta:Deletion policy|Meta:Deletion policy]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Meta%3ADeletion+policy&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Meta%3ADeletion+policy&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is low.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 07:07, 15 سیٚپٹَمبَر 2025 (UTC)
<!-- Message sent by User:Minorax@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Wikimedia Foundation website ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Wikimedia Foundation website|Wikimedia Foundation website]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Wikimedia+Foundation+website&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Wikimedia+Foundation+website&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is low.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 05:47, 29 سیٚپٹَمبَر 2025 (UTC)
<!-- Message sent by User:Minorax@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Template:AffCom ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Template:AffCom|Template:AffCom]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Template%3AAffCom&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Template%3AAffCom&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is low.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 04:55, 30 اَکتوٗبَر 2025 (UTC)
<!-- Message sent by User:Minorax@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Template:Cat main ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Template:Cat main|Template:Cat main]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Template%3ACat+main&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Template%3ACat+main&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is low.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 06:12, 6 نَوَمبَر 2025 (UTC)
<!-- Message sent by User:Minorax@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Question about Module:Databox in Right-to-Left Wikis ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Hello @[[رُکُن:511KeV|511KeV]] — sorry for writing in English!
I’m reaching out from a software team; [[metawiki:Wikidata_For_Wikimedia_Projects|Wikidata For Wikimedia Projects]], at [[metawiki:Wikimedia_Deutschland|Wikimedia Germany]]. We’ve been working on a few [[metawiki:Wikidata_For_Wikimedia_Projects/Projects/Databox#Changes_to_Databox|new parameters]] for the compact Wikidata-powered infobox (Module:Databox / Template:Databox), and as part of that we’ve been looking at how different Wikipedias adapt it.
We noticed that the Kashmiri Wikipedia has [[:en:ks:Special:History/Module:Databox|quite a few customisations]] compared to the baseline Databox on Wikidata, and since you’re listed as the maintainer, I wanted to check in with you about adding custom-code to a wiki that differs in both scripting direction and as a non-latin alphabet.
Are there any special considerations you’ve had to make for the right-to-left writing direction, or anything in the module code that needed adjusting because of it?
We’re not planning to propose any changes to the Kashmiri Databox itself — we just want to make sure that anything we develop works smoothly for other RTL wikis too.
Your experience would be really helpful.
Thanks so much for any insight you can share! — [[رُکُن:Danny Benjafield (WMDE)|Danny Benjafield (WMDE)]] ([[رُکُن کَتھ:Danny Benjafield (WMDE)|کَتھ صَفہٕ]]) 15:57, 19 نَوَمبَر 2025 (UTC)
</div>
:Dear @[[رُکُن:Danny Benjafield (WMDE)|Danny Benjafield (WMDE)]]
:Thank you for reaching out. Databoxes are extremely helpful for smaller wikis like ours, where the number of active editors is limited. They save us a significant amount of time and simultaneously help improve Wikidata.
:At present, we are facing an issue where the text inside databoxes aligns to the left, even though Kashmiri is an RTL language. If it is possible to fix this, it would be greatly beneficial for us. We would also like the design of the databoxes to resemble the standard infoboxes as closely as possible, including support for displaying small icons such as flag icons.
:We are not very tech-savvy editors on Kashmiri Wikipedia, but we have managed to modify things so far through trial and error. Your guidance and these improvements would be extremely helpful if implemented. <small><sub><span style="color:grey;"> </span></sub></small>[[User:511KeV|<span style="font-family:sans-serif; color:#FF1100; text-shadow:.2em .2em .4em #AfAfB1;">'''511KeV'''</span>]] [[User_talk:511KeV|<sup> '' (کتھ باتھ)''</sup>]] 16:22, 19 نَوَمبَر 2025 (UTC)
== Translation notification: Help:Two-factor authentication ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Help:Two-factor authentication|Help:Two-factor authentication]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Help%3ATwo-factor+authentication&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Help%3ATwo-factor+authentication&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is medium.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 03:09, 6 ڈیٚسَمبَر 2025 (UTC)
<!-- Message sent by User:Minorax@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Invitation to Organise Feminism and Folklore 2026 ==
<div style="border:8px maroon ridge;padding:6px;">
[[File:Feminism and Folklore 2026 logo.svg|center|550px|frameless]]
<div lang="en" dir="ltr" class="mw-content-ltr">
<div style="text-align: center;"><em>{{int:please-translate}}</em></div>
Dear {{PAGENAME}},
Hope you’re doing well. I’m reaching out with some exciting updates about '''[[m:Feminism and Folklore 2026|Feminism and Folklore 2026]]'''. Thanks to the amazing support from organizers like you, the campaign has grown into one of the biggest and most collaborative initiatives in the entire Wikimedia movement. Your efforts have played a huge part in that, and we’re truly grateful. We’re hoping to make the 2026 edition even larger and even more community-driven.
We’d be very happy to have you join again as an organizer. The sign-up process is simple this year:
#Create your local event page (you can copy from the [[:m:Feminism_and_Folklore/Sample|sample]])
#Set up your Fountain or [https://tools.wikilovesfolklore.org/campwiz/ CampWiz] campaign.
#Add your campaign link to the 2026 '''[[:m:Feminism_and_Folklore_2026/Project_Page|registration list]]'''
The focus of the campaign remains the same - creating or expanding Wikipedia content on feminism, women’s issues, gender topics, and diverse folk traditions from around the world. International and local prizes will continue as before.
'''Special Prize for 2026:'''
Every participant will receive a Wikipedia 25 digital postcard as a token of appreciation for contributing to the global movement during Wikipedia’s 25th anniversary year. This will be sent to all contributors who take part in the campaign.
We’re also adding an optional one-time internet and childcare support for organizers who may need extra assistance to carry out their local campaign. This is entirely optional and meant to help those who might otherwise face challenges in organizing. More details will be shared soon.
If you’re unable to organize this year, no worries at all - please feel free to share the invitation with others in your community who might be interested.
If you have any questions or would like to discuss plans, you can reach us on the [[:m:Talk:Feminism and Folklore 2026|talk page]] or by email.
Looking forward to collaborating again,
'''Wiki Loves Folklore International Team'''
--[[رُکُن:MediaWiki message delivery|MediaWiki message delivery]] ([[رُکُن کَتھ:MediaWiki message delivery|کَتھ صَفہٕ]]) 18:18, 12 ڈیٚسَمبَر 2025 (UTC)
</div></div>
<!-- Message sent by User:Tiven2240@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/fnf25&oldid=29792058 -->
== Translation notification: Universal Code of Conduct/Annual review/Messages/Review open ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Universal Code of Conduct/Annual review/Messages/Review open|Universal Code of Conduct/Annual review/Messages/Review open]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Universal+Code+of+Conduct%2FAnnual+review%2FMessages%2FReview+open&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Universal+Code+of+Conduct%2FAnnual+review%2FMessages%2FReview+open&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is medium.
The deadline for translating this page is 2026-01-19.
<div lang="en" class="mw-content-ltr">This message will be sent to all the wikis to inform communities about their chance to participate in proposing changes to the Universal Code of Conduct. </div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 22:30, 14 جَنؤری 2026 (UTC)
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Feminism and Folklore 2026 starts soon ==
<div style="border:8px maroon ridge; padding:6px;">
[[File:Feminism and Folklore 2026 logo.svg|center|550px|frameless]]
<div lang="en" dir="ltr" class="mw-content-ltr" style="padding: 1em 2em;">
<div style="text-align: center; width: 100%;">''{{int:please-translate}}''</div>
;Invitation to Organize Feminism and Folklore 2026
Dear {{BASEPAGENAME}},
We are pleased to invite you to organize the '''[[:m:Feminism and Folklore 2026|Feminism and Folklore 2026]]''' writing competition on your local Wikipedia.
The international campaign will run from '''1 February to 31 March 2026''' and aims to improve coverage of feminism, women’s histories, gender-related topics, and folk culture across Wikipedia projects.
;About the Campaign
'''Feminism and Folklore''' is a global writing initiative that complements the '''[[:c:Commons:Wiki Loves Folklore 2026|Wiki Loves Folklore]]''' photography competition. While Wiki Loves Folklore focuses on visual documentation, this writing campaign addresses the '''gender gap on Wikipedia''' by improving encyclopedic content related to folk culture and women.
;What Can Participants Write About?
Communities can contribute by creating, expanding, or translating articles related to:
* Folk festivals, rituals, and celebrations
* Folk dances, music, and traditional performances
* Women and queer figures in folklore
* Women in mythology and oral traditions
* Women warriors, witches, and witch-hunting narratives
* Fairy tales, folk stories, and legends
* Folk games, sports, and cultural practices
Participants may work from curated article lists or generate new article suggestions using campaign tools.
;How to Sign Up as an Organizer
Organizers are requested to complete the following steps to register their community:
# Create a local project page on your wiki [[:m:Feminism and Folklore/Sample|(see sample)]]
# Set up the campaign using the '''CampWiz''' tool
# Prepare a local article list and clearly mention:
#* Campaign timeline
#* Local and international prizes
# Request a site notice from local administrators [[:mr:Template:SN-FNF|(see sample)]]
# Add your local project page and CampWiz link to the '''[[:m:Feminism and Folklore 2026/Project Page|Meta project page]]'''
;Campaign Tools
The Wiki Loves Folklore Tech Team has introduced tools to support organizers and participants:
* '''Article List Generator by Topic''' – Helps identify articles available on English Wikipedia but missing in your local language Wikipedia. The tool allows customized filters and provides downloadable article lists in CSV and wikitable formats.
* '''CampWiz''' – Enables communities to manage writing campaigns effectively, including jury-based evaluation. This will be the third year CampWiz is officially used for Feminism and Folklore.
Both tools are now available for use in the campaign. '''[https://tools.wikilovesfolklore.org/ Click here to access the tools]'''
;Learn More & Get Support
*For detailed information about rules, timelines, and prizes, please visit the '''[[:m:Feminism and Folklore 2026|Feminism and Folklore 2026 project page]]'''.
* Join the office hours on 23 January 2026 and connect with the international Team. ([[:m:Event:Wiki Loves Folklore 2026 Office Hours|sign up now]])
If you have any questions or need assistance, feel free to reach out via:
* '''[[:m:Talk:Feminism and Folklore 2026/Project Page|Meta talk page]]'''
* Email us using details on the contact page.
;Join Us
We look forward to your collaboration and coordination in making Feminism and Folklore 2026 a meaningful and impactful campaign for closing gender gaps and enriching folk culture content on Wikipedia.
Thank you and best wishes,
'''[[:m:Feminism and Folklore 2026|Feminism and Folklore 2026 International Team]]'''
----
''Stay connected:''
[[File:B&W Facebook icon.png|link=https://www.facebook.com/feminismandfolklore/|30x30px]] [[File:B&W Twitter icon.png|link=https://twitter.com/wikifolklore|30x30px]]
</div></div>
--[[رُکُن:MediaWiki message delivery|MediaWiki message delivery]] ([[رُکُن کَتھ:MediaWiki message delivery|کَتھ صَفہٕ]]) 16:31, 18 جَنؤری 2026 (UTC)
<!-- Message sent by User:Tiven2240@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/fnf25&oldid=29949330 -->
== Thank you for being a medical translator! ==
<div lang="en" dir="ltr" class="mw-content-ltr">
{| style="background-color: #fdffe7; color: #000; border: 1px solid #fceb92;"
|rowspan="2" style="vertical-align: middle; padding: 5px;" | [[File:Wiki Project Med Foundation logo.svg|100px]]
|style="font-size: x-large; padding: 3px 3px 0 3px; height: 1.5em;" |'''The 2025 Cure Translators Award'''
|-
| style="vertical-align: middle; padding: 3px;" |In 2025 you [https://mdwiki.toolforge.org/Translation_Dashboard/leaderboard.php?camp=all&user_group=all&year=2025&month=All joined us as a medical translator]. Thank you from [[m:WikiProject_Med|Wiki Project Med]] for helping bring free, complete, accurate, up-to-date health information to the public.
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 formally joining the organization for 2026]]''', there are no associated costs.
|}
Look forwards to collaborating further in the year ahead. 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]]''' 07:53, 14 فرؤری 2026 (UTC)
</div>
(This message was sent to [[:رُکُن:511KeV]] and is being posted here due to a redirect.)
<!-- Message sent by User:Doc James@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Top_Translators_2025&oldid=30070105 -->
== Translation notification: Wiki Loves Ramadan 2026/List of Articles/Culture/1 ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Wiki Loves Ramadan 2026/List of Articles/Culture/1|Wiki Loves Ramadan 2026/List of Articles/Culture/1]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Wiki+Loves+Ramadan+2026%2FList+of+Articles%2FCulture%2F1&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Wiki+Loves+Ramadan+2026%2FList+of+Articles%2FCulture%2F1&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is low.
The deadline for translating this page is 2026-02-28.
<div lang="en" class="mw-content-ltr">Hello! We have a new page for translation: Wiki Loves Ramadan 2026/List of Articles/Culture/1. Thank you!</div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 11:02, 15 فرؤری 2026 (UTC)
<!-- Message sent by User:Julius 12345@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Global username policy ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Global username policy|Global username policy]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Global+username+policy&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Global+username+policy&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is medium.
The deadline for translating this page is 2026-12-31.
<div lang="en" class="mw-content-ltr">Hello! We have a new page for translation: Global username policy. Thank you very much!</div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 14:25, 15 فرؤری 2026 (UTC)
<!-- Message sent by User:Julius 12345@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Event:Queer Women in Arts ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Event:Queer Women in Arts|Event:Queer Women in Arts]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Event%3AQueer+Women+in+Arts&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Event%3AQueer+Women+in+Arts&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is high.
The deadline for translating this page is 2026-02-28.
<div lang="en" class="mw-content-ltr">Hello! We have a new page for translation: Event:Queer Women in Arts. Thanks!</div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 19:11, 18 فرؤری 2026 (UTC)
<!-- Message sent by User:Julius 12345@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Mission ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Mission|Mission]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Mission&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Mission&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is medium.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 02:15, 28 فرؤری 2026 (UTC)
<!-- Message sent by User:Minorax@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Event:Wikipedia & Education User Group Showcase/March 2026 ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Event:Wikipedia & Education User Group Showcase/March 2026|Event:Wikipedia & Education User Group Showcase/March 2026]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Event%3AWikipedia+%26+Education+User+Group+Showcase%2FMarch+2026&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Event%3AWikipedia+%26+Education+User+Group+Showcase%2FMarch+2026&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is high.
The deadline for translating this page is 2026-03-21.
<div lang="en" class="mw-content-ltr">Hi translators,
The EduWiki Hub is seeking your support to help translate the Meta page for the EduWiki Knowledge Showcase (March 2026) into Portuguese, Spanish, French, Hindi, and Arabic
The event will take place on 24 March 2026, and translations will help make it accessible to more communities.
Thank you for your support.
Kind regards,
Barakat, for the EduWiki Hub.</div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 12:56, 17 مارٕچ 2026 (UTC)
<!-- Message sent by User:BAdegboye (EdWH)@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Notice of expiration of your interface-admin right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "interface-admin" (اِنٹَرفیس اِنتِظٲمؠ) will expire on 2026-04-03 20:59:00. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[رُکُن:Leaderbot|Leaderbot]] ([[رُکُن کَتھ:Leaderbot|کَتھ صَفہٕ]]) 19:41, 28 مارٕچ 2026 (UTC)</div>
== Notice of expiration of your sysop right ==
<div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "sysop" (اِنتِظٲمؠ) will expire on 2026-04-03 20:59:00. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[رُکُن:Leaderbot|Leaderbot]] ([[رُکُن کَتھ:Leaderbot|کَتھ صَفہٕ]]) 19:41, 28 مارٕچ 2026 (UTC)</div>
== 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 be a week in 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]]) 20:06, 28 اپریٖل 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=30472432 -->
== Translation notification: User:Keegan (WMF)/U4C eligible voter ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:User:Keegan (WMF)/U4C eligible voter|User:Keegan (WMF)/U4C eligible voter]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-User%3AKeegan+%28WMF%29%2FU4C+eligible+voter&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-User%3AKeegan+%28WMF%29%2FU4C+eligible+voter&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is medium.
The deadline for translating this page is 2026-05-19.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 00:28, 15 مٔی 2026 (UTC)
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Universal Code of Conduct/Coordinating Committee/Election/2026/Vote now ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Universal Code of Conduct/Coordinating Committee/Election/2026/Vote now|Universal Code of Conduct/Coordinating Committee/Election/2026/Vote now]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Universal+Code+of+Conduct%2FCoordinating+Committee%2FElection%2F2026%2FVote+now&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Universal+Code+of+Conduct%2FCoordinating+Committee%2FElection%2F2026%2FVote+now&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is medium.
The deadline for translating this page is 2026-05-26.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 21:17, 20 مٔی 2026 (UTC)
<!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Translation notification: Global locks ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Global locks|Global locks]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Global+locks&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Global+locks&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is medium.
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 01:45, 7 جوٗن 2026 (UTC)
<!-- Message sent by User:Minorax@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Help ==
Hello, I need help to improving [[غزہ نسل کشی|this]] article. My kashmir language is bad 😅 [[رُکُن:جودت|جودت]] ([[رُکُن کَتھ:جودت|کَتھ صَفہٕ]]) 06:32, 17 جوٗن 2026 (UTC)
== Translation notification: Event:Open Heritage-Wikidata Contest ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Event:Open Heritage-Wikidata Contest|Event:Open Heritage-Wikidata Contest]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Event%3AOpen+Heritage-Wikidata+Contest&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Event%3AOpen+Heritage-Wikidata+Contest&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
The priority of this page is medium.
The deadline for translating this page is 2026-08-15.
<div lang="en" class="mw-content-ltr">Hello,
We are looking forward to translating this page.
We highly appreciate your support
Best</div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 18:54, 10 اَگست 2026 (UTC)
<!-- Message sent by User:SanBonne@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
== Request for MediaWiki:Gadget-switcher.js ==
@[[رُکُن:511KeV|511KeV]] Assalamualaikum please add create MediaWiki:Gadget-switcher.js so that switcher template will work properly.
Thanks [[رُکُن:آیات محراج|آیات محراج]] ([[رُکُن کَتھ:آیات محراج|کَتھ صَفہٕ]]) 14:23, 23 اَگست 2026 (UTC)
:@[[رُکُن:آیات محراج|آیات محراج]] {{done}} <small><sub><span style="color:grey;"> </span></sub></small>[[User:511KeV|<span style="font-family:sans-serif; color:#FF1100; text-shadow:.2em .2em .4em #AfAfB1;">'''511KeV'''</span>]] [[User_talk:511KeV|<sup> '' (کتھ باتھ)''</sup>]] 14:00, 30 اَگست 2026 (UTC)
== Translation notification: Wiki Academy, Bejoy Narayan Mahavidyalaya ==
Hello 511KeV,
You are receiving this notification because you signed up as a translator to Kashmiri (Arabic script) and Kashmiri on Meta-Wiki.
The page [[:metawikipedia:Wiki Academy, Bejoy Narayan Mahavidyalaya|Wiki Academy, Bejoy Narayan Mahavidyalaya]] is available for translation. You can translate it here:
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Wiki+Academy%2C+Bejoy+Narayan+Mahavidyalaya&language=ks-arab&action=page&action_source=translation_notification translate to Kashmiri (Arabic script)]
* [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Wiki+Academy%2C+Bejoy+Narayan+Mahavidyalaya&language=ks&action=page&action_source=translation_notification translate to Kashmiri]
<div lang="en" class="mw-content-ltr"></div>
Your help is greatly appreciated. Translators like you help Meta-Wiki to function
as a truly multilingual community.
To unsubscribe or to change your notification preferences for translations, please visit [https://meta.wikimedia.org/wiki/Special:TranslatorSignup Special:TranslatorSignup].
Thank you!
Meta-Wiki translation coordinators, 21:53, 31 اَگست 2026 (UTC)
<!-- Message sent by User:Borhan@metawiki using the list at https://meta.wikimedia.org/wiki/Special:NotifyTranslators -->
fxrj9hrtumyeyxljos2ar8ax238nii2
اِنٛجیٖنَرِنٛگ
0
9068
150910
150835
2026-08-31T18:01:23Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150910
wikitext
text/x-wiki
{{Dead end|date=اَکتوٗبَر ٢٠٢١}}{{مولوٗماتھ}}
"'''اِنٛجیٖنٔرنٛگ'''" یا '''ہندسیات''' (engineering) چھُ اکٛھ لاَطأنِی لفٕظ "اِنجِیٚنِیَم" یَمُیوٛک مَعنٰی گوٛۄ ہُوشٚیأرِی/چَالأکھِی تہٕ "اِنجِیٚنِیرِیَا" مَعنٰی گوٚۄ تَدٕبیٖر کَرٕنٚی۔<ref>http://www.iaeng.org/about_IAENG.html</ref> اِنٛجیٖنٔرنٛگ چھُ اَکھ پییٚشہِ تہٕ اَمہِ کِس طٲلبہِ علمَس چھِ [[اِنجیٖنَر]] وَننہٕ یِوان۔
== حَوالہٕ ==
{{حَوالہٕ}}
{{نامُکَمَل مَضموٗن}}
[[زٲژ:پییٚشہِ]]
0htr8bvntmi05hd25lk2td3cubimwnt
وِکیٖپیٖڈیا:رُکُن فِہرِست اؠڈِٹ تَعداد مُطٲبِق
4
14505
150912
150840
2026-08-31T18:01:36Z
Nadeemulhaqmir-bot
9480
Updated List of Wikipedians
150912
wikitext
text/x-wiki
== List of Wikipedians by number of edits ==
<div style="direction:ltr">
{| class="wikitable"
|- style="white-space:nowrap;"
! No.
! User
! Edit count
|-
| 1
| [[User: آیات محراج | آیات محراج]]
| [[Special:Contributions/آیات محراج|36724]]
|-
| 2
| <small><sub><span style="color:grey;"> </span></sub></small>[[User:511KeV|<span style="font-family:sans-serif; color:#FF1100; text-shadow:.2em .2em .4em #AfAfB1;">'''511KeV'''</span>]] [[User_talk:511KeV|<sup> '' (کتھ باتھ)''</sup>]]
| [[Special:Contributions/511KeV|21545]]
|-
| 3
| [[User:Nadeemulhaqmir-bot|<span style="font-weight: 700; font-family: cursive;color: #41bf14;text-shadow: -1px 1px 0px #030318;">Mir-Bot</span>🍁]][[User_talk:Nadeemulhaqmir-bot|<sup>Talk</sup>]]
| [[Special:Contributions/Nadeemulhaqmir-bot|14438]]
|-
| 4
| [[User: Uhaas bot | Uhaas bot]]
| [[Special:Contributions/Uhaas bot|11723]]
|-
| 5
| [[User: SakuraBot | SakuraBot]]
| [[Special:Contributions/SakuraBot|3576]]
|-
| 6
| [[User: SieBot | SieBot]]
| [[Special:Contributions/SieBot|2432]]
|-
| 7
| [[User: Xqbot | Xqbot]]
| [[Special:Contributions/Xqbot|2374]]
|-
| 8
| [[User: Humzah Rouf Phumboo | Humzah Rouf Phumboo]]
| [[Special:Contributions/Humzah Rouf Phumboo|2268]]
|-
| 9
| [[User: Koshur | Koshur]]
| [[Special:Contributions/Koshur|2227]]
|-
| 10
| —[[User:InternetArchiveBot|'''<span style="color:darkgrey;font-family:Courier New">InternetArchiveBot</span>''']] <span style="color:green;font-family:Rockwell">([[:en:User talk:InternetArchiveBot|Report bug]])</span>
| [[Special:Contributions/InternetArchiveBot|1840]]
|-
|}
</div>
slwc6jbbeux71v1yw7p9ipnl4cy9oea
بؠمٲرؠ X
0
18812
150947
88263
2026-09-01T09:39:24Z
آیات محراج
11062
/* */
150947
wikitext
text/x-wiki
[[File:SARS-CoV-2_(yellow).jpg|thumb|[[سِکینِنٛگ الیٚکٹران خۄردبین|سکیننگ الیکٹران مایکروسکوپ]] (SARS-CoV-2 ہچ SEM امیج، 2020 منٛز قیاس اوس آمت کرنہٕ زِ یہِ چھےٚ بؠمٲرۍ X پٲدٕ کرن وول گۄڑنیوک وائرس۔<ref name="Shi" /><ref name="BLOOM" /><ref name="NYT" />]]
بؠمٲرؠ X اَکھ [[جاے رٹن وول ناو]] یُس ورلڈ ہیلتھ آرگنائزیشن (WHO) فَرؤری ۲۰۱۸ ہَس مَنٛز ترجیح بیمارن ہنٛدس پننہٕ شارٹ فہرستس مَنٛز اپناونہٕ آو تاکہ اَکھ فرضی، نامعلوم پیتھوجین نمائندگی کرنہٕ یُس مستقبلس مَنٛز [[وبٲیی]] ہنٛد سبب ہیکہٕ أستھ۔<ref name="WHO">{{ویب حَوالہٕ|date=7 February 2018|title=List of Blueprint priority diseases|url=http://origin.who.int/blueprint/priority-diseases/en/|url-status=dead|archive-url=https://web.archive.org/web/20200301083134/http://origin.who.int/blueprint/priority-diseases/en/|archive-date=1 March 2020|access-date=20 March 2020|website=[[World Health Organization]]}}</ref>
== معقولیت ==
[[File:Jeremy_Farrar_C0058569_Wellcome_Images.jpg|thumb|[[جیٚرمی فرار]]، ڈبلیو ایچ او آر اینڈ ڈی بِلُو پٕرنٛٹ سائنٹفِک ایڈوائزری گروپٕکۍ سربراہ۔ <ref name="WHO5" />]]
2015 کووڈ-19 وبائی مرض برونٛٹھ وبائی مرضٕچ تیٲری مَنٛز، ڈبلیو ایچ او یُس ممبر تنظیمن ہنٛد طرفہٕ "وبائی امراض رُکاونٕچ کاروائی خاطرٕ آر اینڈ ڈی بِلُو پٕرنٛٹ" بناونہٕ خاطرٕ وننہٕ آو تاکہ تِمہٕ نظریات پٲدٕ کرنہٕ ین یمہٕ گردشی وبائچ شناخت تہٕ ویکسینٕچ منظوریس درمیان وقتک وقفہٕ کم کرن۔ علاج، تاکہ وبائہٕ "پبلک ہیلتھ ایمرجنسی" مَنٛز تبدیل گژھنہٕ نِش رکاونہٕ۔<ref name="WHO" />
== بیٚیہِ وُچھِو ==
* [[اِپِڈیمِک تیٲریٲتی ایٖجاداتو خٲطرٕ اتحاد]] (CEPI)
* [[گلوبل ریسٲرٕچ کولیبریشن فار انفیٚکشَس وبٲئی تیٲریٲتی]] (GloPIR-R)
* [[مصنوعی وِرالوجی]]
* [[بایئو ٹیٚرارِزٕم]]
== حَوالہٕ جات ==
{{حَوالہٕ}}
== نؠبرِم کُنٛڈٕ ==
51hyx4zfoq02ibnj5moxm28pdunyuq6
بَرِصَغیٖر ہِنٛد
0
19851
150944
147515
2026-09-01T07:27:10Z
Peter Ormond
7979
[[بَرِصَغیٖر ہِند]] صَفہٕ آو پَکناونہٕ [[بَرِصَغیٖر ہِنٛد]] جاے، پَکناوَن وول صٲرف Peter Ormond : نٛ
147515
wikitext
text/x-wiki
{{देवनागरी|भारतीय उपमहादीप}}
{{مولوٗماتھ}}
بَرِصَغیٖر ہِند چھُ جۆنوٗبی ایشیاء ہُک اَکھ طبعی خطہٕ، یُس زیٛادٕ تر ہندوستٲنؠ پلیٹس پؠٹھ واقع چھُ، یُس [[ہِمالیَہ|ہمالیہ]] پیٹھہٕ جۆنوٗب کن بحر ہند مَنٛز پیش چھُ گژھان۔ جغرافیائی سیاست کہ لحاظٕ سٟتؠ چھُ یہٕ [[بَنٛگلہ دیٖش|بنگلہ دیش]] ،[[بھوٹان]]، [[ہِندوستان|ہندوستان]]، [[مالدیٖو|مالدیپ]]، [[نؠپال]] پاکستان، تہٕ [[سِری لنٛکا|سری لنکا]] کین ملکن ہند بڑن علاقن پؠٹھ محیط۔اگرچہ اصطلاحات "1" برصغیر پاک و ہند تہٕ [[جنوبی ایشیا|جنوبی ایشیاء]] چھ اکثر خطس ظٲہر کرنہٕ خٲطرٕ ایکس بییس جاے اِستِمال کَتنہٕ یِوان، جۆنوٗبی ایشیا کہ جیو پولیٹیکل اصطلاحس مَنٛز چھ اکثر [[اَفغٲنِستان|افغانستان]] شٲمل آسان، یُس نہٕ برصغیر پاک و ہندس حصہٕ کس طورس پؠٹھ سمجھنہٕ یوان چھ۔<ref name="dkumar889">{{کِتاب حَوالہٕ|last=Dhavendra Kumar|url=https://books.google.com/books?id=BLLmbgt8wNgC&pg=PA889|title=Genomics and Health in the Developing World|publisher=Oxford University Press|year=2012|isbn=978-0-19-537475-9|page=889|quote=India, Pakistan, Bangladesh, Sri Lanka, Nepal, Bhutan and other small islands of the Indian Ocean}}</ref><ref name="pirbhai14">{{کِتاب حَوالہٕ|last=Mariam Pirbhai|url=https://books.google.com/books?id=EsCZZ3K6-uYC&pg=PA14|title=Mythologies of Migration, Vocabularies of Indenture: Novels of the South Asian Diaspora in Africa, the Caribbean, and Asia-Pacific|publisher=University of Toronto Press|year=2009|isbn=978-0-8020-9964-8|page=14}}</ref><ref name="mmann">{{کِتاب حَوالہٕ|last=Michael Mann|url=https://books.google.com/books?id=Uh0cBQAAQBAJ&pg=PT13|title=South Asia's Modern History: Thematic Perspectives|publisher=Taylor & Francis|year=2014|isbn=978-1-317-62445-5|pages=13–15}}</ref><ref name="McLeod p1">{{کِتاب حَوالہٕ|last=John McLeod|title=The history of India|url=https://archive.org/details/historyofindia0000mcle|publisher=Greenwood Press|year=2002|isbn=0-313-31459-4|page=[https://archive.org/details/historyofindia0000mcle/page/1 1]}} Note: McLeod does not include Afghanistan in the Indian subcontinent or South Asia.</ref>
== حَوالہٕ ==
ad779g14fwb13hiame8sywq6mq3rdpp
150946
150944
2026-09-01T07:37:25Z
Peter Ormond
7979
/* */ صَفٲیی پھَشا کۆرمَس
150946
wikitext
text/x-wiki
{{देवनागरी|भारतीय उपमहादीप}}
{{مولوٗماتھ}}
'''بَرِصَغیٖر ہِنٛد''' چھُ جۆنوٗبی ایشیاہُک اَکھ طبعی خِطہٕ، یُس زیٛادٕ تَر ہِنٛدوستٲنؠ پلیٹَس پؠٹھ واقع چھُ، یُس [[ہِمالیَہ]] پیٹھٕ جۆنوٗب کُن بحر ہِنٛد مَنٛز پیش چھُ گَژھان۔ جُغرافیٲیی سِیاسَت کہِ لِحاظٕ سٟتؠ چھُ یہِ [[بَنٛگلہ دیٖش]] ،[[بھوٹان]]، [[ہِنٛدوستان]]، [[مالدیٖو]]، [[نؠپال]]، [[پٲکِستان]]، تہٕ [[سِری لنٛکا]] کؠن مُلکَن ہُنٛد بَڑَن عَلاقَن پؠٹھ محیط۔ اگرچہ اصطلاحات "1" بَرِصَغیٖر ہِنٛد تہٕ [[جۆنوٗبی ایشیا]] چھُ اَکثَر خِطَس ظٲہِر کَرنہٕ خٲطرٕ ایٚکِس بیٚیِس جاے اِستِمال کَرنہٕ یِوان، جۆنوٗبی ایشیا کہِ جِیو پولیٖٹیٖکَل اصطلاحس مَنٛز چھُ اَکثَر [[اَفغٲنِستان]] شٲمِل آسان، یُس نہٕ بَرصَغیٖرُک حِصہٕ کِس طورَس پؠٹھ سَمجَنہٕ یِوان چھُ۔<ref name="dkumar889">{{کِتاب حَوالہٕ|last=Dhavendra Kumar|url=https://books.google.com/books?id=BLLmbgt8wNgC&pg=PA889|title=Genomics and Health in the Developing World|publisher=Oxford University Press|year=2012|isbn=978-0-19-537475-9|page=889|quote=India, Pakistan, Bangladesh, Sri Lanka, Nepal, Bhutan and other small islands of the Indian Ocean}}</ref><ref name="pirbhai14">{{کِتاب حَوالہٕ|last=Mariam Pirbhai|url=https://books.google.com/books?id=EsCZZ3K6-uYC&pg=PA14|title=Mythologies of Migration, Vocabularies of Indenture: Novels of the South Asian Diaspora in Africa, the Caribbean, and Asia-Pacific|publisher=University of Toronto Press|year=2009|isbn=978-0-8020-9964-8|page=14}}</ref><ref name="mmann">{{کِتاب حَوالہٕ|last=Michael Mann|url=https://books.google.com/books?id=Uh0cBQAAQBAJ&pg=PT13|title=South Asia's Modern History: Thematic Perspectives|publisher=Taylor & Francis|year=2014|isbn=978-1-317-62445-5|pages=13–15}}</ref><ref name="McLeod p1">{{کِتاب حَوالہٕ|last=John McLeod|title=The history of India|url=https://archive.org/details/historyofindia0000mcle|publisher=Greenwood Press|year=2002|isbn=0-313-31459-4|page=[https://archive.org/details/historyofindia0000mcle/page/1 1]}} Note: McLeod does not include Afghanistan in the Indian subcontinent or South Asia.</ref>
== حَوالہٕ ==
g8w5tsn4a2xt9v1blhbknjm3om3pfd3
چِیایی کاؤنٹی
0
21521
150905
150862
2026-08-31T18:00:58Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150905
wikitext
text/x-wiki
{{Infobox settlement/Wikidata}}
'''چِیایی کاؤنٹی''' چھُ [[تایوان]] اَکھ کاؤنٹی۔ یہٕ ضِلہٕ چھُ جۆنوٗب مغربی مُلکس مَنٛز واقع۔ امٕچ آبٲدی چھِ 1,901.67 چَکور کِلومیٖٹَر، تہٕ دَسَمبَر 2014 مَنٛز چھِ 524,783۔<ref name="cyhg.gov.tw">{{ویب حَوالہٕ|title=Welcome to Chiayi County Government-Population-Population|url=http://www.cyhg.gov.tw/wSite/ct?xItem=1052&ctNode=14752&mp=12|archive-url=https://web.archive.org/web/20160303165544/http://www.cyhg.gov.tw/wSite/ct?xItem=1052&ctNode=14752&mp=12|archive-date=3 Mart 2016|access-date=17 Nisan 2016|website=cyhg.gov.tw}}</ref>
==حَوالہٕ==
[[زٲژ:تایوان]]
jp7jjngfpqyknuf4rx7teeawjgugbu6
یُنلِن کاؤنٹی
0
21522
150904
150863
2026-08-31T18:00:53Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150904
wikitext
text/x-wiki
{{Infobox settlement/Wikidata}}
'''یُنلِن کاؤنٹی''' (چینی: ; پیٖنِی: Yúnlín Xiàn) چھُ [[تائیوان]] اَکھ کاؤنٹی۔ یہٕ ضِلہٕ چھُ مغربس مَنٛز واقع۔ ڈیموکرینس مَنٛز اوس 1,290.84 چَکور کِلومیٖٹَر آبٲدی، تہٕ دَسَمبَر 2014 مَنٛز اوس 705,356۔ <ref name="陳其育 2012 pp۔ 1–58">{{cite journal | author=陳其育 | title=社會網絡、人力資本對社會流動的影響──以新北市雲林同鄉會為例 [The Impact of Social Networks and Human Capital on Social Mobility: A Study of the Yunlin County Association of New Taipei City]
| journal=臺灣大學國家發展研究所學位論文 | date=2012-01-01 | doi=10.6342/NTU.2012.01244 | pages=1–58 | url=https://www.airitilibrary.com/Publication/alDetailedMesh?DocID=U0001-1308201212520600 | language=zh | access-date=2020-03-05 | quote=According to the Taiwan government's internal migration data, Yunlin County is one of the regions with the largest emigration. About 400,000 Yunlin County's residents moved to new Taipei county. The people from the Yunlin county organized the Yunlin Association of New Taipei City. This study focused on these Yunlin Association members. Why the group of people from the same hometown are differing within later social mobility. This study is trying to verify either the social network or the human capital is the main factor behind it.}}</ref>
==حَوالہٕ==
4iwof348yzg1ecscax2jyp12evcigs7
کاوسیٛونٛگ
0
21524
150908
150849
2026-08-31T18:01:13Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150908
wikitext
text/x-wiki
{{Infobox political geography}}
'''کاوسیٛونٛگ''' سرکٲری طورس پؠٹھ '''کاوسیٛونٛگ شَہَر''' چھُ اَکھ خاص میونسپلٹی یوس جۆنوٗبی [[تایوان|تایوانس]] مَنٛز واقع چھُ۔ یہِ چھُ ساحلی شہری مرکزَو پؠٹھٕ گٲمی یوشان سِلسِلس تام ییٚمیُک رۄقبہٕ 2,952 چَکور کلومیٹر (1,140 چَکور میٖل) چھُ۔ کاوسیونگ سٹی ہٕنٛز آبٲدی چھِ اکتوبر 2023 ہَس تام تَقریٖبَن 2.73 ملین لوک تہٕ یہِ چھُ تایوانُک ترٛیٚیِم ساروٕے کھۄتہٕ زِیٛادٕ آبٲدی وول شَہَر تہٕ جۆنوٗبی تایوانُک ساروٕے کھۄتہٕ بوٚڑ شَہَر۔<ref>{{cite web |title=The World According to GaWC 2020 |url=https://www.lboro.ac.uk/gawc/world2020t.html |publisher=Globalization and World Cities (GaWC) Research Network |access-date=31 August 2020 |archive-date=24 August 2020 |archive-url=https://web.archive.org/web/20200824031341/https://www.lboro.ac.uk/gawc/world2020t.html |url-status=live }}</ref>
==حَوالہٕ==
e7aa6ljt69a82dqwbagccim1ldou0xi
تایتُنٛگ کاؤنٹی
0
21525
150907
150853
2026-08-31T18:01:08Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150907
wikitext
text/x-wiki
{{Infobox settlement/Wikidata}}
تایتُنٛگ کاؤنٹی چھُ [[تایوان|تایوانُک]] اَکھ کاؤنٹی۔ تایوان کاؤنٹی مَنٛز چھُ، تایوانک آبٲدی چھےٚ 218,919۔ دَسَمبَر 2018 مَنٛز، امُیٛک رازدٲنؠ چھِ تایتُنٛگ شَہَر ، یُس 3,515 چَکور کِلوٗمیٖٹَر چھُ علاقس مَنٛز چھُ۔ <ref>{{ویب حَوالہٕ|title=2016 The 14th Presidential and Vice Presidential Election and The 9th Legislator Election|url=http://vote2016.cec.gov.tw/en/T1/n710010000000000.html|archive-url=https://web.archive.org/web/20170707072743/http://vote2016.cec.gov.tw/en/T1/n710010000000000.html|archive-date=7 يوليو 2017|publisher=}} {{Webarchive|url=https://web.archive.org/web/20170707072743/http://vote2016.cec.gov.tw/en/T1/n710010000000000.html |date=2017-07-07 }}</ref><ref>{{کِتاب حَوالہٕ|last=Davidson|first=James W.|url=https://archive.org/details/islandofformosap00davi|title=The Island of Formosa, Past and Present : history, people, resources, and commercial prospects : tea, camphor, sugar, gold, coal, sulphur, economical plants, and other productions|publisher=Macmillan & co.|year=1903|location=London and New York|page=244|ol=6931635M|author-link=James W. Davidson|archive-url=https://web.archive.org/web/20191011233359/https://archive.org/details/islandofformosap00davi|archive-date=11 أكتوبر 2019}}</ref>
==حَوالہٕ==
[[زٲژ:تایوان]]
bucprnl7tyzvla6x3ny07wsv2udflv5
اَیبریٲیی جزیرہ نما منٛز بجلی ہنٛد بندش 2025
0
23513
150935
113122
2026-09-01T04:20:14Z
آیات محراج
11062
[[ایبریائی جزیرہ نما منٛز بجلی ہنٛد بندش 2025]] صَفہٕ آو پَکناونہٕ [[اَیبریٲیی جزیرہ نما منٛز بجلی ہنٛد بندش 2025]] جاے، پَکناوَن وول صٲرف آیات محراج
113122
wikitext
text/x-wiki
{{حَوالہٕ وَرٲے}}
{{مولوٗماتھ}}
28 اپریل 2025 مَنٛز آیہٕ ایبریائی جزیرٕہ تہٕ جۆنوٗبی یورپس مَنٛز بجلی ہنٛد اَکھ اہم معطلی واقع، یم اندورا پرتگال، اسپین تہٕ جۆنوٗبی [[فرٛانٛس|فرانسس]]۔
[[زٲژ :واقعات]]
[[زٲژ :2025 واقعات]]
6av39us1e1xekkfk00sb7777365z3u4
وؠتھ
0
24694
150942
137045
2026-09-01T05:50:45Z
EmausBot
1793
Fixing double redirect from [[جَہلَم دٔرؠیاو]] to [[وؠتھ دٔرؠیاو]]
150942
wikitext
text/x-wiki
#REDIRECT [[وؠتھ دٔرؠیاو]]
iuf7tq1kziw2h5fsj5y3c2lwszgfnyi
دریائے جہلم
0
24702
150941
137043
2026-09-01T05:50:35Z
EmausBot
1793
Fixing double redirect from [[جَہلَم دٔرؠیاو]] to [[وؠتھ دٔرؠیاو]]
150941
wikitext
text/x-wiki
#REDIRECT [[وؠتھ دٔرؠیاو]]
iuf7tq1kziw2h5fsj5y3c2lwszgfnyi
سوڈان خانہٕ جنٛگی (2023-ازکال)
0
25781
150927
123161
2026-08-31T19:35:54Z
آیات محراج
11062
/* */
150927
wikitext
text/x-wiki
{{Infobox event/Wikidata}}
'''سوڈانُک خانہٕ جَنٛگی''' (2023–ازکال) چھُ اَکھ جٲری اَندروٗنی نِیٛاے یُس 15 اَپریل 2023 پیٹھہٕ [[سوڈان|سوڈانس]] مَنٛز شروٗع گو۔ یہِ [[جَنٛگ]] چھُ [[سوڈٲنؠ ہتھیار در فوج]] (SAF) تہٕ پَر فوجی ٹولہٕ ’[[ریپڑ سپورٹ فورسز|ریپِڑ سَپورٹ فورسٕز]]‘ (RSF) دَرمِیان گَژھان۔<ref>{{Cite web |last=Gramer|first=Jared Malsin, Benoit Faucon and Robbie|date=2025-10-28|title=Exclusive: How U.A.E. Arms Bolstered a Sudanese Militia Accused of Genocide|url=https://www.wsj.com/world/how-u-a-e-arms-bolstered-a-sudanese-militia-accused-of-genocide-781b9803|access-date=2025-11-12|website=The Wall Street Journal|language=en-US}}</ref>
==دٔرؠ (Fractions)==
یہِ لَڑٲے چھِ سوڈانُک فوجی [[عبد الفتاح البرہان|سَربراہ عَبُد الفَتّاح البُرہان]] تہٕ ’آر ایس ایف‘ کمانڈر [[محمد حمدان دگالو|مُحَمَد حَمدان دَگالو]] (یُس ’ہیمِدتی‘ ناوٕ سٕتؠ مَشہوٗر چھُ) دَرمِیان۔
==کارن==
*امِچ شروعات گٔیہِ [[سوڈٲنؠ ہتھیار در فوج|سوڈانی ہتھیار در فوج]] (ایس اے ایف) تہٕ [[ریپڈ سپورٹ فورسز]] (آر ایس ایف) درمیان فوج تہٕ مُلکَس پیٚٹھ طاقتٕچ جدوجہد پٲٹھؠ شُروٗع۔
*یہٕ اوس دولت تہٕ وسٲئلن خٲطرٕ مُقابلہٕ (یتھ کٔنؠ سۄنہٕ خان تہٕ باقی معاشی اثاثن پؠٹھ کنٹرول) سٕتؠ کارفرما، یمہٕ سٕتؠ لڑائیہٕ سِیٲسی تہٕ معاشی دۄشوے بنییہٕ۔
==اَثَر==
اَتھ جَنٛگہٕ سٕتؠ چھِ ساسہٕ بٔدؠ تِعدادس مَنٛز لوُکھ ہَلاک گٲمٕتؠ تہٕ لَچھَن ہِنٛدؠ تِعدادس مَنٛز لوُکھ چھِ بےٚ گَر گژھان پَنہٕ وطنہٕ نِش ژلنس پؠٹھ مَجبوٗر گٲمٕتؠ۔ رازدٲنؠ خَرطوٗم تہٕ ڈارفور خِطس مَنٛز چھِ حالات سَخت خَراب۔ اِنسٲنی حُقوقَن ہٕنٛز خِلاف وَرزی تہٕ کھینہٕ چؠنُک کٔمی چھِ بٔڑِ مَسلہٕ یٔمؠ برٛونٛہہ کُن آے۔
==حَوالہٕ==
[[زٲژ:واقعات]]
[[زٲژ:سوڈان]]
beqjfe7u58fhrifjp2oz7vbdxcgzqaw
150929
150927
2026-08-31T20:08:21Z
آیات محراج
11062
/* */
150929
wikitext
text/x-wiki
{{Infobox event/Wikidata|v_image_map=File:ECDM 20230505 DM Sudan Conflict.pdf|v_caption_map=نقشہٕ}}
'''سوڈانُک خانہٕ جَنٛگی''' (2023–ازکال) چھُ اَکھ جٲری اَندروٗنی نِیٛاے یُس 15 اَپریل 2023 پیٹھہٕ [[سوڈان|سوڈانس]] مَنٛز شروٗع گو۔ یہِ [[جَنٛگ]] چھُ [[سوڈٲنؠ ہتھیار در فوج]] (SAF) تہٕ پَر فوجی ٹولہٕ ’[[ریپڑ سپورٹ فورسز|ریپِڑ سَپورٹ فورسٕز]]‘ (RSF) دَرمِیان گَژھان۔<ref>{{Cite web |last=Gramer|first=Jared Malsin, Benoit Faucon and Robbie|date=2025-10-28|title=Exclusive: How U.A.E. Arms Bolstered a Sudanese Militia Accused of Genocide|url=https://www.wsj.com/world/how-u-a-e-arms-bolstered-a-sudanese-militia-accused-of-genocide-781b9803|access-date=2025-11-12|website=The Wall Street Journal|language=en-US}}</ref>
==دٔرؠ (Fractions)==
یہِ لَڑٲے چھِ سوڈانُک فوجی [[عبد الفتاح البرہان|سَربراہ عَبُد الفَتّاح البُرہان]] تہٕ ’آر ایس ایف‘ کمانڈر [[محمد حمدان دگالو|مُحَمَد حَمدان دَگالو]] (یُس ’ہیمِدتی‘ ناوٕ سٕتؠ مَشہوٗر چھُ) دَرمِیان۔
==کارن==
*امِچ شروعات گٔیہِ [[سوڈٲنؠ ہتھیار در فوج|سوڈانی ہتھیار در فوج]] (ایس اے ایف) تہٕ [[ریپڈ سپورٹ فورسز]] (آر ایس ایف) درمیان فوج تہٕ مُلکَس پیٚٹھ طاقتٕچ جدوجہد پٲٹھؠ شُروٗع۔
*یہٕ اوس دولت تہٕ وسٲئلن خٲطرٕ مُقابلہٕ (یتھ کٔنؠ سۄنہٕ خان تہٕ باقی معاشی اثاثن پؠٹھ کنٹرول) سٕتؠ کارفرما، یمہٕ سٕتؠ لڑائیہٕ سِیٲسی تہٕ معاشی دۄشوے بنییہٕ۔
==اَثَر==
اَتھ جَنٛگہٕ سٕتؠ چھِ ساسہٕ بٔدؠ تِعدادس مَنٛز لوُکھ ہَلاک گٲمٕتؠ تہٕ لَچھَن ہِنٛدؠ تِعدادس مَنٛز لوُکھ چھِ بےٚ گَر گژھان پَنہٕ وطنہٕ نِش ژلنس پؠٹھ مَجبوٗر گٲمٕتؠ۔ رازدٲنؠ خَرطوٗم تہٕ ڈارفور خِطس مَنٛز چھِ حالات سَخت خَراب۔ اِنسٲنی حُقوقَن ہٕنٛز خِلاف وَرزی تہٕ کھینہٕ چؠنُک کٔمی چھِ بٔڑِ مَسلہٕ یٔمؠ برٛونٛہہ کُن آے۔
==حَوالہٕ==
[[زٲژ:واقعات]]
[[زٲژ:سوڈان]]
89j49wcx5hpnsusff98hycvnscmwipc
جہلم دریاو
0
25975
150940
137042
2026-09-01T05:50:25Z
EmausBot
1793
Fixing double redirect from [[جَہلَم دٔرؠیاو]] to [[وؠتھ دٔرؠیاو]]
150940
wikitext
text/x-wiki
#REDIRECT [[وؠتھ دٔرؠیاو]]
iuf7tq1kziw2h5fsj5y3c2lwszgfnyi
ڈرہم، شُمٲلی کیرولاینا
0
26391
150906
150860
2026-08-31T18:01:03Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150906
wikitext
text/x-wiki
{{Infobox settlement/Wikidata|state=[[شُمٲلی کیرولاینا]]}}
'''ڈرہم''' (/ˈdɜːrəm/ DURR-əm) چھُ امریکی رِیاسَتھ [[شمالی کیرولاینا|شمالی کیرولاینا ہُک]] اَکھ شَہَر۔ ڈرہم کاؤنٹیُک کاؤنٹی سیٹ، شہرٕک حدودٕکؠ لۄکٕٹ حِصہٕ چھِ اورنج کاؤنٹی تہٕ ویک کاؤنٹی تام پھٔہلِتھ۔ ڈرہم چھُ شمٲلی کیرولایناہُک ژوٗرِم سارِوٕے کھۄتہٕ زیٛادٕ آبٲدی وول شَہَر تہٕ ریاستہاے متحدُک 70 ہِم سارِوٕے کھۄتہٕ زیٛادٕ آبٲدی وول شَہَر یمٕچ آبٲدی 2020 چہٕ مردم شمٲری مَنٛز 283,506 چھِ۔ یہٕ شَہَر چھُ دریاے اینو سٟتؠ پیڈمونٹ علاقہٕ کس مشرقی-مرکزی حصس مَنٛز واقع۔ ژور کاؤنٹی ڈرہم-چیپل ہل میٹروپولیٹن علاقس مَنٛز چھِ اندازٕ مطابق 620,000 باشندٕ، ییٚلہٕ زن گریٹر ریسرچ ٹراینگل علاقچ آبٲدی چھِ 2.37 مِلیَن کھۄتہٕ زیٛادٕ لوٗکھ۔<ref name="PopEstCBSA">{{cite web|date=March 14, 2024|title=Metropolitan and Micropolitan Statistical Areas Population Totals: 2020-2023|url=https://www.census.gov/data/tables/time-series/demo/popest/2020s-total-metro-and-micro-statistical-areas.html#v2023|access-date=March 15, 2024|publisher=[[United States Census Bureau]], Population Division}}</ref>
== حَوالہٕ ==
[[زٲژ:اَمریٖکہ]]
k6a1gqmsid5kkepsxgzy9nd7tu0ewzc
یمنی خانہٕ جنٛگی (2014-ازکال)
0
26626
150937
126992
2026-09-01T04:29:16Z
آیات محراج
11062
/* */
150937
wikitext
text/x-wiki
{{Infobox event/Wikidata|combatant1=[[File:Flag of Yemen.svg|25px]] [[اعلیٰ سِیٲسی کونسل]]|combatant2=[[File:Flag of Yemen.svg|25px]] [[ع]]|combatant3=[[File:Flag of Al-Qaeda.png|25px]] [[القاعدہ]]}}
'''یمنی خانہٕ جنٛگی''' چھُ [[یَمَن|یمنَس]] مَنٛز اَکھ جٲری تنازٕ یُس 2014 مَنٛز شۆروٗع گوٚو۔ یہِ جَنٛگ چھُ بُنیٲدی طور دۄن جمٲژن درمِیان : صدارتی لیڈرشپ کونسل یمِچ قیادتَس مَنٛز رشاد العلیمی (سعودی عربٕچ حمایت چھِ) تہٕ حوثی تحریک (سپریم پولیٹیکل کونسل) یۄس رازدٲنؠ [[صنعاء|صنعا]] ہَس پؠٹھ قوبوٗ کران چھِ۔ امہِ تنازٕ کِس نٔتیٖجس مَنٛز چھِ دنیاہک ساروے کھۄتہٕ بوٚڈ انسٲنی بحران۔<ref>{{cite news|url=http://www.foreignaffairs.com/articles/143295/asher-orkaby/houthi-who|agency=Foreign Affairs|title=Houthi Who?|first=Asher|last=Orkaby|date=25 March 2015|access-date=25 March 2015|url-status=live|archive-url=https://web.archive.org/web/20150327115828/http://www.foreignaffairs.com/articles/143295/asher-orkaby/houthi-who|archive-date=27 March 2015}}</ref>
==پس منظر==
یہِ تنازٕ گوٚو 2011 کہِ یمنی اِنقلاب پتہٕ شۆروٗع، ییٚلہِ سٲبقہٕ صدر [[علی عبداللہ صالح]] عہدٕ تراونَس پؠٹھ مجبوٗر آو کرنہٕ۔ 2014 مَنٛز کوٚر حوثی باغیَو صنعا (یمن ہٕنٛز رازدٲنؠ) پؠٹھ قبضہٕ تہٕ بنٲو اَکھ نٔو حکومت۔ 2015 مَنٛز کٔر سعودی عربن بین الاقوٲمی سطحس پؠٹھ تسلیم شُدٕ حکومت بحال کرنٕچ کوٗششہِ مَنٛز مداخلت۔
==انسٲنی صورت حال==
اقوام متحدہٕ مُطٲبِق چھُ یمنَس مَنٛز جَنٛگ دُنیاہُک ساروٕے کھۄتہٕ خطرناک انسٲنی بحران۔
*قحط: لَچھ بَچھ شُرین چھِ فاقہٕ کشی ہُنٛد خطرٕ۔
*بیمٲرؠ : ہیضہ تہٕ باقی وباہن چھِ سٲرؠ سٕے مُلکس مَنٛز پھٔہلؠ مٕتؠ۔
*بےٚ گرٕ: 40 لَچھ کھۄتہٕ زیٛادٕ لُکھ چھِ پنٕنؠ گَرٕ ترٛاونَس پؠٹھ مجبوٗر کرنہٕ آمٕتؠ۔
==ازکالٕچ حالات==
2022 پؠٹھٕ چھِ کُنہِ حدس تام اَکھ نازُک جَنٛگ بندی (جَنٛگ بندی) روٗزمٕژ، مگر سِیٲسی مسلہٕ چھِ نہٕ حل سپدان۔ حوثی چھِ وُنہِ تہِ شُمٲلی یمنَس پؠٹھ قبضہٕ، ییٚلہِ زَن جنوٗبی یمن صدارتی کونسلَس تحت چھُ۔
==حَوالہٕ==
[[زٲژ:واقعات]]
agt5cg8iqcpni37ilzo5z9agdsjde7r
150938
150937
2026-09-01T04:33:00Z
آیات محراج
11062
/* */
150938
wikitext
text/x-wiki
{{Infobox event/Wikidata|combatant1=[[File:Flag of Yemen.svg|25px]] [[اعلیٰ سِیٲسی کونسل]]|combatant2=[[File:Flag of Yemen.svg|25px]] [[یَمَن|جمہوٗریہِ یَمَن]]|combatant3=[[File:Flag of Al-Qaeda.png|25px]] [[القاعدہ]]}}
'''یمنی خانہٕ جنٛگی''' چھُ [[یَمَن|یمنَس]] مَنٛز اَکھ جٲری تنازٕ یُس 2014 مَنٛز شۆروٗع گوٚو۔ یہِ جَنٛگ چھُ بُنیٲدی طور دۄن جمٲژن درمِیان : صدارتی لیڈرشپ کونسل یمِچ قیادتَس مَنٛز رشاد العلیمی (سعودی عربٕچ حمایت چھِ) تہٕ حوثی تحریک (سپریم پولیٹیکل کونسل) یۄس رازدٲنؠ [[صنعاء|صنعا]] ہَس پؠٹھ قوبوٗ کران چھِ۔ امہِ تنازٕ کِس نٔتیٖجس مَنٛز چھِ دنیاہک ساروے کھۄتہٕ بوٚڈ انسٲنی بحران۔<ref>{{cite news|url=http://www.foreignaffairs.com/articles/143295/asher-orkaby/houthi-who|agency=Foreign Affairs|title=Houthi Who?|first=Asher|last=Orkaby|date=25 March 2015|access-date=25 March 2015|url-status=live|archive-url=https://web.archive.org/web/20150327115828/http://www.foreignaffairs.com/articles/143295/asher-orkaby/houthi-who|archive-date=27 March 2015}}</ref>
==پس منظر==
یہِ تنازٕ گوٚو 2011 کہِ یمنی اِنقلاب پتہٕ شۆروٗع، ییٚلہِ سٲبقہٕ صدر [[علی عبداللہ صالح]] عہدٕ تراونَس پؠٹھ مجبوٗر آو کرنہٕ۔ 2014 مَنٛز کوٚر حوثی باغیَو صنعا (یمن ہٕنٛز رازدٲنؠ) پؠٹھ قبضہٕ تہٕ بنٲو اَکھ نٔو حکومت۔ 2015 مَنٛز کٔر سعودی عربن بین الاقوٲمی سطحس پؠٹھ تسلیم شُدٕ حکومت بحال کرنٕچ کوٗششہِ مَنٛز مداخلت۔
==انسٲنی صورت حال==
اقوام متحدہٕ مُطٲبِق چھُ یمنَس مَنٛز جَنٛگ دُنیاہُک ساروٕے کھۄتہٕ خطرناک انسٲنی بحران۔
*قحط: لَچھ بَچھ شُرین چھِ فاقہٕ کشی ہُنٛد خطرٕ۔
*بیمٲرؠ : ہیضہ تہٕ باقی وباہن چھِ سٲرؠ سٕے مُلکس مَنٛز پھٔہلؠ مٕتؠ۔
*بےٚ گرٕ: 40 لَچھ کھۄتہٕ زیٛادٕ لُکھ چھِ پنٕنؠ گَرٕ ترٛاونَس پؠٹھ مجبوٗر کرنہٕ آمٕتؠ۔
==ازکالٕچ حالات==
2022 پؠٹھٕ چھِ کُنہِ حدس تام اَکھ نازُک جَنٛگ بندی (جَنٛگ بندی) روٗزمٕژ، مگر سِیٲسی مسلہٕ چھِ نہٕ حل سپدان۔ حوثی چھِ وُنہِ تہِ شُمٲلی یمنَس پؠٹھ قبضہٕ، ییٚلہِ زَن جنوٗبی یمن صدارتی کونسلَس تحت چھُ۔
==حَوالہٕ==
[[زٲژ:واقعات]]
a094av8jasigxoo64awsqmqqycfykxc
چیٖنی نۆو ؤری
0
27216
150903
150867
2026-08-31T18:00:48Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150903
wikitext
text/x-wiki
{{Infobox holiday
| image = {{photomontage
| photo1a = Kung Hei Fat Choi! (6834861529).jpg
| photo2a = HK SKD TKO Lohas Park Chinese New Year couplets red January 2022 Px3 01.jpg
| photo2b = ChineseNewYearBostonLionDance1.jpg
| photo3a = Firecrackers (4393679141).jpg
| photo3b = Red lanterns on display during Chinese New Year in San Francisco.jpg
| photo4a = HK 上環 Sheung Wan 信德中心 商場 Shun Tak Centre mall Chinese New Year red pocket envelopes February 2019 IX2.jpg
| photo4b = Binondo Dragon Dance.jpg
| spacing = 1
| color_border = white
| color = white
| size = 280
}}
| significance = رؠوٲیتی زوٗنہِ سِری چینی کیلنڈر پیٹھ اکہ نو ؤریہ کہِ شُروات کس موقعس پؠٹھ
| nickname = [[سونٛتھ|سونٛتُک]] تہوار
| observedby = چینی، تایوٲنؠ تہٕ باقی ایشیائی مُلک<ref>{{cite news |url = http://news.bbc.co.uk/2/hi/asia-pacific/2712567.stm |title = Asia welcomes lunar New Year |publisher=BBC |date = 1 February 2003 |access-date = 7 November 2008 }}</ref>
| date = چیٖن کِس گۄڈنکِس زوٗنہِ سِری کِس رؠتُک گۄڈنُیک دۄہ۔
| type = Cultural
| frequency = پرٛؠتھ ؤریہِ
| longtype = مذہبی: (چینی لوٗکھ مذہب، ہان [[بُدھ مَت]]، کنفیوشین، تاؤسٹ کینٛہہ عیسائی کمیونٹیز
| celebrations = [[پادَر سٕہہ|پادر سٕہن]] ہُنٛد [[نَژُن]]، [[اَجدَہا|ڈریگنن]] ہنٛد نژُن، ٹاس ترٛاوٕنؠ، خاندانُک رلُن، خاندانُک کھؠن، دوستن تہٕ رشتہٕ دارن سٕتؠ مُلاقات، وۄزٕلؠ لِفافہٕ دِنؠ، چنلیان سٕتؠ سجاوُن۔
}}
چیٖنی نۆو ؤری (سادٕ چینی: 农历新年) (رؠوایتی چینی: 農曆新年) چھُ [[تائیوان|تائیوانک]] ثقافتک سارِوٕے کھۄتہٕ اہم تہوار سمجھنہٕ یوان، امہٕ مۄکھٕ چھِ اَتھ [[چیٖن|چیٖنس]] نؠبر روزن وٲلؠ لوٗکھ ذٔریعہٕ تایوانی نۆو ؤری تہٕ ونان۔ مشرِقی ایشیایی مُلکَن مَنٛز مناونہٕ یِوان، یہِ تہوار چھُ چیٖنی کیلنڈر کِس گۄڈٕنِکہِ زوٗنہِ رؠتہٕ کِس گۄڈٕنِکہِ دۄہ شۆروٗع گژھان تہٕ 15 مہِ دۄہ ختم گژھان۔ ییٚلہِ زَن یہِ تہوار چیٖنَس مَنٛز رؠوٲیتی جوش و خروش تہٕ تقریباتَو سٟتؠ مناونہٕ چھُ یِوان، چینَس نؠبر روزن وٲلؠ چینی تہِ چھِ یہِ تہوار پننؠن رِہٲیشی مُلکَن مَنٛز مناوان۔ اَمہِ علاوٕ چھُ تہوار تہٕ اَمہِ سٟتؠ وابستہٕ تقریبن چیٖن کؠن باقی ہمسایہن، [[کوریا]]، [[جاپان]]، [[نؠپال]]، [[بھوٗٹان]]، [[ویتنام]]، [[فِلِپیٖن]]، [[سِنٛگاپور]]، [[ملیشیا]]، [[اِنٛڈونیشِیا]] ہٕنٛزن رؠوٲیتی تقریبن پؠٹھ اثر پیوان۔
{| class="wikitable"
|-
! ؤری !! واقعہٕ !! نٲظرینن ہُنٛد تعداد
|-
| 2019 || [[چیٖن]] مَنٛز نۆو ؤری || 40 کَرور
|-
| 2013 || [[ہِندوستان]] مَنٛز [[کُمٛبھ مٲلہٕ]] (پرٛؠتھ 11 ؤری پتہٕ) || 12 کَرور
|-
| 2018 || [[اَمریٖکہ]] مَنٛز [[شُکرانہٕ دۄہ]] || 5 کَرور 40 لَچھ
|-
| 2017 || [[عِراق]] مَنٛز [[اربعین]] || اَکھ کَرور 40 لَچھ
|-
| 2018 || [[سعودی عرب]] مَنٛز [[حَج]] || 24 لَچھ
|}
==حَوالہٕ==
[[زٲژ:چیٖن]]
[[زٲژ:تایوان]]
getlycehzt6zcqj7zyzpc63usc3ypzh
Module:Wikidades
828
28635
150920
143098
2026-08-31T19:12:34Z
آیات محراج
11062
150920
Scribunto
text/plain
-- version 20260211 from master @cawiki
-- changes from previous version:
-- new function sitelinks
local p = {}
-- Initialization of variables --------------------
local i18n = { -- internationalisation at subpage /i18n
["errors"] = {
["property-not-found"] = "Property not found.",
["qualifier-not-found"] = "Qualifier not found.",
},
["datetime"] = {
-- $1 is a placeholder for the actual number
["beforenow"] = "$1 BCE", -- how to format negative numbers for precisions 0 to 5
["afternow"] = "$1 CE", -- how to format positive numbers for precisions 0 to 5
["bc"] = "$1 BCE", -- how print negative years
["ad"] = "$1", -- how print 1st century AD dates
[0] = "$1 billion years", -- precision: billion years
[1] = "$100 million years", -- precision: hundred million years
[2] = "$10 million years", -- precision: ten million years
[3] = "$1 million years", -- precision: million years
[4] = "$100000 years", -- precision: hundred thousand years; thousand separators added afterwards
[5] = "$10000 years", -- precision: ten thousand years; thousand separators added afterwards
[6] = "$1 millennium", -- precision: millennium
[7] = "$1 century", -- precision: century
[8] = "$1s", -- precision: decade
-- the following use the format of #time parser function
[9] = "Y", -- precision: year,
[10] = "F Y", -- precision: month
[11] = "F j, Y", -- precision: day
["hms"] = {["hours"] = "گٲنٛٹہٕ", ["minutes"] = "مِنَٹھ", ["seconds"] = "سؠکینٛڈ"}, -- duration: xh xm xs
},
["years-old"] = {"", ""}, -- year(s) old, as in magic word {PLURAL:$1|singular|plural}
-- two values for most languages, up to six values for some languages, examples:
-- ["years-old"] = {"singular", "paucal", "plural"} in Russian and other Slavic languages
-- ["years-old"] = {"zero", "one", "two", "few 3-10", "many 11-99", "other 100-102"} in Arabic
-- see documentation of PLURAL in your language at [[mw:Help:Magic words#Localization 2]]
["cite"] = { -- cite parameters
["title"] = "title",
["author"] = "author",
["date"] = "date",
["pages"] = "pages",
["language"] = "language",
-- cite web parameters
["url"] = "url",
["website"] = "website",
["access-date"] = "access-date",
["archive-url"] = "archive-url",
["archive-date"] = "archive-date",
["publisher"] = "publisher",
["quote"] = "quote",
-- cite journal parameters
["work"] = "work",
["issue"] = "issue",
["issn"] = "issn",
["doi"] = "doi"
},
-- default local wiki settings
["addpencil"] = false, -- adds a pencil icon linked to Wikidata statement, planned to overwrite by Wikidata Bridge
["categorylabels"] = "", -- Category:Pages with Wikidata labels not translated (void for no local category)
["categoryprop"] = "", -- Category:Pages using Wikidata property $1 (void for no local category)
["categoryref"] = "", -- Category:Pages with references from Wikidata (void for no local category)
["addfallback"] = {}, -- additional fallback language codes
["suppressids"] = {}, -- list of Qid values to suppress
["qidlabels"] = true -- show labels as Qid if no fallback translation is available
}
local cases = {} -- functions for local grammatical cases defined at subpage /i18n
local required = ... -- variadic arguments from require function
local wiki =
{
langcode = mw.language.getContentLanguage().code,
module_title = required or mw.getCurrentFrame():getTitle()
}
local untranslated -- used in infobox modules: nil or true
local _ -- variable for unused returned values, avoiding globals
-- Module local functions --------------------------------------------
-- Credit to http://stackoverflow.com/a/1283608/2644759, cc-by-sa 3.0
local function tableMerge(t1, t2)
for k, v in pairs(t2) do
if type(v) == "table" then
if type(t1[k] or false) == "table" then
tableMerge(t1[k] or {}, t2[k] or {})
else
t1[k] = v
end
else
t1[k] = v
end
end
return t1
end
local function loadI18n(lang)
local exist, res = pcall(require, wiki.module_title .. "/i18n")
if exist and next(res) ~= nil then
tableMerge(i18n, res.i18n)
cases = res.cases
end
if lang ~= wiki.langcode then
exist, res = pcall(require, wiki.module_title .. "/i18n/" .. lang)
if exist and next(res) ~= nil then
tableMerge(i18n, res.i18n)
tableMerge(cases, res.cases)
end
end
i18n.suppress = {}
for _, id in ipairs(i18n.suppressids) do
i18n.suppress[id] = true
end
end
-- Table of language codes: requested or default and its fallbacks
local function findLang(langcode)
if mw.language.isKnownLanguageTag(langcode or '') == false then
local cframe = mw.getCurrentFrame()
local pframe = cframe:getParent()
langcode = pframe and pframe.args.lang
if mw.language.isKnownLanguageTag(langcode or '') == false then
if not mw.title.getCurrentTitle().isContentPage then
langcode = cframe:callParserFunction('int', {'lang'})
end
if mw.language.isKnownLanguageTag(langcode or '') == false then
langcode = wiki.langcode
end
end
end
loadI18n(langcode)
local languages = mw.language.getFallbacksFor(langcode)
table.insert(languages, 1, langcode)
table.insert(languages, 2, "mul") -- see [[d:Help:Default values for labels and aliases]]
if langcode == wiki.langcode then
for _, l in ipairs(i18n.addfallback) do
table.insert(languages, l)
end
end
return languages
end
-- Argument is 'set' when it exists (not nil) or when it is not an empty string.
local function isSet(var)
return not (var == nil or (type(var) == 'string' and mw.text.trim(var) == ''))
end
-- Set local case to a label
local function case(localcase, label, ...)
if not isSet(label) then return label end
if type(localcase) == "function" then
return localcase(label)
elseif localcase == "smallcaps" then
return '<span style="font-variant: small-caps;">' .. label .. '</span>'
elseif cases[localcase] then
return cases[localcase](label, ...)
end
return label
end
-- get safely a serialized snak
local function getSnak(statement, snaks)
local ret = statement
for i, v in ipairs(snaks) do
if not ret then return end
ret = ret[v]
end
return ret
end
-- get label with an array of fallback languages
-- mw.wikibase.getLabelWithLang uses lang mul as last fallback, not the first one
local function getLabelByLangs(id, languages)
local label, lang
for _, l in ipairs(languages) do
label = mw.wikibase.getLabelByLang(id, l)
if label then
lang = (l == "mul" and languages[1] or l)
break
end
end
return label, lang
end
-- getBestStatements if bestrank=true, else getAllStatements with no deprecated
local function getStatements(entityId, property, bestrank)
local claims = {}
if not (entityId and mw.ustring.match(property, "^P%d+$")) then return claims end
if bestrank then
claims = mw.wikibase.getBestStatements(entityId, property)
else
local allclaims = mw.wikibase.getAllStatements(entityId, property)
for _, c in ipairs(allclaims) do
if c.rank ~= "deprecated" then
table.insert(claims, c)
end
end
end
return claims
end
-- Is gender femenine? true or false
local function feminineGender(id)
for idn in string.gmatch(id, "Q%d+") do
local claims = mw.wikibase.getBestStatements(idn or mw.wikibase.getEntityIdForCurrentPage(),'P21')
local gender_id = getSnak(claims, {1, "mainsnak", "datavalue", "value", "id"})
if gender_id == nil or not (gender_id == "Q6581072" or gender_id == "Q1052281" or gender_id == "Q43445") then
-- not female, transgender female or female organism
return false
end
end
return true
end
-- Fetch female form of label
local function feminineForm(id, lang)
local feminine_claims = getStatements(id, 'P2521')
for _, feminine_claim in ipairs(feminine_claims) do
if getSnak(feminine_claim, {'mainsnak', 'datavalue', 'value', 'language'}) == lang then
return feminine_claim.mainsnak.datavalue.value.text
end
end
end
-- Add an icon for no label in requested language
local function addLabelIcon(label_id, lang, uselang, icon)
local ret_lang, ret_icon = '', ''
if icon then
if lang and lang ~= uselang then
ret_lang = " <sup>(" .. lang .. ")</sup>"
end
if label_id and (lang == nil or lang ~= uselang) then
local namespace = ''
if string.sub(label_id, 1, 1) == 'P' then
namespace = 'Property:'
end
ret_icon = " [[File:Noun Project label icon 1116097 cc mirror.svg|10px|baseline|class=skin-invert|"
.. mw.message.new('Translate-taction-translate'):inLanguage(uselang):plain()
.. "|link=https://www.wikidata.org/wiki/" .. namespace .. label_id .. "?uselang=" .. uselang .. "]]"
untranslated = true
end
if isSet(i18n.categorylabels) and lang ~= uselang and uselang == wiki.langcode then
ret_icon = ret_icon .. '[[' .. i18n.categorylabels .. (lang and ']]' or '/Q]]')
end
end
return ret_lang .. ret_icon
end
-- editicon values: true/false (no=false), right, void defaults to i18n.addpencil
-- labelicon only by parameter
local function setIcons(arg, parg)
local val = arg == nil and parg or arg
local edit_icon, label_icon
if not isSet(val) then
edit_icon, label_icon = i18n.addpencil, true
elseif val == false or val == "false" or val == "no" then
edit_icon, label_icon = false, false
else
edit_icon, label_icon = val, true
end
return edit_icon, label_icon
end
-- Add an icon for editing a statement with requirements for future Wikidata Bridge
local function addEditIcon(parameters)
local ret = ''
if parameters.editicon and parameters.id and parameters.property then
local bridge_flow = parameters.editbridge and ' data-bridge-edit-flow="single-best-value"' or ''
local icon_style = parameters.editicon == "right" and ' style="float: right;"' or ''
ret = ' <span class="penicon"' .. bridge_flow .. icon_style .. '>'
.. "[[File:Arbcom ru editing.svg|10px|baseline|"
.. string.gsub(mw.message.new('Wikibase-client-data-bridge-bailout-suggestion-go-to-repo-button'):inLanguage(parameters.lang[1]):plain(), '{{WBREPONAME}}', 'Wikidata')
.. "|link=https://www.wikidata.org/wiki/" .. parameters.id .. "?uselang=" .. parameters.lang[1] .. "#" .. parameters.property .. "]]"
.. "</span>"
if isSet(i18n.categoryprop) then
ret = ret .. "[[" .. string.gsub(i18n.categoryprop, '$1', parameters.property) .. "]]"
end
end
return ret
end
-- add edit icon to the last element of a table
local function addEditIconTable(thetable, parameters)
if #thetable == 0 or parameters.editicon == false then
return thetable
end
local last_element = thetable[#thetable]
local the_icon = addEditIcon(parameters)
-- add it before last html closing tags
local tags = ''
local rev_element = string.reverse(last_element)
for tag in string.gmatch(rev_element, '(>%l+/<)') do
if string.match(rev_element, '^' .. tags .. tag) then
tags = tags .. tag
else
break
end
end
local last_tags = string.reverse(tags)
local offset = string.find(last_element, last_tags .. '$')
if offset then
thetable[#thetable] = string.sub(last_element, 1, offset - 1) .. the_icon .. last_tags
else
thetable[#thetable] = last_element .. the_icon
end
return thetable
end
-- Escape Lua captures
local function captureEscapes(text)
return mw.ustring.gsub(text, "(%%%d)", "%%%1")
end
-- expandTemplate or callParserFunction
local function expandBraces(text, formatting)
if text == nil or formatting == nil then return text end
-- only expand braces if provided in argument, not included in value as in Q1164668
if mw.ustring.find(formatting, '{{', 1, true) == nil then return text end
if type(text) ~= "string" then
text = tostring(text)
end
for braces in mw.ustring.gmatch(text, "{{(.-)}}") do
local parts = mw.text.split(braces, "|")
local title_part = parts[1]
local parameters = {}
for i = 2, #parts do
local subparts = mw.ustring.find(parts[i], "=")
if subparts then
local param_name = mw.ustring.sub(parts[i], 1, subparts - 1)
local param_value = mw.ustring.sub(parts[i], subparts + 1, -1)
-- reconstruct broken links by parts
if i < #parts and mw.ustring.find(param_value, "[[", 1, true) and not mw.ustring.find(param_value, "]]", 1, true) then
parameters[param_name] = param_value
local part_next = i + 1
while parts[part_next] and mw.ustring.find(parts[part_next], "]]", 1, true) do
parameters[param_name] = parameters[param_name] .. "|" .. parts[part_next]
part_next = part_next + 1
end
else
parameters[param_name] = param_value
end
elseif not mw.ustring.find(parts[i], "]]", 1, true) then
table.insert(parameters, parts[i])
end
end
local braces_expanded
if mw.ustring.find(title_part, ":")
and mw.text.split(title_part, ":")[1] ~= mw.site.namespaces[10].name -- not a prefix Template:
then
braces_expanded = mw.getCurrentFrame():callParserFunction{name=title_part, args=parameters}
elseif title_part == "!" then
-- template:! may be deleted locally, now provided by MediaWiki
-- although it works, it raises a Lua internal error
braces_expanded = "|"
else
braces_expanded = mw.getCurrentFrame():expandTemplate{title=title_part, args=parameters}
end
braces = mw.ustring.gsub(braces, "([%^%$%(%)%%%.%[%]%*%+%-%?])", "%%%1") -- escape magic characters
braces_expanded = captureEscapes(braces_expanded)
text = mw.ustring.gsub(text, "{{" .. braces .. "}}", braces_expanded)
end
return text
end
-- format data type math
local function printDatatypeMath(data)
return mw.getCurrentFrame():callParserFunction('#tag:math', data)
end
-- format data type musical-notation
local function printDatatypeMusical(data, formatting)
local attr = {}
if formatting == 'sound' then
attr.sound = 1
end
return mw.getCurrentFrame():extensionTag('score', data, attr)
end
-- format data type string
local function printDatatypeString(data, parameters)
if mw.ustring.find((parameters.formatting or ''), '$1', 1, true) then -- formatting = a pattern
return expandBraces(mw.ustring.gsub(parameters.formatting, '$1', {['$1'] = data}), parameters.formatting)
elseif parameters.case then
return case(parameters.case, data, parameters.lang[1], feminineGender(parameters.id))
end
local data_number = string.match(data, "^%d+")
if data_number then -- sort key by initial number and remaining string
local sortkey = string.format("%019d", data_number * 1000)
return data, sortkey .. string.sub(data, #data_number + 1)
end
return data
end
-- format data type tabular-data
local function printDatatypeTabular(data, parameters)
local icon
if parameters.formatting == 'raw' then
icon = "no-icon"
data = string.gsub(data, '^Data:', '') -- remove prefix, i.e. see Module:Tabular data
end
return printDatatypeString(data, parameters), icon
end
-- format data type url
local function printDatatypeUrl(data, parameters)
if parameters.formatting == 'weblink' then
local label_parts = mw.text.split(string.gsub(data, '/$', ''), '/')
local label = string.gsub(label_parts[3], '^www%.', '')
if #label_parts > 3 then
label = label .. '…'
end
return '[' .. data .. ' ' .. label .. ']'
end
return printDatatypeString(data, parameters)
end
-- format data type external-id
local function printDatatypeExternal(data, parameters)
if parameters.formatting == 'externalid' then
local p_stat = mw.wikibase.getBestStatements(parameters.property, 'P1630') -- formatter URL
local p_link_pattern = getSnak(p_stat, {1, "mainsnak", "datavalue", "value"})
if p_link_pattern then
local p_link = mw.ustring.gsub(p_link_pattern, '$1', {['$1'] = data})
return '[' .. p_link .. ' ' .. data .. ']'
end
end
return printDatatypeString(data, parameters)
end
-- format data type commonsMedia and geo-shape
local function printDatatypeMedia(data, parameters)
local icon
if not string.find((parameters.formatting or ''), '$1', 1, true) then
icon = "no-icon"
if not string.find(data, '^Data:') then
data = mw.uri.encode(data, 'PATH') -- encode special characters in filename
end
end
return printDatatypeString(data, parameters), icon
end
-- format data type globe-coordinate
local function printDatatypeCoordinate(data, formatting)
local function globes(globe_id)
-- parameter globe in coordinates accepted by GeoHack
-- see [[w:en:Special:PrefixIndex/Template:GeoTemplate]]
local globes = {['Q3343'] = 'ariel', ['Q3134'] = 'callisto', ['Q596'] = 'ceres',
['Q6604'] = 'charon', ['Q7548'] = 'deimos', ['Q15040'] = 'dione', ['Q2'] = 'earth',
['Q3303'] = 'enceladus', ['Q3143'] = 'europa', ['Q3169'] = 'ganymede',
['Q15037'] = 'hyperion', ['Q17958'] = 'iapetus', ['Q3123'] = 'io',
['Q319'] = 'jupiter', ['Q111'] = 'mars', ['Q308'] = 'mercury', ['Q15034'] = 'mimas',
['Q3352'] = 'miranda', ['Q405'] = 'moon', ['Q3332'] = 'oberon', ['Q7547'] = 'phobos',
['Q17975'] = 'phoebe', ['Q339'] = 'pluto', ['Q15050'] = 'rhea', ['Q15047'] = 'tethys',
['Q2565'] = 'titan', ['Q3322'] = 'titania', ['Q3359'] = 'triton',
['Q3338'] = 'umbriel', ['Q313']='venus', ['Q3030']='vesta'}
return globes[globe_id]
end
local function roundPrecision(num, prec)
if prec == nil or prec <= 0 then return num end
local sig = 10^math.floor(math.log10(prec)+.5) -- significant figure from sexagesimal precision: 0.00123 -> 0.001
return math.floor(num / sig + 0.5) * sig
end
local precision = data.precision
local latitude = roundPrecision(data.latitude, precision)
local longitude = roundPrecision(data.longitude, precision)
if formatting and string.find(formatting, '$lat', 1, true) and string.find(formatting, '$lon', 1, true) then
local ret = mw.ustring.gsub(formatting, '$l[ao][tn]', {['$lat'] = latitude, ['$lon'] = longitude})
if string.find(formatting, '$globe', 1, true) then
local myglobe = 'earth'
if isSet(data.globe) then
local globenum = mw.text.split(data.globe, 'entity/')[2] -- http://www.wikidata.org/wiki/Q2
myglobe = globes(globenum) or 'earth'
end
ret = mw.ustring.gsub(ret, '$globe', myglobe)
end
return expandBraces(ret, formatting)
elseif formatting == 'latitude' then
return latitude, "no-icon"
elseif formatting == 'longitude' then
return longitude, "no-icon"
elseif formatting == 'dimension' then
return data.dimension, "no-icon"
else --default formatting='globe'
if isSet(data.globe) == false or data.globe == 'http://www.wikidata.org/entity/Q2' then
return 'earth', "no-icon"
else
local globenum = mw.text.split(data.globe, 'entity/')[2]
return globes(globenum) or globenum, "no-icon"
end
end
end
-- Local functions for data value quantity
local function unitSymbol(id, lang) -- get unit symbol or code
local unit_symbol = ''
if lang == wiki.langcode and pcall(require, wiki.module_title .. "/Units") then
unit_symbol = require(wiki.module_title .. "/Units").getUnit(0, '', id, true)
end
if unit_symbol == '' then
-- fetch it
local claims = mw.wikibase.getBestStatements(id, 'P5061')
if #claims > 0 then
local langclaims = {}
for _, snak in ipairs(claims) do
local snak_language = getSnak(snak, {"mainsnak", "datavalue", "value", "language"})
if snak_language and not langclaims[snak_language] then -- just the first one by language
langclaims[snak_language] = snak.mainsnak.datavalue.value.text
end
end
for _, l in ipairs(lang) do
if langclaims[l] then
return langclaims[l]
end
end
end
end
return unit_symbol
end
local function getUnit(amount, id, parameters) -- get unit symbol or name
local suffix = ''
if string.sub(parameters.formatting or '', 1, 8) == "unitcode" then
-- get unit symbol
local unit_symbol = unitSymbol(id, parameters.lang)
if isSet(unit_symbol) then
if string.sub(parameters.formatting or '', -6) == "linked" then
suffix = "[[" .. (mw.wikibase.getSitelink(id) or "d:" .. id) .. "|" .. unit_symbol .. "]]"
else
suffix = unit_symbol
end
end
end
if suffix == '' then -- formatting=unit, or formatting=unitcode not found
-- get unit label
local unit_label, lang = getLabelByLangs(id, parameters.lang)
if lang == wiki.langcode and pcall(require, wiki.module_title .. "/Units") then
suffix = require(wiki.module_title .. "/Units").getUnit(amount, unit_label, id, false)
if string.sub(parameters.formatting or '', -6) == "linked" then
suffix = "[[" .. (mw.wikibase.getSitelink(id) or "d:" .. id) .. "|" .. suffix .. "]]"
end
else
suffix = (unit_label or id) .. addLabelIcon(id, lang, parameters.lang[1], parameters.labelicon)
end
end
if suffix ~= '' then
suffix = ' ' .. suffix
end
return suffix
end
local function roundDefPrecision(in_num, factor)
-- rounds out_num with significant figures of in_num (default precision)
local out_num = in_num * factor
if factor/60 == math.floor(factor/60) or out_num == 0 then -- sexagesimal integer or avoiding NaN
return out_num
end
-- first, count digits after decimal mark, handling cases like '12.345e6'
local exponent, prec
local integer, dot, decimals, expstr = in_num:match('^(%d*)(%.?)(%d*)(.*)')
local e = expstr:sub(1, 1)
if e == 'e' or e == 'E' then
exponent = tonumber(expstr:sub(2))
end
if dot == '' then
prec = -integer:match('0*$'):len()
else
prec = #decimals
end
if exponent then
-- So '1230' and '1.23e3' both give prec = -1, and '0.00123' and '1.23e-3' give 5.
prec = prec - exponent
end
-- significant figures
local in_bracket = 10^-prec -- -1 -> 10, 5 -> 0.00001
local out_bracket = in_bracket * out_num / in_num
out_bracket = 10^math.floor(math.log10(out_bracket)+.5) -- 1230 -> 1000, 0.00123 -> 0.001
-- round it (credit to Luc Bloom from http://lua-users.org/wiki/SimpleRound)
return math.floor(out_num/out_bracket + (out_num >=0 and 1 or -1) * 0.5) * out_bracket
end
-- format data type quantity
local function printDatatypeQuantity(data, parameters)
local amount = data.amount
amount = mw.ustring.gsub(amount, "%+", "")
local suffix = ""
local conv_amount, conv_suffix
if string.sub(parameters.formatting or '', 1, 4) == "unit" or string.sub(parameters.formatting or '', 1, 8) == "duration" or parameters.convert then
local unit_id = data.unit
unit_id = mw.ustring.sub(unit_id, mw.ustring.find(unit_id, "Q"), -1)
if string.sub(unit_id, 1, 1) == "Q" then
suffix = getUnit(amount, unit_id, parameters)
local convert_to
if parameters.convert == "default" or parameters.convert == "default2" then
local exist, units = pcall(require, wiki.module_title .. "/Units")
if exist and units.convert_default and next(units.convert_default) ~= nil then
convert_to = units.convert_default[unit_id]
end
elseif string.sub(parameters.convert or '', 1, 1) == "Q" then
convert_to = parameters.convert
elseif string.sub(parameters.formatting or '', 1, 8) == "duration" then
convert_to = 'Q11574' -- seconds
end
if convert_to and convert_to ~= unit_id then
-- convert units
local conv_temp = { -- formulae for temperatures ºC, ºF, ªK: [from] = {[to] = 'formula'}
['Q25267'] = {['Q42289'] = '$1*1.8+32', ['Q11597'] = '$1+273.15'},
['Q42289'] = {['Q25267'] = '($1-32)/1.8', ['Q11597'] = '($1+459.67)*5/9'},
['Q11597'] = {['Q25267'] = '$1-273.15', ['Q42289'] = '($1-273.15)*1.8000+32.00'}
}
if conv_temp[unit_id] and conv_temp[unit_id][convert_to] then
local amount_f = mw.getCurrentFrame():callParserFunction('#expr', mw.ustring.gsub(conv_temp[unit_id][convert_to], "$1", amount))
conv_amount = math.floor(tonumber(amount_f) + 0.5)
else
local conversions = getStatements(unit_id, 'P2442') -- conversion to standard unit
table.insert(conversions, mw.wikibase.getBestStatements(unit_id, 'P2370')[1]) -- conversion to SI unit
for _, conv in ipairs(conversions) do
if conv.mainsnak.snaktype == 'value' then -- no somevalue nor novalue
if conv.mainsnak.datavalue.value.unit == "http://www.wikidata.org/entity/" .. convert_to then
conv_amount = roundDefPrecision(amount, tonumber(conv.mainsnak.datavalue.value.amount))
break
end
end
end
end
if conv_amount then
conv_suffix = getUnit(conv_amount, convert_to, parameters)
end
elseif parameters.convert == 'M' then
local exist, units = pcall(require, wiki.module_title .. "/Units")
if wiki.langcode == parameters.lang[1]
and exist and units.convert2M and type(units.convert2M) == "function"
then
conv_amount, conv_suffix = units.convert2M(amount)
conv_suffix = (conv_suffix or "").. suffix
elseif tonumber(amount) > 10^8 then
conv_amount = math.floor(amount/10^6 + 0.5)
conv_suffix = ' M' .. mw.text.trim(suffix)
end
end
if conv_amount and parameters.formatting == 'raw' then
amount = conv_amount
suffix = ""
conv_amount = nil
end
end
end
local lang_obj = mw.language.new(parameters.lang[1])
local sortkey = string.format("%019d", tonumber(amount) * 1000)
if string.sub(parameters.formatting or '', 1, 8) == "duration" then
local sec = tonumber(conv_amount or amount)
if parameters.formatting == 'duration' then
return lang_obj:formatDuration(sec)
elseif parameters.formatting == 'durationm:s' then
local mm = math.floor(sec / 60)
local ss = sec - (mm * 60)
return string.format("%02d:%02d", mm, ss)
else -- durationhms or durationh:m:s
local intervals = {"hours", "minutes", "seconds"}
local sec2table = lang_obj:getDurationIntervals(sec, intervals)
sec2table["seconds"] = (sec2table["seconds"] or 0) + tonumber("." .. (tostring(sec):match("%.(%d+)") or "0")) -- add decimals
local duration = ''
for i, v in ipairs(intervals) do
if parameters.formatting == 'durationh:m:s' then
if i == 1 and sec2table[v] then
duration = duration .. sec2table[v] .. ":"
elseif i == 2 then
duration = duration .. string.format("%02d", sec2table[v] or 0) .. ":"
elseif i == 3 then
local sec_str = tostring(lang_obj:formatNum(sec2table[v] or 0))
duration = duration .. (sec2table[v] < 10 and "0" or "") .. sec_str
end
elseif sec2table[v] then
duration = duration .. lang_obj:formatNum(sec2table[v]) .. i18n.datetime.hms[v] .. (i < 3 and " " or "")
end
end
return duration
end
end
if parameters.case then
amount = case(parameters.case, amount, parameters.lang[1], feminineGender(parameters.id))
elseif parameters.formatting ~= 'raw' then
if parameters.numformat then
amount = lang_obj:formatNum(tonumber(string.format(parameters.numformat, amount)))
else
amount = lang_obj:formatNum(tonumber(amount))
end
end
if conv_amount then
local conv_sortkey = string.format("%019d", conv_amount * 1000)
conv_amount = lang_obj:formatNum(conv_amount)
if parameters.convert == 'default2' then
return conv_amount .. conv_suffix .. ' (' .. amount .. suffix .. ')', conv_sortkey
else
return conv_amount .. conv_suffix, conv_sortkey
end
elseif mw.ustring.find((parameters.formatting or ''), '$1', 1, true) then -- formatting with pattern
amount = mw.ustring.gsub(parameters.formatting, '$1', {['$1'] = amount})
end
return amount .. suffix, sortkey
end
-- format data type time
local function printDatatypeTime(data, parameters)
-- Dates and times are stored in ISO 8601 format
local timestamp = data.time
if parameters.formatting == "raw" then
return timestamp, timestamp
end
local post_format
local calendar_add = ""
local precision = data.precision or 11
if string.sub(timestamp, 1, 1) == '-' then
post_format = i18n.datetime["bc"]
elseif string.sub(timestamp, 2, 3) == '00' then
post_format = i18n.datetime["ad"]
elseif precision > 8 then
-- calendar model
local calendar_model = {["Q12138"] = "gregorian", ["Q1985727"] = "gregorian", ["Q11184"] = "julian", ["Q1985786"] = "julian"}
local calendar_id = mw.text.split(data.calendarmodel, 'entity/')[2]
if (timestamp < "+1582-10-15T00:00:00Z" and calendar_model[calendar_id] == "gregorian")
or (timestamp > "+1582-10-04T00:00:00Z" and calendar_model[calendar_id] == "julian")
then
calendar_add = " <sup>(" .. mw.message.new('Wikibase-time-calendar-' .. calendar_model[calendar_id]):inLanguage(parameters.lang[1]):plain() .. ")</sup>"
end
end
local function formatTime(form, stamp)
local pattern
if type(form) == "function" then
pattern = form(stamp)
else
pattern = form
end
stamp = tostring(stamp)
if mw.ustring.find(pattern, "$1") then
return mw.ustring.gsub(pattern, "$1", stamp)
elseif string.sub(stamp, 1, 1) == '-' then -- formatDate() only supports years from 0
stamp = '+' .. string.sub(stamp, 2)
elseif string.sub(stamp, 1, 1) ~= '+' then -- not a valid timestamp, it is a number
stamp = string.format("%04d", stamp)
end
local ret = mw.language.new(parameters.lang[1]):formatDate(pattern, stamp)
ret = string.gsub(ret, "^(%[?%[?)0+", "%1") -- suppress leading zeros
ret = string.gsub(ret, "( %[?%[?)0+", "%1")
return ret
end
local function postFormat(t)
if post_format and mw.ustring.find(post_format, "$1") then
return mw.ustring.gsub(post_format, "$1", t)
end
return t
end
local intyear = tonumber(string.match(timestamp, "[+-](%d+)"))
local ret = ""
if precision <= 5 then -- precision is 10000 years or more
local factor = 10 ^ ((5 - precision) + 4)
local y2 = math.ceil(math.abs(intyear) / factor)
local relative = formatTime(i18n.datetime[precision], y2)
if post_format == i18n.datetime["bc"] then
ret = mw.ustring.gsub(i18n.datetime.beforenow, "$1", relative)
else
ret = mw.ustring.gsub(i18n.datetime.afternow, "$1", relative)
end
local ret_number = string.match(ret, "%d+")
if ret_number ~= nil then
ret = mw.ustring.gsub(ret, ret_number, mw.language.new(parameters.lang[1]):formatNum(tonumber(ret_number)))
end
elseif precision == 6 or precision == 7 then -- millennia or centuries
local card = math.floor((intyear - 1) / 10^(9 - precision)) + 1
ret = formatTime(i18n.datetime[precision], card)
ret = postFormat(ret)
elseif precision == 8 then -- decades
local card = math.floor(math.abs(intyear) / 10) * 10
ret = formatTime(i18n.datetime[8], card)
ret = postFormat(ret)
elseif intyear > 9999 then -- not a valid timestamp
return
elseif precision == 9 or parameters.formatting == 'Y' then -- precision is year
ret = formatTime(i18n.datetime[9], intyear)
ret = postFormat(ret) .. calendar_add
elseif precision == 10 then -- month
ret = formatTime(i18n.datetime[10], timestamp .. " + 1 day") -- formatDate yyyy-mm-00 returns the previous month
ret = postFormat(ret) .. calendar_add
else -- precision 11, day
ret = formatTime(parameters.formatting or i18n.datetime[11], timestamp)
ret = postFormat(ret) .. calendar_add
end
return ret, timestamp
end
-- format data value wikibase-entityid with data types wikibase-item or wikibase-property
local function printDatatypeEntity(data, parameters)
local entity_id = data['id']
if parameters.formatting == 'raw' then
return entity_id, entity_id
end
local entity_page = 'Special:EntityPage/' .. entity_id
local label, lang = getLabelByLangs(entity_id, parameters.lang)
local sitelink = mw.wikibase.getSitelink(entity_id)
local parameter = parameters.formatting
local labelcase = label or sitelink
if parameters.gender == 'feminineform' then
labelcase = feminineForm(entity_id, lang) or labelcase
end
if parameters.case ~= 'gender' then
labelcase = case(parameters.case, labelcase, lang, parameters.lang[1], entity_id, parameters.id)
end
if labelcase == nil and i18n.qidlabels == false then
return
end
local ret1, ret2
if parameter == 'label' then
ret1 = labelcase or entity_id
ret2 = labelcase or entity_id
elseif parameter == 'sitelink' then
ret1 = (sitelink or 'd:' .. entity_page)
ret2 = sitelink or entity_id
elseif mw.ustring.find((parameter or ''), '$1', 1, true) then -- formatting = a pattern
ret1 = mw.ustring.gsub(parameter, '$1', labelcase or entity_id)
ret1 = expandBraces(ret1, parameter)
ret2 = labelcase or entity_id
else
if parameter == "ucfirst" or parameter == "ucinternallink" then
if labelcase and lang then
labelcase = mw.language.new(lang):ucfirst(labelcase)
end
-- only first of a list, reset formatting for next ones
if parameter == "ucinterlanllink" then
parameters.formatting = 'internallink'
else
parameters.formatting = nil -- default format
end
end
if sitelink then
ret1 = '[[' .. sitelink .. '|' .. labelcase .. ']]'
ret2 = labelcase
elseif label and string.match(parameter or '', 'internallink$') and not mw.wikibase.getEntityIdForTitle(label) then
ret1 = '[[' .. label .. '|' .. labelcase .. ']]'
ret2 = labelcase
else
ret1 = '[[d:' .. entity_page .. '|' .. (labelcase or entity_id) .. ']]'
ret2 = labelcase or entity_id
end
end
return ret1 .. addLabelIcon(entity_id, lang, parameters.lang[1], parameters.labelicon), ret2
end
-- format data type wikibase-lexeme
local function printDatatypeLexeme(data, parameters)
local entity_id = data['id']
if parameters.formatting == 'raw' then
return entity_id, entity_id
end
local lemmas = mw.wikibase.getEntity(entity_id):getLemmas()
if parameters.list == 'lang' and lemmas[1][2] ~= parameters.lang[1] then
return
end
local ret = '[[d:Special:EntityPage/' .. entity_id .. '|' .. lemmas[1][1] .. ']]'
if parameters.list ~= 'lang' or (parameters.list == 'lang' and lemmas[1][2] ~= wiki.langcode) then
ret = ret .. " <sup>(" .. lemmas[1][2] .. ")</sup>"
end
return ret, entity_id
end
-- format data type monolingualtext
local function printDatatypeMonolingual(data, parameters)
-- data fields: language [string], text [string]
local valid_lang = {[parameters.lang[1]] = true, ["mul"] = true}
if parameters.list == "lang" and not valid_lang[data["language"]] then
return
elseif parameters.list == "notlang" and valid_lang[data["language"]] then
return
elseif parameters.formatting == "language" or parameters.formatting == "text" then
return data[parameters.formatting]
end
local result = data["text"]
valid_lang = {[wiki.langcode] = true, ["mul"] = true}
if not valid_lang[data["language"]] then
result = mw.ustring.gsub('<span lang="$1">$2</span>', '$[12]', {["$1"]=data["language"], ["$2"]=data["text"]})
end
if mw.ustring.find((parameters.formatting or ''), '$', 1, true) then
-- output format defined with $text, $language
result = mw.ustring.gsub(parameters.formatting, '$text', result)
result = mw.ustring.gsub(result, '$language', data["language"])
end
return result
end
local function getSnakValue(snak, parameters)
parameters.editbridge = false
if snak.snaktype == 'value' then -- see Special:ListDatatypes
-- data value string
if snak.datatype == "string" then
parameters.editbridge = true -- Wikidata Bridge currently only for string values
return printDatatypeString(snak.datavalue.value, parameters)
elseif snak.datatype == "commonsMedia" or snak.datatype == "geo-shape" then
return printDatatypeMedia(snak.datavalue.value, parameters)
elseif snak.datatype == "tabular-data" then
return printDatatypeTabular(snak.datavalue.value, parameters)
elseif snak.datatype == "url" then
return printDatatypeUrl(snak.datavalue.value, parameters)
elseif snak.datatype == "external-id" then
return printDatatypeExternal(snak.datavalue.value, parameters)
elseif snak.datatype == 'math' then
return printDatatypeMath(snak.datavalue.value)
elseif snak.datatype == 'musical-notation' then
return printDatatypeMusical(snak.datavalue.value, parameters.formatting)
-- data types other than string value
elseif snak.datatype == 'wikibase-item' or snak.datatype == 'wikibase-property' then
if i18n.suppress[snak.datavalue.value.id] then
return
end
return printDatatypeEntity(snak.datavalue.value, parameters)
elseif snak.datatype == 'wikibase-lexeme' then
return printDatatypeLexeme(snak.datavalue.value, parameters)
elseif snak.datatype == 'monolingualtext' then
return printDatatypeMonolingual(snak.datavalue.value, parameters)
elseif snak.datatype == "globe-coordinate" then
return printDatatypeCoordinate(snak.datavalue.value, parameters.formatting)
elseif snak.datatype == "quantity" then
return printDatatypeQuantity(snak.datavalue.value, parameters)
elseif snak.datatype == "time" then
return printDatatypeTime(snak.datavalue.value, parameters)
end
elseif snak.snaktype == 'novalue' then
if parameters.formatting == 'raw' or parameters.shownovalue == false then return end
return mw.message.new('Wikibase-snakview-snaktypeselector-novalue'):inLanguage(parameters.lang[1]):plain()
elseif snak.snaktype == 'somevalue' then
if parameters.formatting == 'raw' or parameters.showsomevalue == false then return end
return mw.message.new('Wikibase-snakview-snaktypeselector-somevalue'):inLanguage(parameters.lang[1]):plain()
end
return mw.wikibase.renderSnak(snak)
end
local function printError(key)
return '<span class="error">' .. i18n.errors[key] .. '</span>'
end
local function getQualifierSnak(claim, qualifierId, parameters)
-- a "snak" is Wikidata terminology for a typed key/value pair
-- a claim consists of a main snak holding the main information of this claim,
-- as well as a list of attribute snaks and a list of references snaks
if qualifierId then
-- search the attribute snak with the given qualifier as key
if claim.qualifiers then
local qualifier = claim.qualifiers[qualifierId]
if qualifier then
if qualifier[1].datatype == "monolingualtext" then
-- iterate over monolingualtext qualifiers to get languages
local qual_lang, qual_mul
for idx in pairs(qualifier) do
qual_lang = getSnak(qualifier[idx], {"datavalue", "value", "language"})
if qual_lang == parameters.lang[1] then
return qualifier[idx] -- return local language if found
elseif qual_lang == "mul" then
qual_mul = qualifier[idx]
end
end
return qual_mul -- else return multilingual
elseif parameters.list then
return qualifier
else
return qualifier[1]
end
end
end
return nil, printError("qualifier-not-found")
else
-- otherwise return the main snak
return claim.mainsnak
end
end
local function getValueOfClaim(claim, qualifierId, parameters)
local snak, error = getQualifierSnak(claim, qualifierId, parameters)
if not snak then
return nil, nil, error
elseif snak[1] then -- a multi qualifier
local result, sortkey = {}, {}
local maxvals = tonumber(parameters.listmax)
for idx in pairs(snak) do
result[#result + 1], sortkey[#sortkey + 1] = getSnakValue(snak[idx], parameters)
if maxvals and maxvals == #result then break end
end
return mw.text.listToText(result, parameters.qseparator, parameters.qconjunction), sortkey[1]
else -- a property or a qualifier
return getSnakValue(snak, parameters)
end
end
local function getValueOfParentClaim(claim, qualifierId, parameters)
local qids = mw.text.split(qualifierId, '/', true)
local value, sortkey, valueraw = {}, {}, {}
local parent_raw, value_text
if qids[1] == parameters.property then
parent_raw, _, _ = getValueOfClaim(claim, nil, {["formatting"]="raw", ["lang"]=parameters.lang})
else
parent_raw, _, _ = getValueOfClaim(claim, qids[1], {["formatting"]="raw", ["lang"]=parameters.lang, ["list"]=true, ["qseparator"]='/', ["qconjunction"]='/'})
end
if string.sub(parent_raw or '', 1, 1) == "Q" then -- protection for 'no value'
local parent_qids = mw.text.split(parent_raw, '/', true)
for idx, p_qid in ipairs(parent_qids) do
local parent_claims = mw.wikibase.getBestStatements(p_qid, qids[2])
if parent_claims[1] then
value[idx], sortkey[idx], _ = getValueOfClaim(parent_claims[1], nil, parameters)
-- raw parent value needed for while/black lists, lang for avoiding an error on types other than entity
valueraw[idx], _, _ = getValueOfClaim(parent_claims[1], nil, {["formatting"]="raw", ["lang"]=parameters.lang})
end
end
end
if value[1] then
value_text = mw.text.listToText(value, parameters.qseparator, parameters.qconjunction)
end
return value_text, sortkey[1], valueraw[1]
end
-- see d:Help:Sources
local function getReferences(claim, parameters)
if not (parameters.references or parameters.onlysourced) then
return '', false
end
local lang = parameters.lang
local maxrefs = tonumber(parameters.references) or 1
local notproperref = {
["P143"] = true, -- imported from
["P3452"] = true, -- inferred from
["P887"] = true, -- based on heuristic
["P4656"] = true -- Wikimedia import URL
}
local result = {}
-- traverse through all references
for ref in pairs(claim.references or {}) do
local refparts
local refs = {}
local validref = true
local ref_id
-- traverse through all parts of the current reference
for snakkey, snakval in pairs(claim.references[ref].snaks or {}) do
for partkey, _ in pairs(claim.references[ref].snaks[snakkey] or {}) do
if notproperref[snakkey] then -- not a proper reference
validref = false
break
end
end
if validref then
for snakidx = 1, #snakval do
if snakidx > 1 then refparts = refparts .. ", " end
if snakval[snakidx].datatype == 'external-id' then
refparts = refparts or '' .. (getSnakValue(snakval[snakidx], {formatting='externalid', property=snakval[snakidx].property, lang=lang}) or '')
else
refparts = refparts or '' .. (getSnakValue(snakval[snakidx], {lang=lang}) or '')
end
end
refs[snakkey] = refparts
refparts = nil
if snakkey == "P248" then -- stated in
ref_id = getSnak(snakval, {1, "datavalue", "value", "id"})
end
end
end
-- fill missing values with parent item
if ref_id then
local function refParent(qid, pid, formatting)
local snak = getSnak(mw.wikibase.getBestStatements(qid, pid), {1, "mainsnak"})
return snak and getSnakValue(snak, {formatting=formatting, lang=lang})
end
refs['P50'] = refs['P50'] or refParent(ref_id, 'P50', 'label') -- author
refs['P407'] = refs['P407'] or refParent(ref_id, 'P407', 'label') -- language of work
refs['P123'] = refs['P123'] or refParent(ref_id, 'P123', 'label') -- publisher
refs['P577'] = refs['P577'] or refParent(ref_id, 'P577') -- date
refs['P1433'] = refs['P1433'] or refParent(ref_id, 'P1433', 'label') -- published in
refs['P304'] = refs['P304'] or refParent(ref_id, 'P304') -- page(s)
refs['P433'] = refs['P433'] or refParent(ref_id, 'P433') -- issue
refs['P236'] = refs['P236'] or refParent(ref_id, 'P236') -- ISSN
refs['P356'] = refs['P356'] or refParent(ref_id, 'P356') -- DOI
end
-- get title of local templates for citing references
local template_web = mw.wikibase.getSitelink('Q5637226') or ""
template_web = mw.text.split(template_web, ":")[2] -- split off namespace from front
local template_journal = mw.wikibase.getSitelink('Q5624899') or ""
template_journal = mw.text.split(template_journal, ":")[2]
local citeParams = {}
if refs['P854'] and (refs['P1476'] or refs['P248']) and template_web then
-- if both "reference URL" and "title" (or "stated in") are present, then use cite web template
citeParams[i18n['cite']['url']] = refs['P854']
if refs['P248'] and refs['P1476'] == nil then
citeParams[i18n['cite']['title']] = refs['P248']:match("^%[%[.-|(.-)%]%]")
else
citeParams[i18n['cite']['title']] = refs['P1476']
citeParams[i18n['cite']['website']] = refs['P248']
end
citeParams[i18n['cite']['author']] = refs['P50']
citeParams[i18n['cite']['language']] = refs['P407']
citeParams[i18n['cite']['publisher']] = refs['P123']
citeParams[i18n['cite']['date']] = refs['P577']
citeParams[i18n['cite']['pages']] = refs['P304']
citeParams[i18n['cite']['access-date']] = refs['P813']
citeParams[i18n['cite']['archive-url']] = refs['P1065']
citeParams[i18n['cite']['archive-date']] = refs['P2960']
citeParams[i18n['cite']['quote']] = refs['P1683']
refparts = mw.getCurrentFrame():expandTemplate{title=template_web, args=citeParams}
elseif refs['P1433'] and (refs['P1476'] or refs['P248']) and template_journal then
-- if both "published in" and "title" (or "stated in") are present, then use cite journal template
citeParams[i18n['cite']['work']] = refs['P1433']
citeParams[i18n['cite']['title']] = refs['P1476'] or refs['P248']
citeParams[i18n['cite']['author']] = refs['P50']
citeParams[i18n['cite']['date']] = refs['P577']
citeParams[i18n['cite']['issue']] = refs['P433']
citeParams[i18n['cite']['pages']] = refs['P304']
citeParams[i18n['cite']['language']] = refs['P407']
citeParams[i18n['cite']['issn']] = refs['P236']
citeParams[i18n['cite']['doi']] = refs['P356']
refparts = mw.getCurrentFrame():expandTemplate{title=template_journal, args=citeParams}
elseif validref then
-- raw ouput
local snaksorder = claim.references[ref]["snaks-order"]
local function indexed(a)
for _, b in ipairs(snaksorder) do
if b == a then return true end
end
return false
end
for k, _ in pairs(refs or {}) do
if not indexed(k) then
table.insert(snaksorder, k)
end
end
local italics = "''"
local ref_label
for _, k in ipairs(snaksorder) do
if refs[k] then
refparts = refparts and refparts .. " " or ""
ref_label = case('infoboxlabel', getLabelByLangs(k, lang) or '')
refparts = refparts .. mw.ustring.gsub(ref_label, "^%l", mw.ustring.upper) .. ": "
refparts = refparts .. italics .. refs[k] .. italics .. "."
italics = ""
end
end
end
if refparts then
local ref_name = claim.references[ref].hash
result[#result + 1] = mw.getCurrentFrame():extensionTag("ref", refparts, {name=ref_name})
if maxrefs and maxrefs == #result then break end
end
end
if #result > 0 then
if parameters.references then
if isSet(i18n.categoryref) then
result[#result + 1] = "[[" ..i18n.categoryref .. "]]"
end
return table.concat(result), true
else
return '', true
end
end
return '', false
end
-- Set lists of filtered values
local function setFilterLists(num_qual, args)
local lists = {['whitelist']={}, ['blacklist']={}, ['ignorevalue']={}, ['selectvalue']={}}
for i = 0, num_qual do
for k, _ in pairs(lists) do
if isSet(args[k .. i]) then
lists[k][tostring(i)] = {}
local pattern = 'Q%d+'
if string.sub(args[k .. i], 1, 1) ~= 'Q' then
pattern = '[^%p%s]+'
end
for q in string.gmatch(args[k .. i], pattern) do
lists[k][tostring(i)][q] = true
end
end
end
end
return lists['whitelist'], lists['blacklist'], lists['ignorevalue'], lists['selectvalue']
end
local function tableParameters(args, parameters, column)
local column_params = mw.clone(parameters)
column_params.formatting = args["colformat"..column]; if column_params.formatting == "" then column_params.formatting = nil end
column_params.convert = args["convert" .. column]
if args["case" .. column] then
column_params.case = args["case" .. column]
end
return column_params
end
local function getEntityId(args, pargs, unnamed)
pargs = pargs or {}
local id = args.item or args.from or (unnamed and mw.text.trim(args[1] or '') or nil)
if not isSet(id) then
id = pargs.item or pargs.from or (unnamed and mw.text.trim(pargs[1] or '') or nil)
end
if isSet(id) then
if string.find(id, ":") then -- remove prefix as Property:Pid
id = mw.text.split(id, ":")[2]
end
else
id = mw.wikibase.getEntityIdForCurrentPage()
end
return id
end
local function getArg(value, default, aliases)
if type(value) == 'boolean' then return value
elseif value == "false" or value == "no" then return false
elseif value == "true" or value == "yes" then return true
elseif value and aliases and aliases[value] then return aliases[value]
elseif isSet(value) then return value
elseif default then return default
else return nil
end
end
-- Main function claim ---------------------------------------------
-- on debug console use: =p.claim{item="Q...", property="P...", ...}
function p.claim(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local is_sandbox = isSet(pargs.sandbox)
if not required and is_sandbox then
return require(wiki.module_title .. "/" .. mw.message.new('Sandboxlink-subpage-name'):inLanguage(wiki.langcode):plain()).claim(frame)
end
--If a value is already set, use it
if isSet(args.value) then
if args.value == 'NONE' then
return
else
return args.value
end
end
-- arguments
local parameters = {}
parameters.id = getEntityId(args, pargs)
if parameters.id == nil then return end
parameters.property = string.upper(args.property or "")
local qualifierId = {}
qualifierId[1] = getArg(string.upper(args.qualifier or args.qualifier1 or ""))
local i = 2
while isSet(args["qualifier" .. i]) do
qualifierId[i] = string.upper(args["qualifier" .. i])
i = i + 1
end
parameters.formatting = getArg(args.formatting)
parameters.convert = getArg(args.convert)
parameters.numformat = getArg(args.numformat)
parameters.case = args.case
parameters.list = getArg(args.list, true, {firstrank='bestrank'})
parameters.listmax = args.listmax
parameters.listrank = getArg(args.listrank)
if type(parameters.list) == "number" then -- backwards compatibility
parameters.listmax = parameters.listmax or parameters.list
parameters.list = true
elseif parameters.list == "bestrank" then
parameters.listrank = parameters.listrank or "bestrank"
parameters.list = true
end
parameters.shownovalue = getArg(args.shownovalue, true)
parameters.showsomevalue = getArg(args.showsomevalue, true)
parameters.separator = getArg(args.separator)
parameters.conjunction = getArg(args.conjunction, parameters.separator)
parameters.qseparator = getArg(args.qseparator, parameters.separator)
parameters.qconjunction = getArg(args.qconjunction, parameters.conjunction)
local sorting_col = args.tablesort
local sorting_up = (args.sorting or "") ~= "-1"
local rowformat = args.rowformat
parameters.references = getArg(args.references, false)
parameters.onlysourced = getArg(args.onlysourced, false)
local showerrors = args.showerrors
local default = args.default
if default then showerrors = nil end
parameters.lang = findLang(args.lang)
if parameters.formatting == "raw" then
parameters.editicon, parameters.labelicon = false, false
else
parameters.editicon, parameters.labelicon = setIcons(args.editicon, pargs.editicon) -- needs loadI18n by findLand
end
-- fetch property
local claims = {}
local bestrank = parameters.listrank == 'bestrank' and parameters.list ~= 'lang'
for p in string.gmatch(parameters.property, 'P[%d/P]+') do -- P123 or P45/P67
if string.find(p, ".+/.+") then
local props = mw.text.split(p, "/")
local claims_child = {}
claims_child = getStatements(parameters.id, props[1], bestrank)
if #claims_child > 0 then
local parent_id, _, _ = getValueOfClaim(claims_child[1], nil, {["formatting"]="raw", ["lang"]=parameters.lang})
if string.sub(parent_id or '', 1, 1) == "Q" then
claims = getStatements(parent_id, props[2], bestrank)
if #claims > 0 then
parameters.property = props[1]
break
end
end
end
else
claims = getStatements(parameters.id, p, bestrank)
if #claims > 0 then
parameters.property = p
break
end
end
end
if #claims == 0 then
local ret = showerrors and printError("property-not-found") or default
return ret, args.query == 'num' and 0 or ''
end
-- defaults for table
local preformat, postformat = "", ""
local whitelisted = false
local whitelist, blacklist, ignorevalue, selectvalue = {}, {}, {}, {}
if parameters.formatting == "table" then
parameters.separator = parameters.separator or "<br />"
parameters.conjunction = parameters.conjunction or "<br />"
parameters.qseparator = getArg(args.qseparator, mw.message.new('Comma-separator'):inLanguage(parameters.lang[1]):plain())
parameters.qconjunction = getArg(args.qconjunction, parameters.qseparator)
if not rowformat then
rowformat = "$0 ($1"
i = 2
while qualifierId[i] do
rowformat = rowformat .. ", $" .. i
i = i + 1
end
rowformat = rowformat .. ")"
elseif mw.ustring.find(rowformat, "^[*#]") then
parameters.separator = "</li><li>"
parameters.conjunction = "</li><li>"
if mw.ustring.match(rowformat, "^[*#]") == "*" then
preformat = "<ul><li>"
postformat = "</li></ul>"
else
preformat = "<ol><li>"
postformat = "</li></ol>"
end
rowformat = mw.ustring.gsub(rowformat, "^[*#] ?", "")
end
-- set lists of filtered values
whitelist, blacklist, ignorevalue, selectvalue = setFilterLists(#qualifierId, args)
local next = next
if next(whitelist) ~= nil then whitelisted = true end
end
-- set feminine case if gender is requested
local itemgender = args.itemgender
local idgender
if itemgender then
if string.match(itemgender, "^P%d+$") then
local snak_id = getSnak(mw.wikibase.getBestStatements(parameters.id, itemgender), {1, "mainsnak", "datavalue", "value", "id"})
if snak_id then
idgender = snak_id
end
elseif string.match(itemgender, "^Q%d+$") then
idgender = itemgender
end
end
local gender_requested = false
if parameters.case == "gender" or idgender then
gender_requested = true
elseif parameters.formatting == "table" then
for i=0, #qualifierId do
if args["case" .. i] and args["case" .. i] == "gender" then
gender_requested = true
break
end
end
end
if gender_requested then
if feminineGender(idgender or parameters.id) then
parameters.gender = "feminineform"
end
end
-- get initial sort indices
local sortindices = {}
for idx in pairs(claims) do
sortindices[#sortindices + 1] = idx
end
-- sort by claim rank
local comparator = function(a, b)
local rankmap = { deprecated = 2, normal = 1, preferred = 0 }
local ranka = rankmap[claims[a].rank or "normal"] .. string.format("%08d", a)
local rankb = rankmap[claims[b].rank or "normal"] .. string.format("%08d", b)
return ranka < rankb
end
table.sort(sortindices, comparator)
local result, result2, result_query
local error
if parameters.list or parameters.formatting == "table" then
-- convert LF to line feed, <br /> may not work on some cases
parameters.separator = parameters.separator == "LF" and "\010" or parameters.separator
parameters.conjunction = parameters.conjunction == "LF" and "\010" or parameters.conjunction
-- i18n separators
parameters.separator = parameters.separator or mw.message.new('Comma-separator'):inLanguage(parameters.lang[1]):plain()
parameters.conjunction = parameters.conjunction or (mw.message.new('And'):inLanguage(parameters.lang[1]):plain() .. mw.message.new('Word-separator'):inLanguage(parameters.lang[1]):plain())
-- iterate over all elements and return their value (if existing)
local value, valueq
local sortkey, sortkeyq
local values = {}
local sortkeys = {}
local refs = {}
local rowlist = {} -- rows to list with whitelist or blacklist
for idx in pairs(claims) do
local claim = claims[sortindices[idx]]
local reference = {}
if not whitelisted then rowlist[idx] = true end
if parameters.formatting == "table" then
local params = tableParameters(args, parameters, "0")
value, sortkey, error = getValueOfClaim(claim, nil, params)
if value then
values[#values + 1] = {}
sortkeys[#sortkeys + 1] = {}
refs[#refs + 1] = {}
if whitelist["0"] or blacklist["0"] then
local valueraw, _, _ = getValueOfClaim(claim, nil, {["formatting"]="raw", ["lang"]=params.lang})
if whitelist["0"] and whitelist["0"][valueraw or ""] then
rowlist[#values] = true
elseif blacklist["0"] and blacklist["0"][valueraw or ""] then
rowlist[#values] = false
end
end
for i, qual in ipairs(qualifierId) do
local j = tostring(i)
params = tableParameters(args, parameters, j)
local valueq, sortkeyq, valueraw
if qual == parameters.property then -- hack for getting the property with another formatting, i.e. colformat1=raw
valueq, sortkeyq, _ = getValueOfClaim(claim, nil, params)
else
for q in mw.text.gsplit(qual, '%s*OR%s*') do
if string.find(q, ".+/.+") then
valueq, sortkeyq, valueraw = getValueOfParentClaim(claim, q, params)
elseif string.find(q, "^/.+") then
local claim2 = getStatements(parameters.id, string.sub(q, 2), bestrank)
if #claim2 > 0 then
-- only first value of a property as alternative to a qualifier
-- multiple values may not be related to a given raw of the table
valueq, sortkeyq, _ = getValueOfClaim(claim2[1], nil, params)
end
else
valueq, sortkeyq, _ = getValueOfClaim(claim, q, params)
end
if valueq then
qual = q
break
end
end
end
values[#values]["col" .. j] = valueq
sortkeys[#sortkeys]["col" .. j] = sortkeyq or valueq
if whitelist[j] or blacklist[j] or ignorevalue[j] or selectvalue[j] then
valueq = valueraw or getValueOfClaim(claim, qual, {["formatting"]="raw", ["lang"]=params.lang, ["list"]=params.list})
if valueq then
if whitelist[j] then
for k, v in pairs(whitelist[j]) do
if v and string.find(valueq, k, 1, true) then
rowlist[#values] = true
end
end
elseif blacklist[j] then
for k, v in pairs(blacklist[j]) do
if v and string.find(valueq, k, 1, true) then
rowlist[#values] = false
end
end
elseif ignorevalue[j] then
for k, v in pairs(ignorevalue[j]) do
if v and string.find(valueq, k, 1, true) then
values[#values]["col" .. j] = nil
end
end
elseif selectvalue[j] then
local selected
for k, v in pairs(selectvalue[j]) do
if v and string.find(valueq, k, 1, true) then
selected = true
end
end
if selected == nil then
values[#values]["col" .. j] = nil
end
end
end
end
end
end
else
value, sortkey, error = getValueOfClaim(claim, qualifierId[1], parameters)
values[#values + 1] = {}
sortkeys[#sortkeys + 1] = {}
refs[#refs + 1] = {}
end
if not value and showerrors then value = error end
if value then
if (parameters.references or parameters.onlysourced) and claim.references then
reference = claim.references
end
refs[#refs]["col0"] = reference
values[#values]["col0"] = value
sortkeys[#sortkeys]["col0"] = sortkey or value
end
end
-- sort and format results
sortindices = {}
for idx in pairs(values) do
sortindices[#sortindices + 1] = idx
end
if sorting_col then
local sorting_table = mw.text.split(sorting_col, '%D+')
local comparator = function(a, b)
local valuea, valueb
local i = 1
while valuea == valueb and i <= #sorting_table do
valuea = sortkeys[a]["col" .. sorting_table[i]] or ''
valueb = sortkeys[b]["col" .. sorting_table[i]] or ''
i = i + 1
end
if sorting_up then
return valueb > valuea
end
return valueb < valuea
end
table.sort(sortindices, comparator)
end
local maxvals = tonumber(parameters.listmax)
result = {}
for idx in pairs(values) do
local valuerow = values[sortindices[idx]]
local reference, valid_ref = getReferences({["references"] = refs[sortindices[idx]]["col0"]}, parameters)
value = valuerow["col0"]
if parameters.formatting == "table" then
if not rowlist[sortindices[idx]] then
value = nil
else
local rowformatting = rowformat .. "$" -- fake end character added for easy gsub
value = mw.ustring.gsub(rowformatting, "$0", {["$0"] = value})
value = mw.ustring.gsub(value, "$R0", reference) -- add reference
for i, _ in ipairs(qualifierId) do
local valueq = valuerow["col" .. i]
if args["rowsubformat" .. i] and isSet(valueq) then
-- add fake end character $
-- gsub $i not followed by a number so $1 doesn't match $10, $11...
-- remove fake end character
valueq = captureEscapes(valueq)
valueq = mw.ustring.gsub(args["rowsubformat" .. i] .. "$", "$" .. i .. "(%D)", valueq .. "%1")
valueq = string.sub(valueq, 1, -2)
rowformatting = mw.ustring.gsub(rowformatting, "$" .. i .. "(%D)", args["rowsubformat" .. i] .. "%1")
end
valueq = valueq and captureEscapes(valueq) or ''
value = mw.ustring.gsub(value, "$" .. i .. "(%D)", valueq .. "%1")
end
value = string.sub(value, 1, -2) -- remove fake end character
value = expandBraces(value, rowformatting)
end
elseif value then
value = expandBraces(value, parameters.formatting)
value = value .. reference
end
if isSet(value) and (not parameters.onlysourced or (parameters.onlysourced and valid_ref)) then
result[#result + 1] = value
if not parameters.list or (maxvals and maxvals == #result) then
break
end
end
end
if args.query == 'num' then
result_query = #result
end
if #result > 0 then
if parameters.formatting == 'table' then
result = addEditIconTable(result, parameters) -- in a table, add edit icon on last element
end
result = preformat .. mw.text.listToText(result, parameters.separator, parameters.conjunction) .. postformat
else
result = ''
end
else
-- return first element
local claim = claims[sortindices[1]]
result, result2, error = getValueOfClaim(claim, qualifierId[1], parameters)
if result then
local ref, valid_ref = getReferences(claim, parameters)
if parameters.onlysourced and valid_ref == false then
result = nil
else
result = result .. ref
end
end
if args.query == 'num' then result_query = result and 1 or 0 end
end
if isSet(result) then
if not (parameters.formatting == 'table' or (result2 and result2 == 'no-icon')) then
-- add edit icon, except table added previously and except explicit no-icon internal flag
result = result .. addEditIcon(parameters)
end
else
if showerrors then result = error else result = default end
end
if args.query == 'untranslated' and required and not is_sandbox then
result_query = untranslated
end
return result, result_query or ''
end
-- Local functions for getParentValues -----------------------
local function uc_first(word)
if word == nil then return end
return mw.ustring.upper(mw.ustring.sub(word, 1, 1)) .. mw.ustring.sub(word, 2)
end
local function getPropertyValue(id, property, parameter, langs, labelicon, case)
local snaks = mw.wikibase.getBestStatements(id, property)
local mysnak = getSnak(snaks, {1, "mainsnak"})
if mysnak == nil then
return
end
local entity_id
local result = '-' -- default for 'no value'
if mysnak.datavalue then
entity_id = "Q" .. tostring(mysnak.datavalue.value['numeric-id'])
result, _ = getSnakValue(mysnak, {formatting=parameter, lang=langs, labelicon=labelicon, case=case})
end
return entity_id, result
end
local function getParentObjects(id,
prop_format,
label_format,
languages,
propertySupString,
propertyLabel,
propertyLink,
label_show,
labelicon0,
labelicon1,
upto_number,
upto_label,
upto_value,
last_only,
grammatical_case,
include_self)
local propertySups = mw.text.split(propertySupString, '[^P%d]')
local maxloop = 10
if upto_number then
maxloop = upto_number
elseif next(upto_label) or next(upto_value) then
maxloop = 50
end
local labels_filter = next(label_show)
local result = {}
local id_value = id
for iter = 1, maxloop do
local link, label, labelwicon, linktext, id_label
for _, propertySup in pairs(propertySups) do
local _id_value, _link = getPropertyValue(id_value, propertySup, prop_format, languages, labelicon1, grammatical_case)
if _id_value and _link then id_value = _id_value; link = _link break end
end
if not id_value or not link then break end
if propertyLink then
_, linktext = getPropertyValue(id_value, propertyLink, "label", languages)
if linktext then
link = link .. " (" .. linktext .. ")"
end
end
id_label, label = getPropertyValue(id_value, propertyLabel, label_format, languages, false, "infoboxlabel")
if labelicon0 then
_, labelwicon = getPropertyValue(id_value, propertyLabel, label_format, languages, labelicon0, "infoboxlabel")
else
labelwicon = label
end
if labels_filter == nil or (label_show[id_label] or label_show[label]) then
result[#result + 1] = {labelwicon, link}
label_show[id_label or 'none'], label_show[label or 'none'] = nil, nil -- only first label found
end
if upto_label[id_label] or upto_label[label] or upto_value[id_value] then
break
end
end
if last_only then
result = {result[#result]}
end
if include_self then
local label_self, link_self
_, label_self = getPropertyValue(id, propertyLabel, label_format, languages, labelicon0, "infoboxlabel")
link_self, _ = getLabelByLangs(id, languages)
table.insert(result, 1, {label_self, link_self})
end
return result
end
local function parentObjectsToString(result,
rowformat,
cascade,
sorting)
local ret = {}
local first = 1
local last = #result
local iter = 1
if sorting == "-1" then first = #result; last = 1; iter = -1 end
for i = first, last, iter do
local rowtext = mw.ustring.gsub(rowformat, "$[01]", {["$0"] = result[i][1], ["$1"] = result[i][2]})
ret[#ret + 1] = expandBraces(rowtext, rowformat)
end
if cascade then
local direction = mw.language.new(wiki.langcode):isRTL() and "right" or "left"
local suffix = ""
for i = 1, #ret do
ret[i] = '<ul style="line-height:100%; margin-' .. direction .. ':0.45em; padding-' .. direction .. ':0;"><li>' .. ret[i]
suffix = suffix .. '</li></ul>'
end
ret[#ret] = ret[#ret] .. suffix
end
return ret
end
-- Returns pairs of parent label and property value fetching a recursive tree
function p.getParentValues(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
if not required and isSet(pargs.sandbox) then
return require(wiki.module_title .. "/" .. mw.message.new('Sandboxlink-subpage-name'):inLanguage(wiki.langcode):plain()).getParentValues(frame)
end
local id = getEntityId(args, pargs)
if id == nil then return end
local languages = findLang(args.lang)
local propertySup = getArg(args.property, "P131") --administrative entity
local propertyLabel = getArg(args.label, "P31") --instance
local propertyLink = getArg(args.valuetext)
local property_format = getArg(args.formatting)
local label_format = getArg(args.labelformat, "label")
local upto_number = getArg(args.upto)
local last_only = getArg(args.last_only, false)
local editicon, labelicon = setIcons(args.editicon, pargs.editicon)
local include_self = getArg(args.include_self, false)
local case = getArg(args.case)
local upto_label = {}
for q in string.gmatch(args.uptolabelid or '', 'Q%d+') do
upto_label[q] = true
end
if type(tonumber(upto_number)) == "number" then
upto_number = tonumber(upto_number)
elseif type(upto_number) == 'string' then
upto_number = nil
require(wiki.module_title .. '/debug').track('upto') -- replace upto by uptolabelid
end
local upto_value = {}
for q in string.gmatch(args.uptovalueid or args.uptolinkid or '', 'Q%d+') do
upto_value[q] = true
end
local label_show = {}
for q in string.gmatch(args.showlabelid or '', 'Q%d+') do
label_show[q] = true
end
for _, v in ipairs(mw.text.split(args.labelshow or '', "/")) do
if v ~= '' then
label_show[uc_first(v)] = true
require(wiki.module_title .. '/debug').track('labelshow') -- replace labelshow by showlabelid
end
end
local rowformat = args.rowformat; if not isSet(rowformat) then rowformat = "$0 = $1" end
local labelicon0, labelicon1 = labelicon, labelicon
if string.find(label_format, '{{.*$0.*}}') or (string.find(rowformat, '{{.*$0.*}}') and label_format ~= 'raw') then
labelicon0 = false
end
local result = getParentObjects(id,
property_format,
label_format,
languages,
propertySup,
propertyLabel,
propertyLink,
label_show,
labelicon0,
labelicon1,
upto_number,
upto_label,
upto_value,
last_only,
case,
include_self)
if #result == 0 then return end
local separator = args.separator; if not isSet(separator) then separator = "<br />" end
local sorting = args.sorting; if sorting == "" then sorting = nil end
local cascade = (args.cascade == "true" or args.cascade == "yes")
local ret = parentObjectsToString(result,
rowformat,
cascade,
sorting)
ret = addEditIconTable(ret, {property=propertySup, editicon=editicon, id=id, lang=languages})
return mw.text.listToText(ret, separator, separator)
end
-- Link with a parent label --------------------
function p.linkWithParentLabel(frame)
local pargs = frame.args and frame:getParent().args or {}
if not required and isSet(pargs.sandbox) then
return require(wiki.module_title .. "/" .. mw.message.new('Sandboxlink-subpage-name'):inLanguage(wiki.langcode):plain()).linkWithParentLabel(frame)
end
local args = {}
if frame.args then
for k, v in pairs(frame.args) do -- metatable
args[k] = v
end
else
args = frame -- via require
end
if isSet(args.value) then
return args.value
end
-- get id value of property/qualifier
local largs = mw.clone(args)
largs.list = tonumber(args.list) and args.list or true
largs.formatting = "raw"
largs.separator = "/·/"
largs.editicon = false
local items_list, _ = p.claim(largs)
if not isSet(items_list) then return end
local items_table = mw.text.split(items_list, "/·/", true)
-- get internal link of property/qualifier
if isSet(args.formatting) then
largs.formatting = nil -- default link if defined with any value
else
largs.formatting = "internallink"
end
local link_list, _ = p.claim(largs)
local link_table = mw.text.split(link_list, "/·/", true)
-- get label of parent property
local parent_claim = getSnak(getStatements(items_table[1], args.parent, true), {1, "mainsnak", "datatype"})
if parent_claim == 'monolingualtext' then
largs.formatting = nil
largs.list = 'lang'
else
largs.formatting = "label"
largs.list = false
end
largs.property = args.parent
largs.qualifier = nil
for i, v in ipairs(items_table) do
largs.item = v
local link_label, _ = p.claim(largs)
if isSet(link_label) then
link_table[i] = mw.ustring.gsub(link_table[i] or '', "%[%[(.*)%|.+%]%]", "[[%1|" .. link_label .. "]]")
end
end
args.editicon, _ = setIcons(args.editicon, pargs.editicon)
args.id = getEntityId(args, pargs)
args.lang = findLang(args.lang)
return mw.text.listToText(link_table) .. addEditIcon(args)
end
-- Calculate number of years old ----------------------------
function p.yearsOld(frame)
if not required and frame.args and isSet(frame:getParent().args.sandbox) then
return require(wiki.module_title .. "/" .. mw.message.new('Sandboxlink-subpage-name'):inLanguage(wiki.langcode):plain()).yearsOld(frame)
end
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local id = getEntityId(args, pargs)
if id == nil then return end
local lang = mw.language.new('en')
local function getBestDate(id, prop)
local mainsnak = getSnak(mw.wikibase.getBestStatements(id, prop), {1, "mainsnak"})
if mainsnak and mainsnak.snaktype then
if mainsnak.snaktype == "somevalue" then
return {time = nil, precision = 0}
elseif mainsnak.snaktype == "value" then
return getSnak(mainsnak, {"datavalue", "value"})
end
end
return {time = nil, precision = nil}
end
local birth = getBestDate(id, 'P569')
if birth.time == nil or birth.precision < 8 then
return
end
local death = getBestDate(id, 'P570')
if death.precision and death.precision < 8 then -- includes somevalue
return
elseif death.time == nil then
death = {time = lang:formatDate('c'), precision = 11} -- current date
end
local dates = {}
dates[1] = {['min'] = {}, ['max'] = {}, ['precision'] = birth.precision}
dates[1].min.year = tonumber(mw.ustring.match(birth.time, "^[+-]?%d+"))
dates[1].min.month = tonumber(mw.ustring.match(birth.time, "-(%d%d)-"))
dates[1].min.day = tonumber(mw.ustring.match(birth.time, "-(%d%d)T"))
dates[1].max = mw.clone(dates[1].min)
dates[2] = {['min'] = {}, ['max'] = {}, ['precision'] = death.precision}
dates[2].min.year = tonumber(mw.ustring.match(death.time, "^[+-]?%d+"))
dates[2].min.month = tonumber(mw.ustring.match(death.time, "-(%d%d)-"))
dates[2].min.day = tonumber(mw.ustring.match(death.time, "-(%d%d)T"))
dates[2].max = mw.clone(dates[2].min)
for i, d in ipairs(dates) do
if d.precision == 10 then -- month
d.min.day = 1
local timestamp = string.format("%04d", tostring(math.abs(d.max.year)))
.. string.format("%02d", tostring(d.max.month))
.. "01"
d.max.day = tonumber(lang:formatDate("j", timestamp .. " + 1 month - 1 day"))
elseif d.precision < 10 then -- year or decade
d.min.day = 1
d.min.month = 1
d.max.day = 31
d.max.month = 12
if d.precision == 8 then -- decade
d.max.year = d.max.year + 9
end
end
end
local function age(d1, d2)
local years = d2.year - d1.year
if d2.month < d1.month or (d2.month == d1.month and d2.day < d1.day) then
years = years - 1
end
if d2.year > 0 and d1.year < 0 then
years = years - 1 -- no year 0
end
return years
end
local old_min = age(dates[1].max, dates[2].min)
local old_max = age(dates[1].min, dates[2].max)
if old_max > 200 then
require(wiki.module_title .. '/debug').track('200yo')
end
local old, old_expr
if old_min == 0 and old_max == 0 then
old = "< 1"
old_max = 1 -- expression in singular
elseif old_min == old_max then
old = old_min
else
old = old_min .. "/" .. old_max
end
if args.formatting == 'unit' then
local langs = findLang(args.lang)
local yo
local yo_pl = {}
if langs[1] == wiki.langcode then
yo_pl = i18n["years-old"]
end
if not isSet(yo_pl[2]) then
local yo_label, _ = getLabelByLangs('Q24564698', langs)
yo_pl = {yo_label, yo_label}
end
yo = mw.language.new(langs[1]):plural(old_max, yo_pl)
if mw.ustring.find(yo, '$1', 1, true) then
old_expr = mw.ustring.gsub(yo, "$1", old)
else
old_expr = old .. ' ' .. yo
end
elseif args.formatting then
old_expr = expandBraces(mw.ustring.gsub(args.formatting, '$1', old), args.formatting)
else
old_expr = old
end
return old_expr
end
-- Gets a label in a given language (content language by default) or its fallbacks, optionnally linked.
function p.getLabel(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
if not required and isSet(pargs.sandbox) then
return require(wiki.module_title .. "/" .. mw.message.new('Sandboxlink-subpage-name'):inLanguage(wiki.langcode):plain()).getLabel(frame)
end
local id = getEntityId(args, pargs, 1)
if id == nil then return end
local languages = findLang(args.lang)
local labelicon = false
if mw.wikibase.isValidEntityId(id) then
_, labelicon = setIcons(args.editicon, pargs.editicon)
end
local label_icon = ''
local label, lang
if args.label then
label = args.label
else
-- exceptions or labels fixed
local exist, labels = pcall(require, wiki.module_title .. "/labels" .. (languages[1] == wiki.langcode and '' or '/' .. languages[1]))
if exist and labels.infoboxLabelsFromId and next(labels.infoboxLabelsFromId) ~= nil then
label = labels.infoboxLabelsFromId[id]
end
if label == nil then
label, lang = getLabelByLangs(id, languages)
if label then
if isSet(args.itemgender) then
if feminineGender(args.itemgender) then
label = feminineForm(id, lang) or label
end
local _, items_g = string.gsub(args.itemgender, "Q%d+", "")
if not isSet(args.case) and items_g > 1 then
args.case = "plural"
end
end
label = mw.language.new(lang):ucfirst(mw.text.nowiki(label)) -- sanitize
if args.case then
label = case(args.case, label, lang)
end
end
label_icon = addLabelIcon(id, lang, languages[1], labelicon)
end
end
local linked = args.linked
local ret2 = required and untranslated or ''
if isSet(linked) and linked ~= "no" then
local article = mw.wikibase.getSitelink(id) or ("d:Special:EntityPage/" .. id)
return "[[" .. article .. "|" .. (label or id) .. "]]" .. label_icon, ret2
else
return (label or id) .. label_icon, ret2
end
end
function p.sitelinks(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
-- arguments
local param = {}
param.id = getEntityId(args, pargs)
if param.id == nil then return end
param.project = getArg(args.project)
param.site = getArg(args.site)
param.sitelang = getArg(args.sitelang)
param.show = getArg(args.formatting, '[[$w:$l:$t|$s:$t]] $i')
param.sep = getArg(args.separator, ', ')
-- fetch sitelinks
local sitelinks_obj = mw.wikibase.getEntity(param.id).sitelinks
local slinks = {} -- do some clean up (commonswiki > commons) and add some data
local iw = {['wikipedia'] = 'w', ['wikibooks'] = 'b', ['wikinews'] = 'n', ['wikiquote'] = 'q',
['wikisource'] = 's', ['wikiversity'] = 'v', ['wikivoyage'] = 'voy', ['wiktionary'] = 'wikt', ['commons'] = 'c',
['meta'] = 'm', ['mediawiki'] = 'mw', ['species'] = 'species', ['wikidata'] = 'd', ['wikifunctions'] = 'f'}
for slink, sdata in pairs(sitelinks_obj) do
-- langcode + wiki, wikibooks, wikinews, wikiquote, wikisource, wikiversity, wikivoyage, wiktionary
local s_lang = string.match(slink, '(%l+)wik[it]')
local s_project = string.match(slink, 'wik[it]%l*')
if slink == 'commonswiki' or slink == 'metawiki' or slink == 'mediawikiwiki'
or slink == 'specieswiki' or slink == 'wikidatawiki' or slink == 'wikifunctionswiki'
then
s_project = string.sub(slink, 1, -5) -- remove -wiki
slinks[s_project] = {['lang'] = 'und', ['project'] = s_project, ['iw'] = iw[s_project], ['title'] = sdata.title, ['badges'] = sdata.badges}
elseif s_project == 'wiki' then -- restore project full name
slinks[slink] = {['lang'] = s_lang, ['project'] = 'wikipedia', ['iw'] = 'w', ['title'] = sdata.title, ['badges'] = sdata.badges}
elseif s_project == 'wiktionary' then -- use short site name
s_project = string.sub(slink, 1, -7)
slinks[s_project] = {['lang'] = s_lang, ['project'] = 'wiktionary', ['iw'] = 'wikt', ['title'] = sdata.title, ['badges'] = sdata.badges}
else
slinks[slink] = {['lang'] = s_lang, ['project'] = s_project, ['iw'] = iw[s_project], ['title'] = sdata.title, ['badges'] = sdata.badges}
end
end
-- select requested project, site, sitelang
local slinks_req = {}
if not (param.project or param.site or param.sitelang) then
slinks_req = slinks
else
for pr in string.gmatch(param.project or '', '%l+') do -- lowercase letters, skip separators
for sl, sd in pairs(slinks) do
if sd.project == pr then
slinks_req[sl] = sd
end
end
end
for s in string.gmatch(param.site or '', '%l+') do
for sl, sd in pairs(slinks) do
if sl == s then
slinks_req[sl] = sd
end
end
end
for l in string.gmatch(param.sitelang or '', '%l+') do
for sl, sd in pairs(slinks) do
if sd.lang == l then
slinks_req[sl] = sd
end
end
end
end
-- sort table
local sites_sorted = {}
for sitex in pairs(slinks_req) do
sites_sorted[#sites_sorted + 1] = sitex
end
local sort_project_lang = function(a, b)
local key_a = slinks_req[a].project .. slinks_req[a].lang
local key_b = slinks_req[b].project .. slinks_req[b].lang
return key_a < key_b
end
table.sort(sites_sorted, sort_project_lang)
-- format output
local showtext = {}
local shownum, showbnum = 0, 0
for _, sl in ipairs(sites_sorted) do
local sd = slinks_req[sl]
local show = param.show -- default '[[$w:$l:$t|$s:$t]] $i' iw:lang:title, site:title icon, also $p project
show = string.gsub(show, '$w', sd.iw)
show = string.gsub(show, '$p', sd.project)
if sd.lang == 'und' then
show = string.gsub(show, '$l:?', '')
else
show = string.gsub(show, '$l', sd.lang)
end
show = string.gsub(show, '$t', sd.title)
show = string.gsub(show, '$s', sl)
if next(sd.badges) then
show = string.gsub(show, '$i', '[[File:Article de qualité.svg|15x15px]]')
showbnum = showbnum + 1
else
show = string.gsub(show, ' ?$i', '')
end
if show ~= param.show then
table.insert(showtext, show)
end
shownum = shownum + 1
end
local output
if string.find(param.show, '$[nb]') then
output = string.gsub(param.show, '$n', shownum) -- number of sites
output = string.gsub(output, '$b', showbnum) -- number of badges
else
output = table.concat(showtext, param.sep)
end
return output
end
-- Utilities -----------------------------
-- See also module ../debug.
-- Copied from Module:Wikibase
function p.getSiteLink(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local id = getEntityId(args, pargs, 1)
if id == nil then return end
return mw.wikibase.getSitelink(id, mw.text.trim(args[2] or ''))
end
-- Helper function for the default language code used
function p.lang(frame)
local lang = frame and frame.args[1] -- nil via require
return findLang(lang)[1]
end
-- Number of statements
function p.numStatements(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local id = getEntityId(args, pargs)
if id == nil then return 0 end
local prop = mw.text.trim(args[1] or '')
local num = {}
if not isSet(prop) then
local largs = {}
for k, v in pairs(pargs) do
largs[k] = v
end
for k, v in pairs(args) do
largs[k] = v
end
largs.query = 'num'
_, num = p.claim(largs)
return num
elseif args[2] then -- qualifier
local qual = mw.text.trim(args[2])
local values = p.claim{item=id, property=prop, qualifier=qual, formatting='raw', separator='/·/'}
if values then
num = mw.text.split(values, '/·/')
end
else
num = mw.wikibase.getBestStatements(id, prop)
end
return #num
end
-- Returns true if property datavalue is found excluding novalue/somevalue
function p.validProperty(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local item = getEntityId(args, pargs)
if item == nil then return end
local property = mw.text.trim(args[1])
local prop_data = getSnak(mw.wikibase.getBestStatements(item, property), {1, "mainsnak", "datavalue"})
return prop_data and true or nil
end
function p.editAtWikidata(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local value = isSet(args[1])
if value then return end
local param = {}
param.id = getEntityId(args, pargs)
param.property = args.property
param.lang = findLang(args.lang)
param.editicon, _ = setIcons(args.editicon)
return addEditIcon(param)
end
function p.formatNum(frame)
local input = frame.args[1] or ""
local num = tonumber(mw.text.trim(input))
-- SAFETY NET: If the input isn't a valid number (or is empty),
-- just return the raw input to prevent the module from crashing.
if num == nil then
return input
end
local lang_input = frame.args[2] or ""
local lang = findLang(mw.text.trim(lang_input))
return mw.language.new(lang[1]):formatNum(num)
end
return p
39x7po94teoluuc5cf8xv8g0q4gfdwm
جَہلَم دٔرؠ یاو
0
29425
150939
136937
2026-09-01T05:50:15Z
EmausBot
1793
Fixing double redirect from [[جَہلَم دٔرؠیاو]] to [[وؠتھ دٔرؠیاو]]
150939
wikitext
text/x-wiki
#REDIRECT [[وؠتھ دٔرؠیاو]]
iuf7tq1kziw2h5fsj5y3c2lwszgfnyi
Module:Wikidades/i18n
828
30049
150921
143767
2026-08-31T19:17:48Z
آیات محراج
11062
150921
Scribunto
text/plain
local i18n = {
["errors"] = {
["property-not-found"] = "خَصوصیَتھ آیہِ نَہ لَبنہٕ.",
["qualifier-not-found"] = "کوالِفایَر آو نَہ لَبنہٕ."
},
["datetime"] =
{
["beforenow"] = "$1 برٛونٛہہ",
["afternow"] = "$1 پَتہٕ",
["bc"] = '$1 م ب',
["ad"] = "$1 ع",
[0] = "$1 اَرَب ؤری",
[1] = "$10 کَروٗڑ ؤری",
[2] = "$1 کَروٗڑ ؤری",
[3] = "$10 لَچھ ؤری",
[4] = "$100000 ؤری",
[5] = "$10000 ؤری",
[6] = '"صٔدی" "<span style=\'font-variant:small-caps; text-transform:lowercase;\'>"xrY"</span>"',
[7] = '"صٔدی" "<span style=\'font-variant:small-caps; text-transform:lowercase;\'>"xrY"</span>"',
[8] = "$1 دَہٲیی",
[9] = "$1",
[10] = "F Y",
[11] = function(ts) return mw.ustring.match(ts, "-(%d+)T") == "01" and 'j"r" F Y' or "j F Y" end,
["hms"] = {["hours"] = "گٲنٛٹہٕ", ["minutes"] = "مِنَٹھ", ["seconds"] = "سؠکینٛڈ"},
},
["years-old"] = {"($1 ؤری)", "($1 ؤری)"},
["cite"] = {
["title"] = "title",
["author"] = "author",
["date"] = "date",
["pages"] = "pages",
["language"] = "language",
["url"] = "url",
["website"] = "website",
["access-date"] = "access-date",
["archive-url"] = "archive-url",
["archive-date"] = "archive-date",
["publisher"] = "publisher",
["quote"] = "quote",
["work"] = "work",
["issue"] = "issue",
["issn"] = "issn",
["doi"] = "doi"
},
["addpencil"] = false,
["categorylabels"] = "",
["categoryprop"] = "",
["categoryref"] = "",
["addfallback"] = {'ur', 'en'},
["suppressids"] = {},
["qidlabels"] = false
}
local cases = {
["infoboxlabel"] = function(word) return require("Module:Wikidades/labels").fixInfoboxLabel(word, "adm") end,
["infoboxlabelplain"] = function(word) return require("Module:Wikidades/labels").fixInfoboxLabel(word, "plain") end,
["infoboxdata"] = function(word) return require("Module:Wikidades/labels").fixInfoboxData(word) end,
["plural"] = function(word, ...) if arg[1] == "ks" then return require("Module:ks-flexió").plural(word) end return word end,
["ordinal"] = function(number, ...) if arg[1] == "ks" then return require("Module:ks-flexió").ordinal(number, arg[2]) end return number end,
["location"] = function(label, ...) return require("Module:Location").naming(label, arg[2], arg[3]) end,
["locationcontext"] = function(label, ...) return require("Module:Location").naming(label, arg[2], arg[3], arg[4]) end,
["fraction"] = function(value) return require("Module:Wikidades/Units").fraction1(value) end,
}
return {
i18n = i18n,
cases = cases
}
ahf7bsph0rivvgnd185f2nqxirxflin
Module:Wikidades/proves
828
31114
150922
142978
2026-08-31T19:20:52Z
آیات محراج
11062
150922
Scribunto
text/plain
-- version 20260607 from master @cawiki
-- changes from previous version:
-- proves d'icones amb diferents fitxers
local p = {}
-- Initialization of variables --------------------
local i18n = { -- internationalisation at subpage /i18n
["errors"] = {
["property-not-found"] = "Property not found.",
["qualifier-not-found"] = "Qualifier not found.",
},
["datetime"] = {
-- $1 is a placeholder for the actual number
["beforenow"] = "$1 BCE", -- how to format negative numbers for precisions 0 to 5
["afternow"] = "$1 CE", -- how to format positive numbers for precisions 0 to 5
["bc"] = "$1 BCE", -- how print negative years
["ad"] = "$1", -- how print 1st century AD dates
[0] = "$1 billion years", -- precision: billion years
[1] = "$100 million years", -- precision: hundred million years
[2] = "$10 million years", -- precision: ten million years
[3] = "$1 million years", -- precision: million years
[4] = "$100000 years", -- precision: hundred thousand years; thousand separators added afterwards
[5] = "$10000 years", -- precision: ten thousand years; thousand separators added afterwards
[6] = "$1 millennium", -- precision: millennium
[7] = "$1 century", -- precision: century
[8] = "$1s", -- precision: decade
-- the following use the format of #time parser function
[9] = "Y", -- precision: year,
[10] = "F Y", -- precision: month
[11] = "F j, Y", -- precision: day
["hms"] = {["hours"] = "گٲنٛٹہٕ", ["minutes"] = "مِنَٹھ", ["seconds"] = "سؠکینٛڈ"}, -- duration: xh xm xs
},
["years-old"] = {"", ""}, -- year(s) old, as in magic word {PLURAL:$1|singular|plural}
-- two values for most languages, up to six values for some languages, examples:
-- ["years-old"] = {"singular", "paucal", "plural"} in Russian and other Slavic languages
-- ["years-old"] = {"zero", "one", "two", "few 3-10", "many 11-99", "other 100-102"} in Arabic
-- see documentation of PLURAL in your language at [[mw:Help:Magic words#Localization 2]]
["cite"] = { -- cite parameters
["title"] = "title",
["author"] = "author",
["date"] = "date",
["pages"] = "pages",
["language"] = "language",
-- cite web parameters
["url"] = "url",
["website"] = "website",
["access-date"] = "access-date",
["archive-url"] = "archive-url",
["archive-date"] = "archive-date",
["publisher"] = "publisher",
["quote"] = "quote",
-- cite journal parameters
["work"] = "work",
["issue"] = "issue",
["issn"] = "issn",
["doi"] = "doi"
},
-- default local wiki settings
["addpencil"] = false, -- adds a pencil icon linked to Wikidata statement, planned to overwrite by Wikidata Bridge
["categorylabels"] = "", -- Category:Pages with Wikidata labels not translated (void for no local category)
["categoryprop"] = "", -- Category:Pages using Wikidata property $1 (void for no local category)
["categoryref"] = "", -- Category:Pages with references from Wikidata (void for no local category)
["addfallback"] = {}, -- additional fallback language codes
["suppressids"] = {}, -- list of Qid values to suppress
["qidlabels"] = true -- show labels as Qid if no fallback translation is available
}
local cases = {} -- functions for local grammatical cases defined at subpage /i18n
local required = ... -- variadic arguments from require function
local wiki =
{
langcode = mw.language.getContentLanguage().code,
module_title = required or mw.getCurrentFrame():getTitle()
}
local untranslated -- used in infobox modules: nil or true
local _ -- variable for unused returned values, avoiding globals
-- Module local functions --------------------------------------------
-- Credit to http://stackoverflow.com/a/1283608/2644759, cc-by-sa 3.0
local function tableMerge(t1, t2)
for k, v in pairs(t2) do
if type(v) == "table" then
if type(t1[k] or false) == "table" then
tableMerge(t1[k] or {}, t2[k] or {})
else
t1[k] = v
end
else
t1[k] = v
end
end
return t1
end
local function loadI18n(lang)
local exist, res = pcall(require, wiki.module_title .. "/i18n")
if exist and next(res) ~= nil then
tableMerge(i18n, res.i18n)
cases = res.cases
end
if lang ~= wiki.langcode then
exist, res = pcall(require, wiki.module_title .. "/i18n/" .. lang)
if exist and next(res) ~= nil then
tableMerge(i18n, res.i18n)
tableMerge(cases, res.cases)
end
end
i18n.suppress = {}
for _, id in ipairs(i18n.suppressids) do
i18n.suppress[id] = true
end
end
-- Table of language codes: requested or default and its fallbacks
local function findLang(langcode)
if mw.language.isKnownLanguageTag(langcode or '') == false then
local cframe = mw.getCurrentFrame()
local pframe = cframe:getParent()
langcode = pframe and pframe.args.lang
if mw.language.isKnownLanguageTag(langcode or '') == false then
if not mw.title.getCurrentTitle().isContentPage then
langcode = cframe:callParserFunction('int', {'lang'})
end
if mw.language.isKnownLanguageTag(langcode or '') == false then
langcode = wiki.langcode
end
end
end
loadI18n(langcode)
local languages = mw.language.getFallbacksFor(langcode)
table.insert(languages, 1, langcode)
table.insert(languages, 2, "mul") -- see [[d:Help:Default values for labels and aliases]]
if langcode == wiki.langcode then
for _, l in ipairs(i18n.addfallback) do
table.insert(languages, l)
end
end
return languages
end
-- Argument is 'set' when it exists (not nil) or when it is not an empty string.
local function isSet(var)
return not (var == nil or (type(var) == 'string' and mw.text.trim(var) == ''))
end
-- Set local case to a label
local function case(localcase, label, ...)
if not isSet(label) then return label end
if type(localcase) == "function" then
return localcase(label)
elseif localcase == "smallcaps" then
return '<span style="font-variant: small-caps;">' .. label .. '</span>'
elseif cases[localcase] then
return cases[localcase](label, ...)
end
return label
end
-- get safely a serialized snak
local function getSnak(statement, snaks)
local ret = statement
for i, v in ipairs(snaks) do
if not ret then return end
ret = ret[v]
end
return ret
end
-- get label with an array of fallback languages
-- mw.wikibase.getLabelWithLang uses lang mul as last fallback, not the first one
local function getLabelByLangs(id, languages)
local label, lang
for _, l in ipairs(languages) do
label = mw.wikibase.getLabelByLang(id, l)
if label then
lang = (l == "mul" and languages[1] or l)
break
end
end
return label, lang
end
-- getBestStatements if bestrank=true, else getAllStatements with no deprecated
local function getStatements(entityId, property, bestrank)
local claims = {}
if not (entityId and mw.ustring.match(property, "^P%d+$")) then return claims end
if bestrank then
claims = mw.wikibase.getBestStatements(entityId, property)
else
local allclaims = mw.wikibase.getAllStatements(entityId, property)
for _, c in ipairs(allclaims) do
if c.rank ~= "deprecated" then
table.insert(claims, c)
end
end
end
return claims
end
-- Is gender femenine? true or false
local function feminineGender(id)
for idn in string.gmatch(id, "Q%d+") do
local claims = mw.wikibase.getBestStatements(idn or mw.wikibase.getEntityIdForCurrentPage(),'P21')
local gender_id = getSnak(claims, {1, "mainsnak", "datavalue", "value", "id"})
if gender_id == nil or not (gender_id == "Q6581072" or gender_id == "Q1052281" or gender_id == "Q43445") then
-- not female, transgender female or female organism
return false
end
end
return true
end
-- Fetch female form of label
local function feminineForm(id, lang)
local feminine_claims = getStatements(id, 'P2521')
for _, feminine_claim in ipairs(feminine_claims) do
if getSnak(feminine_claim, {'mainsnak', 'datavalue', 'value', 'language'}) == lang then
return feminine_claim.mainsnak.datavalue.value.text
end
end
end
-- Add an icon for no label in requested language
local function addLabelIcon(label_id, lang, uselang, icon)
local ret_lang, ret_icon = '', ''
if icon then
if lang and lang ~= uselang then
ret_lang = " <sup>(" .. lang .. ")</sup>"
end
if label_id and (lang == nil or lang ~= uselang) then
local namespace = ''
if string.sub(label_id, 1, 1) == 'P' then
namespace = 'Property:'
end
ret_icon = " [[File:Noun Project label icon 1116097 cc mirror.svg|10px|baseline|class=skin-invert|"
.. mw.message.new('Translate-taction-translate'):inLanguage(uselang):plain()
.. "|link=https://www.wikidata.org/wiki/" .. namespace .. label_id .. "?uselang=" .. uselang .. "]]"
untranslated = true
end
if isSet(i18n.categorylabels) and lang ~= uselang and uselang == wiki.langcode then
ret_icon = ret_icon .. '[[' .. i18n.categorylabels .. (lang and ']]' or '/Q]]')
end
end
return ret_lang .. ret_icon
end
-- editicon values: true/false (no=false), right, void defaults to i18n.addpencil
-- labelicon only by parameter
local function setIcons(arg, parg)
local val = arg == nil and parg or arg
local edit_icon, label_icon
if not isSet(val) then
edit_icon, label_icon = i18n.addpencil, true
elseif val == false or val == "false" or val == "no" then
edit_icon, label_icon = false, false
else
edit_icon, label_icon = val, true
end
return edit_icon, label_icon
end
-- Add an icon for editing a statement with requirements for future Wikidata Bridge
local function addEditIcon(parameters)
local ret = ''
if parameters.editicon and parameters.id and parameters.property then
local bridge_flow = parameters.editbridge and ' data-bridge-edit-flow="single-best-value"' or ''
local icon_style = parameters.editicon == "right" and ' style="float: right;"' or ''
ret = ' <span class="penicon"' .. bridge_flow .. icon_style .. '>'
--.. "[[File:Arbcom ru editing.svg|10px|baseline|"
.. "[[" .. parameters.editiconfile .. "|10px|baseline|"
.. string.gsub(mw.message.new('Wikibase-client-data-bridge-bailout-suggestion-go-to-repo-button'):inLanguage(parameters.lang[1]):plain(), '{{WBREPONAME}}', 'Wikidata')
.. "|link=https://www.wikidata.org/wiki/" .. parameters.id .. "?uselang=" .. parameters.lang[1] .. "#" .. parameters.property .. "]]"
.. "</span>"
if isSet(i18n.categoryprop) then
ret = ret .. "[[" .. string.gsub(i18n.categoryprop, '$1', parameters.property) .. "]]"
end
end
return ret
end
-- add edit icon to the last element of a table
local function addEditIconTable(thetable, parameters)
if #thetable == 0 or parameters.editicon == false then
return thetable
end
local last_element = thetable[#thetable]
local the_icon = addEditIcon(parameters)
-- add it before last html closing tags
local tags = ''
local rev_element = string.reverse(last_element)
for tag in string.gmatch(rev_element, '(>%l+/<)') do
if string.match(rev_element, '^' .. tags .. tag) then
tags = tags .. tag
else
break
end
end
local last_tags = string.reverse(tags)
local offset = string.find(last_element, last_tags .. '$')
if offset then
thetable[#thetable] = string.sub(last_element, 1, offset - 1) .. the_icon .. last_tags
else
thetable[#thetable] = last_element .. the_icon
end
return thetable
end
-- Escape Lua captures
local function captureEscapes(text)
return mw.ustring.gsub(text, "(%%%d)", "%%%1")
end
-- expandTemplate or callParserFunction
local function expandBraces(text, formatting)
if text == nil or formatting == nil then return text end
-- only expand braces if provided in argument, not included in value as in Q1164668
if mw.ustring.find(formatting, '{{', 1, true) == nil then return text end
if type(text) ~= "string" then
text = tostring(text)
end
for braces in mw.ustring.gmatch(text, "{{(.-)}}") do
local parts = mw.text.split(braces, "|")
local title_part = parts[1]
local parameters = {}
for i = 2, #parts do
local subparts = mw.ustring.find(parts[i], "=")
if subparts then
local param_name = mw.ustring.sub(parts[i], 1, subparts - 1)
local param_value = mw.ustring.sub(parts[i], subparts + 1, -1)
-- reconstruct broken links by parts
if i < #parts and mw.ustring.find(param_value, "[[", 1, true) and not mw.ustring.find(param_value, "]]", 1, true) then
parameters[param_name] = param_value
local part_next = i + 1
while parts[part_next] and mw.ustring.find(parts[part_next], "]]", 1, true) do
parameters[param_name] = parameters[param_name] .. "|" .. parts[part_next]
part_next = part_next + 1
end
else
parameters[param_name] = param_value
end
elseif not mw.ustring.find(parts[i], "]]", 1, true) then
table.insert(parameters, parts[i])
end
end
local braces_expanded
if mw.ustring.find(title_part, ":")
and mw.text.split(title_part, ":")[1] ~= mw.site.namespaces[10].name -- not a prefix Template:
then
braces_expanded = mw.getCurrentFrame():callParserFunction{name=title_part, args=parameters}
elseif title_part == "!" then
-- template:! may be deleted locally, now provided by MediaWiki
-- although it works, it raises a Lua internal error
braces_expanded = "|"
else
braces_expanded = mw.getCurrentFrame():expandTemplate{title=title_part, args=parameters}
end
braces = mw.ustring.gsub(braces, "([%^%$%(%)%%%.%[%]%*%+%-%?])", "%%%1") -- escape magic characters
braces_expanded = captureEscapes(braces_expanded)
text = mw.ustring.gsub(text, "{{" .. braces .. "}}", braces_expanded)
end
return text
end
-- format data type math
local function printDatatypeMath(data)
return mw.getCurrentFrame():callParserFunction('#tag:math', data)
end
-- format data type musical-notation
local function printDatatypeMusical(data, formatting)
local attr = {}
if formatting == 'sound' then
attr.sound = 1
end
return mw.getCurrentFrame():extensionTag('score', data, attr)
end
-- format data type string
local function printDatatypeString(data, parameters)
if mw.ustring.find((parameters.formatting or ''), '$1', 1, true) then -- formatting = a pattern
return expandBraces(mw.ustring.gsub(parameters.formatting, '$1', {['$1'] = data}), parameters.formatting)
elseif parameters.case then
return case(parameters.case, data, parameters.lang[1], feminineGender(parameters.id))
end
local data_number = string.match(data, "^%d+")
if data_number then -- sort key by initial number and remaining string
local sortkey = string.format("%019d", data_number * 1000)
return data, sortkey .. string.sub(data, #data_number + 1)
end
return data
end
-- format data type tabular-data
local function printDatatypeTabular(data, parameters)
local icon
if parameters.formatting == 'raw' then
icon = "no-icon"
data = string.gsub(data, '^Data:', '') -- remove prefix, i.e. see Module:Tabular data
end
return printDatatypeString(data, parameters), icon
end
-- format data type url
local function printDatatypeUrl(data, parameters)
if parameters.formatting == 'weblink' then
local label_parts = mw.text.split(string.gsub(data, '/$', ''), '/')
local label = string.gsub(label_parts[3], '^www%.', '')
if #label_parts > 3 then
label = label .. '…'
end
return '[' .. data .. ' ' .. label .. ']'
end
return printDatatypeString(data, parameters)
end
-- format data type external-id
local function printDatatypeExternal(data, parameters)
if parameters.formatting == 'externalid' then
local p_stat = mw.wikibase.getBestStatements(parameters.property, 'P1630') -- formatter URL
local p_link_pattern = getSnak(p_stat, {1, "mainsnak", "datavalue", "value"})
if p_link_pattern then
local p_link = mw.ustring.gsub(p_link_pattern, '$1', {['$1'] = data})
return '[' .. p_link .. ' ' .. data .. ']'
end
end
return printDatatypeString(data, parameters)
end
-- format data type commonsMedia and geo-shape
local function printDatatypeMedia(data, parameters)
local icon
if not string.find((parameters.formatting or ''), '$1', 1, true) then
icon = "no-icon"
if not string.find(data, '^Data:') then
data = mw.uri.encode(data, 'PATH') -- encode special characters in filename
end
end
return printDatatypeString(data, parameters), icon
end
-- format data type globe-coordinate
local function printDatatypeCoordinate(data, formatting)
local function globes(globe_id)
-- parameter globe in coordinates accepted by GeoHack
-- see [[w:en:Special:PrefixIndex/Template:GeoTemplate]]
local globes = {['Q3343'] = 'ariel', ['Q3134'] = 'callisto', ['Q596'] = 'ceres',
['Q6604'] = 'charon', ['Q7548'] = 'deimos', ['Q15040'] = 'dione', ['Q2'] = 'earth',
['Q3303'] = 'enceladus', ['Q3143'] = 'europa', ['Q3169'] = 'ganymede',
['Q15037'] = 'hyperion', ['Q17958'] = 'iapetus', ['Q3123'] = 'io',
['Q319'] = 'jupiter', ['Q111'] = 'mars', ['Q308'] = 'mercury', ['Q15034'] = 'mimas',
['Q3352'] = 'miranda', ['Q405'] = 'moon', ['Q3332'] = 'oberon', ['Q7547'] = 'phobos',
['Q17975'] = 'phoebe', ['Q339'] = 'pluto', ['Q15050'] = 'rhea', ['Q15047'] = 'tethys',
['Q2565'] = 'titan', ['Q3322'] = 'titania', ['Q3359'] = 'triton',
['Q3338'] = 'umbriel', ['Q313']='venus', ['Q3030']='vesta'}
return globes[globe_id]
end
local function roundPrecision(num, prec)
if prec == nil or prec <= 0 then return num end
local sig = 10^math.floor(math.log10(prec)+.5) -- significant figure from sexagesimal precision: 0.00123 -> 0.001
return math.floor(num / sig + 0.5) * sig
end
local precision = data.precision
local latitude = roundPrecision(data.latitude, precision)
local longitude = roundPrecision(data.longitude, precision)
if formatting and string.find(formatting, '$lat', 1, true) and string.find(formatting, '$lon', 1, true) then
local ret = mw.ustring.gsub(formatting, '$l[ao][tn]', {['$lat'] = latitude, ['$lon'] = longitude})
if string.find(formatting, '$globe', 1, true) then
local myglobe = 'earth'
if isSet(data.globe) then
local globenum = mw.text.split(data.globe, 'entity/')[2] -- http://www.wikidata.org/wiki/Q2
myglobe = globes(globenum) or 'earth'
end
ret = mw.ustring.gsub(ret, '$globe', myglobe)
end
return expandBraces(ret, formatting)
elseif formatting == 'latitude' then
return latitude, "no-icon"
elseif formatting == 'longitude' then
return longitude, "no-icon"
elseif formatting == 'dimension' then
return data.dimension, "no-icon"
else --default formatting='globe'
if isSet(data.globe) == false or data.globe == 'http://www.wikidata.org/entity/Q2' then
return 'earth', "no-icon"
else
local globenum = mw.text.split(data.globe, 'entity/')[2]
return globes(globenum) or globenum, "no-icon"
end
end
end
-- Local functions for data value quantity
local function unitSymbol(id, lang) -- get unit symbol or code
local unit_symbol = ''
if lang == wiki.langcode and pcall(require, wiki.module_title .. "/Units") then
unit_symbol = require(wiki.module_title .. "/Units").getUnit(0, '', id, true)
end
if unit_symbol == '' then
-- fetch it
local claims = mw.wikibase.getBestStatements(id, 'P5061')
if #claims > 0 then
local langclaims = {}
for _, snak in ipairs(claims) do
local snak_language = getSnak(snak, {"mainsnak", "datavalue", "value", "language"})
if snak_language and not langclaims[snak_language] then -- just the first one by language
langclaims[snak_language] = snak.mainsnak.datavalue.value.text
end
end
for _, l in ipairs(lang) do
if langclaims[l] then
return langclaims[l]
end
end
end
end
return unit_symbol
end
local function getUnit(amount, id, parameters) -- get unit symbol or name
local suffix = ''
if string.sub(parameters.formatting or '', 1, 8) == "unitcode" then
-- get unit symbol
local unit_symbol = unitSymbol(id, parameters.lang)
if isSet(unit_symbol) then
if string.sub(parameters.formatting or '', -6) == "linked" then
suffix = "[[" .. (mw.wikibase.getSitelink(id) or "d:" .. id) .. "|" .. unit_symbol .. "]]"
else
suffix = unit_symbol
end
end
end
if suffix == '' then -- formatting=unit, or formatting=unitcode not found
-- get unit label
local unit_label, lang = getLabelByLangs(id, parameters.lang)
if lang == wiki.langcode and pcall(require, wiki.module_title .. "/Units") then
suffix = require(wiki.module_title .. "/Units").getUnit(amount, unit_label, id, false)
if string.sub(parameters.formatting or '', -6) == "linked" then
suffix = "[[" .. (mw.wikibase.getSitelink(id) or "d:" .. id) .. "|" .. suffix .. "]]"
end
else
suffix = (unit_label or id) .. addLabelIcon(id, lang, parameters.lang[1], parameters.labelicon)
end
end
if suffix ~= '' then
suffix = ' ' .. suffix
end
return suffix
end
local function roundDefPrecision(in_num, factor)
-- rounds out_num with significant figures of in_num (default precision)
local out_num = in_num * factor
if factor/60 == math.floor(factor/60) or out_num == 0 then -- sexagesimal integer or avoiding NaN
return out_num
end
-- first, count digits after decimal mark, handling cases like '12.345e6'
local exponent, prec
local integer, dot, decimals, expstr = in_num:match('^(%d*)(%.?)(%d*)(.*)')
local e = expstr:sub(1, 1)
if e == 'e' or e == 'E' then
exponent = tonumber(expstr:sub(2))
end
if dot == '' then
prec = -integer:match('0*$'):len()
else
prec = #decimals
end
if exponent then
-- So '1230' and '1.23e3' both give prec = -1, and '0.00123' and '1.23e-3' give 5.
prec = prec - exponent
end
-- significant figures
local in_bracket = 10^-prec -- -1 -> 10, 5 -> 0.00001
local out_bracket = in_bracket * out_num / in_num
out_bracket = 10^math.floor(math.log10(out_bracket)+.5) -- 1230 -> 1000, 0.00123 -> 0.001
-- round it (credit to Luc Bloom from http://lua-users.org/wiki/SimpleRound)
return math.floor(out_num/out_bracket + (out_num >=0 and 1 or -1) * 0.5) * out_bracket
end
-- format data type quantity
local function printDatatypeQuantity(data, parameters)
local amount = data.amount
amount = mw.ustring.gsub(amount, "%+", "")
local suffix = ""
local conv_amount, conv_suffix
if string.sub(parameters.formatting or '', 1, 4) == "unit" or string.sub(parameters.formatting or '', 1, 8) == "duration" or parameters.convert then
local unit_id = data.unit
unit_id = mw.ustring.sub(unit_id, mw.ustring.find(unit_id, "Q"), -1)
if string.sub(unit_id, 1, 1) == "Q" then
suffix = getUnit(amount, unit_id, parameters)
local convert_to
if parameters.convert == "default" or parameters.convert == "default2" then
local exist, units = pcall(require, wiki.module_title .. "/Units")
if exist and units.convert_default and next(units.convert_default) ~= nil then
convert_to = units.convert_default[unit_id]
end
elseif string.sub(parameters.convert or '', 1, 1) == "Q" then
convert_to = parameters.convert
elseif string.sub(parameters.formatting or '', 1, 8) == "duration" then
convert_to = 'Q11574' -- seconds
end
if convert_to and convert_to ~= unit_id then
-- convert units
local conv_temp = { -- formulae for temperatures ºC, ºF, ªK: [from] = {[to] = 'formula'}
['Q25267'] = {['Q42289'] = '$1*1.8+32', ['Q11597'] = '$1+273.15'},
['Q42289'] = {['Q25267'] = '($1-32)/1.8', ['Q11597'] = '($1+459.67)*5/9'},
['Q11597'] = {['Q25267'] = '$1-273.15', ['Q42289'] = '($1-273.15)*1.8000+32.00'}
}
if conv_temp[unit_id] and conv_temp[unit_id][convert_to] then
local amount_f = mw.getCurrentFrame():callParserFunction('#expr', mw.ustring.gsub(conv_temp[unit_id][convert_to], "$1", amount))
conv_amount = math.floor(tonumber(amount_f) + 0.5)
else
local conversions = getStatements(unit_id, 'P2442') -- conversion to standard unit
table.insert(conversions, mw.wikibase.getBestStatements(unit_id, 'P2370')[1]) -- conversion to SI unit
for _, conv in ipairs(conversions) do
if conv.mainsnak.snaktype == 'value' then -- no somevalue nor novalue
if conv.mainsnak.datavalue.value.unit == "http://www.wikidata.org/entity/" .. convert_to then
conv_amount = roundDefPrecision(amount, tonumber(conv.mainsnak.datavalue.value.amount))
break
end
end
end
end
if conv_amount then
conv_suffix = getUnit(conv_amount, convert_to, parameters)
end
elseif parameters.convert == 'M' then
local exist, units = pcall(require, wiki.module_title .. "/Units")
if wiki.langcode == parameters.lang[1]
and exist and units.convert2M and type(units.convert2M) == "function"
then
conv_amount, conv_suffix = units.convert2M(amount)
conv_suffix = (conv_suffix or "").. suffix
elseif tonumber(amount) > 10^8 then
conv_amount = math.floor(amount/10^6 + 0.5)
conv_suffix = ' M' .. mw.text.trim(suffix)
end
end
if conv_amount and parameters.formatting == 'raw' then
amount = conv_amount
suffix = ""
conv_amount = nil
end
end
end
local lang_obj = mw.language.new(parameters.lang[1])
local sortkey = string.format("%019d", tonumber(amount) * 1000)
if string.sub(parameters.formatting or '', 1, 8) == "duration" then
local sec = tonumber(conv_amount or amount)
if parameters.formatting == 'duration' then
return lang_obj:formatDuration(sec)
elseif parameters.formatting == 'durationm:s' then
local mm = math.floor(sec / 60)
local ss = sec - (mm * 60)
return string.format("%02d:%02d", mm, ss)
else -- durationhms or durationh:m:s
local intervals = {"hours", "minutes", "seconds"}
local sec2table = lang_obj:getDurationIntervals(sec, intervals)
sec2table["seconds"] = (sec2table["seconds"] or 0) + tonumber("." .. (tostring(sec):match("%.(%d+)") or "0")) -- add decimals
local duration = ''
for i, v in ipairs(intervals) do
if parameters.formatting == 'durationh:m:s' then
if i == 1 and sec2table[v] then
duration = duration .. sec2table[v] .. ":"
elseif i == 2 then
duration = duration .. string.format("%02d", sec2table[v] or 0) .. ":"
elseif i == 3 then
local sec_str = tostring(lang_obj:formatNum(sec2table[v] or 0))
duration = duration .. (sec2table[v] < 10 and "0" or "") .. sec_str
end
elseif sec2table[v] then
duration = duration .. lang_obj:formatNum(sec2table[v]) .. i18n.datetime.hms[v] .. (i < 3 and " " or "")
end
end
return duration
end
end
if parameters.case then
amount = case(parameters.case, amount, parameters.lang[1], feminineGender(parameters.id))
elseif parameters.formatting ~= 'raw' then
if parameters.numformat then
amount = lang_obj:formatNum(tonumber(string.format(parameters.numformat, amount)))
else
amount = lang_obj:formatNum(tonumber(amount))
end
end
if conv_amount then
local conv_sortkey = string.format("%019d", conv_amount * 1000)
conv_amount = lang_obj:formatNum(conv_amount)
if parameters.convert == 'default2' then
return conv_amount .. conv_suffix .. ' (' .. amount .. suffix .. ')', conv_sortkey
else
return conv_amount .. conv_suffix, conv_sortkey
end
elseif mw.ustring.find((parameters.formatting or ''), '$1', 1, true) then -- formatting with pattern
amount = mw.ustring.gsub(parameters.formatting, '$1', {['$1'] = amount})
end
return amount .. suffix, sortkey
end
-- format data type time
local function printDatatypeTime(data, parameters)
-- Dates and times are stored in ISO 8601 format
local timestamp = data.time
if parameters.formatting == "raw" then
return timestamp, timestamp
end
local post_format
local calendar_add = ""
local precision = data.precision or 11
if string.sub(timestamp, 1, 1) == '-' then
post_format = i18n.datetime["bc"]
elseif string.sub(timestamp, 2, 3) == '00' then
post_format = i18n.datetime["ad"]
elseif precision > 8 then
-- calendar model
local calendar_model = {["Q12138"] = "gregorian", ["Q1985727"] = "gregorian", ["Q11184"] = "julian", ["Q1985786"] = "julian"}
local calendar_id = mw.text.split(data.calendarmodel, 'entity/')[2]
if (timestamp < "+1582-10-15T00:00:00Z" and calendar_model[calendar_id] == "gregorian")
or (timestamp > "+1582-10-04T00:00:00Z" and calendar_model[calendar_id] == "julian")
then
calendar_add = " <sup>(" .. mw.message.new('Wikibase-time-calendar-' .. calendar_model[calendar_id]):inLanguage(parameters.lang[1]):plain() .. ")</sup>"
end
end
local function formatTime(form, stamp)
local pattern
if type(form) == "function" then
pattern = form(stamp)
else
pattern = form
end
stamp = tostring(stamp)
if mw.ustring.find(pattern, "$1") then
return mw.ustring.gsub(pattern, "$1", stamp)
elseif string.sub(stamp, 1, 1) == '-' then -- formatDate() only supports years from 0
stamp = '+' .. string.sub(stamp, 2)
elseif string.sub(stamp, 1, 1) ~= '+' then -- not a valid timestamp, it is a number
stamp = string.format("%04d", stamp)
end
local ret = mw.language.new(parameters.lang[1]):formatDate(pattern, stamp)
ret = string.gsub(ret, "^(%[?%[?)0+", "%1") -- suppress leading zeros
ret = string.gsub(ret, "( %[?%[?)0+", "%1")
return ret
end
local function postFormat(t)
if post_format and mw.ustring.find(post_format, "$1") then
return mw.ustring.gsub(post_format, "$1", t)
end
return t
end
local intyear = tonumber(string.match(timestamp, "[+-](%d+)"))
local ret
if precision <= 5 then -- precision is 10000 years or more
local factor = 10 ^ ((5 - precision) + 4)
local y2 = math.ceil(math.abs(intyear) / factor)
local relative = formatTime(i18n.datetime[precision], y2)
if post_format == i18n.datetime["bc"] then
ret = mw.ustring.gsub(i18n.datetime.beforenow, "$1", relative)
else
ret = mw.ustring.gsub(i18n.datetime.afternow, "$1", relative)
end
local ret_number = string.match(ret, "%d+")
if ret_number ~= nil then
ret = mw.ustring.gsub(ret, ret_number, mw.language.new(parameters.lang[1]):formatNum(tonumber(ret_number)))
end
elseif precision == 6 or precision == 7 then -- millennia or centuries
local card = math.floor((intyear - 1) / 10^(9 - precision)) + 1
ret = formatTime(i18n.datetime[precision], card)
ret = postFormat(ret)
elseif precision == 8 then -- decades
local card = math.floor(math.abs(intyear) / 10) * 10
ret = formatTime(i18n.datetime[8], card)
ret = postFormat(ret)
elseif intyear > 9999 then -- not a valid timestamp
return
elseif precision == 9 or parameters.formatting == 'Y' then -- precision is year
ret = formatTime(i18n.datetime[9], intyear)
ret = postFormat(ret) .. calendar_add
elseif precision == 10 then -- month
ret = formatTime(i18n.datetime[10], timestamp .. " + 1 day") -- formatDate yyyy-mm-00 returns the previous month
ret = postFormat(ret) .. calendar_add
else -- precision 11, day
ret = formatTime(parameters.formatting or i18n.datetime[11], timestamp)
ret = postFormat(ret) .. calendar_add
end
return ret, timestamp
end
-- format data value wikibase-entityid with data types wikibase-item or wikibase-property
local function printDatatypeEntity(data, parameters)
local entity_id = data['id']
if parameters.formatting == 'raw' then
return entity_id, entity_id
end
local entity_page = 'Special:EntityPage/' .. entity_id
local label, lang = getLabelByLangs(entity_id, parameters.lang)
local sitelink = mw.wikibase.getSitelink(entity_id)
local parameter = parameters.formatting
local labelcase = label or sitelink
if parameters.gender == 'feminineform' then
labelcase = feminineForm(entity_id, lang) or labelcase
end
if parameters.case ~= 'gender' then
labelcase = case(parameters.case, labelcase, lang, parameters.lang[1], entity_id, parameters.id)
end
if labelcase == nil and i18n.qidlabels == false then
return
end
local ret1, ret2
if parameter == 'label' then
ret1 = labelcase or entity_id
ret2 = labelcase or entity_id
elseif parameter == 'sitelink' then
ret1 = (sitelink or 'd:' .. entity_page)
ret2 = sitelink or entity_id
elseif mw.ustring.find((parameter or ''), '$1', 1, true) then -- formatting = a pattern
ret1 = mw.ustring.gsub(parameter, '$1', labelcase or entity_id)
ret1 = expandBraces(ret1, parameter)
ret2 = labelcase or entity_id
else
if parameter == "ucfirst" or parameter == "ucinternallink" then
if labelcase and lang then
labelcase = mw.language.new(lang):ucfirst(labelcase)
end
-- only first of a list, reset formatting for next ones
if parameter == "ucinterlanllink" then
parameters.formatting = 'internallink'
else
parameters.formatting = nil -- default format
end
end
if sitelink then
ret1 = '[[' .. sitelink .. '|' .. labelcase .. ']]'
ret2 = labelcase
elseif label and string.match(parameter or '', 'internallink$') and not mw.wikibase.getEntityIdForTitle(label) then
ret1 = '[[' .. label .. '|' .. labelcase .. ']]'
ret2 = labelcase
else
ret1 = '[[d:' .. entity_page .. '|' .. (labelcase or entity_id) .. ']]'
ret2 = labelcase or entity_id
end
end
return ret1 .. addLabelIcon(entity_id, lang, parameters.lang[1], parameters.labelicon), ret2
end
-- format data type wikibase-lexeme
local function printDatatypeLexeme(data, parameters)
local entity_id = data['id']
if parameters.formatting == 'raw' then
return entity_id, entity_id
end
local lemmas = mw.wikibase.getEntity(entity_id):getLemmas()
if parameters.list == 'lang' and lemmas[1][2] ~= parameters.lang[1] then
return
end
local ret = '[[d:Special:EntityPage/' .. entity_id .. '|' .. lemmas[1][1] .. ']]'
if parameters.list ~= 'lang' or (parameters.list == 'lang' and lemmas[1][2] ~= wiki.langcode) then
ret = ret .. " <sup>(" .. lemmas[1][2] .. ")</sup>"
end
return ret, entity_id
end
-- format data type monolingualtext
local function printDatatypeMonolingual(data, parameters)
-- data fields: language [string], text [string]
local valid_lang = {[parameters.lang[1]] = true, ["mul"] = true}
if parameters.list == "lang" and not valid_lang[data["language"]] then
return
elseif parameters.list == "notlang" and valid_lang[data["language"]] then
return
elseif parameters.formatting == "language" or parameters.formatting == "text" then
return data[parameters.formatting]
end
local result = data["text"]
valid_lang = {[wiki.langcode] = true, ["mul"] = true}
if not valid_lang[data["language"]] then
result = mw.ustring.gsub('<span lang="$1">$2</span>', '$[12]', {["$1"]=data["language"], ["$2"]=data["text"]})
end
if mw.ustring.find((parameters.formatting or ''), '$', 1, true) then
-- output format defined with $text, $language
result = mw.ustring.gsub(parameters.formatting, '$text', result)
result = mw.ustring.gsub(result, '$language', data["language"])
end
return result
end
local function getSnakValue(snak, parameters)
parameters.editbridge = false
if snak.snaktype == 'value' then -- see Special:ListDatatypes
-- data value string
if snak.datatype == "string" then
parameters.editbridge = true -- Wikidata Bridge currently only for string values
return printDatatypeString(snak.datavalue.value, parameters)
elseif snak.datatype == "commonsMedia" or snak.datatype == "geo-shape" then
return printDatatypeMedia(snak.datavalue.value, parameters)
elseif snak.datatype == "tabular-data" then
return printDatatypeTabular(snak.datavalue.value, parameters)
elseif snak.datatype == "url" then
return printDatatypeUrl(snak.datavalue.value, parameters)
elseif snak.datatype == "external-id" then
return printDatatypeExternal(snak.datavalue.value, parameters)
elseif snak.datatype == 'math' then
return printDatatypeMath(snak.datavalue.value)
elseif snak.datatype == 'musical-notation' then
return printDatatypeMusical(snak.datavalue.value, parameters.formatting)
-- data types other than string value
elseif snak.datatype == 'wikibase-item' or snak.datatype == 'wikibase-property' then
if i18n.suppress[snak.datavalue.value.id] then
return
end
return printDatatypeEntity(snak.datavalue.value, parameters)
elseif snak.datatype == 'wikibase-lexeme' then
return printDatatypeLexeme(snak.datavalue.value, parameters)
elseif snak.datatype == 'monolingualtext' then
return printDatatypeMonolingual(snak.datavalue.value, parameters)
elseif snak.datatype == "globe-coordinate" then
return printDatatypeCoordinate(snak.datavalue.value, parameters.formatting)
elseif snak.datatype == "quantity" then
return printDatatypeQuantity(snak.datavalue.value, parameters)
elseif snak.datatype == "time" then
return printDatatypeTime(snak.datavalue.value, parameters)
end
elseif snak.snaktype == 'novalue' then
if parameters.formatting == 'raw' or parameters.shownovalue == false then return end
return mw.message.new('Wikibase-snakview-snaktypeselector-novalue'):inLanguage(parameters.lang[1]):plain()
elseif snak.snaktype == 'somevalue' then
if parameters.formatting == 'raw' or parameters.showsomevalue == false then return end
return mw.message.new('Wikibase-snakview-snaktypeselector-somevalue'):inLanguage(parameters.lang[1]):plain()
end
return mw.wikibase.renderSnak(snak)
end
local function printError(key)
return '<span class="error">' .. i18n.errors[key] .. '</span>'
end
local function getQualifierSnak(claim, qualifierId, parameters)
-- a "snak" is Wikidata terminology for a typed key/value pair
-- a claim consists of a main snak holding the main information of this claim,
-- as well as a list of attribute snaks and a list of references snaks
if qualifierId then
-- search the attribute snak with the given qualifier as key
if claim.qualifiers then
local qualifier = claim.qualifiers[qualifierId]
if qualifier then
if qualifier[1].datatype == "monolingualtext" then
-- iterate over monolingualtext qualifiers to get languages
local qual_lang, qual_mul
for idx in pairs(qualifier) do
qual_lang = getSnak(qualifier[idx], {"datavalue", "value", "language"})
if qual_lang == parameters.lang[1] then
return qualifier[idx] -- return local language if found
elseif qual_lang == "mul" then
qual_mul = qualifier[idx]
end
end
return qual_mul -- else return multilingual
elseif parameters.list then
return qualifier
else
return qualifier[1]
end
end
end
return nil, printError("qualifier-not-found")
else
-- otherwise return the main snak
return claim.mainsnak
end
end
local function getValueOfClaim(claim, qualifierId, parameters)
local snak, error = getQualifierSnak(claim, qualifierId, parameters)
if not snak then
return nil, nil, error
elseif snak[1] then -- a multi qualifier
local result, sortkey = {}, {}
local maxvals = tonumber(parameters.listmax)
for idx in pairs(snak) do
result[#result + 1], sortkey[#sortkey + 1] = getSnakValue(snak[idx], parameters)
if maxvals and maxvals == #result then break end
end
return mw.text.listToText(result, parameters.qseparator, parameters.qconjunction), sortkey[1]
else -- a property or a qualifier
return getSnakValue(snak, parameters)
end
end
local function getValueOfParentClaim(claim, qualifierId, parameters)
local qids = mw.text.split(qualifierId, '/', true)
local value, sortkey, valueraw = {}, {}, {}
local parent_raw, value_text
if qids[1] == parameters.property then
parent_raw, _, _ = getValueOfClaim(claim, nil, {["formatting"]="raw", ["lang"]=parameters.lang})
else
parent_raw, _, _ = getValueOfClaim(claim, qids[1], {["formatting"]="raw", ["lang"]=parameters.lang, ["list"]=true, ["qseparator"]='/', ["qconjunction"]='/'})
end
if string.sub(parent_raw or '', 1, 1) == "Q" then -- protection for 'no value'
local parent_qids = mw.text.split(parent_raw, '/', true)
for idx, p_qid in ipairs(parent_qids) do
local parent_claims = mw.wikibase.getBestStatements(p_qid, qids[2])
if parent_claims[1] then
value[idx], sortkey[idx], _ = getValueOfClaim(parent_claims[1], nil, parameters)
-- raw parent value needed for while/black lists, lang for avoiding an error on types other than entity
valueraw[idx], _, _ = getValueOfClaim(parent_claims[1], nil, {["formatting"]="raw", ["lang"]=parameters.lang})
end
end
end
if value[1] then
value_text = mw.text.listToText(value, parameters.qseparator, parameters.qconjunction)
end
return value_text, sortkey[1], valueraw[1]
end
-- see d:Help:Sources
local function getReferences(claim, parameters)
if not (parameters.references or parameters.onlysourced) then
return '', false
end
local lang = parameters.lang
local maxrefs = tonumber(parameters.references) or 1
local notproperref = {
["P143"] = true, -- imported from
["P3452"] = true, -- inferred from
["P887"] = true, -- based on heuristic
["P4656"] = true -- Wikimedia import URL
}
local result = {}
-- traverse through all references
for ref in pairs(claim.references or {}) do
local refparts
local refs = {}
local validref = true
local ref_id
-- traverse through all parts of the current reference
for snakkey, snakval in pairs(claim.references[ref].snaks or {}) do
for partkey, _ in pairs(claim.references[ref].snaks[snakkey] or {}) do
if notproperref[snakkey] then -- not a proper reference
validref = false
break
end
end
if validref then
for snakidx = 1, #snakval do
if snakidx > 1 then refparts = refparts .. ", " end
if snakval[snakidx].datatype == 'external-id' then
refparts = refparts or '' .. (getSnakValue(snakval[snakidx], {formatting='externalid', property=snakval[snakidx].property, lang=lang}) or '')
else
refparts = refparts or '' .. (getSnakValue(snakval[snakidx], {lang=lang}) or '')
end
end
refs[snakkey] = refparts
refparts = nil
if snakkey == "P248" then -- stated in
ref_id = getSnak(snakval, {1, "datavalue", "value", "id"})
end
end
end
-- fill missing values with parent item
if ref_id then
local function refParent(qid, pid, formatting)
local snak = getSnak(mw.wikibase.getBestStatements(qid, pid), {1, "mainsnak"})
return snak and getSnakValue(snak, {formatting=formatting, lang=lang})
end
refs['P50'] = refs['P50'] or refParent(ref_id, 'P50', 'label') -- author
refs['P407'] = refs['P407'] or refParent(ref_id, 'P407', 'label') -- language of work
refs['P123'] = refs['P123'] or refParent(ref_id, 'P123', 'label') -- publisher
refs['P577'] = refs['P577'] or refParent(ref_id, 'P577') -- date
refs['P1433'] = refs['P1433'] or refParent(ref_id, 'P1433', 'label') -- published in
refs['P304'] = refs['P304'] or refParent(ref_id, 'P304') -- page(s)
refs['P433'] = refs['P433'] or refParent(ref_id, 'P433') -- issue
refs['P236'] = refs['P236'] or refParent(ref_id, 'P236') -- ISSN
refs['P356'] = refs['P356'] or refParent(ref_id, 'P356') -- DOI
end
-- get title of local templates for citing references
local template_web = mw.wikibase.getSitelink('Q5637226') or ""
template_web = mw.text.split(template_web, ":")[2] -- split off namespace from front
local template_journal = mw.wikibase.getSitelink('Q5624899') or ""
template_journal = mw.text.split(template_journal, ":")[2]
local citeParams = {}
if refs['P854'] and (refs['P1476'] or refs['P248']) and template_web then
-- if both "reference URL" and "title" (or "stated in") are present, then use cite web template
citeParams[i18n['cite']['url']] = refs['P854']
if refs['P248'] and refs['P1476'] == nil then
citeParams[i18n['cite']['title']] = refs['P248']:match("^%[%[.-|(.-)%]%]")
else
citeParams[i18n['cite']['title']] = refs['P1476']
citeParams[i18n['cite']['website']] = refs['P248']
end
citeParams[i18n['cite']['author']] = refs['P50']
citeParams[i18n['cite']['language']] = refs['P407']
citeParams[i18n['cite']['publisher']] = refs['P123']
citeParams[i18n['cite']['date']] = refs['P577']
citeParams[i18n['cite']['pages']] = refs['P304']
citeParams[i18n['cite']['access-date']] = refs['P813']
citeParams[i18n['cite']['archive-url']] = refs['P1065']
citeParams[i18n['cite']['archive-date']] = refs['P2960']
citeParams[i18n['cite']['quote']] = refs['P1683']
refparts = mw.getCurrentFrame():expandTemplate{title=template_web, args=citeParams}
elseif refs['P1433'] and (refs['P1476'] or refs['P248']) and template_journal then
-- if both "published in" and "title" (or "stated in") are present, then use cite journal template
citeParams[i18n['cite']['work']] = refs['P1433']
citeParams[i18n['cite']['title']] = refs['P1476'] or refs['P248']
citeParams[i18n['cite']['author']] = refs['P50']
citeParams[i18n['cite']['date']] = refs['P577']
citeParams[i18n['cite']['issue']] = refs['P433']
citeParams[i18n['cite']['pages']] = refs['P304']
citeParams[i18n['cite']['language']] = refs['P407']
citeParams[i18n['cite']['issn']] = refs['P236']
citeParams[i18n['cite']['doi']] = refs['P356']
refparts = mw.getCurrentFrame():expandTemplate{title=template_journal, args=citeParams}
elseif validref then
-- raw ouput
local snaksorder = claim.references[ref]["snaks-order"]
local function indexed(a)
for _, b in ipairs(snaksorder) do
if b == a then return true end
end
return false
end
for k, _ in pairs(refs or {}) do
if not indexed(k) then
table.insert(snaksorder, k)
end
end
local italics = "''"
local ref_label
for _, k in ipairs(snaksorder) do
if refs[k] then
refparts = refparts and refparts .. " " or ""
ref_label = case('infoboxlabel', getLabelByLangs(k, lang) or '')
refparts = refparts .. mw.ustring.gsub(ref_label, "^%l", mw.ustring.upper) .. ": "
refparts = refparts .. italics .. refs[k] .. italics .. "."
italics = ""
end
end
end
if refparts then
local ref_name = claim.references[ref].hash
result[#result + 1] = mw.getCurrentFrame():extensionTag("ref", refparts, {name=ref_name})
if maxrefs and maxrefs == #result then break end
end
end
if #result > 0 then
if parameters.references then
if isSet(i18n.categoryref) then
result[#result + 1] = "[[" ..i18n.categoryref .. "]]"
end
return table.concat(result), true
else
return '', true
end
end
return '', false
end
-- Set lists of filtered values
local function setFilterLists(num_qual, args)
local lists = {['whitelist']={}, ['blacklist']={}, ['ignorevalue']={}, ['selectvalue']={}}
for i = 0, num_qual do
for k, _ in pairs(lists) do
if isSet(args[k .. i]) then
lists[k][tostring(i)] = {}
local pattern = 'Q%d+'
if string.sub(args[k .. i], 1, 1) ~= 'Q' then
pattern = '[^%p%s]+'
end
for q in string.gmatch(args[k .. i], pattern) do
lists[k][tostring(i)][q] = true
end
end
end
end
return lists['whitelist'], lists['blacklist'], lists['ignorevalue'], lists['selectvalue']
end
local function tableParameters(args, parameters, column)
local column_params = mw.clone(parameters)
column_params.formatting = args["colformat"..column]; if column_params.formatting == "" then column_params.formatting = nil end
column_params.convert = args["convert" .. column]
if args["case" .. column] then
column_params.case = args["case" .. column]
end
return column_params
end
local function getEntityId(args, pargs, unnamed)
pargs = pargs or {}
local id = args.item or args.from or (unnamed and mw.text.trim(args[1] or '') or nil)
if not isSet(id) then
id = pargs.item or pargs.from or (unnamed and mw.text.trim(pargs[1] or '') or nil)
end
if isSet(id) then
if string.find(id, ":") then -- remove prefix as Property:Pid
id = mw.text.split(id, ":")[2]
end
else
id = mw.wikibase.getEntityIdForCurrentPage()
end
return id
end
local function getArg(value, default, aliases)
if type(value) == 'boolean' then return value
elseif value == "false" or value == "no" then return false
elseif value == "true" or value == "yes" then return true
elseif value and aliases and aliases[value] then return aliases[value]
elseif isSet(value) then return value
elseif default then return default
else return nil
end
end
-- Main function claim ---------------------------------------------
-- on debug console use: =p.claim{item="Q...", property="P...", ...}
function p.claim(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local is_sandbox = isSet(pargs.sandbox)
if not required and is_sandbox then
return require(wiki.module_title .. "/" .. mw.message.new('Sandboxlink-subpage-name'):inLanguage(wiki.langcode):plain()).claim(frame)
end
--If a value is already set, use it
if isSet(args.value) then
if args.value == 'NONE' then
return
else
return args.value
end
end
-- arguments
local parameters = {}
parameters.id = getEntityId(args, pargs)
if parameters.id == nil then return end
parameters.property = string.upper(args.property or "")
local qualifierId = {}
qualifierId[1] = getArg(string.upper(args.qualifier or args.qualifier1 or ""))
local i = 2
while isSet(args["qualifier" .. i]) do
qualifierId[i] = string.upper(args["qualifier" .. i])
i = i + 1
end
parameters.formatting = getArg(args.formatting)
parameters.convert = getArg(args.convert)
parameters.numformat = getArg(args.numformat)
parameters.case = args.case
parameters.list = getArg(args.list, true, {firstrank='bestrank'})
parameters.listmax = args.listmax
parameters.listrank = getArg(args.listrank)
if type(parameters.list) == "number" then -- backwards compatibility
parameters.listmax = parameters.listmax or parameters.list
parameters.list = true
elseif parameters.list == "bestrank" then
parameters.listrank = parameters.listrank or "bestrank"
parameters.list = true
end
parameters.shownovalue = getArg(args.shownovalue, true)
parameters.showsomevalue = getArg(args.showsomevalue, true)
parameters.separator = getArg(args.separator)
parameters.conjunction = getArg(args.conjunction, parameters.separator)
parameters.qseparator = getArg(args.qseparator, parameters.separator)
parameters.qconjunction = getArg(args.qconjunction, parameters.conjunction)
local sorting_col = args.tablesort
local sorting_up = (args.sorting or "") ~= "-1"
local rowformat = args.rowformat
parameters.references = getArg(args.references, false)
parameters.onlysourced = getArg(args.onlysourced, false)
local showerrors = args.showerrors
local default = args.default
if default then showerrors = nil end
parameters.lang = findLang(args.lang)
parameters.editiconfile = pargs.editiconfile or "File:Arbcom ru editing.svg"
if parameters.formatting == "raw" then
parameters.editicon, parameters.labelicon = false, false
else
parameters.editicon, parameters.labelicon = setIcons(args.editicon, pargs.editicon) -- needs loadI18n by findLand
end
-- fetch property
local claims = {}
local bestrank = parameters.listrank == 'bestrank' and parameters.list ~= 'lang'
for p in string.gmatch(parameters.property, 'P[%d/P]+') do -- P123 or P45/P67
if string.find(p, ".+/.+") then
local props = mw.text.split(p, "/")
local claims_child = getStatements(parameters.id, props[1], bestrank)
if #claims_child > 0 then
local parent_id, _, _ = getValueOfClaim(claims_child[1], nil, {["formatting"]="raw", ["lang"]=parameters.lang})
if string.sub(parent_id or '', 1, 1) == "Q" then
claims = getStatements(parent_id, props[2], bestrank)
if #claims > 0 then
parameters.property = props[1]
break
end
end
end
else
claims = getStatements(parameters.id, p, bestrank)
if #claims > 0 then
parameters.property = p
break
end
end
end
if #claims == 0 then
local ret = showerrors and printError("property-not-found") or default
return ret, args.query == 'num' and 0 or ''
end
-- defaults for table
local preformat, postformat = "", ""
local whitelisted = false
local whitelist, blacklist, ignorevalue, selectvalue = {}, {}, {}, {}
if parameters.formatting == "table" then
parameters.separator = parameters.separator or "<br />"
parameters.conjunction = parameters.conjunction or "<br />"
parameters.qseparator = getArg(args.qseparator, mw.message.new('Comma-separator'):inLanguage(parameters.lang[1]):plain())
parameters.qconjunction = getArg(args.qconjunction, parameters.qseparator)
if not rowformat then
rowformat = "$0 ($1"
i = 2
while qualifierId[i] do
rowformat = rowformat .. ", $" .. i
i = i + 1
end
rowformat = rowformat .. ")"
elseif mw.ustring.find(rowformat, "^[*#]") then
parameters.separator = "</li><li>"
parameters.conjunction = "</li><li>"
if mw.ustring.match(rowformat, "^[*#]") == "*" then
preformat = "<ul><li>"
postformat = "</li></ul>"
else
preformat = "<ol><li>"
postformat = "</li></ol>"
end
rowformat = mw.ustring.gsub(rowformat, "^[*#] ?", "")
end
-- set lists of filtered values
whitelist, blacklist, ignorevalue, selectvalue = setFilterLists(#qualifierId, args)
local next = next
if next(whitelist) ~= nil then whitelisted = true end
end
-- set feminine case if gender is requested
local itemgender = args.itemgender
local idgender
if itemgender then
if string.match(itemgender, "^P%d+$") then
local snak_id = getSnak(mw.wikibase.getBestStatements(parameters.id, itemgender), {1, "mainsnak", "datavalue", "value", "id"})
if snak_id then
idgender = snak_id
end
elseif string.match(itemgender, "^Q%d+$") then
idgender = itemgender
end
end
local gender_requested = false
if parameters.case == "gender" or idgender then
gender_requested = true
elseif parameters.formatting == "table" then
for i = 0, #qualifierId do
if args["case" .. i] and args["case" .. i] == "gender" then
gender_requested = true
break
end
end
end
if gender_requested then
if feminineGender(idgender or parameters.id) then
parameters.gender = "feminineform"
end
end
-- get initial sort indices
local sortindices = {}
for idx in pairs(claims) do
sortindices[#sortindices + 1] = idx
end
-- sort by claim rank
local comparator = function(a, b)
local rankmap = { deprecated = 2, normal = 1, preferred = 0 }
local ranka = rankmap[claims[a].rank or "normal"] .. string.format("%08d", a)
local rankb = rankmap[claims[b].rank or "normal"] .. string.format("%08d", b)
return ranka < rankb
end
table.sort(sortindices, comparator)
local result, result2, result_query
local error
if parameters.list or parameters.formatting == "table" then
-- convert LF to line feed, <br /> may not work on some cases
parameters.separator = parameters.separator == "LF" and "\010" or parameters.separator
parameters.conjunction = parameters.conjunction == "LF" and "\010" or parameters.conjunction
-- i18n separators
parameters.separator = parameters.separator or mw.message.new('Comma-separator'):inLanguage(parameters.lang[1]):plain()
parameters.conjunction = parameters.conjunction or (mw.message.new('And'):inLanguage(parameters.lang[1]):plain() .. mw.message.new('Word-separator'):inLanguage(parameters.lang[1]):plain())
-- iterate over all elements and return their value (if existing)
local value
local sortkey
local values = {}
local sortkeys = {}
local refs = {}
local rowlist = {} -- rows to list with whitelist or blacklist
for idx in pairs(claims) do
local claim = claims[sortindices[idx]]
local reference = {}
if not whitelisted then rowlist[idx] = true end
if parameters.formatting == "table" then
local params = tableParameters(args, parameters, "0")
value, sortkey, error = getValueOfClaim(claim, nil, params)
if value then
values[#values + 1] = {}
sortkeys[#sortkeys + 1] = {}
refs[#refs + 1] = {}
if whitelist["0"] or blacklist["0"] then
local valueraw, _, _ = getValueOfClaim(claim, nil, {["formatting"]="raw", ["lang"]=params.lang})
if whitelist["0"] and whitelist["0"][valueraw or ""] then
rowlist[#values] = true
elseif blacklist["0"] and blacklist["0"][valueraw or ""] then
rowlist[#values] = false
end
end
for i, qual in ipairs(qualifierId) do
local j = tostring(i)
params = tableParameters(args, parameters, j)
local valueq, sortkeyq, valueraw
if qual == parameters.property then -- hack for getting the property with another formatting, i.e. colformat1=raw
valueq, sortkeyq, _ = getValueOfClaim(claim, nil, params)
else
for q in mw.text.gsplit(qual, '%s*OR%s*') do
if string.find(q, ".+/.+") then
valueq, sortkeyq, valueraw = getValueOfParentClaim(claim, q, params)
elseif string.find(q, "^/.+") then
local claim2 = getStatements(parameters.id, string.sub(q, 2), bestrank)
if #claim2 > 0 then
-- only first value of a property as alternative to a qualifier
-- multiple values may not be related to a given raw of the table
valueq, sortkeyq, _ = getValueOfClaim(claim2[1], nil, params)
end
else
valueq, sortkeyq, _ = getValueOfClaim(claim, q, params)
end
if valueq then
qual = q
break
end
end
end
values[#values]["col" .. j] = valueq
sortkeys[#sortkeys]["col" .. j] = sortkeyq or valueq
if whitelist[j] or blacklist[j] or ignorevalue[j] or selectvalue[j] then
valueq = valueraw or getValueOfClaim(claim, qual, {["formatting"]="raw", ["lang"]=params.lang, ["list"]=params.list})
if valueq then
if whitelist[j] then
for k, v in pairs(whitelist[j]) do
if v and string.find(valueq, k, 1, true) then
rowlist[#values] = true
end
end
elseif blacklist[j] then
for k, v in pairs(blacklist[j]) do
if v and string.find(valueq, k, 1, true) then
rowlist[#values] = false
end
end
elseif ignorevalue[j] then
for k, v in pairs(ignorevalue[j]) do
if v and string.find(valueq, k, 1, true) then
values[#values]["col" .. j] = nil
end
end
elseif selectvalue[j] then
local selected
for k, v in pairs(selectvalue[j]) do
if v and string.find(valueq, k, 1, true) then
selected = true
end
end
if selected == nil then
values[#values]["col" .. j] = nil
end
end
end
end
end
end
else
value, sortkey, error = getValueOfClaim(claim, qualifierId[1], parameters)
values[#values + 1] = {}
sortkeys[#sortkeys + 1] = {}
refs[#refs + 1] = {}
end
if not value and showerrors then value = error end
if value then
if (parameters.references or parameters.onlysourced) and claim.references then
reference = claim.references
end
refs[#refs]["col0"] = reference
values[#values]["col0"] = value
sortkeys[#sortkeys]["col0"] = sortkey or value
end
end
-- sort and format results
sortindices = {}
for idx in pairs(values) do
sortindices[#sortindices + 1] = idx
end
if sorting_col then
local sorting_table = mw.text.split(sorting_col, '%D+')
local comparator = function(a, b)
local valuea, valueb
local i = 1
while valuea == valueb and i <= #sorting_table do
valuea = sortkeys[a]["col" .. sorting_table[i]] or ''
valueb = sortkeys[b]["col" .. sorting_table[i]] or ''
i = i + 1
end
if sorting_up then
return valueb > valuea
end
return valueb < valuea
end
table.sort(sortindices, comparator)
end
local maxvals = tonumber(parameters.listmax)
result = {}
for idx in pairs(values) do
local valuerow = values[sortindices[idx]]
local reference, valid_ref = getReferences({["references"] = refs[sortindices[idx]]["col0"]}, parameters)
value = valuerow["col0"]
if parameters.formatting == "table" then
if not rowlist[sortindices[idx]] then
value = nil
else
local rowformatting = rowformat .. "$" -- fake end character added for easy gsub
value = mw.ustring.gsub(rowformatting, "$0", {["$0"] = value})
value = mw.ustring.gsub(value, "$R0", reference) -- add reference
for i, _ in ipairs(qualifierId) do
local valueq = valuerow["col" .. i]
if args["rowsubformat" .. i] and isSet(valueq) then
-- add fake end character $
-- gsub $i not followed by a number so $1 doesn't match $10, $11...
-- remove fake end character
valueq = captureEscapes(valueq)
valueq = mw.ustring.gsub(args["rowsubformat" .. i] .. "$", "$" .. i .. "(%D)", valueq .. "%1")
valueq = string.sub(valueq, 1, -2)
rowformatting = mw.ustring.gsub(rowformatting, "$" .. i .. "(%D)", args["rowsubformat" .. i] .. "%1")
end
valueq = valueq and captureEscapes(valueq) or ''
value = mw.ustring.gsub(value, "$" .. i .. "(%D)", valueq .. "%1")
end
value = string.sub(value, 1, -2) -- remove fake end character
value = expandBraces(value, rowformatting)
end
elseif value then
value = expandBraces(value, parameters.formatting)
value = value .. reference
end
if isSet(value) and (not parameters.onlysourced or (parameters.onlysourced and valid_ref)) then
result[#result + 1] = value
if not parameters.list or (maxvals and maxvals == #result) then
break
end
end
end
if args.query == 'num' then
result_query = #result
end
if #result > 0 then
if parameters.formatting == 'table' then
result = addEditIconTable(result, parameters) -- in a table, add edit icon on last element
end
result = preformat .. mw.text.listToText(result, parameters.separator, parameters.conjunction) .. postformat
else
result = ''
end
else
-- return first element
local claim = claims[sortindices[1]]
result, result2, error = getValueOfClaim(claim, qualifierId[1], parameters)
if result then
local ref, valid_ref = getReferences(claim, parameters)
if parameters.onlysourced and valid_ref == false then
result = nil
else
result = result .. ref
end
end
if args.query == 'num' then result_query = result and 1 or 0 end
end
if isSet(result) then
if not (parameters.formatting == 'table' or (result2 and result2 == 'no-icon')) then
-- add edit icon, except table added previously and except explicit no-icon internal flag
result = result .. addEditIcon(parameters)
end
else
if showerrors then result = error else result = default end
end
if args.query == 'untranslated' and required and not is_sandbox then
result_query = untranslated
end
return result, result_query or ''
end
-- Local functions for getParentValues -----------------------
local function uc_first(word)
if word == nil then return end
return mw.ustring.upper(mw.ustring.sub(word, 1, 1)) .. mw.ustring.sub(word, 2)
end
local function getPropertyValue(id, property, parameter, langs, labelicon, case)
local snaks = mw.wikibase.getBestStatements(id, property)
local mysnak = getSnak(snaks, {1, "mainsnak"})
if mysnak == nil then
return
end
local entity_id
local result = '-' -- default for 'no value'
if mysnak.datavalue then
entity_id = "Q" .. tostring(mysnak.datavalue.value['numeric-id'])
result, _ = getSnakValue(mysnak, {formatting=parameter, lang=langs, labelicon=labelicon, case=case})
end
return entity_id, result
end
local function getParentObjects(id,
prop_format,
label_format,
languages,
propertySupString,
propertyLabel,
propertyLink,
label_show,
labelicon0,
labelicon1,
upto_number,
upto_label,
upto_value,
last_only,
grammatical_case,
include_self)
local propertySups = mw.text.split(propertySupString, '[^P%d]')
local maxloop = 10
if upto_number then
maxloop = upto_number
elseif next(upto_label) or next(upto_value) then
maxloop = 50
end
local labels_filter = next(label_show)
local result = {}
local id_value = id
for iter = 1, maxloop do
local link, label, labelwicon, linktext, id_label
for _, propertySup in pairs(propertySups) do
local _id_value, _link = getPropertyValue(id_value, propertySup, prop_format, languages, labelicon1, grammatical_case)
if _id_value and _link then id_value = _id_value; link = _link break end
end
if not id_value or not link then break end
if propertyLink then
_, linktext = getPropertyValue(id_value, propertyLink, "label", languages)
if linktext then
link = mw.ustring.gsub(link, "%[%[(.*)%|.+%]%]", "[[%1|" .. linktext .. "]]")
end
end
id_label, label = getPropertyValue(id_value, propertyLabel, label_format, languages, false, "infoboxlabel")
if labelicon0 then
_, labelwicon = getPropertyValue(id_value, propertyLabel, label_format, languages, labelicon0, "infoboxlabel")
else
labelwicon = label
end
if labels_filter == nil or (label_show[id_label] or label_show[label]) then
result[#result + 1] = {labelwicon, link}
label_show[id_label or 'none'], label_show[label or 'none'] = nil, nil -- only first label found
end
if upto_label[id_label] or upto_label[label] or upto_value[id_value] then
break
end
end
if last_only then
result = {result[#result]}
end
if include_self then
local label_self, link_self
_, label_self = getPropertyValue(id, propertyLabel, label_format, languages, labelicon0, "infoboxlabel")
link_self, _ = getLabelByLangs(id, languages)
table.insert(result, 1, {label_self, link_self})
end
return result
end
local function parentObjectsToString(result,
rowformat,
cascade,
sorting)
local ret = {}
local first = 1
local last = #result
local iter = 1
if sorting == "-1" then first = #result; last = 1; iter = -1 end
for i = first, last, iter do
local rowtext = mw.ustring.gsub(rowformat, "$[01]", {["$0"] = result[i][1], ["$1"] = result[i][2]})
ret[#ret + 1] = expandBraces(rowtext, rowformat)
end
if cascade then
local direction = mw.language.new(wiki.langcode):isRTL() and "right" or "left"
local suffix = ""
for i = 1, #ret do
ret[i] = '<ul style="line-height:100%; margin-' .. direction .. ':0.45em; padding-' .. direction .. ':0;"><li>' .. ret[i]
suffix = suffix .. '</li></ul>'
end
ret[#ret] = ret[#ret] .. suffix
end
return ret
end
-- Returns pairs of parent label and property value fetching a recursive tree
function p.getParentValues(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
if not required and isSet(pargs.sandbox) then
return require(wiki.module_title .. "/" .. mw.message.new('Sandboxlink-subpage-name'):inLanguage(wiki.langcode):plain()).getParentValues(frame)
end
local id = getEntityId(args, pargs)
if id == nil then return end
local languages = findLang(args.lang)
local propertySup = getArg(args.property, "P131") --administrative entity
local propertyLabel = getArg(args.label, "P31") --instance
local propertyLink = getArg(args.valuetext)
local property_format = getArg(args.formatting)
local label_format = getArg(args.labelformat, "label")
local upto_number = getArg(args.upto)
local last_only = getArg(args.last_only, false)
local editicon, labelicon = setIcons(args.editicon, pargs.editicon)
local include_self = getArg(args.include_self, false)
local case = getArg(args.case)
local upto_label = {}
for q in string.gmatch(args.uptolabelid or '', 'Q%d+') do
upto_label[q] = true
end
if type(tonumber(upto_number)) == "number" then
upto_number = tonumber(upto_number)
elseif type(upto_number) == 'string' then
upto_number = nil
require(wiki.module_title .. '/debug').track('upto') -- replace upto by uptolabelid
end
local upto_value = {}
for q in string.gmatch(args.uptovalueid or args.uptolinkid or '', 'Q%d+') do
upto_value[q] = true
end
local label_show = {}
for q in string.gmatch(args.showlabelid or '', 'Q%d+') do
label_show[q] = true
end
for _, v in ipairs(mw.text.split(args.labelshow or '', "/")) do
if v ~= '' then
label_show[uc_first(v)] = true
require(wiki.module_title .. '/debug').track('labelshow') -- replace labelshow by showlabelid
end
end
local rowformat = args.rowformat; if not isSet(rowformat) then rowformat = "$0 = $1" end
local labelicon0, labelicon1 = labelicon, labelicon
if string.find(label_format, '{{.*$0.*}}') or (string.find(rowformat, '{{.*$0.*}}') and label_format ~= 'raw') then
labelicon0 = false
end
local result = getParentObjects(id,
property_format,
label_format,
languages,
propertySup,
propertyLabel,
propertyLink,
label_show,
labelicon0,
labelicon1,
upto_number,
upto_label,
upto_value,
last_only,
case,
include_self)
if #result == 0 then return end
local separator = args.separator; if not isSet(separator) then separator = "<br />" end
local sorting = args.sorting; if sorting == "" then sorting = nil end
local cascade = (args.cascade == "true" or args.cascade == "yes")
local ret = parentObjectsToString(result,
rowformat,
cascade,
sorting)
ret = addEditIconTable(ret, {property=propertySup, editicon=editicon, id=id, lang=languages})
return mw.text.listToText(ret, separator, separator)
end
-- Link with a parent label --------------------
function p.linkWithParentLabel(frame)
local pargs = frame.args and frame:getParent().args or {}
if not required and isSet(pargs.sandbox) then
return require(wiki.module_title .. "/" .. mw.message.new('Sandboxlink-subpage-name'):inLanguage(wiki.langcode):plain()).linkWithParentLabel(frame)
end
local args = {}
if frame.args then
for k, v in pairs(frame.args) do -- metatable
args[k] = v
end
else
args = frame -- via require
end
if isSet(args.value) then
return args.value
end
-- get id value of property/qualifier
local largs = mw.clone(args)
largs.list = tonumber(args.list) and args.list or true
largs.formatting = "raw"
largs.separator = "/·/"
largs.editicon = false
local items_list, _ = p.claim(largs)
if not isSet(items_list) then return end
local items_table = mw.text.split(items_list, "/·/", true)
-- get internal link of property/qualifier
if isSet(args.formatting) then
largs.formatting = nil -- default link if defined with any value
else
largs.formatting = "internallink"
end
local link_list, _ = p.claim(largs)
local link_table = mw.text.split(link_list, "/·/", true)
-- get label of parent property
local parent_claim = getSnak(getStatements(items_table[1], args.parent, true), {1, "mainsnak", "datatype"})
if parent_claim == 'monolingualtext' then
largs.formatting = nil
largs.list = 'lang'
else
largs.formatting = "label"
largs.list = false
end
largs.property = args.parent
largs.qualifier = nil
for i, v in ipairs(items_table) do
largs.item = v
local link_label, _ = p.claim(largs)
if isSet(link_label) then
link_table[i] = mw.ustring.gsub(link_table[i] or '', "%[%[(.*)%|.+%]%]", "[[%1|" .. link_label .. "]]")
end
end
args.editicon, _ = setIcons(args.editicon, pargs.editicon)
args.id = getEntityId(args, pargs)
args.lang = findLang(args.lang)
return mw.text.listToText(link_table) .. addEditIcon(args)
end
-- Calculate number of years old ----------------------------
function p.yearsOld(frame)
if not required and frame.args and isSet(frame:getParent().args.sandbox) then
return require(wiki.module_title .. "/" .. mw.message.new('Sandboxlink-subpage-name'):inLanguage(wiki.langcode):plain()).yearsOld(frame)
end
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local id = getEntityId(args, pargs)
if id == nil then return end
local lang = mw.language.new('en')
local function getBestDate(id, prop)
local mainsnak = getSnak(mw.wikibase.getBestStatements(id, prop), {1, "mainsnak"})
if mainsnak and mainsnak.snaktype then
if mainsnak.snaktype == "somevalue" then
return {time = nil, precision = 0}
elseif mainsnak.snaktype == "value" then
return getSnak(mainsnak, {"datavalue", "value"})
end
end
return {time = nil, precision = nil}
end
local birth = getBestDate(id, 'P569')
if birth.time == nil or birth.precision < 8 then
return
end
local death = getBestDate(id, 'P570')
if death.precision and death.precision < 8 then -- includes somevalue
return
elseif death.time == nil then
death = {time = lang:formatDate('c'), precision = 11} -- current date
end
local dates = {}
dates[1] = {['min'] = {}, ['max'] = {}, ['precision'] = birth.precision}
dates[1].min.year = tonumber(mw.ustring.match(birth.time, "^[+-]?%d+"))
dates[1].min.month = tonumber(mw.ustring.match(birth.time, "-(%d%d)-"))
dates[1].min.day = tonumber(mw.ustring.match(birth.time, "-(%d%d)T"))
dates[1].max = mw.clone(dates[1].min)
dates[2] = {['min'] = {}, ['max'] = {}, ['precision'] = death.precision}
dates[2].min.year = tonumber(mw.ustring.match(death.time, "^[+-]?%d+"))
dates[2].min.month = tonumber(mw.ustring.match(death.time, "-(%d%d)-"))
dates[2].min.day = tonumber(mw.ustring.match(death.time, "-(%d%d)T"))
dates[2].max = mw.clone(dates[2].min)
for i, d in ipairs(dates) do
if d.precision == 10 then -- month
d.min.day = 1
local timestamp = string.format("%04d", tostring(math.abs(d.max.year)))
.. string.format("%02d", tostring(d.max.month))
.. "01"
d.max.day = tonumber(lang:formatDate("j", timestamp .. " + 1 month - 1 day"))
elseif d.precision < 10 then -- year or decade
d.min.day = 1
d.min.month = 1
d.max.day = 31
d.max.month = 12
if d.precision == 8 then -- decade
d.max.year = d.max.year + 9
end
end
end
local function age(d1, d2)
local years = d2.year - d1.year
if d2.month < d1.month or (d2.month == d1.month and d2.day < d1.day) then
years = years - 1
end
if d2.year > 0 and d1.year < 0 then
years = years - 1 -- no year 0
end
return years
end
local old_min = age(dates[1].max, dates[2].min)
local old_max = age(dates[1].min, dates[2].max)
if old_max > 200 then
require(wiki.module_title .. '/debug').track('200yo')
end
local old, old_expr
if old_min == 0 and old_max == 0 then
old = "< 1"
old_max = 1 -- expression in singular
elseif old_min == old_max then
old = old_min
else
old = old_min .. "/" .. old_max
end
if args.formatting == 'unit' then
local langs = findLang(args.lang)
local yo
local yo_pl = {}
if langs[1] == wiki.langcode then
yo_pl = i18n["years-old"]
end
if not isSet(yo_pl[2]) then
local yo_label, _ = getLabelByLangs('Q24564698', langs)
yo_pl = {yo_label, yo_label}
end
yo = mw.language.new(langs[1]):plural(old_max, yo_pl)
if mw.ustring.find(yo, '$1', 1, true) then
old_expr = mw.ustring.gsub(yo, "$1", old)
else
old_expr = old .. ' ' .. yo
end
elseif args.formatting then
old_expr = expandBraces(mw.ustring.gsub(args.formatting, '$1', old), args.formatting)
else
old_expr = old
end
return old_expr
end
-- Gets a label in a given language (content language by default) or its fallbacks, optionnally linked.
function p.getLabel(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
if not required and isSet(pargs.sandbox) then
return require(wiki.module_title .. "/" .. mw.message.new('Sandboxlink-subpage-name'):inLanguage(wiki.langcode):plain()).getLabel(frame)
end
local id = getEntityId(args, pargs, 1)
if id == nil then return end
local languages = findLang(args.lang)
local labelicon = false
if mw.wikibase.isValidEntityId(id) then
_, labelicon = setIcons(args.editicon, pargs.editicon)
end
local label_icon = ''
local label, lang
if args.label then
label = args.label
else
-- exceptions or labels fixed
local exist, labels = pcall(require, wiki.module_title .. "/labels" .. (languages[1] == wiki.langcode and '' or '/' .. languages[1]))
if exist and labels.infoboxLabelsFromId and next(labels.infoboxLabelsFromId) ~= nil then
label = labels.infoboxLabelsFromId[id]
end
if label == nil then
label, lang = getLabelByLangs(id, languages)
if label then
if isSet(args.itemgender) then
if feminineGender(args.itemgender) then
label = feminineForm(id, lang) or label
end
local _, items_g = string.gsub(args.itemgender, "Q%d+", "")
if not isSet(args.case) and items_g > 1 then
args.case = "plural"
end
end
label = mw.language.new(lang):ucfirst(mw.text.nowiki(label)) -- sanitize
if args.case then
label = case(args.case, label, lang)
end
end
label_icon = addLabelIcon(id, lang, languages[1], labelicon)
end
end
local linked = args.linked
local ret2 = required and untranslated or ''
if isSet(linked) and linked ~= "no" then
local article = mw.wikibase.getSitelink(id) or ("d:Special:EntityPage/" .. id)
return "[[" .. article .. "|" .. (label or id) .. "]]" .. label_icon, ret2
else
return (label or id) .. label_icon, ret2
end
end
function p.sitelinks(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
-- arguments
local param = {}
param.id = getEntityId(args, pargs)
if param.id == nil then return end
param.project = getArg(args.project)
param.site = getArg(args.site)
param.sitelang = getArg(args.sitelang)
param.show = getArg(args.formatting, '[[$w:$l:$t|$s:$t]] $i')
param.sep = getArg(args.separator, ', ')
-- fetch sitelinks
local sitelinks_obj = mw.wikibase.getEntity(param.id).sitelinks
local slinks = {} -- do some clean up (commonswiki > commons) and add some data
local iw = {['wikipedia'] = 'w', ['wikibooks'] = 'b', ['wikinews'] = 'n', ['wikiquote'] = 'q',
['wikisource'] = 's', ['wikiversity'] = 'v', ['wikivoyage'] = 'voy', ['wiktionary'] = 'wikt', ['commons'] = 'c',
['meta'] = 'm', ['mediawiki'] = 'mw', ['species'] = 'species', ['wikidata'] = 'd', ['wikifunctions'] = 'f'}
for slink, sdata in pairs(sitelinks_obj) do
-- langcode + wiki, wikibooks, wikinews, wikiquote, wikisource, wikiversity, wikivoyage, wiktionary
local s_lang = string.match(slink, '(%l+)wik[it]')
local s_project = string.match(slink, 'wik[it]%l*')
if slink == 'commonswiki' or slink == 'metawiki' or slink == 'mediawikiwiki'
or slink == 'specieswiki' or slink == 'wikidatawiki' or slink == 'wikifunctionswiki'
then
s_project = string.sub(slink, 1, -5) -- remove -wiki
slinks[s_project] = {['lang'] = 'und', ['project'] = s_project, ['iw'] = iw[s_project], ['title'] = sdata.title, ['badges'] = sdata.badges}
elseif s_project == 'wiki' then -- restore project full name
slinks[slink] = {['lang'] = s_lang, ['project'] = 'wikipedia', ['iw'] = 'w', ['title'] = sdata.title, ['badges'] = sdata.badges}
elseif s_project == 'wiktionary' then -- use short site name
s_project = string.sub(slink, 1, -7)
slinks[s_project] = {['lang'] = s_lang, ['project'] = 'wiktionary', ['iw'] = 'wikt', ['title'] = sdata.title, ['badges'] = sdata.badges}
else
slinks[slink] = {['lang'] = s_lang, ['project'] = s_project, ['iw'] = iw[s_project], ['title'] = sdata.title, ['badges'] = sdata.badges}
end
end
-- select requested project, site, sitelang
local slinks_req = {}
if not (param.project or param.site or param.sitelang) then
slinks_req = slinks
else
for pr in string.gmatch(param.project or '', '%l+') do -- lowercase letters, skip separators
for sl, sd in pairs(slinks) do
if sd.project == pr then
slinks_req[sl] = sd
end
end
end
for s in string.gmatch(param.site or '', '%l+') do
for sl, sd in pairs(slinks) do
if sl == s then
slinks_req[sl] = sd
end
end
end
for l in string.gmatch(param.sitelang or '', '%l+') do
for sl, sd in pairs(slinks) do
if sd.lang == l then
slinks_req[sl] = sd
end
end
end
end
-- sort table
local sites_sorted = {}
for sitex in pairs(slinks_req) do
sites_sorted[#sites_sorted + 1] = sitex
end
local sort_project_lang = function(a, b)
local key_a = slinks_req[a].project .. slinks_req[a].lang
local key_b = slinks_req[b].project .. slinks_req[b].lang
return key_a < key_b
end
table.sort(sites_sorted, sort_project_lang)
-- format output
local showtext = {}
local shownum, showbnum = 0, 0
for _, sl in ipairs(sites_sorted) do
local sd = slinks_req[sl]
local show = param.show -- default '[[$w:$l:$t|$s:$t]] $i' iw:lang:title, site:title icon, also $p project
show = string.gsub(show, '$w', sd.iw)
show = string.gsub(show, '$p', sd.project)
if sd.lang == 'und' then
show = string.gsub(show, '$l:?', '')
else
show = string.gsub(show, '$l', sd.lang)
end
show = string.gsub(show, '$t', sd.title)
show = string.gsub(show, '$s', sl)
if next(sd.badges) then
show = string.gsub(show, '$i', '[[File:Article de qualité.svg|15x15px]]')
showbnum = showbnum + 1
else
show = string.gsub(show, ' ?$i', '')
end
if show ~= param.show then
table.insert(showtext, show)
end
shownum = shownum + 1
end
local output
if string.find(param.show, '$[nb]') then
output = string.gsub(param.show, '$n', shownum) -- number of sites
output = string.gsub(output, '$b', showbnum) -- number of badges
else
output = table.concat(showtext, param.sep)
end
return output
end
-- Utilities -----------------------------
-- See also module ../debug.
-- Copied from Module:Wikibase
function p.getSiteLink(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local id = getEntityId(args, pargs, 1)
if id == nil then return end
return mw.wikibase.getSitelink(id, mw.text.trim(args[2] or ''))
end
-- Helper function for the default language code used
function p.lang(frame)
local lang = frame and frame.args[1] -- nil via require
return findLang(lang)[1]
end
-- Number of statements
function p.numStatements(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local id = getEntityId(args, pargs)
if id == nil then return 0 end
local prop = mw.text.trim(args[1] or '')
local num = {}
if not isSet(prop) then
local largs = {}
for k, v in pairs(pargs) do
largs[k] = v
end
for k, v in pairs(args) do
largs[k] = v
end
largs.query = 'num'
_, num = p.claim(largs)
return num
elseif args[2] then -- qualifier
local qual = mw.text.trim(args[2])
local values = p.claim{item=id, property=prop, qualifier=qual, formatting='raw', separator='/·/'}
if values then
num = mw.text.split(values, '/·/')
end
else
num = mw.wikibase.getBestStatements(id, prop)
end
return #num
end
-- Returns true if property datavalue is found excluding novalue/somevalue
function p.validProperty(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local item = getEntityId(args, pargs)
if item == nil then return end
local property = mw.text.trim(args[1])
local prop_data = getSnak(mw.wikibase.getBestStatements(item, property), {1, "mainsnak", "datavalue"})
return prop_data and true or nil
end
function p.editAtWikidata(frame)
local args = frame.args or frame -- via invoke or require
local pargs = frame.args and frame:getParent().args or {}
local value = isSet(args[1])
if value then return end
local param = {}
param.id = getEntityId(args, pargs)
param.property = args.property
param.lang = findLang(args.lang)
param.editicon, _ = setIcons(args.editicon)
return addEditIcon(param)
end
function p.formatNum(frame)
local num = tonumber(mw.text.trim(frame.args[1]))
local lang = findLang(mw.text.trim(frame.args[2]))
return mw.language.new(lang[1]):formatNum(num)
end
return p
avvhaez151weegv5gd9ub0dz8gpgico
1989 تیانانمین چوکُک احتِجاج تہٕ قتلِ عام
0
31649
150930
147389
2026-08-31T20:26:43Z
آیات محراج
11062
/* */
150930
wikitext
text/x-wiki
{{Infobox event/Wikidata|logo={{Photomontage
| photo1a = Události na náměstí Tian an men, Čína 1989, foto Jiří Tondl.jpg
| photo2a = Chinese tanks in Beijing, July 1989.png
| photo2b = Beijing june 1989 Zhongguancun street.jpg
| photo3a = 蒲志強19890510.jpg
| photo3b = 声援六四学生运动的横幅.jpg
| photo4a =
| photo4b =
| spacing = 1
| position = center
| color_border = white
| color = white
| size = 300
| foot_montage =
}}|v_image=|combatant1={{bullet list
|[[فَیِل:Flag of the Chinese Communist Party.svg|30px]] [[چیٖنی کمیٛوٗنِسٹ پارٹی]]
|{{flagicon|China}} [[چیٖنی سرکار]]
}}|combatant2={{bullet list
|بیٖجِنٛگ سُٹوڈینٹس آٹونومس فیڈریشن
|بیٖجِنٛگ ورکرس آٹونومس فیڈریشن
}}}}
طٲلبہِ علمَن تہٕ کارکُنَن ہٕنٛدِس قیادتس مَنٛز احتِجاج، یُس [[چیٖن|چیٖنَس]] مَنٛز '''ژوٗرِم جوٗن واقعہٕ''' ناوٕ سٟتؠ زاننہٕ چھُ یِوان، 15 اپریل پؠٹھٕ 4 جوٗن 1989 تام [[بیٖجنٛگ]] کِس [[تیانانمین چوک|تیانانمین چوکس]] مَنٛز منعقد کرنہٕ۔ مُظٲہرینَن تہٕ چیٖنی حکومتَس درمیان پُر امن حل ژھانڈنہٕ باپتھ ہفتَن ہٕنٛزِ ناکام کوٗشِشہِ پتہٕ کوٚر چینی حکومتَن میی کِس ٲخرَس مَنٛز مارشل لا شۆروٗع تہٕ 3 جوٗن چہِ رٲژ کٔرٕکھ چوکَس پؠٹھ قبضہٕ کرنہٕ خٲطرٕ فوج تعینات یَتھ '''تیانانمین چوک قَتٕل''' عام ونان چھِ۔<ref name="Lin-2006">{{Cite book|last=Lin|first=Chun|title=The Transformation of Chinese Socialism|url=https://archive.org/details/transformationof0000linc|date=2006|publisher=[[Duke University Press]]|isbn=978-0822337850|location=Durham [N.C.]|pages=[https://archive.org/details/transformationof0000linc/page/211 211]|doi=10.2307/j.ctv113199n|jstor=j.ctv113199n|oclc=63178961}}</ref>
==وجہ تہٕ مقصد==
اپریل 1989 مَنٛز اصلاح پسند سیٲسی رہنما [[ہو یاوبانٛگ]] سٕنٛدِ مرنہٕ پتہٕ گٔیہٕ مُظٲہِرین جمہوری اصلاحات، اظہارِ راے ہٕنٛزآزٲدی، پریس ہٕنٛز آزٲدی، سیٲسی جوابدہی تہٕ افراط زر تہٕ رُشوَت خوری نِش اقتصٲدی ریلیفُک مُطالبہٕ کرنہٕ خٲطرٕ جمع۔
میی کِس مَنٛزس مَنٛز گٔیہِ تقریبن دَہ لَچھ لُکھ تیاننمین سکوایرَس مَنٛز جمع ، بٔڑِس پیمانَس پؠٹھ فاقہٕ ہڑتالَو سٟتؠ 400 چینی شہرَن مَنٛز یِتھی احتجاجَن ہٕنٛز ترغیب دِنہٕ۔
==مارشل لا==
چینی حکومتن کوٚر 20 میی مارشل لا ہُک اعلان تہٕ لچھِ بٔدؠ فوجی جمع کٔرؠ، یِم گۄڈٕ پُر امن شہری مزاحمتہٕ سٟتؠ رُکاونہٕ آیہ۔
==کرٛیک ڈاؤن==
3 جوٗن چہِ رٲژ پؠٹھٕ 4 جوٗن صُبحَس تام گوٚو فوجی فوج علاقہٕ صاف کرنہٕ باپتھ مسلح فوج تہٕ ٹینکَو سٟتؠ زبردستی مَنٛز بیجنگس مَنٛز دٲخٕل، ییٚمہِ کِس نٔتیٖجس مَنٛز شدید تشدُد، خاص پٲٹھؠ چانگان ایونیوَس سٟتؠ۔
==ہلاکتہٕ تہٕ اثر==
مرنَن ہُنٛد تخمینہٕ چھُ ہتہٕ بٔدؠ پؠٹھٕ ساسہٕ بٔدؠ زخمی۔ اَمہِ پتہٕ گٔیہٕ بٔڑِس پیمانَس پؠٹھ گِرِفتٲرِی، سیٲسی صفایی، غٲر مُلکی اقتصٲدی پابٔنٛدی، تہٕ اَتھ تقریبس أنٛدؠ پٔکؠ سخٕت ریاستی سنسرشپ۔
==حَوالہٕ==
[[زٲژ:1989 واقعات]]
[[زٲژ:چیٖن]]
j3r4dnxywyz66xn88quudtistk4ljix
150931
150930
2026-08-31T20:34:25Z
آیات محراج
11062
/* */
150931
wikitext
text/x-wiki
{{Infobox event/Wikidata|logo={{Photomontage
| photo1a = Události na náměstí Tian an men, Čína 1989, foto Jiří Tondl.jpg
| photo2a = Chinese tanks in Beijing, July 1989.png
| photo2b = Beijing june 1989 Zhongguancun street.jpg
| photo3a = 蒲志強19890510.jpg
| photo3b = 声援六四学生运动的横幅.jpg
| photo4a =
| photo4b =
| spacing = 1
| position = center
| color_border = white
| color = white
| size = 300
| foot_montage =
}}|v_image=Tiananmen Square, Beijing, China 1988 (1).jpg|combatant1={{bullet list
|[[فَیِل:Flag of the Chinese Communist Party.svg|30px]] [[چیٖنی کمیٛوٗنِسٹ پارٹی]]
|{{flagicon|China}} [[چیٖنی سرکار]]
}}|combatant2={{bullet list
|بیٖجِنٛگ سُٹوڈینٹس آٹونومس فیڈریشن
|بیٖجِنٛگ ورکرس آٹونومس فیڈریشن
}}|military_infobox=YES}}
طٲلبہِ علمَن تہٕ کارکُنَن ہٕنٛدِس قیادتس مَنٛز احتِجاج، یُس [[چیٖن|چیٖنَس]] مَنٛز '''ژوٗرِم جوٗن واقعہٕ''' ناوٕ سٟتؠ زاننہٕ چھُ یِوان، 15 اپریل پؠٹھٕ 4 جوٗن 1989 تام [[بیٖجنٛگ]] کِس [[تیانانمین چوک|تیانانمین چوکس]] مَنٛز منعقد کرنہٕ۔ مُظٲہرینَن تہٕ چیٖنی حکومتَس درمیان پُر امن حل ژھانڈنہٕ باپتھ ہفتَن ہٕنٛزِ ناکام کوٗشِشہِ پتہٕ کوٚر چینی حکومتَن میی کِس ٲخرَس مَنٛز مارشل لا شۆروٗع تہٕ 3 جوٗن چہِ رٲژ کٔرٕکھ چوکَس پؠٹھ قبضہٕ کرنہٕ خٲطرٕ فوج تعینات یَتھ '''تیانانمین چوک قَتٕل''' عام ونان چھِ۔<ref name="Lin-2006">{{Cite book|last=Lin|first=Chun|title=The Transformation of Chinese Socialism|url=https://archive.org/details/transformationof0000linc|date=2006|publisher=[[Duke University Press]]|isbn=978-0822337850|location=Durham [N.C.]|pages=[https://archive.org/details/transformationof0000linc/page/211 211]|doi=10.2307/j.ctv113199n|jstor=j.ctv113199n|oclc=63178961}}</ref>
==وجہ تہٕ مقصد==
اپریل 1989 مَنٛز اصلاح پسند سیٲسی رہنما [[ہو یاوبانٛگ]] سٕنٛدِ مرنہٕ پتہٕ گٔیہٕ مُظٲہِرین جمہوری اصلاحات، اظہارِ راے ہٕنٛزآزٲدی، پریس ہٕنٛز آزٲدی، سیٲسی جوابدہی تہٕ افراط زر تہٕ رُشوَت خوری نِش اقتصٲدی ریلیفُک مُطالبہٕ کرنہٕ خٲطرٕ جمع۔
میی کِس مَنٛزس مَنٛز گٔیہِ تقریبن دَہ لَچھ لُکھ تیاننمین سکوایرَس مَنٛز جمع ، بٔڑِس پیمانَس پؠٹھ فاقہٕ ہڑتالَو سٟتؠ 400 چینی شہرَن مَنٛز یِتھی احتجاجَن ہٕنٛز ترغیب دِنہٕ۔
==مارشل لا==
چینی حکومتن کوٚر 20 میی مارشل لا ہُک اعلان تہٕ لچھِ بٔدؠ فوجی جمع کٔرؠ، یِم گۄڈٕ پُر امن شہری مزاحمتہٕ سٟتؠ رُکاونہٕ آیہ۔
==کرٛیک ڈاؤن==
3 جوٗن چہِ رٲژ پؠٹھٕ 4 جوٗن صُبحَس تام گوٚو فوجی فوج علاقہٕ صاف کرنہٕ باپتھ مسلح فوج تہٕ ٹینکَو سٟتؠ زبردستی مَنٛز بیجنگس مَنٛز دٲخٕل، ییٚمہِ کِس نٔتیٖجس مَنٛز شدید تشدُد، خاص پٲٹھؠ چانگان ایونیوَس سٟتؠ۔
==ہلاکتہٕ تہٕ اثر==
مرنَن ہُنٛد تخمینہٕ چھُ ہتہٕ بٔدؠ پؠٹھٕ ساسہٕ بٔدؠ زخمی۔ اَمہِ پتہٕ گٔیہٕ بٔڑِس پیمانَس پؠٹھ گِرِفتٲرِی، سیٲسی صفایی، غٲر مُلکی اقتصٲدی پابٔنٛدی، تہٕ اَتھ تقریبس أنٛدؠ پٔکؠ سخٕت ریاستی سنسرشپ۔
==حَوالہٕ==
[[زٲژ:1989 واقعات]]
[[زٲژ:چیٖن]]
opxtvzvtzf8902zwfqdplx2etfqy6o2
150932
150931
2026-08-31T20:34:50Z
آیات محراج
11062
/* */
150932
wikitext
text/x-wiki
{{Infobox event/Wikidata|logo={{Photomontage
| photo1a = Události na náměstí Tian an men, Čína 1989, foto Jiří Tondl.jpg
| photo2a = Chinese tanks in Beijing, July 1989.png
| photo2b = Beijing june 1989 Zhongguancun street.jpg
| photo3a = 蒲志強19890510.jpg
| photo3b = 声援六四学生运动的横幅.jpg
| photo4a =
| photo4b =
| spacing = 1
| position = center
| color_border = white
| color = white
| size = 300
| foot_montage =
}}|v_image=Tiananmen Square, Beijing, China 1988 (1).jpg|combatant1={{bullet list
|[[فَیِل:Flag of the Chinese Communist Party.svg|30px]] [[چیٖنی کمیٛوٗنِسٹ پارٹی]]
|{{flagicon|China}} [[چیٖنی سرکار]]
}}|combatant2={{bullet list
|بیٖجِنٛگ سُٹوڈینٹس آٹونومس فیڈریشن
|بیٖجِنٛگ ورکرس آٹونومس فیڈریشن
}}}}
طٲلبہِ علمَن تہٕ کارکُنَن ہٕنٛدِس قیادتس مَنٛز احتِجاج، یُس [[چیٖن|چیٖنَس]] مَنٛز '''ژوٗرِم جوٗن واقعہٕ''' ناوٕ سٟتؠ زاننہٕ چھُ یِوان، 15 اپریل پؠٹھٕ 4 جوٗن 1989 تام [[بیٖجنٛگ]] کِس [[تیانانمین چوک|تیانانمین چوکس]] مَنٛز منعقد کرنہٕ۔ مُظٲہرینَن تہٕ چیٖنی حکومتَس درمیان پُر امن حل ژھانڈنہٕ باپتھ ہفتَن ہٕنٛزِ ناکام کوٗشِشہِ پتہٕ کوٚر چینی حکومتَن میی کِس ٲخرَس مَنٛز مارشل لا شۆروٗع تہٕ 3 جوٗن چہِ رٲژ کٔرٕکھ چوکَس پؠٹھ قبضہٕ کرنہٕ خٲطرٕ فوج تعینات یَتھ '''تیانانمین چوک قَتٕل''' عام ونان چھِ۔<ref name="Lin-2006">{{Cite book|last=Lin|first=Chun|title=The Transformation of Chinese Socialism|url=https://archive.org/details/transformationof0000linc|date=2006|publisher=[[Duke University Press]]|isbn=978-0822337850|location=Durham [N.C.]|pages=[https://archive.org/details/transformationof0000linc/page/211 211]|doi=10.2307/j.ctv113199n|jstor=j.ctv113199n|oclc=63178961}}</ref>
==وجہ تہٕ مقصد==
اپریل 1989 مَنٛز اصلاح پسند سیٲسی رہنما [[ہو یاوبانٛگ]] سٕنٛدِ مرنہٕ پتہٕ گٔیہٕ مُظٲہِرین جمہوری اصلاحات، اظہارِ راے ہٕنٛزآزٲدی، پریس ہٕنٛز آزٲدی، سیٲسی جوابدہی تہٕ افراط زر تہٕ رُشوَت خوری نِش اقتصٲدی ریلیفُک مُطالبہٕ کرنہٕ خٲطرٕ جمع۔
میی کِس مَنٛزس مَنٛز گٔیہِ تقریبن دَہ لَچھ لُکھ تیاننمین سکوایرَس مَنٛز جمع ، بٔڑِس پیمانَس پؠٹھ فاقہٕ ہڑتالَو سٟتؠ 400 چینی شہرَن مَنٛز یِتھی احتجاجَن ہٕنٛز ترغیب دِنہٕ۔
==مارشل لا==
چینی حکومتن کوٚر 20 میی مارشل لا ہُک اعلان تہٕ لچھِ بٔدؠ فوجی جمع کٔرؠ، یِم گۄڈٕ پُر امن شہری مزاحمتہٕ سٟتؠ رُکاونہٕ آیہ۔
==کرٛیک ڈاؤن==
3 جوٗن چہِ رٲژ پؠٹھٕ 4 جوٗن صُبحَس تام گوٚو فوجی فوج علاقہٕ صاف کرنہٕ باپتھ مسلح فوج تہٕ ٹینکَو سٟتؠ زبردستی مَنٛز بیجنگس مَنٛز دٲخٕل، ییٚمہِ کِس نٔتیٖجس مَنٛز شدید تشدُد، خاص پٲٹھؠ چانگان ایونیوَس سٟتؠ۔
==ہلاکتہٕ تہٕ اثر==
مرنَن ہُنٛد تخمینہٕ چھُ ہتہٕ بٔدؠ پؠٹھٕ ساسہٕ بٔدؠ زخمی۔ اَمہِ پتہٕ گٔیہٕ بٔڑِس پیمانَس پؠٹھ گِرِفتٲرِی، سیٲسی صفایی، غٲر مُلکی اقتصٲدی پابٔنٛدی، تہٕ اَتھ تقریبس أنٛدؠ پٔکؠ سخٕت ریاستی سنسرشپ۔
==حَوالہٕ==
[[زٲژ:1989 واقعات]]
[[زٲژ:چیٖن]]
gixmtwx4xufgj46u3nmru0og5t5qxe3
رُکُن:Nadeemulhaqmir-bot/log/2026/8
2
32004
150911
150839
2026-08-31T18:01:31Z
Nadeemulhaqmir-bot
9480
باٹ چھُ اَز دۄہُک لاگ مَحفوٗظ کَران.
150911
wikitext
text/x-wiki
==1-8-2026==
==== [[آیسِس]] - ([[Special:Diff/146873|فَرَق]]) ====
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> ئیس </nowiki><b> -> </b><nowiki>ئیس</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اِبتدٲیی اسلٲمی فلسفہٕ]] - ([[Special:Diff/146874|فَرَق]]) ====
# <nowiki> ابتدائی </nowiki><b> -> </b><nowiki>اِبتدٲیی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[کورِیاچہِ ترٛے بادشٲہیتہٕ]] - ([[Special:Diff/146875|فَرَق]]) ====
# <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ہنبوک]] - ([[Special:Diff/146876|فَرَق]]) ====
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ایکس ایکس ایکس ٹیٚنٛٹیشَن]] - ([[Special:Diff/146877|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ڈُوَلنگو]] - ([[Special:Diff/146878|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[بویِنٛگ 767]] - ([[Special:Diff/146879|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> گوڑنک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ڈیٚلٹا اِیَر لاینز]] - ([[Special:Diff/146880|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[شیطٲنِیَتھ]] - ([[Special:Diff/146881|فَرَق]]) ====
# <nowiki> تِہ </nowiki><b> -> </b><nowiki>تہِ</nowiki>
# <nowiki> نِہ </nowiki><b> -> </b><nowiki>نہِ</nowiki>
==== [[حٔقیٖقی عیسٲے کلیسا]] - ([[Special:Diff/146882|فَرَق]]) ====
# <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki>
# <nowiki> تٕہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> سٕنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki>
# <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki>
# <nowiki> سٕندؠ </nowiki><b> -> </b><nowiki>سٟنٛدؠ</nowiki>
# <nowiki> ۅ </nowiki><b> -> </b><nowiki>ۄ</nowiki>
# <nowiki> ێ </nowiki><b> -> </b><nowiki>یٚ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> مِہ </nowiki><b> -> </b><nowiki>مہِ</nowiki>
==== [[سروانَنٛد کول پرٛیمی]] - ([[Special:Diff/146883|فَرَق]]) ====
# <nowiki> ۅ </nowiki><b> -> </b><nowiki>ۄ</nowiki>
# <nowiki> تُھ </nowiki><b> -> </b><nowiki>تھُ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ترَٛکھ]] - ([[Special:Diff/146884|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
==== [[تھر کۆنٛڈ]] - ([[Special:Diff/146885|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> م. </nowiki><b> -> </b><nowiki>م۔</nowiki>
==== [[تھایرایِڈ]] - ([[Special:Diff/146886|فَرَق]]) ====
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
==== [[آرڈر آف آسٹرٛیلیا]] - ([[Special:Diff/146887|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> کرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki>
==== [[پوٗتنا]] - ([[Special:Diff/146888|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ٕ. </nowiki><b> -> </b><nowiki>ٕ۔</nowiki>
==== [[نِرمل پُرجا]] - ([[Special:Diff/146889|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[2026 موروکو-سپین سرحدی واقعہٕ]] - ([[Special:Diff/146890|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[آزاد کٔشیٖر ہِنٛز تَوٲریٖخ]] - ([[Special:Diff/146891|فَرَق]]) ====
# <nowiki> آئین </nowiki><b> -> </b><nowiki>ٲییٖن</nowiki>
# <nowiki> دعویٰ </nowiki><b> -> </b><nowiki>دعوا</nowiki>
# <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki>
# <nowiki> لِہ </nowiki><b> -> </b><nowiki>لہِ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[شاردا دٔرؠیاو]] - ([[Special:Diff/146892|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[رشمور پہاڑ]] - ([[Special:Diff/146893|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ٹایٹینِک (1997 فلم)]] - ([[Special:Diff/146894|فَرَق]]) ====
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
==2-8-2026==
==== [[شؠشتٕر کال]] - ([[Special:Diff/147112|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[روٗسٕچ معشیت]] - ([[Special:Diff/147113|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ایشیا]] - ([[Special:Diff/147114|فَرَق]]) ====
# <nowiki> دنیاہُک </nowiki><b> -> </b><nowiki>دُنؠیاہُک</nowiki>
==== [[انٹارکٹِکا]] - ([[Special:Diff/147115|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[کاینأتؠ گرٕد]] - ([[Special:Diff/147116|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ایم وی ہونٛڈِیَس]] - ([[Special:Diff/147117|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ایم وی ہونٛڈِیَس ہَنتا وایرس]] - ([[Special:Diff/147118|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[نِرمل پُرجا]] - ([[Special:Diff/147119|فَرَق]]) ====
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> دنیاہٕکؠ </nowiki><b> -> </b><nowiki>دُنؠیاہٕکؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[شیٖنہٕ مٲنؠ]] - ([[Special:Diff/147120|فَرَق]]) ====
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
==== [[کیمونو]] - ([[Special:Diff/147121|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جۆم تہٕ کٔشیٖر مَنٛز جُلوٗس پؠٹھ قوبوٗ]] - ([[Special:Diff/147122|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اِستعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> انسانی </nowiki><b> -> </b><nowiki>اِنسٲنی</nowiki>
# <nowiki> بیاکھ </nowiki><b> -> </b><nowiki>بیٛاکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> تنقید </nowiki><b> -> </b><nowiki>تَنقیٖد</nowiki>
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> خلاف </nowiki><b> -> </b><nowiki>خَلاف</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki>
# <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> قتل </nowiki><b> -> </b><nowiki>قَتٕل</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> گھرٕ </nowiki><b> -> </b><nowiki>گرٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> مخالف </nowiki><b> -> </b><nowiki>مُخٲلِف</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[ایکس ایکس ایکس ٹیٚنٛٹیشَن]] - ([[Special:Diff/147123|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==3-8-2026==
==== [[جاپٲنؠ لوٗکھ]] - ([[Special:Diff/147363|فَرَق]]) ====
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
==== [[ہان کانٛگ]] - ([[Special:Diff/147364|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ردولہٕ]] - ([[Special:Diff/147365|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ر. </nowiki><b> -> </b><nowiki>ر۔</nowiki>
==== [[کووِڈ-19 عالمی وبا]] - ([[Special:Diff/147366|فَرَق]]) ====
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki>
# <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[اَوَستٲیی زَبان]] - ([[Special:Diff/147367|فَرَق]]) ====
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[زرتشیت]] - ([[Special:Diff/147368|فَرَق]]) ====
# <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠیاہک</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[پھِرٲرؠ]] - ([[Special:Diff/147369|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> جنوب </nowiki><b> -> </b><nowiki>جۆنوٗب</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ہ. </nowiki><b> -> </b><nowiki>ہ۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[شیش]] - ([[Special:Diff/147370|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> انواع </nowiki><b> -> </b><nowiki>زٲژ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> تقریبا </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki>
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> کٔرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki>
# <nowiki> کرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> محفوظ </nowiki><b> -> </b><nowiki>مۄحفوٗظ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ڈوروتھی ایڈی]] - ([[Special:Diff/147371|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> بیاکھ </nowiki><b> -> </b><nowiki>بیٛاکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> گھرس </nowiki><b> -> </b><nowiki>گرس</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> وقت </nowiki><b> -> </b><nowiki>وَقٕت</nowiki>
# <nowiki> ۅ </nowiki><b> -> </b><nowiki>ۄ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[سانٛگُر]] - ([[Special:Diff/147372|فَرَق]]) ====
# <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki>
# <nowiki> محفوظ </nowiki><b> -> </b><nowiki>مۄحفوٗظ</nowiki>
==== [[روٗسٕچ معشیت]] - ([[Special:Diff/147373|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==6-8-2026==
==== [[کرِٛس ہیٚڈفیٖلڈ]] - ([[Special:Diff/148342|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ز. </nowiki><b> -> </b><nowiki>ز۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جیٚری ایل. راس]] - ([[Special:Diff/148343|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[بیلین جیسوٗٹ پرٛیپریٹری سکوٗل]] - ([[Special:Diff/148344|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[نِو یارٕک یوٗنِوَرسِٹی]] - ([[Special:Diff/148345|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[مِیامی]] - ([[Special:Diff/148346|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> جنوب </nowiki><b> -> </b><nowiki>جۆنوٗب</nowiki>
# <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اعلان کرن وول]] - ([[Special:Diff/148347|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[بُلاگ]] - ([[Special:Diff/148348|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[پیریز ہِلٹَن]] - ([[Special:Diff/148349|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[تارُکھ]] - ([[Special:Diff/148350|فَرَق]]) ====
# <nowiki> تِہ </nowiki><b> -> </b><nowiki>تہِ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> چَھ </nowiki><b> -> </b><nowiki>چھَ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[2009 ہِندوستٲنؠ عام چُناو جۆم تہٕ کٔشیٖر مَنٛز]] - ([[Special:Diff/148351|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[عبدالسید]] - ([[Special:Diff/148352|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[وباہ زان]] - ([[Special:Diff/148353|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[روڈس سٕکالرشِپ]] - ([[Special:Diff/148354|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠیاہک</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
==== [[ڈیٹرایٹ]] - ([[Special:Diff/148355|فَرَق]]) ====
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[این آربر، مِشیگن]] - ([[Special:Diff/148356|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> قائم </nowiki><b> -> </b><nowiki>قٲیِم</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
==== [[کولمبیا یوٗنِوَرسِٹی میلمین سکوٗل آف پَبلِک ہیلتھ]] - ([[Special:Diff/148357|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ڈیٹرایٹ ہیلتھ ڈیپارٹمینٛٹ]] - ([[Special:Diff/148358|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اینٛڈووَر ہایی سکوٗل (مِشیگن)]] - ([[Special:Diff/148359|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اورِیَل کالیج، آکسفورڈ]] - ([[Special:Diff/148360|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[کالیج آف لِٹریچر، ساینس اینٛڈ آرٹس]] - ([[Special:Diff/148361|فَرَق]]) ====
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ٕ. </nowiki><b> -> </b><nowiki>ٕ۔</nowiki>
==== [[کولمبیا یوٗنِوَرسِٹی کالیج آف فزکس اینٛڈ سرجری]] - ([[Special:Diff/148362|فَرَق]]) ====
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[منہٕ]] - ([[Special:Diff/148363|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
==== [[یوٗنِوَرسِٹی آف مِشیگن]] - ([[Special:Diff/148364|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> زیادہ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یِہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[روچیسٹر ہِلز، مِشیگن]] - ([[Special:Diff/148365|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[یوٗری گاگارِن]] - ([[Special:Diff/148366|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> تعلیم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> سٍتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> گۄڈنیُٛک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[کَلپَنا چاولہ]] - ([[Special:Diff/148367|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جیک سویگرٹ]] - ([[Special:Diff/148368|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> محفوظ </nowiki><b> -> </b><nowiki>مۄحفوٗظ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[نیٖل آرٛمسِٹرانٛگ]] - ([[Special:Diff/148369|فَرَق]]) ====
# <nowiki> گۄڈنیُٛک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[دَے واد]] - ([[Special:Diff/148370|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
==== [[جیٚمِنَے 8]] - ([[Special:Diff/148371|فَرَق]]) ====
# <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> لِہ </nowiki><b> -> </b><nowiki>لہِ</nowiki>
==== [[فَریا فَرَجی]] - ([[Special:Diff/148372|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ہرشد چوپڑا]] - ([[Special:Diff/148373|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki>
# <nowiki> ٹیلی ویژنس </nowiki><b> -> </b><nowiki>ٹیلی وِجنس</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[لَولی (بِلی اَیلِش تہٕ خالِد سُنٛد بٲتھ)]] - ([[Special:Diff/148374|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سٕند </nowiki><b> -> </b><nowiki>سٟنٛد</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
==== [[ڈاینامایِٹ (بی ٹی ایس بٲتھ)]] - ([[Special:Diff/148375|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> گوڑنک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> گۄڈنیُٛک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اَیڈَل (بی ٹی ایس بٲتھ)]] - ([[Special:Diff/148376|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[بَٹَر]] - ([[Special:Diff/148377|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[وَن ڈایریکشن]] - ([[Special:Diff/148378|فَرَق]]) ====
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
==== [[ٹیلَر سٕوِفٹ]] - ([[Special:Diff/148379|فَرَق]]) ====
# <nowiki> == زٲتی زِندگی == </nowiki><b> -> </b><nowiki>== ذٲتی زِندگی ==</nowiki>
# <nowiki> ر. </nowiki><b> -> </b><nowiki>ر۔</nowiki>
==== [[یوٗکٔلیلی]] - ([[Special:Diff/148380|فَرَق]]) ====
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[گلین ہنسارڈ]] - ([[Special:Diff/148381|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠیا</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ر. </nowiki><b> -> </b><nowiki>ر۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[لیبرٛون جیمز]] - ([[Special:Diff/148382|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیدائش </nowiki><b> -> </b><nowiki>پٲدٲیِش</nowiki>
# <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[2014 ہِندوستٲنؠ عام چُناو جۆم تہٕ کٔشیٖر مَنٛز]] - ([[Special:Diff/148383|فَرَق]]) ====
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[2026 برٛاڈ تیٖنٛتول شیٖنہٕ مٲنؠ]] - ([[Special:Diff/148384|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[سانٛگُر]] - ([[Special:Diff/148385|فَرَق]]) ====
# <nowiki> سہُ </nowiki><b> -> </b><nowiki>سُہ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ؠ. </nowiki><b> -> </b><nowiki>ؠ۔</nowiki>
==== [[سانٛگٕرؠ زان]] - ([[Special:Diff/148386|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اندرونی </nowiki><b> -> </b><nowiki>اۆنٛدروٗنی</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پأنٹھ </nowiki><b> -> </b><nowiki>پٲٹھؠ</nowiki>
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> ٹیلی ویژنس </nowiki><b> -> </b><nowiki>ٹیلی وِجنس</nowiki>
# <nowiki> چھے </nowiki><b> -> </b><nowiki>چھےٚ</nowiki>
# <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> ضروری </nowiki><b> -> </b><nowiki>ضۆروٗری</nowiki>
# <nowiki> قائم </nowiki><b> -> </b><nowiki>قٲیِم</nowiki>
# <nowiki> کرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مقبول </nowiki><b> -> </b><nowiki>مَقبوٗل</nowiki>
# <nowiki> وقت </nowiki><b> -> </b><nowiki>وَقٕت</nowiki>
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئین </nowiki><b> -> </b><nowiki>ئین</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اَوَستٲیی زَبان]] - ([[Special:Diff/148387|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[پٲکِستانِچ تَوٲریٖخ]] - ([[Special:Diff/148388|فَرَق]]) ====
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠیاہُک</nowiki>
# <nowiki> یِہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[ہِندوستانٕچ تَوٲریٖخ]] - ([[Special:Diff/148389|فَرَق]]) ====
# <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠیاہُک</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یِہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[علی اصغر]] - ([[Special:Diff/148390|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۅ </nowiki><b> -> </b><nowiki>ۄ</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[2024 ہِندوستٲنؠ عام چُناو لَداخس مَنٛز]] - ([[Special:Diff/148391|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[2019 ہِندوستٲنؠ عام چُناو جۆم تہٕ کٔشیٖر مَنٛز]] - ([[Special:Diff/148392|فَرَق]]) ====
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[صۆوُر، سِریٖنَگَر]] - ([[Special:Diff/148393|فَرَق]]) ====
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[نوشہرہ، جۆم تہٕ کٔشیٖر]] - ([[Special:Diff/148394|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> بھارتی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> ضلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[رَوِنٛدَر رینا]] - ([[Special:Diff/148395|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
==== [[تقریری]] - ([[Special:Diff/148396|فَرَق]]) ====
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
==== [[2026 بَنٛگلہ دیٖشی عام چُناو]] - ([[Special:Diff/148397|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki>
# <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠیاہُک</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[ہٲنٛگنین]] - ([[Special:Diff/148398|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[کنہِ گاو]] - ([[Special:Diff/148399|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اندرونی </nowiki><b> -> </b><nowiki>اۆنٛدروٗنی</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[کووِڈ-19 عالمی وبا]] - ([[Special:Diff/148400|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[ڈوروتھی ایڈی]] - ([[Special:Diff/148401|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==7-8-2026==
==== [[الیگزینڈر ژُلُکِدزے]] - ([[Special:Diff/148593|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سماجی </nowiki><b> -> </b><nowiki>سَمٲجی</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[نِکولا ژولوف]] - ([[Special:Diff/148594|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[اِشفاق احمد]] - ([[Special:Diff/148596|فَرَق]]) ====
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> کِھ </nowiki><b> -> </b><nowiki>کھِ</nowiki>
==== [[رُم گٔیَم شیٖشس بیٚگُر گۆوا بانہٕ میٛون]] - ([[Special:Diff/148597|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[سٹرٛابیری فیٖلڈز فارایوَر]] - ([[Special:Diff/148598|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> دِینہٕ </nowiki><b> -> </b><nowiki>دِنہٕ</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
==== [[سٕپایڈَر-مین: برٛینٛڈ نِو ڈے]] - ([[Special:Diff/148599|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> دُنیا </nowiki><b> -> </b><nowiki>دُنؠیا</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> فِلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> ٚ. </nowiki><b> -> </b><nowiki>ٚ۔</nowiki>
# <nowiki> مِہ </nowiki><b> -> </b><nowiki>مہِ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[نِشان صاحب]] - ([[Special:Diff/148600|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki>
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> {{Databox}} </nowiki><b> -> </b><nowiki>{{مولوٗماتھ}}</nowiki>
==== [[نِو یارٕک یوٗنِوَرسِٹی]] - ([[Special:Diff/148601|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[لَولی (بِلی اَیلِش تہٕ خالِد سُنٛد بٲتھ)]] - ([[Special:Diff/148603|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[سانٛگٕرؠ زان]] - ([[Special:Diff/148604|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==8-8-2026==
==== [[لِمونیٖن]] - ([[Special:Diff/148754|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[120]] - ([[Special:Diff/148755|فَرَق]]) ====
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[بادُر ژُلادزے]] - ([[Special:Diff/148756|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ژومون لِنٛگ]] - ([[Special:Diff/148757|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ُ. </nowiki><b> -> </b><nowiki>ُ۔</nowiki>
==== [[دپشکھا رائ]] - ([[Special:Diff/148758|فَرَق]]) ====
# <nowiki> ابتدائی </nowiki><b> -> </b><nowiki>اِبتدٲیی</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> حاصل </nowiki><b> -> </b><nowiki>حٲصِل</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سٕند </nowiki><b> -> </b><nowiki>سٟنٛد</nowiki>
# <nowiki> شاعر </nowiki><b> -> </b><nowiki>شٲیِر</nowiki>
# <nowiki> شامل </nowiki><b> -> </b><nowiki>شٲمِل</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مشہور </nowiki><b> -> </b><nowiki>مَشہوٗر</nowiki>
# <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ٹاٹا نینو]] - ([[Special:Diff/148759|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[سیمسَنٛگ گیٚلیکسی زی فلولڈ 8]] - ([[Special:Diff/148760|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> دنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki>
# <nowiki> ورژنَس </nowiki><b> -> </b><nowiki>ؤرجنَس</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[رومن رینٚجٕس]] - ([[Special:Diff/148761|فَرَق]]) ====
# <nowiki> ھ. </nowiki><b> -> </b><nowiki>ھ۔</nowiki>
# <nowiki> شٕہ </nowiki><b> -> </b><nowiki>شہٕ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
==== [[اعصام الحق قُریشی]] - ([[Special:Diff/148762|فَرَق]]) ====
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[پیڈری]] - ([[Special:Diff/148763|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> دنیاہٕک </nowiki><b> -> </b><nowiki>دُنؠیاہٕک</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[نِشان صاحب]] - ([[Special:Diff/148764|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==9-8-2026==
==== [[پرمین]] - ([[Special:Diff/148840|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> شائع </nowiki><b> -> </b><nowiki>شایَع</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[کٔلیوپیٹرا]] - ([[Special:Diff/148841|فَرَق]]) ====
# <nowiki> دعویٰ </nowiki><b> -> </b><nowiki>دعوا</nowiki>
# <nowiki> ئین </nowiki><b> -> </b><nowiki>ئین</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[بز آلڈرن]] - ([[Special:Diff/148842|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ٹ. </nowiki><b> -> </b><nowiki>ٹ۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[لُژک]] - ([[Special:Diff/148843|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ز. </nowiki><b> -> </b><nowiki>ز۔</nowiki>
==== [[بویِنٛگ 777]] - ([[Special:Diff/148844|فَرَق]]) ====
# <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠیاہُک</nowiki>
# <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ل. </nowiki><b> -> </b><nowiki>ل۔</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[بویِنٛگ]] - ([[Special:Diff/148845|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[بویِنٛگ کرِٛو فٕلایِٹ ٹؠسٹ]] - ([[Special:Diff/148846|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوب </nowiki><b> -> </b><nowiki>جۆنوٗب</nowiki>
# <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[بیری وِلمور]] - ([[Special:Diff/148847|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> لِہ </nowiki><b> -> </b><nowiki>لہِ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[اینیس کینٹر فرٛیڈم]] - ([[Special:Diff/148848|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> انسانی </nowiki><b> -> </b><nowiki>اِنسٲنی</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[عَلی ظَفَر]] - ([[Special:Diff/148849|فَرَق]]) ====
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
==== [[دپشکھا رائ]] - ([[Special:Diff/148850|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==10-8-2026==
==== [[وایلِن]] - ([[Special:Diff/148935|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[انیتا ژوے]] - ([[Special:Diff/148936|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[وَن پیٖس]] - ([[Special:Diff/148937|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> شائع </nowiki><b> -> </b><nowiki>شایَع</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[عَلا دیٖن]] - ([[Special:Diff/148938|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مجموعس </nowiki><b> -> </b><nowiki>سۆمبرُنس</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[نِنٛجا ہَتوڑی]] - ([[Special:Diff/148939|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> و. </nowiki><b> -> </b><nowiki>و۔</nowiki>
==== [[پوکیمون]] - ([[Special:Diff/148940|فَرَق]]) ====
# <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[کرٛیٚیون شِن چین]] - ([[Special:Diff/148941|فَرَق]]) ====
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
==== [[ڈوریمون]] - ([[Special:Diff/148942|فَرَق]]) ====
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> ُ. </nowiki><b> -> </b><nowiki>ُ۔</nowiki>
==== [[ژُتومو شِبایاما]] - ([[Special:Diff/148943|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki>
# <nowiki> ٹیلی ویژنُک </nowiki><b> -> </b><nowiki>ٹیلی وِجنُک</nowiki>
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[مکہ اِکوَٹ بچاو معاہدٕ]] - ([[Special:Diff/148944|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==11-8-2026==
==== [[رنبیٖر کٔپوٗر]] - ([[Special:Diff/149011|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> دُنیا </nowiki><b> -> </b><nowiki>دُنؠیا</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[سنجے دَت]] - ([[Special:Diff/149012|فَرَق]]) ====
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> مخالف </nowiki><b> -> </b><nowiki>مُخٲلِف</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
==== [[میری کوم]] - ([[Special:Diff/149013|فَرَق]]) ====
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠیاہک</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> کَھ </nowiki><b> -> </b><nowiki>کھَ</nowiki>
# <nowiki> چِہ </nowiki><b> -> </b><nowiki>چہِ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ثانیہ مرزا]] - ([[Special:Diff/149014|فَرَق]]) ====
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> جِہ </nowiki><b> -> </b><nowiki>جہِ</nowiki>
# <nowiki> ٘ </nowiki><b> -> </b><nowiki>ٚ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[2026 کولمبیا بُنیُل]] - ([[Special:Diff/149015|فَرَق]]) ====
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[جماد عثمان]] - ([[Special:Diff/149016|فَرَق]]) ====
# <nowiki> سہُ </nowiki><b> -> </b><nowiki>سُہ</nowiki>
# <nowiki> سرکاری </nowiki><b> -> </b><nowiki> سرکاری</nowiki>
# <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ہٕنز </nowiki><b> -> </b><nowiki>ہٕنٛز</nowiki>
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[کیپٹن ژُباسا]] - ([[Special:Diff/149017|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> دنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[صوفیہ (روبوٹ)]] - ([[Special:Diff/149018|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> انسانی </nowiki><b> -> </b><nowiki>اِنسٲنی</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> کٔرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki>
# <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[مایِنکرٛافٹ]] - ([[Special:Diff/149019|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> تعاون </nowiki><b> -> </b><nowiki>سہکٲری</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[روبلوکس]] - ([[Special:Diff/149020|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠیا</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==12-8-2026==
==== [[کرگِل جَنٛگ]] - ([[Special:Diff/149121|فَرَق]]) ====
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[مِنٛگ خاندان]] - ([[Special:Diff/149122|فَرَق]]) ====
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> دارالحکومت </nowiki><b> -> </b><nowiki>رازدٲنؠ</nowiki>
# <nowiki> مَنز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یِہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یِہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
==== [[شوٗش]] - ([[Special:Diff/149123|فَرَق]]) ====
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> گ. </nowiki><b> -> </b><nowiki>گ۔</nowiki>
==== [[لویی ویٹون]] - ([[Special:Diff/149124|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دُنیاہٕکؠ </nowiki><b> -> </b><nowiki>دُنؠیاہٕکؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> قۭمتی </nowiki><b> -> </b><nowiki>قٟمتی</nowiki>
# <nowiki> لگژری </nowiki><b> -> </b><nowiki>لَگجَری</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ِ. </nowiki><b> -> </b><nowiki>ِ۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[1964 الاسکا بُنیُل]] - ([[Special:Diff/149125|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki>
# <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
==== [[اورینٹل ایکسپریس]] - ([[Special:Diff/149126|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==13-8-2026==
==== [[صادیا]] - ([[Special:Diff/149205|فَرَق]]) ====
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[بٔڑ سفید شارٕک]] - ([[Special:Diff/149206|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki>
# <nowiki> انواع </nowiki><b> -> </b><nowiki>زٲژ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مجموعو </nowiki><b> -> </b><nowiki>سۆمبرُنو</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[پی این ایس ہَنٛگور (ایس131)]] - ([[Special:Diff/149207|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[سعدی شیرازی]] - ([[Special:Diff/149208|فَرَق]]) ====
# <nowiki> تِہ </nowiki><b> -> </b><nowiki>تہِ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اَے این ایس وِکرانٛت (1961)]] - ([[Special:Diff/149209|فَرَق]]) ====
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> جنگ </nowiki><b> -> </b><nowiki>جَنٛگ</nowiki>
# <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[فرٛانٛسُک ؤزیٖرِ اعظم]] - ([[Special:Diff/149210|فَرَق]]) ====
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[2024 فرٛانٛسی قونوٗن ساز چُناو]] - ([[Special:Diff/149211|فَرَق]]) ====
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئیل </nowiki><b> -> </b><nowiki>ئیل</nowiki>
==== [[ونہِ وار]] - ([[Special:Diff/149212|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[زُوٕلؠ]] - ([[Special:Diff/149213|فَرَق]]) ====
# <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
==== [[گاشِرؠ مِلوَن]] - ([[Special:Diff/149214|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[وُڈٕر]] - ([[Special:Diff/149215|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[2025 سیبو بُنیُل]] - ([[Special:Diff/149216|فَرَق]]) ====
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[چِنٛگ خاندان]] - ([[Special:Diff/149217|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> جنگس </nowiki><b> -> </b><nowiki>جَنٛگس</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> قائم </nowiki><b> -> </b><nowiki>قٲیِم</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ژولا ڈرٛیگویچیوا]] - ([[Special:Diff/149218|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==14-8-2026==
==== [[پورٹو ریکو]] - ([[Special:Diff/149378|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دارالحکومت </nowiki><b> -> </b><nowiki>رازدٲنؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[پرِٛچارڈ کولون]] - ([[Special:Diff/149379|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki>
# <nowiki> کٔرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[پلوٗٹو]] - ([[Special:Diff/149380|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[مادیرا دٔرؠیاو]] - ([[Special:Diff/149381|فَرَق]]) ====
# <nowiki> معاون </nowiki><b> -> </b><nowiki>سہارٕ</nowiki>
# <nowiki> محیط </nowiki><b> -> </b><nowiki>پھٔہلِتھ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ایمیزون دٔرؠیاو]] - ([[Special:Diff/149382|فَرَق]]) ====
# <nowiki> دُنیاہک </nowiki><b> -> </b><nowiki>دُنؠیاہک</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ایٚٹلانٛٹِک سۆدُر]] - ([[Special:Diff/149383|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠیا</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مربع </nowiki><b> -> </b><nowiki>چَکور</nowiki>
# <nowiki> محیط </nowiki><b> -> </b><nowiki>پھٔہلِتھ</nowiki>
==== [[ہیمِش ہارڈِنٛگ]] - ([[Special:Diff/149384|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ٹایٹن آبدوٗزُک پھَٹُن]] - ([[Special:Diff/149385|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[12 اگست 2026وُک گرٛؠہنہٕ ماتھ]] - ([[Special:Diff/149386|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ووییجر 2]] - ([[Special:Diff/149387|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[وَرُن]] - ([[Special:Diff/149388|فَرَق]]) ====
# <nowiki> ٹِھ </nowiki><b> -> </b><nowiki>ٹھِ</nowiki>
==== [[کنہٕ]] - ([[Special:Diff/149389|فَرَق]]) ====
# <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
# فرما ہَٹاوَن
==== [[ازلہٕ گرٛیٚنؠ]] - ([[Special:Diff/149390|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> س. </nowiki><b> -> </b><nowiki>س۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[پال-ہیٚنری نرجولیٹ]] - ([[Special:Diff/149391|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[جادٕ شيٖر]] - ([[Special:Diff/149392|فَرَق]]) ====
# <nowiki> د. </nowiki><b> -> </b><nowiki>د۔</nowiki>
==== [[نبہٕ دۆنٛد]] - ([[Special:Diff/149393|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[مال تار واو]] - ([[Special:Diff/149394|فَرَق]]) ====
# <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki>
# <nowiki> جنوب </nowiki><b> -> </b><nowiki>جۆنوٗب</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[بَمَنٛز رٕکھ]] - ([[Special:Diff/149395|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[شہزادہ داوُد]] - ([[Special:Diff/149396|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
==== [[سٹاکٹن رش]] - ([[Special:Diff/149397|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[نوبَل یَنام یافتہٕ مُسلمانَن ہٕنٛز فِہرِست]] - ([[Special:Diff/149398|فَرَق]]) ====
# <nowiki> گۄڈنیُٛک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ونہِ وار]] - ([[Special:Diff/149399|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[چِنٛگ خاندان]] - ([[Special:Diff/149400|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[ژولا ڈرٛیگویچیوا]] - ([[Special:Diff/149401|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==15-8-2026==
==== [[کیپلر-452بی]] - ([[Special:Diff/149470|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[یوٗری ژُنیماژُ]] - ([[Special:Diff/149471|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
==== [[12 اگست 2026وُک گرٛؠہنہٕ ماتھ]] - ([[Special:Diff/149472|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[جۆم تہٕ کٔشیٖر ہُنٛد نؠبٕرؠ خاکہٕ]] - ([[Special:Diff/149473|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki>
# <nowiki> مربع </nowiki><b> -> </b><nowiki>چَکور</nowiki>
# <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki>
# <nowiki> وقت </nowiki><b> -> </b><nowiki>وَقٕت</nowiki>
# <nowiki> ہندوستانی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
==== [[جموں اینٛڈ کشمیر سٹیٹ ویجیلنس کمیشن]] - ([[Special:Diff/149474|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki>
# <nowiki> خلاف </nowiki><b> -> </b><nowiki>خَلاف</nowiki>
# <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ایٚلیکس ڈی مِنور]] - ([[Special:Diff/149475|فَرَق]]) ====
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
==== [[حسن پایکر]] - ([[Special:Diff/149476|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> تنقید </nowiki><b> -> </b><nowiki>تَنقیٖد</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئیل </nowiki><b> -> </b><nowiki>ئیل</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[2026 نیٖٹ تنازٕ]] - ([[Special:Diff/149477|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> تعلیم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki>
# <nowiki> تنقید </nowiki><b> -> </b><nowiki>تَنقیٖد</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ووییجر 2]] - ([[Special:Diff/149478|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[ازلہٕ گرٛیٚنؠ]] - ([[Special:Diff/149479|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[پال-ہیٚنری نرجولیٹ]] - ([[Special:Diff/149480|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[مال تار واو]] - ([[Special:Diff/149481|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==16-8-2026==
==== [[ایرِک ژٕنٛگ]] - ([[Special:Diff/149532|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[بَکِنٛگھَم میٚحل]] - ([[Special:Diff/149533|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ڈوایِٹ مُحمد قَوی]] - ([[Special:Diff/149534|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[مَیانمار خانہٕ جَنٛگی (2021-ازکال)]] - ([[Special:Diff/149535|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اندروٗنی </nowiki><b> -> </b><nowiki>اۆنٛدروٗنی</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> ضِلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> گھر </nowiki><b> -> </b><nowiki>گرٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[لاو اَن]] - ([[Special:Diff/149536|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[چوٗ رونٛگجی]] - ([[Special:Diff/149537|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[کیپلر خلٲیی دوٗربیٖن]] - ([[Special:Diff/149538|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جۆم تہٕ کٔشیٖر ہُنٛد نؠبٕرؠ خاکہٕ]] - ([[Special:Diff/149539|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==17-8-2026==
==== [[ایتھنز]] - ([[Special:Diff/149615|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠیاہک</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
==== [[جوب دٔرؠیاو]] - ([[Special:Diff/149616|فَرَق]]) ====
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[خیبر پختونخوا]] - ([[Special:Diff/149617|فَرَق]]) ====
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[جوب]] - ([[Special:Diff/149618|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> ضِلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ٹِھ </nowiki><b> -> </b><nowiki>ٹھِ</nowiki>
==== [[جاں بدیٚل بۄکاسا]] - ([[Special:Diff/149619|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> قائم </nowiki><b> -> </b><nowiki>قٲیِم</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[جا جا گیبور]] - ([[Special:Diff/149620|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[2013 پٲکِستٲنؠ عام چُناو]] - ([[Special:Diff/149621|فَرَق]]) ====
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جیسن آرڈے]] - ([[Special:Diff/149622|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> تعلیٖم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki>
# <nowiki> کٔرۍمٕتۍ </nowiki><b> -> </b><nowiki>کٔرؠمٕتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[جۆم تہٕ کٔشیٖر مَنٛز سِیاسَتھ]] - ([[Special:Diff/149623|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> علاقہ </nowiki><b> -> </b><nowiki>علاقہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[گگن دھاون]] - ([[Special:Diff/149624|فَرَق]]) ====
# <nowiki> ابتدائی </nowiki><b> -> </b><nowiki>اِبتدٲیی</nowiki>
# <nowiki> بھارتی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki>
# <nowiki> پیدائش </nowiki><b> -> </b><nowiki>پٲدٲیِش</nowiki>
# <nowiki> تعلیم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki>
# <nowiki> حاصل </nowiki><b> -> </b><nowiki>حٲصِل</nowiki>
# <nowiki> زیادہ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> شامل </nowiki><b> -> </b><nowiki>شٲمِل</nowiki>
# <nowiki> شائع </nowiki><b> -> </b><nowiki>شایَع</nowiki>
# <nowiki> قائم </nowiki><b> -> </b><nowiki>قٲیِم</nowiki>
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> محیط </nowiki><b> -> </b><nowiki>پھٔہلِتھ</nowiki>
# <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جۆم تہٕ کٔشیٖر نیشنل پینتھرس پارٹی]] - ([[Special:Diff/149625|فَرَق]]) ====
# <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠیاہُک</nowiki>
==== [[جۆم تہٕ کٔشیٖر ہُنٛد ہایی کورٹ]] - ([[Special:Diff/149626|فَرَق]]) ====
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[عبدُل رحیٖم رٲتھٕر (1944 مَنٛز زامُت)]] - ([[Special:Diff/149627|فَرَق]]) ====
# <nowiki> یونیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[آبروٗ (1968 فِلِم)]] - ([[Special:Diff/149628|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> گَھ </nowiki><b> -> </b><nowiki>گھَ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[جۆم تہٕ کٔشیٖر کؠن شہرن ہٕنٛز فِہرِست]] - ([[Special:Diff/149629|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مقامی </nowiki><b> -> </b><nowiki>مُقٲمی</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==18-8-2026==
==== [[یَشووَتی]] - ([[Special:Diff/149727|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہندوستٲنی </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ز. </nowiki><b> -> </b><nowiki>ز۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئید </nowiki><b> -> </b><nowiki>ئید</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[رینفے کٕلاس 252]] - ([[Special:Diff/149728|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ورژن </nowiki><b> -> </b><nowiki>ؤرجَن</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[زایرہ وسیم]] - ([[Special:Diff/149729|فَرَق]]) ====
# <nowiki> ==زٲتی زِندگی== </nowiki><b> -> </b><nowiki>== ذٲتی زِندگی ==</nowiki>
# <nowiki> {{Stub}} </nowiki><b> -> </b><nowiki>{{نامُکَمَل مَضموٗن}}</nowiki>
# <nowiki> {{Databox}} </nowiki><b> -> </b><nowiki>{{مولوٗماتھ}}</nowiki>
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[گیری اولٛڈمین]] - ([[Special:Diff/149730|فَرَق]]) ====
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki>
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
==== [[جَنٛگژھُن سِٹیشن]] - ([[Special:Diff/149731|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جاک دیریدا]] - ([[Special:Diff/149732|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پأنٹھ </nowiki><b> -> </b><nowiki>پٲٹھؠ</nowiki>
# <nowiki> تنقید </nowiki><b> -> </b><nowiki>تَنقیٖد</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[جاں پال سارترَٛ]] - ([[Special:Diff/149733|فَرَق]]) ====
# <nowiki> آزادی </nowiki><b> -> </b><nowiki> آزادی</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> انسانی </nowiki><b> -> </b><nowiki>اِنسٲنی</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[اسکا چیٛونٛگ]] - ([[Special:Diff/149734|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[پرٛانہِ کالُک مَندَر، لَدُو]] - ([[Special:Diff/149735|فَرَق]]) ====
# <nowiki> تِہ </nowiki><b> -> </b><nowiki>تہِ</nowiki>
==== [[2026 فلوریس بُنیُل]] - ([[Special:Diff/149736|فَرَق]]) ====
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[ہیڈن پینٹیٖیَر]] - ([[Special:Diff/149737|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[پرَٛسُن]] - ([[Special:Diff/149738|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
==== [[جَنٛگلی جانورن تہٕ کُلؠن کٹؠن ہٕنٛز خطرٕ زدٕ ژٲژ منٛز بین الاقوٲمی تِجارتُک معاہدٕ]] - ([[Special:Diff/149739|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[مَکاو]] - ([[Special:Diff/149740|فَرَق]]) ====
# <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠیاہک</nowiki>
# <nowiki> مربع </nowiki><b> -> </b><nowiki>چَکور</nowiki>
==== [[جاں بدیٚل بۄکاسا]] - ([[Special:Diff/149741|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==19-8-2026==
==== [[خانٛدَر]] - ([[Special:Diff/149830|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[عٔلمہِ آثار]] - ([[Special:Diff/149831|فَرَق]]) ====
# <nowiki> == حوالہٕ == </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[بَشرِیات]] - ([[Special:Diff/149832|فَرَق]]) ====
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
# <nowiki> تُھ </nowiki><b> -> </b><nowiki>تھُ</nowiki>
==== [[ریسٹورَنٹ]] - ([[Special:Diff/149833|فَرَق]]) ====
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[سَمواَن زَبان]] - ([[Special:Diff/149834|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
==== [[چو گوانیوٗ]] - ([[Special:Diff/149835|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جوسر سُنٛد اہرام]] - ([[Special:Diff/149836|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> گوڑنک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یِہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[چیٖنُک عٔظیٖم دؠوار]] - ([[Special:Diff/149837|فَرَق]]) ====
# <nowiki> دُنیاہک </nowiki><b> -> </b><nowiki>دُنؠیاہک</nowiki>
# <nowiki> یِہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[شِنجیٛانٛگ]] - ([[Special:Diff/149838|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دارالحکومت </nowiki><b> -> </b><nowiki>رازدٲنؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[سبزار بھٹ]] - ([[Special:Diff/149839|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[حَمیٖد گاڈٕ]] - ([[Special:Diff/149840|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اسلٲمی </nowiki><b> -> </b><nowiki>اِسلٲمی</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[2008 مُمبیی حملہٕ]] - ([[Special:Diff/149841|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اسلٲمی </nowiki><b> -> </b><nowiki>اِسلٲمی</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[گاو کاو (اِمتِحان)]] - ([[Special:Diff/149842|فَرَق]]) ====
# <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki>
# <nowiki> یوٗنیورسٹی </nowiki><b> -> </b><nowiki>یوٗنِوَرسِٹی</nowiki>
# <nowiki> ھ. </nowiki><b> -> </b><nowiki>ھ۔</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ایس ایم ایس شوابین]] - ([[Special:Diff/149843|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> معاون </nowiki><b> -> </b><nowiki>سہارٕ</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
==== [[لُوبنَا قرڈبہ]] - ([[Special:Diff/149844|فَرَق]]) ====
# <nowiki> چِہ </nowiki><b> -> </b><nowiki>چہِ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
==== [[راج ترنگنی]] - ([[Special:Diff/149845|فَرَق]]) ====
# <nowiki> اِستعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> پأنٹھ </nowiki><b> -> </b><nowiki>پٲٹھؠ</nowiki>
# <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki>
# <nowiki> سٕنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki>
# <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki>
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> مِہ </nowiki><b> -> </b><nowiki>مہِ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئیس </nowiki><b> -> </b><nowiki>ئیس</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جاک دیریدا]] - ([[Special:Diff/149846|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==== [[اسکا چیٛونٛگ]] - ([[Special:Diff/149847|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==20-8-2026==
==== [[ذاکِر رَشیٖد بھَٹ]] - ([[Special:Diff/149909|فَرَق]]) ====
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سٕندۍ </nowiki><b> -> </b><nowiki>سٟنٛدؠ</nowiki>
# <nowiki> ضِلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki>
# <nowiki> قتل </nowiki><b> -> </b><nowiki>قَتٕل</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ٕ. </nowiki><b> -> </b><nowiki>ٕ۔</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[وارفرین]] - ([[Special:Diff/149910|فَرَق]]) ====
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اولانزاپین]] - ([[Special:Diff/149911|فَرَق]]) ====
# <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[بسوپرولول]] - ([[Special:Diff/149912|فَرَق]]) ====
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
==== [[سیلاین]] - ([[Special:Diff/149913|فَرَق]]) ====
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[کیلامین]] - ([[Special:Diff/149914|فَرَق]]) ====
# <nowiki> تقریبا </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki>
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠیا</nowiki>
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ڈیکسٹرن 70]] - ([[Special:Diff/149915|فَرَق]]) ====
# <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠیا</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
==== [[ریٹینول]] - ([[Special:Diff/149916|فَرَق]]) ====
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[وٹامن سی]] - ([[Special:Diff/149917|فَرَق]]) ====
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[زیٛادٕ خوٗنُک دَباو]] - ([[Special:Diff/149918|فَرَق]]) ====
# <nowiki> اِستعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki>
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> نہَ </nowiki><b> -> </b><nowiki>نَہ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ایبولا]] - ([[Special:Diff/149919|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اِستعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki>
# <nowiki> معاون </nowiki><b> -> </b><nowiki>سہارٕ</nowiki>
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[نیپا وایرس انفیکشن]] - ([[Special:Diff/149920|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[میٚونٛد]] - ([[Special:Diff/149921|فَرَق]]) ====
# <nowiki> ابتدائی </nowiki><b> -> </b><nowiki>اِبتدٲیی</nowiki>
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ایم پوکس]] - ([[Special:Diff/149922|فَرَق]]) ====
# <nowiki> تقریبا </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki>
# <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[گلیوبلوسٹوما]] - ([[Special:Diff/149923|فَرَق]]) ====
# <nowiki> علاجس </nowiki><b> -> </b><nowiki>یَلاجس</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> محیط </nowiki><b> -> </b><nowiki>پھٔہلِتھ</nowiki>
==== [[بیلز فالج]] - ([[Special:Diff/149924|فَرَق]]) ====
# <nowiki> تقریبا </nowiki><b> -> </b><nowiki>تَقریٖبَن</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ۂٹؠ وِسُر]] - ([[Special:Diff/149925|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[واوٕ پتؠ]] - ([[Special:Diff/149926|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[شُتٕلؠ]] - ([[Special:Diff/149927|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[سٕٹیفانوس ژِژِپاس]] - ([[Special:Diff/149928|فَرَق]]) ====
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[پَنٛچترنی]] - ([[Special:Diff/149929|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> میٹر </nowiki><b> -> </b><nowiki>میٖٹَر</nowiki>
# <nowiki> میل </nowiki><b> -> </b><nowiki>میٖل</nowiki>
# <nowiki> معاون </nowiki><b> -> </b><nowiki>سہارٕ</nowiki>
# <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki>
# <nowiki> ٹِھ </nowiki><b> -> </b><nowiki>ٹھِ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[جۆم تہٕ کٔشیٖر ہُنٛد ٲییٖن]] - ([[Special:Diff/149930|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==21-8-2026==
==== [[2026 زیمبیا ہُک عام چُناو]] - ([[Special:Diff/150068|فَرَق]]) ====
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[زُبہٕ صأب]] - ([[Special:Diff/150069|فَرَق]]) ====
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki>
# <nowiki> ے. </nowiki><b> -> </b><nowiki>ے۔</nowiki>
# <nowiki> پٔھ </nowiki><b> -> </b><nowiki>پھٔ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[میرواعظ عمر فاروق]] - ([[Special:Diff/150070|فَرَق]]) ====
# <nowiki> کِہ </nowiki><b> -> </b><nowiki>کہِ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اشرف صحرایی]] - ([[Special:Diff/150071|فَرَق]]) ====
# <nowiki> تہ </nowiki><b> -> </b><nowiki>تہٕ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[2026 بَنٛگلہ دیٖشی صٔدرٲتی چُناو]] - ([[Special:Diff/150072|فَرَق]]) ====
# <nowiki> قائم </nowiki><b> -> </b><nowiki>قٲیِم</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ؤرۍ ین </nowiki><b> -> </b><nowiki>ؤرؠیَن</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
==== [[سَچِن بَنسَل]] - ([[Special:Diff/150073|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[سَید مُحَمَد عاصِم]] - ([[Special:Diff/150074|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[سنجے دھار]] - ([[Special:Diff/150075|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[رایزِنٛگ کشمیٖر]] - ([[Special:Diff/150076|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[شُجاعت بُخاری]] - ([[Special:Diff/150077|فَرَق]]) ====
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[شیخ سجاد گُل]] - ([[Special:Diff/150078|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[مُحَمَّد]] - ([[Special:Diff/150079|فَرَق]]) ====
# <nowiki> دنیاہس </nowiki><b> -> </b><nowiki>دُنؠیاہس</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[نمیرا سلیم]] - ([[Special:Diff/150080|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> حکوٗمت </nowiki><b> -> </b><nowiki>حوٚکوٗمَتھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[عبدالحمید خراسانی]] - ([[Special:Diff/150081|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[فاروق احمد ڈار]] - ([[Special:Diff/150082|فَرَق]]) ====
# <nowiki> ٹ. </nowiki><b> -> </b><nowiki>ٹ۔</nowiki>
==== [[رِیاض نایکوٗ]] - ([[Special:Diff/150083|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اسلٲمی </nowiki><b> -> </b><nowiki>اِسلٲمی</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ضلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==22-8-2026==
==== [[2024 پَنٛجاب صوٗبٲیی چُناو]] - ([[Special:Diff/150203|فَرَق]]) ====
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مشترکہ </nowiki><b> -> </b><nowiki>مُشتَرکہٕ</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> یِہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> مِہ </nowiki><b> -> </b><nowiki>مہِ</nowiki>
==== [[2023 کَرناٹَک قونوٗن ساز ایٚسمبلی چُناو]] - ([[Special:Diff/150204|فَرَق]]) ====
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> تنقید </nowiki><b> -> </b><nowiki>تَنقیٖد</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> خلاف </nowiki><b> -> </b><nowiki>خَلاف</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> کٔرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki>
# <nowiki> کرتھ </nowiki><b> -> </b><nowiki>کٔرِتھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مشترکہ </nowiki><b> -> </b><nowiki>مُشتَرکہٕ</nowiki>
# <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
==== [[پول دٟتھ]] - ([[Special:Diff/150205|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چھے </nowiki><b> -> </b><nowiki>چھےٚ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> خلاف </nowiki><b> -> </b><nowiki>خَلاف</nowiki>
# <nowiki> سٕنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki>
# <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki>
# <nowiki> صحیح </nowiki><b> -> </b><nowiki>صٔحیٖح</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> ہٕنز </nowiki><b> -> </b><nowiki>ہٕنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ہاکینٛڈے ہِچیلیما]] - ([[Special:Diff/150206|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[شَہَرِ خاص]] - ([[Special:Diff/150207|فَرَق]]) ====
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ڈیوِڈ بیکہم]] - ([[Special:Diff/150208|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[1999 ہِندوستٲنؠ عام چُناو جۆم تہٕ کٔشیٖر مَنٛز]] - ([[Special:Diff/150209|فَرَق]]) ====
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[2004 ہِندوستٲنؠ عام چُناو جۆم تہٕ کٔشیٖر مَنٛز]] - ([[Special:Diff/150210|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[کیپلر-20ایٚف]] - ([[Special:Diff/150211|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[بِشَن ناراین ڈار]] - ([[Special:Diff/150212|فَرَق]]) ====
# <nowiki> تعلیٖم </nowiki><b> -> </b><nowiki>تٲلیٖم</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ؤرۍ یہِ </nowiki><b> -> </b><nowiki>ؤرؠیہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ناصِر اسلم وانی]] - ([[Special:Diff/150213|فَرَق]]) ====
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[أمرا کٔدٕل ایٚسمبلی حلقہٕ]] - ([[Special:Diff/150214|فَرَق]]) ====
# <nowiki> چٕھ </nowiki><b> -> </b><nowiki>چھٕ</nowiki>
==== [[اَنمول پُشجے گوئل]] - ([[Special:Diff/150215|فَرَق]]) ====
# <nowiki> بھارت </nowiki><b> -> </b><nowiki>ہِندوستان</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==23-8-2026==
==== [[فیصل ممتاز راٹھور]] - ([[Special:Diff/150259|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[خانٕقاہ معلیٰ]] - ([[Special:Diff/150260|فَرَق]]) ====
# <nowiki> ؤ </nowiki><b> -> </b><nowiki>و</nowiki>
==== [[رایِن تھامَس وایِٹ]] - ([[Special:Diff/150261|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ؠ مٕتؠ </nowiki><b> -> </b><nowiki>ؠمٕتؠ</nowiki>
==== [[آزاد کٔشیٖر ہُنٛد ؤزیٖرِ اعظم]] - ([[Special:Diff/150262|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
==== [[کرِستوفَر مونیوز]] - ([[Special:Diff/150263|فَرَق]]) ====
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اووَل آفِس]] - ([[Special:Diff/150264|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوب </nowiki><b> -> </b><nowiki>جۆنوٗب</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> سٕنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[نٹالی ہارپ]] - ([[Special:Diff/150265|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> معاون </nowiki><b> -> </b><nowiki>سہارٕ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئین </nowiki><b> -> </b><nowiki>ئین</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[کیپلر-20ایٚف]] - ([[Special:Diff/150266|فَرَق]]) ====
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
==24-8-2026==
==== [[ایش کیچم]] - ([[Special:Diff/150349|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سٕنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
==== [[پِکاچوٗ]] - ([[Special:Diff/150350|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ڈرٛیکو مالفاے]] - ([[Special:Diff/150351|فَرَق]]) ====
# <nowiki> سہُ </nowiki><b> -> </b><nowiki>سُہ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
==== [[روبیوس ہیٛگرِڈ]] - ([[Special:Diff/150352|فَرَق]]) ====
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[سِرِیَس بلیک]] - ([[Special:Diff/150353|فَرَق]]) ====
# <nowiki> سٕندؠ </nowiki><b> -> </b><nowiki>سٟنٛدؠ</nowiki>
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[مِنروا میک گوناگل]] - ([[Special:Diff/150354|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[البس ڈَمبَلڈور]] - ([[Special:Diff/150355|فَرَق]]) ====
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> ورژن </nowiki><b> -> </b><nowiki>ؤرجَن</nowiki>
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[لارٛڈ وولڈیمورٛٹ]] - ([[Special:Diff/150356|فَرَق]]) ====
# <nowiki> ہنز </nowiki><b> -> </b><nowiki>ہِنٛز</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ہرماینی گِرٛنجر]] - ([[Special:Diff/150358|فَرَق]]) ====
# <nowiki> مدد </nowiki><b> -> </b><nowiki>مَدَتھ</nowiki>
# <nowiki> ورژنن </nowiki><b> -> </b><nowiki>ؤرجنن</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ہیری پوٹر (کردار)]] - ([[Special:Diff/150359|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[مٔدنہٕ اَل]] - ([[Special:Diff/150360|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki>
# <nowiki> یِہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
==== [[کھایی]] - ([[Special:Diff/150361|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==25-8-2026==
==== [[کاے، ایٖران]] - ([[Special:Diff/150451|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ضلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki>
# <nowiki> ضلع </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مجموعی </nowiki><b> -> </b><nowiki>سۆمبرُنی</nowiki>
==== [[شَنٛگھاے]] - ([[Special:Diff/150452|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> دنیاہک </nowiki><b> -> </b><nowiki>دُنؠیاہک</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[فوٗ ژھونٛگ]] - ([[Special:Diff/150453|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> دسمبر </nowiki><b> -> </b><nowiki>دَسَمبَر</nowiki>
# <nowiki> سنز </nowiki><b> -> </b><nowiki>سٟنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مشہور </nowiki><b> -> </b><nowiki>مَشہوٗر</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> موسیقی </nowiki><b> -> </b><nowiki>موٗسیٖقی</nowiki>
==== [[مَسعوٗد خان]] - ([[Special:Diff/150454|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اسلٲمی </nowiki><b> -> </b><nowiki>اِسلٲمی</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جُلَے 2016 ہُک ڈھاکہ حملہٕ]] - ([[Special:Diff/150455|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki>
# <nowiki> شُروٗع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئین </nowiki><b> -> </b><nowiki>ئین</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[1998 ہِندوستٲنؠ عام چُناو جۆم تہٕ کٔشیٖر مَنٛز]] - ([[Special:Diff/150456|فَرَق]]) ====
# <nowiki> فروری </nowiki><b> -> </b><nowiki>فَرؤری</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
==== [[لینَکس]] - ([[Special:Diff/150457|فَرَق]]) ====
# <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[2026 قازق قونوٗن ساز چُناو]] - ([[Special:Diff/150458|فَرَق]]) ====
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> گۄڈٕنیُک </nowiki><b> -> </b><nowiki>گۄڈنُیٛک</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> يٖ </nowiki><b> -> </b><nowiki>یٖ</nowiki>
==== [[مِکی ماوُس]] - ([[Special:Diff/150459|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> فلم </nowiki><b> -> </b><nowiki>فِلِم</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> نومبر </nowiki><b> -> </b><nowiki>نَوَمبَر</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==26-8-2026==
==== [[چیٹ جی پی ٹی]] - ([[Special:Diff/150506|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[جۆم تہٕ کٔشیٖر منٛز قومی اہمیتٕکین یادگارن ہُنٛد فہرست]] - ([[Special:Diff/150507|فَرَق]]) ====
# <nowiki> آئی </nowiki><b> -> </b><nowiki>اَے</nowiki>
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[مرکزی یوٗنِوَرسِٹی کشمیر]] - ([[Special:Diff/150508|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جۆم تہٕ کٔشیٖر منٛز رِیٲستی محفوٗظ یادگارن ہِنٛز فہرست]] - ([[Special:Diff/150509|فَرَق]]) ====
# <nowiki> آئی </nowiki><b> -> </b><nowiki>اَے</nowiki>
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[2006 کاتالونِیاہُک خۄدمۄختٲری حیثیتُک ریفرینڑم]] - ([[Special:Diff/150510|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> چِھ </nowiki><b> -> </b><nowiki>چھِ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شائع </nowiki><b> -> </b><nowiki>شایَع</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ۓ </nowiki><b> -> </b><nowiki>ۓ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ژٕکیمی]] - ([[Special:Diff/150511|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ستمبر </nowiki><b> -> </b><nowiki>سَتَمبَر</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[اَے او ایس]] - ([[Special:Diff/150512|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[مؠقناطیٖس تَصویٖر سٲزی]] - ([[Special:Diff/150513|فَرَق]]) ====
# <nowiki> ن. </nowiki><b> -> </b><nowiki>ن۔</nowiki>
==== [[ژوانا زَبان]] - ([[Special:Diff/150514|فَرَق]]) ====
# <nowiki> ِ. </nowiki><b> -> </b><nowiki>ِ۔</nowiki>
==== [[جۆم تہٕ کٔشیٖر ہُنٛد قونوٗن سٲزی ایٚسَمبلی]] - ([[Special:Diff/150515|فَرَق]]) ====
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> ریاست </nowiki><b> -> </b><nowiki>رِیاسَتھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[ڈولی پارٹن]] - ([[Special:Diff/150516|فَرَق]]) ====
# <nowiki> آئی </nowiki><b> -> </b><nowiki>اَے</nowiki>
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> انسان </nowiki><b> -> </b><nowiki>اِنسان</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> ٹیلی ویژنس </nowiki><b> -> </b><nowiki>ٹیلی وِجنس</nowiki>
# <nowiki> جنوری </nowiki><b> -> </b><nowiki>جَنؤری</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ساروی </nowiki><b> -> </b><nowiki>سارِوٕے</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> محیط </nowiki><b> -> </b><nowiki>پھٔہلِتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جُلَے 2016 ہُک ڈھاکہ حملہٕ]] - ([[Special:Diff/150517|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[1957 جۆم تہٕ کٔشیٖر قونوٗن ساز ایٚسمبلی چُناو]] - ([[Special:Diff/150518|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[2026 قازق قونوٗن ساز چُناو]] - ([[Special:Diff/150519|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[ایش کیچم]] - ([[Special:Diff/150520|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[پِکاچوٗ]] - ([[Special:Diff/150521|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[کرِستوفَر مونیوز]] - ([[Special:Diff/150522|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[2024 پَنٛجاب صوٗبٲیی چُناو]] - ([[Special:Diff/150523|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[2023 کَرناٹَک قونوٗن ساز ایٚسمبلی چُناو]] - ([[Special:Diff/150524|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[ہاکینٛڈے ہِچیلیما]] - ([[Special:Diff/150525|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[1999 ہِندوستٲنؠ عام چُناو جۆم تہٕ کٔشیٖر مَنٛز]] - ([[Special:Diff/150526|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[2004 ہِندوستٲنؠ عام چُناو جۆم تہٕ کٔشیٖر مَنٛز]] - ([[Special:Diff/150528|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[2009 ہِندوستٲنؠ عام چُناو جۆم تہٕ کٔشیٖر مَنٛز]] - ([[Special:Diff/150529|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[ہیڈن پینٹیٖیَر]] - ([[Special:Diff/150530|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[اَنمول پُشجے گوئل]] - ([[Special:Diff/150531|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[زُبہٕ صأب]] - ([[Special:Diff/150532|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[2024 اَمریٖکی صٔدرٲتی چُناو]] - ([[Special:Diff/150533|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[2008 جۆم تہٕ کٔشیٖر قونوٗن ساز ایٚسمبلی چُناو]] - ([[Special:Diff/150534|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[مُحَمَّد]] - ([[Special:Diff/150536|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[نمیرا سلیم]] - ([[Special:Diff/150537|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[کیلامین]] - ([[Special:Diff/150538|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[وٹامن سی]] - ([[Special:Diff/150539|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[ریبیز]] - ([[Special:Diff/150540|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[میٚونٛد]] - ([[Special:Diff/150541|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[ایم پوکس]] - ([[Special:Diff/150542|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[جۆم تہٕ کٔشیٖر قونوٗن ساز کونسل]] - ([[Special:Diff/150543|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[ایس ایم ایس شوابین]] - ([[Special:Diff/150544|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[راج ترنگنی]] - ([[Special:Diff/150545|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[یَشووَتی]] - ([[Special:Diff/150546|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[رینفے کٕلاس 252]] - ([[Special:Diff/150547|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[یونٲنی اَچھَر]] - ([[Special:Diff/150548|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[پٲکِستٲنؠ فوج]] - ([[Special:Diff/150549|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[جۆم تہٕ کٔشیٖر کؠن شہرن ہٕنٛز فِہرِست]] - ([[Special:Diff/150550|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[بَکِنٛگھَم میٚحل]] - ([[Special:Diff/150551|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[12 اگست 2026وُک گرٛؠہنہٕ ماتھ]] - ([[Special:Diff/150553|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[2024 فرٛانٛسی قونوٗن ساز چُناو]] - ([[Special:Diff/150554|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[2025 سیبو بُنیُل]] - ([[Special:Diff/150555|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[کرگِل جَنٛگ]] - ([[Special:Diff/150556|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[مِنٛگ خاندان]] - ([[Special:Diff/150557|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[1964 الاسکا بُنیُل]] - ([[Special:Diff/150558|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[سنجے دَت]] - ([[Special:Diff/150559|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[میری کوم]] - ([[Special:Diff/150560|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[ثانیہ مرزا]] - ([[Special:Diff/150562|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[جماد عثمان]] - ([[Special:Diff/150563|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[صوفیہ (روبوٹ)]] - ([[Special:Diff/150564|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[وایلِن]] - ([[Special:Diff/150565|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==== [[کٔلیوپیٹرا]] - ([[Special:Diff/150566|فَرَق]]) ====
# <nowiki> آی </nowiki><b> -> </b><nowiki>آے</nowiki>
==27-8-2026==
==== [[2026 نؠپالس مَنٛز سٔہلاب]] - ([[Special:Diff/150625|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> جنوبی </nowiki><b> -> </b><nowiki>جۆنوٗبی</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سٕتؠ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> وقت </nowiki><b> -> </b><nowiki>وَقٕت</nowiki>
# <nowiki> ہندوستٲنۍ </nowiki><b> -> </b><nowiki>ہِندوستٲنؠ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[اَلِف لیلہ]] - ([[Special:Diff/150626|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> شامل </nowiki><b> -> </b><nowiki>شٲمِل</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مجموعہ </nowiki><b> -> </b><nowiki>سۆمبرُن</nowiki>
# <nowiki> مجموعس </nowiki><b> -> </b><nowiki>سۆمبرُنس</nowiki>
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[کاژُر ہاپُتھ]] - ([[Special:Diff/150627|فَرَق]]) ====
# <nowiki> ==حوالہٕ== </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[چیٹ جی پی ٹی]] - ([[Special:Diff/150628|فَرَق]]) ====
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[جیٚمِنَے (چیٹ بوٹ)]] - ([[Special:Diff/150629|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ہیڈن پینٹیٖیَر]] - ([[Special:Diff/150630|فَرَق]]) ====
# <nowiki> اَی </nowiki><b> -> </b><nowiki>آے</nowiki>
==28-8-2026==
==== [[ہیٖرٕ]] - ([[Special:Diff/150685|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> بیاکھ </nowiki><b> -> </b><nowiki>بیٛاکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ہیرالڈ پوٗنٛژِم]] - ([[Special:Diff/150686|فَرَق]]) ====
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==== [[میٛوٛٹوٗ]] - ([[Special:Diff/150687|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> دُنیاہُک </nowiki><b> -> </b><nowiki>دُنؠیاہُک</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[راتکو ملادیچ]] - ([[Special:Diff/150688|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[سُلیمان]] - ([[Special:Diff/150689|فَرَق]]) ====
# <nowiki> سۭتہِ </nowiki><b> -> </b><nowiki>سٟتہِ</nowiki>
# <nowiki> سُند </nowiki><b> -> </b><nowiki>سُنٛد</nowiki>
# <nowiki> ئیل </nowiki><b> -> </b><nowiki>ئیل</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==29-8-2026==
==== [[نیٖلم]] - ([[Special:Diff/150754|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پیٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> دُنیاہَس </nowiki><b> -> </b><nowiki>دُنؠیاہَس</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سٍتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ہٕنز </nowiki><b> -> </b><nowiki>ہٕنٛز</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> یئ </nowiki><b> -> </b><nowiki>یئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[کؠرَن، نیٖلم وٲدی]] - ([[Special:Diff/150755|فَرَق]]) ====
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
==== [[پاڈَر]] - ([[Special:Diff/150756|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> پٮ۪ٹھ </nowiki><b> -> </b><nowiki>پؠٹھ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> ضِلعہٕ </nowiki><b> -> </b><nowiki>ضِلہٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[لیتھیم-ایان بیٹری]] - ([[Special:Diff/150757|فَرَق]]) ====
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ایورمیکٹن]] - ([[Special:Diff/150758|فَرَق]]) ====
# <nowiki> دنیا </nowiki><b> -> </b><nowiki>دُنؠیا</nowiki>
# <nowiki> علاج </nowiki><b> -> </b><nowiki>یَلاج</nowiki>
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ترکِچ زبان]] - ([[Special:Diff/150759|فَرَق]]) ====
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[زینون گیس ایم آر اَے]] - ([[Special:Diff/150760|فَرَق]]) ====
# <nowiki> کھوتہٕ </nowiki><b> -> </b><nowiki>کھۄتہٕ</nowiki>
# <nowiki> ٕ. </nowiki><b> -> </b><nowiki>ٕ۔</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[گرٛیفایِٹ]] - ([[Special:Diff/150761|فَرَق]]) ====
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> استعمال </nowiki><b> -> </b><nowiki>اِستِمال</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==30-8-2026==
==== [[جوفری باریٚتھِیَن]] - ([[Special:Diff/150832|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> امہ </nowiki><b> -> </b><nowiki>اَمہِ</nowiki>
# <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki>
# <nowiki> جنگ </nowiki><b> -> </b><nowiki>جَنٛگ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> زیادٕ </nowiki><b> -> </b><nowiki>زیٛادٕ</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ۭ </nowiki><b> -> </b><nowiki>ٟ</nowiki>
==== [[سِنٛدھ دٔرؠیاو]] - ([[Special:Diff/150833|فَرَق]]) ====
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
==== [[ویٖگ]] - ([[Special:Diff/150834|فَرَق]]) ====
# [[وِکیٖپیٖڈیا:حَوالہٕ|حَوالہٕ]] وَرٲے مَضموٗن ٹیگ کَران
==== [[اِنٛجیٖنَرِنٛگ]] - ([[Special:Diff/150835|فَرَق]]) ====
# <nowiki> کِھ </nowiki><b> -> </b><nowiki>کھِ</nowiki>
# <nowiki> لٕہ </nowiki><b> -> </b><nowiki>لہٕ</nowiki>
==== [[جون سنو (کِردار)]] - ([[Special:Diff/150836|فَرَق]]) ====
# <nowiki> اَی </nowiki><b> -> </b><nowiki>آے</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[ہاؤس آف دی ڈرٛیگن]] - ([[Special:Diff/150837|فَرَق]]) ====
# <nowiki> اً </nowiki><b> -> </b><nowiki>ن</nowiki>
# <nowiki> اتھ </nowiki><b> -> </b><nowiki>اَتھ</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> ٹیلی ویژن </nowiki><b> -> </b><nowiki>ٹیلی وِجَن</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مجموعہ </nowiki><b> -> </b><nowiki>سۆمبرُن</nowiki>
# <nowiki> یہ </nowiki><b> -> </b><nowiki>یہِ</nowiki>
# <nowiki> یتھ </nowiki><b> -> </b><nowiki>یَتھ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ۍ</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
# <nowiki> ٮ۪ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
==== [[ہوکون ٲٹھِم]] - ([[Special:Diff/150838|فَرَق]]) ====
# <nowiki> اگست </nowiki><b> -> </b><nowiki>اَگَست</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
==31-8-2026==
==== [[گُروِندر سِنٛگھ اوبراے]] - ([[Special:Diff/150900|فَرَق]]) ====
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
==== [[2018 پٲکِستٲنؠ عام چُناو]] - ([[Special:Diff/150901|فَرَق]]) ====
# <nowiki> آئی </nowiki><b> -> </b><nowiki>اَے</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> جولائی </nowiki><b> -> </b><nowiki>جُلَے</nowiki>
# <nowiki> سۭتۍ </nowiki><b> -> </b><nowiki>سٟتؠ</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[جۆم تہٕ کٔشیٖر مَنٛز راجیہ سبھا رُکنن ہِنٛز فہرست]] - ([[Special:Diff/150902|فَرَق]]) ====
# <nowiki> شروع </nowiki><b> -> </b><nowiki>شۆروٗع</nowiki>
# <nowiki> ہُند </nowiki><b> -> </b><nowiki>ہُنٛد</nowiki>
# <nowiki> ۍ </nowiki><b> -> </b><nowiki>ؠ</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[چیٖنی نۆو ؤری]] - ([[Special:Diff/150903|فَرَق]]) ====
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[یُنلِن کاؤنٹی]] - ([[Special:Diff/150904|فَرَق]]) ====
# <nowiki> مربع </nowiki><b> -> </b><nowiki>چَکور</nowiki>
==== [[چِیایی کاؤنٹی]] - ([[Special:Diff/150905|فَرَق]]) ====
# <nowiki> مربع </nowiki><b> -> </b><nowiki>چَکور</nowiki>
==== [[ڈرہم، شُمٲلی کیرولاینا]] - ([[Special:Diff/150906|فَرَق]]) ====
# <nowiki> ئے </nowiki><b> -> </b><nowiki>ئے</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[تایتُنٛگ کاؤنٹی]] - ([[Special:Diff/150907|فَرَق]]) ====
# <nowiki> مربع </nowiki><b> -> </b><nowiki>چَکور</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
# <nowiki> ئ </nowiki><b> -> </b><nowiki>ئ</nowiki>
==== [[کاوسیٛونٛگ]] - ([[Special:Diff/150908|فَرَق]]) ====
# <nowiki> پٮ۪ٹھٕ </nowiki><b> -> </b><nowiki>پؠٹھٕ</nowiki>
# <nowiki> مربع </nowiki><b> -> </b><nowiki>چَکور</nowiki>
# <nowiki> ئی </nowiki><b> -> </b><nowiki>ئی</nowiki>
==== [[ماژُموتو، ناگانو]] - ([[Special:Diff/150909|فَرَق]]) ====
# <nowiki> آبادی </nowiki><b> -> </b><nowiki>آبٲدی</nowiki>
# <nowiki> اکھ </nowiki><b> -> </b><nowiki>اَکھ</nowiki>
# <nowiki> چُھ </nowiki><b> -> </b><nowiki>چھُ</nowiki>
# <nowiki> شہر </nowiki><b> -> </b><nowiki>شَہَر</nowiki>
# <nowiki> گھرن </nowiki><b> -> </b><nowiki>گرن</nowiki>
# <nowiki> منٛز </nowiki><b> -> </b><nowiki>مَنٛز</nowiki>
# <nowiki> مربع </nowiki><b> -> </b><nowiki>چَکور</nowiki>
# <nowiki> مارچ </nowiki><b> -> </b><nowiki>مارٕچ</nowiki>
==== [[اِنٛجیٖنَرِنٛگ]] - ([[Special:Diff/150910|فَرَق]]) ====
# <nowiki> == حوالہٕ == </nowiki><b> -> </b><nowiki>== حَوالہٕ ==</nowiki>
r9g5lfmgqsm0bh1lwb8nsgnesg3bm2e
فیصل ممتاز راٹھور
0
32459
150943
150259
2026-09-01T05:56:17Z
SakuraBot
9889
[[وپ:باٹ|باٹ]] چھُ صَفَس زٲژ پؠٹھ کٲم کَران.
150943
wikitext
text/x-wiki
{{Infobox officeholder/Wikidata|noicon=Yes}}
'''راجہ فیصل ممتاز راٹھور''' (زامُت 11 اپریل 1978) چھُ اَکھ [[آزاد کٔشیٖر|آزاد کٔشیٖرِ]] ہُنٛد سِیاسَت دان یُس 17 نَوَمبَر 2025 پؠٹھٕ [[آزاد کٔشیٖر ہُنٛد ؤزیٖرِ اعظم|آزاد کٔشیٖرِ ہُنٛد ۱۶ ہِم ؤزیٖر اعظم]] سٕندِ حثیتہٕ خدمات اَنجام دِوان چھُ۔ سُہ چھُ [[پاکستان پیپلز پارٹی]] (پی پی پی) ہُک اَکھ سینیر رُکُن تہٕ امہِ برونٛہہ چھِ آزاد کشمیر حکومتَس مَنٛز واریاہَن وزارتی عۄہدن پؠٹھ فٲیدٕ حٲصِل کٔرمٕتؠ۔<ref>{{Cite web|last=Naqash|first=Tariq|date=2025-11-17|title=No-confidence ousts Haq in AJK; PPP's Rathore takes over premiership|url=https://www.dawn.com/news/1955629|access-date=2025-11-20|website=Dawn|language=en}}</ref><ref>{{Cite web|last=Naqash|first=Tariq|date=2025-11-17|title=No-confidence ousts Haq in AJK; PPP's Rathore takes over premiership|url=https://www.dawn.com/news/1955629|access-date=2025-11-20|website=Dawn|language=en}}</ref>
== حَوالہٕ ==
[[زٲژ:1978 پٲدٲیِش]]
[[زٲژ:آزاد کٔشیٖر ہِنٛدؠ سِیاسَتدان]]
[[زٲژ:زِنٛدٕ لوٗکھ]]
pouxdw09ms5egebwmvggv121agg5f5q
ماژُموتو، ناگانو
0
32556
150909
150846
2026-08-31T18:01:18Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150909
wikitext
text/x-wiki
{{Infobox settlement/Wikidata}}[[File:Matsumoto_City_Hall.jpg|thumb|ماژُموتو سِٹی ہال]]
ماژُموتو چھُ اَکھ شَہَر یُس [[ناگانو پرٛیفیکچر]]، [[جاپان|جاپانس]] مَنٛز واقعہٕ چھُ۔<ref>Nussbaum, Louis-Frédéric. (2005). [https://books.google.com/books?id=p2QnPijAEmEC&pg=PA618 "Maatsumoto"] in ''Japan Encyclopedia'', p. 618; [https://books.google.com/books?id=p2QnPijAEmEC&pg=PA126 "Chūbu"] at p. 126.</ref> ماژُموتو چھُ 1 اپریل 2021 پیٹھہٕ اَکھ بنیٲدی شَہَر قرار دِنہٕ آمُت۔ 1 مارٕچ 2019 تام، شہرچ آبٲدی ٲس 105,207 گرن مَنٛز 239,466 تہٕ آبٲدی ہنٛز کثافت ٲس 240 نفر فی کلومیٹر2۔ شہرُک کُل رۄقبہٕ چھُ 978.47 چَکور کلومیٹر (377.79 چَکور میٖل)۔
== حَوالہٕ ==
2cr4l56q4mwnz9s2fpo3wnsun7f7ayv
جۆم تہٕ کٔشیٖر مَنٛز راجیہ سبھا رُکنن ہِنٛز فہرست
0
32564
150902
150889
2026-08-31T18:00:43Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150902
wikitext
text/x-wiki
[[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جۆم تہٕ کٔشیٖر]] ہُنٛد مرکزی زیر انتظام علاقہٕ پیٹھٕ موجودٕ تہٕ پٔتِم راجیہ سبھا رکنَن ہُنٛد فہرِست۔ مرکز زیر انتظام علاقہٕ چھُ 6 ؤرؠ یَن ہٕنٛدِ کالہٕ خٲطرٕ 4 رُکنَن ہُنٛد چُناو کران تہٕ چھِ بالواسطہٕ [[جۆم تہٕ کٔشیٖر مَجلِسہِ قۄنوٗن سٲزی|جۆم تہٕ کٔشیٖر قونوٗن ساز اسمبلی]] ہٕنٛدِ رُکنَن ہٕنٛدِ دٔسؠ ژارنہٕ یِوان۔<ref name="rs-at-work">{{cite book|url=http://rajyasabha.nic.in/rsnew/rsat_work/main_rsatwork.asp|title=Rajya Sabha At Work|date=October 2006|publisher=Rajya Sabha Secretariat|edition=Second|location=New Delhi|page=24|accessdate=14 December 2015}}</ref>
== موجودٕ ممبَر ==
'''کُنٛز:'''
{{Party legend|Jammu & Kashmir National Conference|3}}
{{Party legend|Bharatiya Janata Party|1}}
{| class="wikitable sortable"
!#
! style="width:200px" |ناو<ref name="members">{{cite web|title=Statewise List|url=http://164.100.47.5/Newmembers/memberstatewise.aspx|website=164.100.47.5|accessdate=12 June 2016}}</ref>
! colspan="2" |پارٹی
!کال شۆروٗع
!کال مۄکلان
|-
|1
|[[سجاد احمد کِچلوٗ]]
|{{Party name with color|Jammu & Kashmir National Conference|rowspan=3}}
|25-اکتوبر-2025
|24-اکتوبر-2031
|-
|2
|[[چودھری مُحمد رمضان]]
|25-اکتوبر-2025
|24-اکتوبر-2031
|-
|3
|[[گُروِندر سِنٛگھ اوبراے]]
|25-اکتوبر-2025
|24-اکتوبر-2031
|-
|4
|[[ست پال شرما]]
|{{Party name with color|Bharatiya Janata Party}}
|25-اکتوبر-2025
|24-اکتوبر-2031
|-
|}
== جۆم تہٕ کٔشیٖر ریاستٕکؠ تمام راجیہ سبھا رکنَن ہُنٛد فہرست ==
''فہرست چھُ نامُکمل۔''
{| class="wikitable sortable"
!ناو
! colspan="2" |پارٹی
![[تقرری]] ہُنٛد تٲریخ
!ریٹایرمنٹُک تٲریخ
!کال
!نوٹ
|-
|[[فاروق عبدالله]]<ref name="oneindia-2009" />|| {{Party name with colour|Jammu & Kashmir National Conference}}
|30/11/2002
|29/11/2008<ref name="eci-2009" />
|1
|
|-
|[[فاروق عبدالله]]<ref name="oneindia-2009" />|| {{Party name with colour|Jammu & Kashmir National Conference}}
|30/11/2009
|29/11/2015
|2
|16/05/2009
|-
|[[تیرتھ رام املہ]]|| {{Party name with colour|Indian National Congress}}
|04/05/1967
|02/04/1970
|1
|bye 1967 res [[Ghulam Mohammad Mir|G Mir]]
|-
|[[تیرتھ رام املہ]]|| {{Party name with colour|Indian National Congress}}
|04/05/1970
|02/04/1976
|2
|
|-
|[[تیرتھ رام املہ]]|| {{Party name with colour|Indian National Congress}}
|04/05/1976
|02/04/1982
|3
|
|-
|[[تیرتھ رام املہ]]|| {{Party name with colour|Indian National Congress}}
|12/12/1985
|11/12/1991
|4
|
|-
|[[غۄلام نبی آزاد]]||{{Party name with colour|Indian National Congress}}
|30/11/1996
|29/11/2002
|2یِم
|MH 1990-1996
|-
|[[غۄلام نبی آزاد]]||{{Party name with colour|Indian National Congress}}
|30/11/2002
|29/11/2008
|3یِم
|Res.-29/04/2006- [[Chief Minister of Jammu and Kashmir|CM of JK]]
|-
|[[غۄلام نبی آزاد]]|| {{Party name with colour|Indian National Congress}}
|11/02/2009<ref name="oneindia-2009">{{cite news|title=Ghulam Nabi Azad and Saifuddin Soz elected for Rajya Sabha|url=http://www.oneindia.com/2009/02/06/ghulam-nabi-azad-and-saifuddin-soz-elected-for-rajya-sabha.html|accessdate=14 December 2015|publisher=OneIndia.com|date=6 February 2009}}</ref>
|10/02/2015
|4
|
|-
|[[غۄلام نبی آزاد]]|| {{Party name with colour|Indian National Congress}}
|16/02/2015
|15/02/2021
|5
|
|-
|[[ترلوک سِنگھ باجوا]]<ref name="oneindia-2009" />|| {{Party name with colour|Jammu and Kashmir People's Democratic Party}}
|26/11/2002
|25/11/2008<ref name="eci-2009" />
|1
|
|-
|[[ڈی پی دھار]]|| {{Party name with colour|Indian National Congress}}
|11/11/1972
|07/02/1975
|1
|Res. 07/02/1975, [[List of Ambassadors of India to Russia|Ambassador to USSR]]
|-
|[[کرشن دتہ]]|| {{Party name with colour|Other parties|shortname=OTH}}
|11/11/1960
|10/11/1966
|1
|
|-
|پنڈت [[ترلوچن دتہ]]|| {{Party name with colour|Indian National Congress}}
|11/11/1954
|10/11/1960
|1
|
|-
|[[خواجہ حکیم علی]]|| {{Party name with colour|Other parties|shortname=OTH}}
|22/08/1961
|02/04/1962
|1
|bye 1961 dea [[Syed Mohammad Jalali|Jalali]]
|-
|[[سید حُسین]]<ref name="rs-s">{{cite web|title=SYED HUSSAIN, SHR|url=http://rajyasabha.nic.in/rsnew/pre_member/1952_2003/s.pdf|publisher=Rajya Sabha Secretariat, New Delhi|accessdate=14 December 2015}}</ref>|| {{Party name with colour|Indian National Congress}}
|16/04/1968
|15/04/1974
|1
|Res 5/3/1974
|-
|[[راجندر پرشاد جین]]|| {{Party name with colour|Indian National Congress}}
|03/04/1988
|02/04/1994
|1
|LS 27/11/1989
|-
|[[سید مُحمد جلالی]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|03/04/1952
|02/04/1956
|1
|
|-
|[[سید مُحمد جلالی]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|03/04/1956
|02/04/1962
|2
|Death 22/02/1961
|-
|[[پیر مُحمد خان]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|03/04/1952
|02/04/1958
|1
|
|-
|[[پیر مُحمد خان]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|03/04/1958
|02/04/1962
|2
|
|-
|- style="background:#DBD7D2;"
|[[سجاد احمد کِچلوٗ]]|| {{Party name with colour|Jammu and Kashmir National Conference}}
|24/10/2025
|23/10/2031
|1
|*
|-
|[[نذیر احمد لاوَے]]|| {{Party name with colour|Jammu and Kashmir People's Democratic Party}}
|16/02/2015
|15/02/2021
|1
|
|-
|[[شمشیر سِنگھ منہاس]]|| {{Party name with colour|Bharatiya Janata Party}}
|11/02/2015
|10/02/2021
|1
|
|-
|[[غۄلام رسوٗل مٹوٗ]]|| {{Party name with colour|Other parties|shortname=OTH}}
|03/04/1982
|02/04/1988
|1
|
|-
|[[غۄلام رسوٗل مٹوٗ]]|| {{Party name with colour|Other parties|shortname=OTH}}
|03/04/1988
|02/04/1994
|2
|
|-
|[[اوم میٚہتا]]|| {{Party name with colour|Indian National Congress}}
|03/04/1964
|02/04/1970
|1
|
|-
|[[اوم میٚہتا]]|| {{Party name with colour|Indian National Congress}}
|03/04/1970
|02/04/1976
|2
|
|-
|[[اوم میٚہتا]]|| {{Party name with colour|Indian National Congress}}
|03/04/1976
|02/04/1982
|3
|
|-
|[[غۄلام مُحمد میٖر]]|| {{Party name with colour|Indian National Congress}}
|03/04/1964
|02/04/1970
|1
|Res.13/03/1967
|-
|[[فیاض احمد میٖر]]|| {{Party name with colour|Jammu and Kashmir People's Democratic Party}}
|11/02/2015
|10/02/2021
|1
|
|-
|[[اسلم چودھری مُحمد]]|| {{Party name with colour|Indian National Congress}}
|30/11/2002
|29/11/2008<ref name="eci-2009">{{cite web|title=Biennial Elections to the Council of States from the States of Jammu & Kashmir and Kerala,- Press Note dated 12 January 2009|url=http://ceojk.nic.in/pdf/council_of_states.pdf|publisher=ELECTION COMMISSION OF INDIA Nirvachan Sadan, Ashoka Road, New Delhi - 110 001|accessdate=14 December 2015}}</ref>
|1
|
|-
|[[سید نظام الدین]]
|
|JP
|16/04/1974
|15/04/1980
|1
|
|-
|- style="background:#DBD7D2;"
|[[گُروِندر سِنٛگھ اوبراے]]|| {{Party name with colour|Jammu and Kashmir National Conference}}
|24/10/2025
|23/10/2031
|1
|*
|-
|[[دھرم پال]]|| {{Party name with colour|Indian National Congress}}
|03/04/1988
|02/04/1994
|1
|LS 27/11/1989
|-
|[[اننت رام پنڈت]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|03/04/1952
|02/04/1954
|1
|
|-
|[[دھرم چندر پرشانت]]|| {{Party name with colour|Independent politician|shortname=IND}}
|03/04/1982
|02/04/1988
|1
|
|-
|[[سید میٖر قاسم]]|| {{Party name with colour|Indian National Congress}}
|29/07/1975
|10/11/1978
|1
|bye 1975 res [[D. P. Dhar|Dhar]]
|-
|[[مُحمد شفیع قریشی]]|| {{Party name with colour|Other parties|shortname=OTH}}
|01/05/1965
|30/04/1971
|1
|Res 23/1/1971 Elec LS- Anantnag
|-
|- style="background:#DBD7D2;"
|[[چودھری مُحمد رمضان]]|| {{Party name with colour|Jammu and Kashmir National Conference}}
|24/10/2025
|23/10/2031
|1
|*
|-
|[[مرزا عبدالرشید]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|29/03/2000
|29/11/2002
|1
|bye 2000 res Dr [[Karan Singh]]
|-
|[[جی این رتن پوری]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|04/08/2009
|15/02/2015
|1
|
|-
|[[شبیر احمد سلاریہ]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|27/09/1989
|21/10/1992
|1
|bye 1989 [[Mufti Mohammad Sayeed|Sayeed]]
|-
|[[مفتی مُحمد سعید]]|| {{Party name with colour|Indian National Congress}}
|22/10/1986
|21/10/1992
|1
|Disqual. 28/07/1989 UP 1992-96
|-
|[[مُحمد شفیع (سیاست دان)|مُحمد شفیع]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|16/02/2009
|15/02/2015
|1
|Res 12/1/2015
|-
|[[خواجہ مبارک شاہ]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|11/11/1978
|10/11/1984
|1
|Res 10/01/1980
Elected to LS, Baramulla
|-
|[[شریف الدین شاریق]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|02/04/1980
|10/11/1984
|1
|bye 1980 res [[Khwaja Mubarak Shah|Shah]]
|-
|[[شریف الدین شاریق]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|30/11/1996
|29/11/2002
|2
|Res 26/10/2002, JK Assembly
|-
|- style="background:#DBD7D2;"
|[[ست پال شرما]]|| {{Party name with colour|Bharatiya Janata Party}}
|24/10/2025
|23/10/2031
|1
|*
|-
|[[غۄلام محی الدین شال]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|16/04/1980
|15/04/1986
|1
|
|-
|سردار [[بُدھ سِنگھ]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|03/04/1952
|02/04/1958
|1
|
|-
|سردار [[بُدھ سِنگھ]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|03/04/1958
|02/04/1964
|2
|
|-
|ڈاکٹر [[کرن سِنگھ]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|30/11/1996
|29/11/2002
|1
|JK, Res 12/08/1999<ref name="r2000">{{cite web|title=Jethmalani, Kesri's RS term ends on April 2, 2000|url=https://www.rediff.com/news/2000/feb/28rspoll.htm|website=rediff.com|accessdate=2 August 2017}}</ref>
|-
|[[سیف الدین سوز]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|26/11/1996
|25/11/2002
|1
|10/03/1998
|-
|[[سیف الدین سوز]]<ref name="oneindia-2009" />|| {{Party name with colour|Indian National Congress}}
|30/11/2002
|29/11/2008<ref name="eci-2009" />
|2
|
|-
|[[سیف الدین سوز]]|| {{Party name with colour|Indian National Congress}}
|11/02/2009<ref name="oneindia-2009" />
|10/02/2015
|3
|
|-
|[[اے ایم طارق]]|| {{Party name with colour|Indian National Congress}}
|16/04/1962
|04/03/1965
|1
|Res.04/03/1965
|-
|[[اے ایم طارق]]|| {{Party name with colour|Indian National Congress}}
|04/05/1967
|15/04/1968
|2
|bye 1967
|-
|مولانا [[ایم طیب اللہ]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|03/04/1952
|02/04/1958
|1
|
|-
|مولانا [[ایم طیب اللہ]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|03/04/1958
|02/04/1964
|2
|
|-
|[[کُشوک تھکسے]]|| {{Party name with colour|Jammu & Kashmir National Conference}}
|08/04/1998
|25/11/2002
|1
|bye 1998 res [[سیف الدین سوز|سوز]]
|-
|[[غۄلام نبی اُنتو]]|| {{Party name with colour|Indian National Congress}}
|11/11/1966
|10/11/1972
|1
|
|-
|}
== حَوالہٕ ==
{{حَوالہٕ}}
== نؠبرِم کُنٛڈٕ ==
*[http://rajyasabha.nic.in Rajya Sabha homepage hosted by the Indian government]
*[https://web.archive.org/web/20140718152159/http://164.100.47.5/Newmembers/currentmpterms.aspx List of Sitting Members of Rajya Sabha (Term Wise) ]
*[http://164.100.47.5/NewMembers/RetLMemState.aspx MEMBERS OF RAJYA SABHA (STATE WISE RETIREMENT LIST) ]
[[زٲژ:جۆم تہٕ کٔشیٖر منٛز سِیاسَتھ]]
th0rlm3emqpcz6oi12d7kkbik72mhld
2018 پٲکِستٲنؠ عام چُناو
0
32568
150891
150890
2026-08-31T16:01:57Z
آیات محراج
11062
مِلاوُن [[زٲژ:پٲکِساتانس مَنٛز چُناو]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ
150891
wikitext
text/x-wiki
{{Infobox election}}
25 جولائی 2018 ہَس منٛز کٔر پٲکِستانَس منٛز عام چُناون منٛز [[عِمران خان]] سٕنٛدِس قیادتس منٛز [[پاکِستان تحریک اِنصاف]] (پی ٹی آئی) قومی اسمبلی منٛز ساروٕے کھۄتہٕ زِیٛادٕ سیٖٹہٕ حٲصِل، حالانٛکہِ اکثریت ٲس نہٕ، ییٚمہِ سۭتۍ اکھ رَلہٕ حکومت بنییہِ۔ صوبٲئی نٔتیجہِ سۭتۍ چھُ پی ٹی آئی [[خیبر پختونخوا|خیبر پختونخواہَس]] منٛز سارِوٕے کھۄتہٕ بٔڑ پارٹی ہاونہٕ آمٕژ، [[پاکستان پیپلز پارٹی]] چھِ سندھس منٛز غلبہٕ برقرار تھاوان، تہٕ بلوچستان عوامی پارٹی بلوچستانَس منٛز وۄتلیو، ییٚلہِ زَن پنجابَس منٛز اکھ معلق پارلیمنٹ۔
اِبتِدٲیی پولِنٛگ دِژ پی ایم ایل (ن) سٕنٛز برتری ہُنٛد اِشارٕ، مگر اِنتِخابَن ہٕنٛدِ دۄہ گٔیہِ یہِ کم۔ چُناوَن منٛز گۄڈَے دھاندلی ہٕنٛدِ الزام آیہِ نوٹ کرنہٕ، حالانٛکہِ الیکشن کمیشن تہٕ مُشٲہِدٕ کَرن وٲلۍ ٲسۍ چُناو ٹھیٖکھ مانان۔ 32 فیٖصد ووٹَن ہِنٛدِ حِصہٕ سۭتۍ بنٲو پی ٹی آئی یَن حزب اِختلافَن ہٕنٛدِس ووٹَن منٛز دھاندلی ہٕنٛدِس دعوَس درمیان حکومت۔ اِلزامَو باوجوٗد کٔر الیکشن کمیشنَن یِم رَد، یہِ زور دِتھ زِ چُناون چھِ منصفانہٕ۔ ووٹرَن ہُنٛد تعداد گٔیہِ 51.7 فیٖصد تام کم۔ طریقہٕ کارٕچ غلطی کِنۍ آیہِ پی ٹی آئی ہٕنٛز سارِوٕے کھۄتہٕ بٔڑ پارٹی آسنٕچ تصدیٖق کرنہٕ، ییٚمہِ کِنۍ [[پاکستان مسلم لیگ (ن)|پی ایم ایل (ن)]] حزب اِختلافُک درجہٕ اختیار کٔرِتھ گوٚو [[شہباز شٔریٖف|شہباز شریف]] حزب اِختلافُک رہنُما مُقرر کرنہٕ۔<ref>{{Cite web|last=Malik|first=Arif|date=6 September 2018|title=Hamza Shahbaz appointed opposition leader in Punjab Assembly|url=https://www.dawn.com/news/1431301|website=DAWN.COM}}</ref>
== حَوالہٕ ==
[[زٲژ:پٲکِساتانس مَنٛز چُناو]]
ezwgi8o66k1ff9i4rimmwngslfou2ac
150901
150891
2026-08-31T18:00:38Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150901
wikitext
text/x-wiki
{{Infobox election}}
25 جُلَے 2018 ہَس مَنٛز کٔر پٲکِستانَس مَنٛز عام چُناون مَنٛز [[عِمران خان]] سٕنٛدِس قیادتس مَنٛز [[پاکِستان تحریک اِنصاف]] (پی ٹی اَے) قومی اسمبلی مَنٛز ساروٕے کھۄتہٕ زِیٛادٕ سیٖٹہٕ حٲصِل، حالانٛکہِ اکثریت ٲس نہٕ، ییٚمہِ سٟتؠ اَکھ رَلہٕ حکومت بنییہِ۔ صوبٲیی نٔتیجہِ سٟتؠ چھُ پی ٹی اَے [[خیبر پختونخوا|خیبر پختونخواہَس]] مَنٛز سارِوٕے کھۄتہٕ بٔڑ پارٹی ہاونہٕ آمٕژ، [[پاکستان پیپلز پارٹی]] چھِ سندھس مَنٛز غلبہٕ برقرار تھاوان، تہٕ بلوچستان عوامی پارٹی بلوچستانَس مَنٛز وۄتلیو، ییٚلہِ زَن پنجابَس مَنٛز اَکھ معلق پارلیمنٹ۔
اِبتِدٲیی پولِنٛگ دِژ پی ایم ایل (ن) سٕنٛز برتری ہُنٛد اِشارٕ، مگر اِنتِخابَن ہٕنٛدِ دۄہ گٔیہِ یہِ کم۔ چُناوَن مَنٛز گۄڈَے دھاندلی ہٕنٛدِ الزام آیہِ نوٹ کرنہٕ، حالانٛکہِ الیکشن کمیشن تہٕ مُشٲہِدٕ کَرن وٲلؠ ٲسؠ چُناو ٹھیٖکھ مانان۔ 32 فیٖصد ووٹَن ہِنٛدِ حِصہٕ سٟتؠ بنٲو پی ٹی اَے یَن حزب اِختلافَن ہٕنٛدِس ووٹَن مَنٛز دھاندلی ہٕنٛدِس دعوَس درمیان حکومت۔ اِلزامَو باوجوٗد کٔر الیکشن کمیشنَن یِم رَد، یہِ زور دِتھ زِ چُناون چھِ منصفانہٕ۔ ووٹرَن ہُنٛد تعداد گٔیہِ 51.7 فیٖصد تام کم۔ طریقہٕ کارٕچ غلطی کِنؠ آیہِ پی ٹی اَے ہٕنٛز سارِوٕے کھۄتہٕ بٔڑ پارٹی آسنٕچ تصدیٖق کرنہٕ، ییٚمہِ کِنؠ [[پاکستان مسلم لیگ (ن)|پی ایم ایل (ن)]] حزب اِختلافُک درجہٕ اختیار کٔرِتھ گوٚو [[شہباز شٔریٖف|شہباز شریف]] حزب اِختلافُک رہنُما مُقرر کرنہٕ۔<ref>{{Cite web|last=Malik|first=Arif|date=6 September 2018|title=Hamza Shahbaz appointed opposition leader in Punjab Assembly|url=https://www.dawn.com/news/1431301|website=DAWN.COM}}</ref>
== حَوالہٕ ==
[[زٲژ:پٲکِساتانس مَنٛز چُناو]]
h815rb63fhdflomfnvwl4v73wioqyhh
گُروِندر سِنٛگھ اوبراے
0
32570
150892
2026-08-31T17:45:17Z
آیات محراج
11062
"[[:en:Special:Redirect/revision/1343122142|Gurwinder Singh Oberoi]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت
150892
wikitext
text/x-wiki
'''گُروِندر سِنٛگھ اوبراے''' چھُ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] اکھ سیاست دان۔ سُہ چھُ جموں و کشمیر باپتھ راجیہ سبھا ہُک رکن۔<ref>{{Cite news|date=2025-10-24|title=NC wins 3 Rajya Sabha seats, BJP clinches one amid cross-voting|url=https://www.uniindia.com/~/nc-wins-3-rajya-sabha-seats-bjp-clinches-one-amid-cross-voting/States/news/3621236.html|accessdate=2025-10-26|journal=United News of India|language=en}}</ref>
q9xgb1gfd2d0fbw7nceseuma2e5mii0
150893
150892
2026-08-31T17:47:11Z
آیات محراج
11062
/* */
150893
wikitext
text/x-wiki
{{Infobox officeholder/Wikidata}}
'''گُروِندر سِنٛگھ اوبراے''' چھُ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] اکھ سیاست دان۔ سُہ چھُ جموں و کشمیر باپتھ راجیہ سبھا ہُک رکن۔<ref>{{Cite news|date=2025-10-24|title=NC wins 3 Rajya Sabha seats, BJP clinches one amid cross-voting|url=https://www.uniindia.com/~/nc-wins-3-rajya-sabha-seats-bjp-clinches-one-amid-cross-voting/States/news/3621236.html|accessdate=2025-10-26|journal=United News of India|language=en}}</ref>
== حَوالہٕ ==
18w4r2efsv6gvpt0qsxkv604l389tah
150894
150893
2026-08-31T17:51:02Z
آیات محراج
11062
/* */
150894
wikitext
text/x-wiki
{{Infobox person ca/catalan|جاے پٲدٲیِش=جۆم تہٕ کٔشیٖر|carrec=جۆم تہٕ کٔشیٖر ہُنٛد راجیہ سبھا رُکُن|ocupacio=سِیاسَتدان}}
'''گُروِندر سِنٛگھ اوبراے''' چھُ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] اکھ سیاست دان۔ سُہ چھُ جۆم تہٕ کٔشیٖر باپتھ راجیہ سبھا ہُک رکن۔<ref>{{Cite news|date=2025-10-24|title=NC wins 3 Rajya Sabha seats, BJP clinches one amid cross-voting|url=https://www.uniindia.com/~/nc-wins-3-rajya-sabha-seats-bjp-clinches-one-amid-cross-voting/States/news/3621236.html|accessdate=2025-10-26|journal=United News of India|language=en}}</ref>
== حَوالہٕ ==
rc9742o4mz1yhcwflj9rzxt1o2qph11
150895
150894
2026-08-31T17:52:41Z
آیات محراج
11062
/* */
150895
wikitext
text/x-wiki
{{Infobox person ca/catalan|جاے پٲدٲیِش=جۆم تہٕ کٔشیٖر|carrec=[[جۆم تہٕ کٔشیٖر ہُنٛد راجیہ سبھا رکنَن ہُنٛد فہرست|جۆم تہٕ کٔشیٖر ہُنٛد راجیہ سبھا رُکُن]]|ocupacio=[[سِیاسَتھ دان]]}}
'''گُروِندر سِنٛگھ اوبراے''' چھُ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] اکھ سیاست دان۔ سُہ چھُ جۆم تہٕ کٔشیٖر باپتھ راجیہ سبھا ہُک رکن۔<ref>{{Cite news|date=2025-10-24|title=NC wins 3 Rajya Sabha seats, BJP clinches one amid cross-voting|url=https://www.uniindia.com/~/nc-wins-3-rajya-sabha-seats-bjp-clinches-one-amid-cross-voting/States/news/3621236.html|accessdate=2025-10-26|journal=United News of India|language=en}}</ref>
== حَوالہٕ ==
moecine6veho46eodoes2340fafj432
150896
150895
2026-08-31T17:53:33Z
آیات محراج
11062
/* */
150896
wikitext
text/x-wiki
{{Infobox person ca/catalan|جاے پٲدٲیِش=جۆم تہٕ کٔشیٖر|carrec=[[جۆم تہٕ کٔشیٖر مَنٛز راجیہ سبھا ہُنٛد رکنَن ہُنٛد فہرست|جۆم تہٕ کٔشیٖر ہُنٛد راجیہ سبھا رُکُن]]|ocupacio=[[سِیاسَتھ دان]]}}
'''گُروِندر سِنٛگھ اوبراے''' چھُ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] اکھ سیاست دان۔ سُہ چھُ جۆم تہٕ کٔشیٖر باپتھ راجیہ سبھا ہُک رکن۔<ref>{{Cite news|date=2025-10-24|title=NC wins 3 Rajya Sabha seats, BJP clinches one amid cross-voting|url=https://www.uniindia.com/~/nc-wins-3-rajya-sabha-seats-bjp-clinches-one-amid-cross-voting/States/news/3621236.html|accessdate=2025-10-26|journal=United News of India|language=en}}</ref>
== حَوالہٕ ==
0y30q7h7m82e9jbzo68kzsgsv5rc53b
150897
150896
2026-08-31T17:54:16Z
آیات محراج
11062
/* */
150897
wikitext
text/x-wiki
{{Infobox person ca/catalan|جاے پٲدٲیِش=جۆم تہٕ کٔشیٖر|carrec=[[جۆم تہٕ کٔشیٖر مَنٛز راجیہ سبھا رُکنن ہِنٛز فہرست|جۆم تہٕ کٔشیٖر ہُنٛد راجیہ سبھا رُکُن]]|ocupacio=[[سِیاسَتھ دان]]}}
'''گُروِندر سِنٛگھ اوبراے''' چھُ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] اکھ سیاست دان۔ سُہ چھُ جۆم تہٕ کٔشیٖر باپتھ راجیہ سبھا ہُک رکن۔<ref>{{Cite news|date=2025-10-24|title=NC wins 3 Rajya Sabha seats, BJP clinches one amid cross-voting|url=https://www.uniindia.com/~/nc-wins-3-rajya-sabha-seats-bjp-clinches-one-amid-cross-voting/States/news/3621236.html|accessdate=2025-10-26|journal=United News of India|language=en}}</ref>
== حَوالہٕ ==
eopqbdx9gxc80ag0eqes3bxongepwfp
150898
150897
2026-08-31T17:55:29Z
آیات محراج
11062
/* */
150898
wikitext
text/x-wiki
{{Infobox person ca/catalan|جاے پٲدٲیِش=جۆم تہٕ کٔشیٖر|carrec=[[جۆم تہٕ کٔشیٖر مَنٛز راجیہ سبھا رُکنن ہِنٛز فہرست|جۆم تہٕ کٔشیٖر ہُنٛد راجیہ سبھا رُکُن]]|ocupacio=[[سِیاسَتھ دان]]|term_start=-اکتوبر-2025|term_end=24-اکتوبر-2031}}
'''گُروِندر سِنٛگھ اوبراے''' چھُ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] اکھ سیاست دان۔ سُہ چھُ جۆم تہٕ کٔشیٖر باپتھ راجیہ سبھا ہُک رکن۔<ref>{{Cite news|date=2025-10-24|title=NC wins 3 Rajya Sabha seats, BJP clinches one amid cross-voting|url=https://www.uniindia.com/~/nc-wins-3-rajya-sabha-seats-bjp-clinches-one-amid-cross-voting/States/news/3621236.html|accessdate=2025-10-26|journal=United News of India|language=en}}</ref>
== حَوالہٕ ==
kopob1dmwj08oslogrk8ldo1ytjkvie
150899
150898
2026-08-31T17:55:54Z
آیات محراج
11062
/* */
150899
wikitext
text/x-wiki
{{Infobox person ca/catalan|جاے پٲدٲیِش=جۆم تہٕ کٔشیٖر|carrec=[[جۆم تہٕ کٔشیٖر مَنٛز راجیہ سبھا رُکنن ہِنٛز فہرست|جۆم تہٕ کٔشیٖر ہُنٛد راجیہ سبھا رُکُن]]|ocupacio=[[سِیاسَتھ دان]]|term_start=25-اکتوبر-2025|term_end=24-اکتوبر-2031}}
'''گُروِندر سِنٛگھ اوبراے''' چھُ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] اکھ سیاست دان۔ سُہ چھُ جۆم تہٕ کٔشیٖر باپتھ راجیہ سبھا ہُک رکن۔<ref>{{Cite news|date=2025-10-24|title=NC wins 3 Rajya Sabha seats, BJP clinches one amid cross-voting|url=https://www.uniindia.com/~/nc-wins-3-rajya-sabha-seats-bjp-clinches-one-amid-cross-voting/States/news/3621236.html|accessdate=2025-10-26|journal=United News of India|language=en}}</ref>
== حَوالہٕ ==
gv0vzhndcfz6v8qq34630hcn7jdd9ou
150900
150899
2026-08-31T18:00:33Z
Nadeemulhaqmir-bot
9480
باٹ چھُ غَلطی ٹھیٖکھ کَران [[وِکیٖپیٖڈیا:AutoWikiBrowser/Typos|غَلطی فِہرِست مُطٲبِق]]
150900
wikitext
text/x-wiki
{{Infobox person ca/catalan|جاے پٲدٲیِش=جۆم تہٕ کٔشیٖر|carrec=[[جۆم تہٕ کٔشیٖر مَنٛز راجیہ سبھا رُکنن ہِنٛز فہرست|جۆم تہٕ کٔشیٖر ہُنٛد راجیہ سبھا رُکُن]]|ocupacio=[[سِیاسَتھ دان]]|term_start=25-اکتوبر-2025|term_end=24-اکتوبر-2031}}
'''گُروِندر سِنٛگھ اوبراے''' چھُ [[جۆم تہٕ کٔشیٖر (مَرکَزی عَلاقہٕ)|جموں و کشمیر]] اَکھ سیاست دان۔ سُہ چھُ جۆم تہٕ کٔشیٖر باپتھ راجیہ سبھا ہُک رکن۔<ref>{{Cite news|date=2025-10-24|title=NC wins 3 Rajya Sabha seats, BJP clinches one amid cross-voting|url=https://www.uniindia.com/~/nc-wins-3-rajya-sabha-seats-bjp-clinches-one-amid-cross-voting/States/news/3621236.html|accessdate=2025-10-26|journal=United News of India|language=en}}</ref>
== حَوالہٕ ==
0lzmmz4uft7azmi3xzfpgu9u0tblo5k
2011 توہوکُہ بُنیُل تہٕ سُنامی
0
32571
150913
2026-08-31T18:35:53Z
آیات محراج
11062
"[[:en:Special:Redirect/revision/1370058444|2011 Tōhoku earthquake and tsunami]]" ضفُک اِنتدٲیی حِصُک تَرجَمہٕ طور تَخلیق کَرنہٕ آمُت
150913
wikitext
text/x-wiki
'''2011 ہُک توہوکُہ بُنیُل تہٕ سُنامی''' اوس جدید تٲریخُک ساروٕے کھۄتہٕ تباہ کن قۄدرتی آفتن منٛز اکھ۔ یہِ گوٚو 11 مارچ 2011 [[جاپان]] کِس شُمال مشرقی بٔٹھِس دوٗر تہٕ اَمیُک شدت اوس 9.0 ، ییٚمہِ سۭتۍ یہِ وُنیُک تام ریکارڈ کرنہٕ آمُت ساروٕے کھۄتہٕ مضبوٗط [[بٕنیُل|بُنیُلَو]] منٛز اکھ بنیوو۔ بُنیلہِ سۭتۍ گوٚو اکھ بٔڑِس پیمانس پیٹھ [[سُنامی]]، یَتھ منٛز لہرٕ 40 میٹر کھۄتہٕ زِیٛادٕ تھزرس تام وٲتِتھ۔ سُنامی سۭتۍ گوٚو بٔڑِس پیمانس پٮ۪ٹھ تباہی، یَتھ منٛز گَر، سڑکہٕ، کٔدٕل تہٕ پوٗرٕ سٲحلی کمیونٹیز تباہ گٔیہِ، تہٕ تقریباً 20,000 نفر گٔیہِ مارٕ یا لاپتہ۔ أمۍ ووت فوکوشیما ڈائیچی نیوکلیئر پاور پلانٹس تہِ شٔدیٖد نۄقصان، ییٚمہ کِس نٔتیٖجس منٛز اکھ بٔڑ جوہری حٲدثہٕ تہٕ أنٛدۍ پٔکۍ علاقہٕ خٲلی گٔیہٕ۔ امہِ آفت سۭتۍ گوٚو واریاہ معٲشی نۄقصان تہٕ جاپانٕچ آفتَن ہٕنٛز تیاری، ساحلی رٲچھ، تہٕ ایٹمی توانٲیی ہٕنٛز پالیسِیَن پیٹھ پییہ پایدار اثرات۔<ref>{{cite web|title=3.11復興特集〜復興の今、そしてこれから〜|url=https://www.kantei.go.jp/jp/headline/3_11_2013fukko.html|url-status=live|archive-url=https://web.archive.org/web/20130310041949/http://www.kantei.go.jp:80/jp/headline/3_11_2013fukko.html|archive-date=10 March 2013|access-date=15 September 2021|website=kantei.go.jp|language=Japanese}}</ref>
m2p26se9fh00th10ilpum8evp0yirkw
150914
150913
2026-08-31T18:39:02Z
آیات محراج
11062
150914
wikitext
text/x-wiki
{{infobox event/Wikidata}}
'''2011 ہُک توہوکُہ بُنیُل تہٕ سُنامی''' اوس جدید تٲریخُک ساروٕے کھۄتہٕ تباہ کن قۄدرتی آفتن منٛز اکھ۔ یہِ گوٚو 11 مارچ 2011 [[جاپان]] کِس شُمال مشرقی بٔٹھِس دوٗر تہٕ اَمیُک شدت اوس 9.0 ، ییٚمہِ سۭتۍ یہِ وُنیُک تام ریکارڈ کرنہٕ آمُت ساروٕے کھۄتہٕ مضبوٗط [[بٕنیُل|بُنیُلَو]] منٛز اکھ بنیوو۔ بُنیلہِ سۭتۍ گوٚو اکھ بٔڑِس پیمانس پیٹھ [[سُنامی]]، یَتھ منٛز لہرٕ 40 میٹر کھۄتہٕ زِیٛادٕ تھزرس تام وٲتِتھ۔ سُنامی سۭتۍ گوٚو بٔڑِس پیمانس پٮ۪ٹھ تباہی، یَتھ منٛز گَر، سڑکہٕ، کٔدٕل تہٕ پوٗرٕ سٲحلی کمیونٹیز تباہ گٔیہِ، تہٕ تقریباً 20,000 نفر گٔیہِ مارٕ یا لاپتہ۔ أمۍ ووت فوکوشیما ڈائیچی نیوٗکلِیَر پاوَر پلانٹس تہِ شٔدیٖد نۄقصان، ییٚمہ کِس نٔتیٖجس منٛز اکھ بٔڑ جوہری حٲدثہٕ تہٕ أنٛدۍ پٔکۍ علاقہٕ خٲلی گٔیہٕ۔ امہِ آفت سۭتۍ گوٚو واریاہ معٲشی نۄقصان تہٕ جاپانٕچ آفتَن ہٕنٛز تیاری، ساحلی رٲچھ، تہٕ ایٹمی توانٲیی ہٕنٛز پالیسِیَن پیٹھ پییہ پایدار اثرات۔<ref>{{cite web|title=3.11復興特集〜復興の今、そしてこれから〜|url=https://www.kantei.go.jp/jp/headline/3_11_2013fukko.html|url-status=live|archive-url=https://web.archive.org/web/20130310041949/http://www.kantei.go.jp:80/jp/headline/3_11_2013fukko.html|archive-date=10 March 2013|access-date=15 September 2021|website=kantei.go.jp|language=Japanese}}</ref>
== حَوالہٕ ==
aw3rjv6dijg3mz6wqb65gx40h0rv494
150923
150914
2026-08-31T19:24:07Z
آیات محراج
11062
/* */
150923
wikitext
text/x-wiki
{{infobox event/Wikidata|v_duration=6 مِنَٹھ}}
'''2011 ہُک توہوکُہ بُنیُل تہٕ سُنامی''' اوس جدید تٲریخُک ساروٕے کھۄتہٕ تباہ کن قۄدرتی آفتن منٛز اکھ۔ یہِ گوٚو 11 مارچ 2011 [[جاپان]] کِس شُمال مشرقی بٔٹھِس دوٗر تہٕ اَمیُک شدت اوس 9.0 ، ییٚمہِ سۭتۍ یہِ وُنیُک تام ریکارڈ کرنہٕ آمُت ساروٕے کھۄتہٕ مضبوٗط [[بٕنیُل|بُنیُلَو]] منٛز اکھ بنیوو۔ بُنیلہِ سۭتۍ گوٚو اکھ بٔڑِس پیمانس پیٹھ [[سُنامی]]، یَتھ منٛز لہرٕ 40 میٹر کھۄتہٕ زِیٛادٕ تھزرس تام وٲتِتھ۔ سُنامی سۭتۍ گوٚو بٔڑِس پیمانس پٮ۪ٹھ تباہی، یَتھ منٛز گَر، سڑکہٕ، کٔدٕل تہٕ پوٗرٕ سٲحلی کمیونٹیز تباہ گٔیہِ، تہٕ تقریباً 20,000 نفر گٔیہِ مارٕ یا لاپتہ۔ أمۍ ووت فوکوشیما ڈائیچی نیوٗکلِیَر پاوَر پلانٹس تہِ شٔدیٖد نۄقصان، ییٚمہ کِس نٔتیٖجس منٛز اکھ بٔڑ جوہری حٲدثہٕ تہٕ أنٛدۍ پٔکۍ علاقہٕ خٲلی گٔیہٕ۔ امہِ آفت سۭتۍ گوٚو واریاہ معٲشی نۄقصان تہٕ جاپانٕچ آفتَن ہٕنٛز تیاری، ساحلی رٲچھ، تہٕ ایٹمی توانٲیی ہٕنٛز پالیسِیَن پیٹھ پییہ پایدار اثرات۔<ref>{{cite web|title=3.11復興特集〜復興の今、そしてこれから〜|url=https://www.kantei.go.jp/jp/headline/3_11_2013fukko.html|url-status=live|archive-url=https://web.archive.org/web/20130310041949/http://www.kantei.go.jp:80/jp/headline/3_11_2013fukko.html|archive-date=10 March 2013|access-date=15 September 2021|website=kantei.go.jp|language=Japanese}}</ref>
== حَوالہٕ ==
q1w16epfojrfvih4p1nmzv4p0vtajyl
150925
150923
2026-08-31T19:31:21Z
آیات محراج
11062
مِلاوُن [[زٲژ:2011 واقعات]] تٔژ زٲژ کِہ مَرَتھہٕ سٲتؠ
150925
wikitext
text/x-wiki
{{infobox event/Wikidata|v_duration=6 مِنَٹھ}}
'''2011 ہُک توہوکُہ بُنیُل تہٕ سُنامی''' اوس جدید تٲریخُک ساروٕے کھۄتہٕ تباہ کن قۄدرتی آفتن منٛز اکھ۔ یہِ گوٚو 11 مارچ 2011 [[جاپان]] کِس شُمال مشرقی بٔٹھِس دوٗر تہٕ اَمیُک شدت اوس 9.0 ، ییٚمہِ سۭتۍ یہِ وُنیُک تام ریکارڈ کرنہٕ آمُت ساروٕے کھۄتہٕ مضبوٗط [[بٕنیُل|بُنیُلَو]] منٛز اکھ بنیوو۔ بُنیلہِ سۭتۍ گوٚو اکھ بٔڑِس پیمانس پیٹھ [[سُنامی]]، یَتھ منٛز لہرٕ 40 میٹر کھۄتہٕ زِیٛادٕ تھزرس تام وٲتِتھ۔ سُنامی سۭتۍ گوٚو بٔڑِس پیمانس پٮ۪ٹھ تباہی، یَتھ منٛز گَر، سڑکہٕ، کٔدٕل تہٕ پوٗرٕ سٲحلی کمیونٹیز تباہ گٔیہِ، تہٕ تقریباً 20,000 نفر گٔیہِ مارٕ یا لاپتہ۔ أمۍ ووت فوکوشیما ڈائیچی نیوٗکلِیَر پاوَر پلانٹس تہِ شٔدیٖد نۄقصان، ییٚمہ کِس نٔتیٖجس منٛز اکھ بٔڑ جوہری حٲدثہٕ تہٕ أنٛدۍ پٔکۍ علاقہٕ خٲلی گٔیہٕ۔ امہِ آفت سۭتۍ گوٚو واریاہ معٲشی نۄقصان تہٕ جاپانٕچ آفتَن ہٕنٛز تیاری، ساحلی رٲچھ، تہٕ ایٹمی توانٲیی ہٕنٛز پالیسِیَن پیٹھ پییہ پایدار اثرات۔<ref>{{cite web|title=3.11復興特集〜復興の今、そしてこれから〜|url=https://www.kantei.go.jp/jp/headline/3_11_2013fukko.html|url-status=live|archive-url=https://web.archive.org/web/20130310041949/http://www.kantei.go.jp:80/jp/headline/3_11_2013fukko.html|archive-date=10 March 2013|access-date=15 September 2021|website=kantei.go.jp|language=Japanese}}</ref>
== حَوالہٕ ==
[[زٲژ:2011 واقعات]]
p7ff9tosy8kpek48esolnlz01nwbf7s
فرما:Infobox event/Wikidata
10
32572
150915
2026-08-31T18:44:18Z
آیات محراج
11062
Content copied from catalan wiki
150915
wikitext
text/x-wiki
<noinclude>{{Avís|Aquesta és una versió en proves.<br> integrant Infotaula conflicte militar.<br>
Versió de partida: [[Special:permalink/34360063]], de les 16:56, 15 des 2024<br>}}
{{Uses TemplateStyles|template:Infobox event/styles.css}}
<!--
{{left|{{infotaula esdeveniment/proves| item=Q38789|military_infobox=|v_name=sense canvi}}}}
{{left|{{infotaula esdeveniment/proves| item=Q38789|military_infobox=YES|v_name=militar manual}}}}
{{left|{{infotaula esdeveniment/proves| item=Q38789|military_infobox=NONE|v_name=normal manual}}}}
{{clr}}
{{left|{{infotaula esdeveniment/proves| item=Q16163640|military_infobox=|v_name=sense canvi}}}}
{{left|{{infotaula esdeveniment/proves| item=Q16163640|military_infobox=YES|v_name=militar manual}}}}
{{left|{{infotaula esdeveniment/proves| item=Q16163640|military_infobox=NONE|v_name=normal manual}}}}
-->
</noinclude>
{{Infobox event/formatglobal/proves
| item = {{{item|}}}
| lang = {{{lang|}}}
|v_cllps_judiciary = {{{v_cllps_judiciary|}}}
|v_cllps_award = {{{v_cllps_award|}}}
|v_cllps_participant = {{{v_cllps_participant|}}}
|v_cllps_signatory = {{{v_cllps_signatory|}}}
|v_cllps_ratified = {{{v_cllps_ratified|}}}
|v_cllps_haspart = {{{v_cllps_haspart|}}}
|v_icon = {{#ifeq:{{{v_icon}}}|NONE|<!-- skip without icon
-->|{{if empty|{{{v_icon|}}}
|<!-- This block determines whether it should be edited as a "military conflict"
either by its P279 or manually forced with "military_infobox="YES or NONE -->
{{#if:{{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, No Military select
-->|{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|X}} }}<!-- Military by P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|X}}<!-- Military by manual parameter -->
|{{MyValue|1=IBevent|2=is_conflict}}<!-- military icon -->
|{{MyValue|1=IBevent|2={{InParent|IBevent|p=P279|item={{{item|}}}}} }}<!-- specialized icon by subclass-->
}}
|{{MyValue|IBevent|img_event}}<!-- default icon -->
}} }}
|v_name = {{if empty|{{{v_name|}}} | {{{v_event|}}} | {{PAGENAMEBASE}} }}
|v_p154 = {{#ifeq:{{{v_p154|{{{v_logo|}}}}}}|NONE|<!-- skip logo
-->|{{#if:{{{v_p154|{{{v_logo|}}}}}}
|{{#invoke:InfoboxImage|InfoboxImage |image={{{v_p154|{{{v_logo|}}}}}} |sizedefault=150x150px }}
|{{#invoke:Wikidades | claim | property= P154 OR P2425 or P94| list=false
|showsomevalue=no |shownovalue=no
|formatting=[[File:$1|150x150px]] }}
}} }}
<!-- Multi-images with switcher2 -->
| v_p18 ={{#if:{{#invoke:Wikidades|claim |property=P18 or P6802 or P8592 or P1801 or P2716 or P3451 | value={{{v_p18|{{{v_image|}}}}}} }}
|{{Switcher2 |width=300x300 |center=y
|caption5={{GetLabelFix|P18|lang={{{lang|}}} }}
|caption4={{GetLabelFix|P8592|lang={{{lang|}}} }}
|caption3={{GetLabelFix|P1801|lang={{{lang|}}} }}
|caption2={{GetLabelFix|P2716|lang={{{lang|}}} }}
|caption1={{GetLabelFix|P3451|lang={{{lang|}}} }}
|image5={{if empty|{{#invoke:wikidades |claim|property=P18 or P6802|formatting=table <!-- search image in WP lang -->
|qualifier=P2096 or P585
|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|rowformat=$0 |value={{{v_p18|{{{v_image|{{{imatge|}}}}}}}}}
|shownovalue=no |showsomevalue=no |editicon=no }}
|{{#invoke:Wikidades|claim |property=P18 or P6802|qualifier=P2096 or P585
|list=false |editicon=no | formatting=table |rowformat =$0
|shownovalue=no |showsomevalue=no |value={{{v_p18|}}} }}
}}
|image4={{if empty|{{#invoke:wikidades |claim|property=P8592|formatting=table <!-- search image in WP lang -->
|qualifier=P2096 or P585
|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|rowformat=$0 |value={{{v_p8592|}}}
|shownovalue=no |showsomevalue=no |editicon=no }}
|{{#invoke:Wikidades|claim |property=P8592 |qualifier=P2096 or P585
|list=false |editicon=no | formatting=table |rowformat =$0
|shownovalue=no |showsomevalue=no |value={{{v_p8592|}}} }}
}}
|image3={{if empty|{{#invoke:wikidades |claim|property=P1801|formatting=table <!-- search image in WP lang -->
|qualifier=P2096 or P585
|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|rowformat=$0 |value={{{v_p1801|}}}
|shownovalue=no |showsomevalue=no |editicon=no }}
|{{#invoke:Wikidades|claim |property=P1801 |qualifier=P2096 or P585
|list=false |editicon=no | formatting=table |rowformat =$0
|shownovalue=no |showsomevalue=no |value={{{v_p1801|}}} }}
}}
|image2={{if empty|{{#invoke:wikidades |claim|property=P2716|formatting=table <!-- search image in WP lang -->
|qualifier=P2096 or P585
|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|rowformat=$0 |value={{{v_p2716|}}}
|shownovalue=no |showsomevalue=no |editicon=no }}
|{{#invoke:Wikidades|claim |property=P2716 |qualifier=P2096 or P585
|list=false |editicon=no | formatting=table |rowformat =$0
|shownovalue=no |showsomevalue=no |value={{{v_p2716|}}} }}
}}
|image1={{if empty|{{#invoke:wikidades |claim|property=P3451|formatting=table <!-- search image in WP lang -->
|qualifier=P2096 or P585
|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|rowformat=$0 |value={{{v_p3451|}}}
|shownovalue=no |showsomevalue=no |editicon=no }}
|{{#invoke:Wikidades|claim |property=P3451 |qualifier=P2096 or P585
|list=false |editicon=no | formatting=table |rowformat =$0
|shownovalue=no |showsomevalue=no |value={{{v_p3451|}}} }}
}}
|caption_text5={{#if:{{{v_p18|{{{imatge|}}}}}} | {{{v_p18_caption|{{{peu|}}}}}}
|{{str split|{{#invoke:Wikidades|claim |property=P18 or P6802 |qualifier=P2096 |item={{{item|}}}
|qualifier2=P585 |rowsubformat2=($2$3) |colformat2=Y
|qualifier3=P276 |rowsubformat3=, $3
|list=false | formatting=table |rowformat =$0↔$1 $2 }}|↔|2}}
}}
|caption_text4={{str split|{{#invoke:Wikidades|claim |property=P8592 |qualifier=P2096 |item={{{item|}}}
|qualifier2=P585 |rowsubformat2=($2$3) |colformat2=Y
|qualifier3=P276 |rowsubformat3=, $3
|list=false | formatting=table |rowformat =$0↔$1 $2| }}|↔|2}}
|caption_text3={{str split|{{#invoke:Wikidades|claim |property=P1801 |qualifier=P2096 |item={{{item|}}}
|qualifier2=P585 |rowsubformat2=($2$3) |colformat2=Y
|qualifier3=P276 |rowsubformat3=, $3
|list=false | formatting=table |rowformat =$0↔$1 $2| }}|↔|2}}
|caption_text2={{str split|{{#invoke:Wikidades|claim |property=P2716 |qualifier=P2096 |item={{{item|}}}
|qualifier2=P585 |rowsubformat2=($2$3) |colformat2=Y
|qualifier3=P276 |rowsubformat3=, $3
|list=false | formatting=table |rowformat =$0↔$1 $2| }}|↔|2}}
|caption_text1={{str split|{{#invoke:Wikidades|claim |property=P3451 |qualifier=P2096 |item={{{item|}}}
|qualifier2=P585 |rowsubformat2=($2$3) |colformat2=Y
|qualifier3=P276 |rowsubformat3=, $3
|list=false | formatting=table |rowformat =$0↔$1 $2| }}|↔|2}} <!-- end switcher2 -->
|{{#ifeq:{{lc:{{{child|}}}}} |yes|<!-- Do not categorize, it's an embedded infobox -->
|{{#if:{{MyValue|IBevent|no_image_categ}} <!-- do categorize when no image ? -->
|{{main other|[[category:{{MyValue|IBevent|no_image_categ}}]]|}} }}
}}<!-- end no categ by child -->
}}<!-- end no images found -->
}}<!-- end no images wanted -->
| v_coord_out_map =<!-- When item is military conflict, then coordinates must be shown as a line in infobox -->
{{#if:{{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, No Military select
-->|{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|X}} }}<!-- Military by P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|X}}<!-- Military by manual parameter -->
|{{#invoke:Wikidades |claim |property=P625
|formatting=<small>{{((}}coord{{!}}$lat{{!}}$lon{{!}}display{{=}}{{{display|{{{v_coord_display|title,inline}}}}}}{{))}}</small>
|list=false |item={{{item|}}}
}}
}}
| block_map = {{Two maps block |item = {{{item|}}} |lang={{{lang|}}}
|v_image_map = <!-- When item is military conflict, then property for map are P1621 or P242 -->
{{#if:{{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, No Military select
-->|{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|X}} }}<!-- Military by P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|X}}<!-- Military by manual parameter -->
|<!-- prepare v_image_map with 2 properties when military -->
{{if empty|{{#invoke:wikidades |claim|property=P1621 or P242|formatting=table <!-- search map img in WP lang
-->|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|qualifier =P2096 |rowsubformat1=↔$1
|rowformat=$0$1
|editicon=no |value={{{v_image_map|}}}}}
|{{#invoke:wikidades |claim|property=P1621 or P242 |formatting=table |list=false
|qualifier =P2096 |rowsubformat1=↔$1
|rowformat=$0$1
|editicon=no|value={{{v_image_map|}}}}}
}}
|<!-- prepare v_image_map with 1 properties when NO military -->
{{if empty|{{#invoke:wikidades |claim|property=P1621|formatting=table <!-- search map img in WP lang -->|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|qualifier =P2096 |rowsubformat1=↔$1
|rowformat=$0$1
|editicon=no |value={{{v_image_map|}}}}}
|{{#invoke:wikidades |claim|property=P1621 |formatting=table |list=false
|qualifier =P2096 |rowsubformat1=↔$1
|rowformat=$0$1
|editicon=no|value={{{v_image_map|}}}}}
}}
}}
|v_caption_map={{{peu_mapa|{{{v_caption_map|}}}}}}
|v_draw_map={{{draw_mapa|{{{v_draw_map|}}}}}}
|v_coord_display={{{v_coord_display|{{{coord_display|inline,title}}} }}}
|v_basic_maps=<!-- When item is military conflict, then v_basic_maps is forced to NONE -->
{{#if:{{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, No Military select
-->|{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|X}} }}<!-- Military by P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|X}}<!-- Military by manual parameter -->
|NONE<!-- no automatic map when military -->
|{{{v_basic_maps|}}}<!-- original value -->
}}
|v_size_map={{{v_size_map|{{{mapa_mida|}}} }}}
|v_p625_lat_lon={{#ifeq:{{{v_p625_lat_dec|{{{v_p625_lon_dec|{{{lat_dec|{{{lon_dec|}}}}}} }}}}}}|NONE|<!--
-->|{{if both|{{{v_p625_lat_dec|{{{lat_dec|}}}}}}
|{{{v_p625_lon_dec|{{{lon_dec|}}}}}}
|<!-- manual coord. do not get lat-lon (decimal)
-->|{{GetLatLon|P625|P276|P159|item={{{item|}}}}} }}
}}
|v_p625_lat_dec={{#ifeq:{{{v_p625_lon_dec|{{{lon_dec|}}}}}}|NONE|<!--
-->|{{#if:{{{v_p625_lon_dec|{{{lon_dec|}}}}}}|{{{v_p625_lat_dec|{{{lat_dec|}}}}}} }}}}
|v_p625_lon_dec={{#ifeq:{{{v_p625_lat_dec|{{{lat_dec|}}}}}}|NONE|<!--
-->|{{#if:{{{v_p625_lat_dec|{{{lat_dec|}}}}}}|{{{v_p625_lon_dec|{{{lon_dec|}}}}}} }}}}
|v_p242={{{v_p242|{{{mapa_localitzador|}}}}}}
|v_zoom_map={{{v_zoom_map|{{{zoom|auto}}}}}}
|v_nocateg_coord= {{{v_nocateg_coord|{{{nocateg_coord|}}}}}}
|v_draw_layer= {{#ifeq:{{{v_draw_layer|{{{draw_layer|}}}}}}|NONE|<!-- res
-->|{{#if:{{{v_draw_layer|{{{draw_layer|}}}}}}|{{{v_draw_layer|{{{draw_layer|}}}}}}
|{{#invoke:Wikidades | claim |formatting=table
|property=P3896 |qualifier=P518
|blacklist1=Q94979808 {{{v_blacklist_layer|}}}
<!-- manually avoid an undesired data.map. Q94979808-colorful polygon is the default -->
|rowformat = $0
|separator=###|item={{{item|}}}|editicon=no}}
}} }}
}}
<!--
_____________________ Tractament que hi havia a {{infotaula premi}}. Pendent integrar en "article del premi", no de les edicions ________________
| image2 = {{if empty | {{#invoke:InfoboxImage |InfoboxImage |image={{#invoke:Wikidades|claim |property=P18 |value={{{imatge|{{{image|}}}}}} |list=false | item={{{item|}}} }} |size=300x300px|alt={{{alt|}}} }}
| {{#invoke:InfoboxImage |InfoboxImage |image={{#invoke:Wikidades |claim |property=P2425 |value={{{imatge|{{{image|}}}}}} |list=false | item={{{item|}}} }} |size=300x300px|alt={{{alt|}}} }} }}
|caption2 = {{#if:{{{imatge|{{{image|}}}}}}
| {{{descripció|{{{caption|{{{peu|}}}}}}}}}
| {{#invoke:Wikidades | claim | property=P18 |qualifier=P2096 | list=false }}
| {{#invoke:Wikidades | claim | property=P2425 |qualifier=P2096 | list=false }} }}
________________________________________________________________________________________
-->
<!-- EVENT NAME -->
|v_p1705_txt = {{#invoke:Wikidades | claim | property= P1559 OR P1705 | list=firstrank | formatting=text <!-- to determine if it fits when article name. -->| value={{{v_p1705|{{{v_original_name|}}}}}} }}
<!-- the format for v_p1705 includes "lang" -->
|v_p1705 = {{#invoke:Wikidades | claim | property= P1559 OR P1705 | list=firstrank
|formatting=($language) $text|separator=<br/> |value={{{v_p1705|{{{v_original_name|}}}}}}
}}
|v_original_lang = {{{v_original_lang|}}}<!-- lang in separate parameter, when manual. When from WD, it is within the span-->
|v_p1813 = {{#invoke:Wikidades |claim |property=P1813 |list=firstrank |value={{{v_p1813|{{{v_short_name|}}} }}} }}
|v_p1813_txt = {{#invoke:Wikidades |claim |property=P1813 |list=firstrank |editicon=no |formatting=text <!-- to determine if it fits when article name. -->|value={{{v_p1813|{{{v_short_name|}}}}}}
}}
|v_p1449 = {{#invoke:Wikidades | claim | property=P1449 | value= {{{v_p1449|{{{v_nickname|}}}}}}
}}
|v_p85 = {{#invoke:Wikidades | claim | property=P85
| value={{{v_p85|{{{anthem|}}}}}} | list=false
| formatting=table | qualifier = P580
| qualifier2 = P582 | rowformat = ''$0'' $1
| rowsubformat1= ($1$2) | rowsubformat2= -$2 }}
|v_p85_aud = {{#invoke:Wikidades | claim | property=p85
| list=false |qualifier = P51}}
<!-- ------------------------ codi anul·lat pel posterior. Conservat fins confirmar estabilitat -------------------- -->
|v_p31old = {{#ifeq:{{{v_p31|{{{v_type|}}}}}}|NONE|<!-- skip
-->|{{#if:{{{v_p31|{{{v_type|}}}}}}
|{{{v_p31|{{{v_type|}}}}}}
|{{#ifeq:{{#invoke:Wikidades | claim | property=P31 | list=false | formatting=raw }}
|{{MyValue|IBevent|WM_list}}
|<!-- skip when list. -->
<!--no list,P31 -->|{{#invoke:Wikidades | claim | property=P31 | list=firstrank | formatting=table
| blacklist0= {{MyValue|IBevent|hurricane_et_al}}<!-- skip when hurricane, et al. -->
| qualifier=P642 | rowsubformat1= de $1 | rowformat=$0 $1 }}
}}<!--
NO P31, use P279 -->|{{#invoke:Wikidades |claim |property=P279 | formatting=ucfirst}}
}}
}}
<!-- --------------------------- nou codi per v_p31 ------------------------- -->
|v_p31 = {{#ifeq:{{{v_p31|{{{v_type|}}}}}}|NONE|<!-- skip
-->|{{if empty |{{{v_p31|{{{v_type|}}}}}}
|{{#ifeq:{{#invoke:Wikidades | claim | property=P31 | list=false | formatting=raw }}
|{{MyValue|IBevent|WM_list}}
|<!-- skip when list. -->
<!-- no list, use P31 -->|{{#invoke:Wikidades | claim | property=P31 | list=firstrank | formatting=table
<!-- when NO hurricane --> | blacklist0= {{MyValue|IBevent|hurricane_et_al}}<!-- skip when hurricane, et al. -->
| qualifier=P642 | rowsubformat1= de $1 | rowformat=$0 $1 }}
}}
<!-- no P31, use P279 -->|{{#invoke:Wikidades |claim |property=P279 |formatting=ucfirst |list=firstrank}}
}}<!-- end ifempty -->
}}<!-- end if P31none -->
|v_hurricane_level = <tr>{{#invoke:Wikidades | claim | property=P31 | qualifier=P31 | qualifier2=P459 | qualifier3=P518
| list=firstrank| formatting=table |separator=</tr><tr>
| whitelist0= {{MyValue|IBevent|hurricane_et_al}}
| rowformat= <td colspan="2"; style="background-color:#{{((}}InGroup{{!}}IBevent_Storm_color{{!}}item{{=}}$0{{))}}; text-align:center">$1</td>
| rowsubformat1={{((}}ucfirst:$1{{))}}$3 ($2) |colformat1=label
| colformat0=raw
| colformat2=label |colformat3=label
| case2=infoboxdata
| rowsubformat3=, ''{{small|$3}}''}}</tr>
|v_p6208 = {{#invoke:Wikidades |claim |property=P6208 |list=lang |value={{{v_p6208|{{{v_award_rationale|}}}}}} }}
|v_p138 = {{#invoke:Wikidades |claim |property=P138 |value={{{v_p138|{{{v_named_after|}}}}}} }}
<!-- TIME -->
|v_validity = {{#ifeq:{{{v_p571|{{{v_inception|{{{v_p576|{{{v_dissolved|}}}}}}}}}}}}|NONE|<!-- skip
-->|{{#if:{{{v_p571|{{{v_inception|}}}}}} {{{v_p576|{{{v_dissolved|}}}}}}
| {{{v_p571|{{{v_inception|}}}}}} – {{{v_p576|{{{v_dissolved|}}}}}}
| {{#if:{{#property:P571|from={{{item|}}}}}
|{{FormatDate start end|start=P571 |end=P576 |item={{{item|}}}
|format={{MyValue|IBevent|str_end_date_format}} }}
}}
}} }}
<!-- When P837 has P3027 or P3028, it shows "only" qualifiers as "observation period" (astronomic, but not only). -->
|v_p837_per= {{#if:{{#invoke:Wikidades |claim |property=P837 |formatting=table |list=false |editicon=no
|qualifier=P3027 |qualifier2=P3028 |rowformat=$1$2}}
|{{#invoke:Wikidades |claim |property=P837 |formatting=table |list=false
|qualifier=P3027 |qualifier2=P3028
|rowsubformat2= - $2 |rowformat=$1$2
|value={{{v_p3027|{{{v_meteor_period|}}}}}} }}
}}
<!-- The value of P837 is managed beside period qualifiers (P3027,P3028) -->
|v_p837 = {{#invoke:Wikidades |claim |property=P837 |formatting=table |list=firstrank
|qualifier=P518 |rowsubformat1= ($1) |rowformat=$0$1
|value={{{v_p837|{{{v_peak_day|}}}}}} }}
<!-- Use qualifier P2868 of P837 as a label; it's used for "peak date" in astronomic event, (but not only) -->
|l_p837 = {{#invoke:Wikidades |claim |property=P837 |formatting=table |list=false |editicon=no
|qualifier=P2868 |rowformat=$1 |colformat1=label |case1=ucfirst}}
|v_p2894 = {{#invoke:Wikidades |claim |property=P2894 |list=firstrank
|value={{{v_p2894|{{{v_day|}}}}}} }}
<!--
v_p580_raw, v_p582_raw, v_p585_raw contains the corresponent value, non edited and without pencil icon.
It allows template:Infobox_event/formatglobal avoid repetitions of information among these three properties when
WD information is erroneous or over informed (same value for start-end data / start data and data (P585), etc..)
-->
|v_p580_raw = {{#if:{{{v_p580|{{{v_start_time|}}}}}}{{{v_p582|{{{v_end_time|}}}}}}|
|{{#invoke:Wikidades | claim | property=P580||editicon=no}} }}
|v_p582_raw = {{#if:{{{v_p580|{{{v_start_time|}}}}}}{{{v_p582|{{{v_end_time|}}}}}}|
|{{#invoke:Wikidades | claim | property=P582||editicon=no}} }}
|v_p585_raw = {{#if:{{{v_p580|{{{v_start_time|}}}}}}{{{v_p582|{{{v_end_time|}}}}}}|
|{{#invoke:Wikidades | claim | property=P585||editicon=no}} }}
<!-- v_p585 & v_p580 contains result of manual parameters or those fetch from P585 & the joinning of P580 - P582
-->
|v_p585 = {{#ifeq:{{{v_p585|{{{v_date|}}}}}}|NONE|
|{{#if:{{{v_p585|{{{v_date|}}}}}} | {{{v_p585|{{{v_date|}}}}}}
|{{#if:{{{v_date_signature|}}} {{{v_p6193|{{{v_ratified_by|}}}}}} {{{v_p7588|{{{v_effective_date|}}}}}}|
|{{#invoke:Wikidades | claim | property=P585|qualifier=P4241|qualifier2=P421
|rowsubformat1=($1$2) |rowsubformat2=.<small> $2</small>
|formatting=table |tablesort=0 |sorting=-1 |rowformat=$0 $1}}
}} }} }}
|v_p580 = {{#if:
{{#ifeq:{{{v_p580|{{{v_start_time|}}}}}}|NONE|1|}}
{{#ifeq:{{{v_p582|{{{v_end_time|}}}}}}|NONE|1|}}|<!-- skip use of P580-P582 when any of them is NONE
-->|{{#if:{{{v_p580|{{{v_start_time|}}}}}}
| {{#if:{{{v_p582|{{{v_end_time|}}}}}}
| {{{v_p580|{{{v_start_time|}}}}}} - {{{v_p582|{{{v_end_time|}}}}}}
| {{{v_p580|{{{v_start_time|}}}}}}
}}
| {{#if:{{{v_p582|{{{v_end_time|}}}}}}
| - {{{v_p582|{{{v_end_time|}}}}}}
|{{#if:{{#property:P580|from={{{item|}}}}}
|{{FormatDate start end|start=P580 |end=P582|item={{{item|}}}
|format={{MyValue|IBevent|str_end_date_format}} }}
}} }} }} }}
|v_point_time = {{{v_point_time|}}} {{#if:{{{v_start_time|}}}|{{{v_start_time|}}} – {{{v_end_time|}}}}}
|v_open_time = {{#invoke:Wikidades | claim |formatting=table |separator=<hr>
|property=P3025 |qualifier=P3027 |qualifier2=P3028 |rowsubformat1=($1–$2)<br/>
|qualifier3=P3026 |rowsubformat3=<br/> {{GetLabelFix|P3026|lang={{{lang|}}}}}: $3
|qualifier4=P8626 |qualifier5=P8627 |rowsubformat4=($4–$5)
|qualifier6=P1264 |rowsubformat6=, {{lcfirst:{{GetLabelFix|Q7993606|lang={{{lang|}}}}}}} $6<br/>
|qualifier7=P828 |rowsubformat7=, {{lcfirst:{{GetLabelFix|P828|lang={{{lang|}}}}}}} $7
|rowformat= $1$0 $4$6$3$7
|value={{{v_open_time|}}}
}}
<!--
EXCLUSIVES Dates for treaties, laws or agreements.
Their use in WD is not clear.
It must be tunned
_____________________________________________________ -->
|v_p467 = {{#invoke:Wikidades | claim | property=P467 | list=false | value={{{v_p467|{{{v_legislated_by|}}}}}} }}
|v_p7589 = {{#invoke:Wikidades | claim | property=P7589 | value={{{v_p7589|{{{v_date_assent|}}}}}} }}
|v_date_signature = {{#if:{{{v_p1891|{{{v_signatory|}}}}}} | {{{v_date_signature|}}}<!--when manual signatory, use manual date-->
|{{#if:{{#invoke:Wikidades | claim | property=P1891 |qualifier=P585}}|<!-- skip, because signature date as qualif of signatory will shown with them -->|{{{v_date_signature|}}} }} }}
|v_p6193 = {{#invoke:Wikidades | claim | property=P6193 |qualifier=P585
| formatting = table |rowformat=$0 $1 |rowsubformat1=($1)
| value={{{v_p6193|{{{v_ratified_by|}}}}}}
}}
|v_p7588 = {{#invoke:Wikidades | claim | property=P7588 | value={{{v_p7588|{{{v_effective_date|}}}}}} }}
<!-- END BLOCK exceptional dates
-->
|v_p577 = {{#invoke:Wikidades | claim | property=P577 | value={{{v_p577|{{{v_publication|}}}}}} }}
|v_p2047 = {{#invoke:Wikidades | claim | property=P2047 | formatting=unitcode | value={{{v_p2047|{{{v_duration|}}}}}} }}
|v_p2257 = {{#invoke:Wikidades | claim | property=P2257 |formatting= table |tablesort=1
|qualifier=P580 |qualifier2=P582
|colformat0=unit |colformat1=Y |colformat2=Y
|qualifier3=P2257|colformat3=unit
|rowsubformat3={{((}}MyValue{{!}}CommonUses{{!}}$3{{!}}default=$3{{))}}
|rowsubformat1=($1–$2)
|rowformat=$3 $1
|value={{{v_p2257|{{{v_event_interval|}}}}}} }}
|v_p2348 = {{#invoke:Wikidades | claim | property=P2348 | value={{{v_p2348|{{{v_time_period|}}}}}} }}
|v_p144 = {{#invoke:Wikidades | claim | property=P144 |qualifier=P50
| formatting=table | list=firstrank
| rowformat=$0 $1 |rowsubformat1=($1)
| value={{{v_p144|{{{v_based_on|}}}}}}
}}
|v_p393 = {{if empty
|{{#invoke:Wikidades | claim | property=P393 | value={{{v_p393|{{{v_edition|}}}}}} }}<!--
-->|{{#invoke:Wikidades | claim | property=P179 |qualifier=P1545 |list=false}}<!--
-->}}{{if then show|{{#invoke:Wikidades | claim | property=P4566 }}|<!-- skip -->| (|)}}
|v_p112 = {{#invoke:Wikidades | claim | property=P112 |list=firstrank | value={{{v_p112|{{{v_founded|}}}}}} }}
|v_antecedent = {{{v_antecedent|}}}
|v_casus = {{{v_casus|}}}<!-- casus, afegit per conflicte militar -->
|v_front = {{{v_front|}}}<!-- front, afegit per conflicte militar -->
|v_campanya = {{{v_campanya|}}}<!-- campanya, afegit per conflicte militar -->
|v_escenari = {{{v_escenari|}}}<!-- escenari, afegit per conflicte militar -->
|block_serie = {{if empty
<!--1. manual parameter -->
|{{#if:{{{v_previous|{{{anterior|{{{v_p155|}}} }}} }}}
|{{#ifeq:{{{v_previous|{{{anterior|{{{v_p155|}}} }}} }}}|NONE|<!-- skip
-->|{{align|left|←{{{v_previous|{{{anterior|{{{v_p155|}}} }}} }}} }} }} }}<!--
-->{{#if:{{{v_p156|{{{v_next|{{{posterior|}}} }}} }}}
|{{#ifeq:{{{v_p156|{{{v_next|{{{posterior|}}} }}} }}}|NONE|<!-- skip
-->|{{align|right|{{{v_p156|{{{v_next|{{{posterior|}}} }}} }}} →}} }} }}
<!--2. Property P155 or P1365. The most frequent structure -->
|{{#if:{{#invoke:Wikidades |claim |property= P155 OR P1365
|value={{{v_previous|{{{anterior|{{{v_p155|}}} }}} }}} }}<!-- previous event ? -->
|{{align|left|← <!-- left align & left arrow
-->{{#if:{{#invoke:Wikidades | claim | formatting=table
|property=P155 OR P1365
|qualifier=P580 |qualifier2=P582 |qualifier3=P585
|rowformat=$1$2$3}}<!-- previous with dates? -->
|<!-- apply previous name+dates format -->
{{#invoke:Wikidades | claim | formatting=table
|property=P155 OR P1365
|qualifier=P580 |qualifier2=P582 |qualifier3=P585
|colformat1=Y |colformat2=Y |colformat3=Y
|rowsubformat1=($1–$2) |rowsubformat3=($3)
|rowformat=$0 $3 $1}}
|<!-- No qualif.dates: try if condensed format is possible. Two conditions:
1. to have a year NNNN within name
2. the rest of text name in previous must be = to article name -->
{{if both
|{{#invoke:string|match
|{{#invoke:Wikidades| claim| property=P155 or P1365| formatting= label|editicon=no}}
|%d%d%d%d|nomatch=}}<!-- has a year -->
|{{#ifeq:{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main|{{if empty|{{{v_name|}}}
|{{{v_event|}}}
|{{PAGENAMEBASE}}}}
}} }}
|%d%d%d%d|||}}<!--
-->|{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main
|{{#invoke:Wikidades| claim| property=P155 or P1365
| formatting= label|editicon=no}}
}} }}
|%d%d%d%d|||}}
|XX}}<!--
texts without year from name and previous, match -->
|<!-- apply condensed format
-->{{#invoke:Wikidades | claim | property= P155 or P1365 |list=false
|formatting= [[$1|{{((}}#invoke:string{{!}}match{{!}}$1{{!}}%d%d%d%d{{))}}]]}}
|<!-- apply direct name format to previous event
-->{{#invoke:Wikidades | claim | property= P155 or P1365 |list=true|separator=</br>{{align|left|←}}   }}
}}
}}<!-- end IF P155/P1365 with dates-->
}}<!-- end align -->
}}<!-- end IF exists P155/P1365 -->
<!-- Property. Second part to handle next event
-->{{#if:{{#invoke:Wikidades | claim | property= P156 OR P1366 |value={{{v_p156|{{{v_next|{{{posterior|}}} }}} }}} }}<!-- next event ? -->
|{{align|right|<!-- right align (no arrow yet)
-->{{#if:{{#invoke:Wikidades | claim | formatting=table
|property=P156 OR P1366
|qualifier=P580 |qualifier2=P582 |qualifier3=P585
|rowformat=$1$2$3}}<!-- next with dates? -->
|<!-- apply previous name+dates format -->
{{#invoke:Wikidades | claim | formatting=table
|property=P156 OR P1366
|qualifier=P580 |qualifier2=P582 |qualifier3=P585
|colformat1=Y |colformat2=Y |colformat3=Y
|rowsubformat1=($1–$2) |rowsubformat3=($3)
|rowformat=$0 $3 $1}}
|<!-- No qualif.dates: try if condensed format is possible. Two conditions:
1. to have a year NNNN within name
2. the rest of text name in next must be = to article name -->
{{if both
|{{#invoke:string|match
|{{#invoke:Wikidades| claim| property=P156 or P1366| formatting= label|editicon=no}}
|%d%d%d%d|nomatch=}}<!-- has a year -->
|{{#ifeq:{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main|{{if empty|{{{v_name|}}}
|{{{v_event|}}}
|{{PAGENAMEBASE}}}}
}} }}
|%d%d%d%d|||}}<!--
-->|{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main
|{{#invoke:Wikidades| claim| property=P156 or P1366
| formatting= label|editicon=no}}
}} }}
|%d%d%d%d|||}}
|XX}}<!--
texts without year from name and previous, match -->
|<!-- apply condensed format
-->{{#invoke:Wikidades | claim | property= P156 or P1366 |list=false
|formatting= [[$1|{{((}}#invoke:string{{!}}match{{!}}$1{{!}}%d%d%d%d{{))}}]]}}
|<!-- apply direct name format to previous event
-->{{#invoke:Wikidades | claim | property= P156 or P1366 |list=true|separator= {{align|right|→}}</br>}}
}}
}}<!-- end IF P155/P1365 with dates
--> →}}<!-- end align -->
}}<!-- end IF exists P155/P1365 -->
<!--3. Property P179 or P361 (serie) with qualifier P155 or P1365. -->
|{{#switch:{{#invoke:Wikidades |numStatements |property=P179 or P361 |qualifier=P155 or P1365
|formatting=table|list=firstrank |rowformat=$1}}<!-- different solution for one value or +1 -->
|0=<!-- no P179 or P361, skip -->
|1={{#if:{{#invoke:Wikidades |claim |property=P179 or P361 |qualifier=P155 or P1365 |formatting=table
|list=firstrank |rowformat=$1|value={{{v_previous|{{{anterior|{{{v_p155|}}} }}} }}} }}<!-- qualif.P155 or P1365 found.-->
|<!-- Only one P3450 or P5138+P155/P1365 : try if condensed format is possible. Two conditions:
1. to have a year NNNN within name
2. the rest of text name in previous must be = to article name -->
{{if both
|{{#invoke:string|match
|{{#invoke:Wikidades| claim| property=P179 or P361 |qualifier=P155 or P1365
|formatting=table |editicon=no
|rowformat=$1 |colformat1=label}}
|%d%d%d%d|nomatch=}}<!-- has a year -->
|{{#ifeq:{{#invoke:string |replace
|{{lc:{{#invoke:Plain text|main|{{if empty|{{{v_name|}}}
|{{{nom|}}}
|{{PAGENAMEBASE}}}}
}} }}
|%d%d%d%d|||}}<!--
-->|{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main
|{{#invoke:Wikidades| claim| property=P179 or P361
|qualifier=P155 or P1365 |formatting= table |editicon=no
|rowformat=$1 |colformat1=label}}
}} }}
|%d%d%d%d|||}}
|XX}}<!--
texts without year from name and previous, match -->
|<!-- apply condensed format
-->{{#invoke:Wikidades| claim| property=P179 or P361 |qualifier=P155 or P1365
|formatting= table |rowformat=$1
|colformat1={{align|left|← [[$1|{{((}}#invoke:string{{!}}match{{!}}$1{{!}}%d%d%d%d{{))}}]] }}}}
|<!-- apply direct name format to previous event
-->{{#invoke:Wikidades | claim | property= P179 or P361 |qualifier=P155 or P1365
| formatting= table |rowformat=$1
|rowsubformat1={{align|left|← $1}} }}
}}
}}
<!-- repeat similar process for P156/P1366 -->
{{#if:{{#invoke:Wikidades | claim | property=P179 or P361 |qualifier=P156 or P1366 |formatting=table
|list=firstrank |rowformat=$1 |value={{{v_p156|{{{v_next|{{{posterior|}}} }}} }}} }}<!-- qualif. P156 or P1366 found. -->
|<!-- Only one P179 or P361+P156/P1366 : try if condensed format is possible. Two conditions:
1. to have a year NNNN within name
2. the rest of text name in next must be = to article name -->
{{if both
|{{#invoke:string|match
|{{#invoke:Wikidades| claim| property=P179 or P361 |qualifier=P156 or P1366
|formatting=table |editicon=no
|rowformat=$1 |colformat1=label}}
|%d%d%d%d|nomatch=}}<!-- has a year -->
|{{#ifeq:{{#invoke:string |replace
|{{lc:{{#invoke:Plain text|main|{{if empty|{{{v_name|}}}
|{{{nom|}}}
|{{PAGENAMEBASE}}}}
}} }}
|%d%d%d%d|||}}<!--
-->|{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main
|{{#invoke:Wikidades| claim| property=P179 or P361
|qualifier=P156 or P1366 |formatting= table |editicon=no
|rowformat=$1 |colformat1=label}}
}} }}
|%d%d%d%d|||}}
|XX}}<!--
texts without year from name and next, match -->
|<!-- apply condensed format
-->{{#invoke:Wikidades| claim| property=P179 or P361 |qualifier=P156 or P1366
|formatting= table |rowformat=$1
|colformat1={{align|right| [[$1|{{((}}#invoke:string{{!}}match{{!}}$1{{!}}%d%d%d%d{{))}}]] →}}}}
|<!-- apply direct name format to next event
-->{{#invoke:Wikidades | claim | property= P179 or P361 |qualifier=P156 or P1366
| formatting= table |rowformat=$1
|rowsubformat1={{align|right|$1 →}} }}
}}
}}
<!-- default means +1 value for P179 or P361. Apply multivalue format -->
|#default={{#ifeq:{{{v_previous|{{{anterior|{{{v_next|{{{posterior|{{{v_p155|{{{v_p156|}}} }}} }}} }}} }}} }}}|NONE|<!-- skip
-->|<tr>{{#invoke:Wikidades | claim | property=P179 or P361 |qualifier=P155 |qualifier2=P156 |formatting=table
|list=firstrank |separator=</tr><tr> |conjunction=</tr><tr> | colformat0=ucfirst
|rowformat=<td class=infobox-label>'''$0'''</td><td style="align:start">$1$2</td>
|rowsubformat1={{align|left|← $1}} |rowsubformat2={{align|right|$2 →}} }}</tr>}}
}}
}}
<!-- LOCATION -->
|v_p2596 = {{#invoke:Wikidades | claim | property=P2596 | value={{{v_p2596|{{{v_culture|}}}}}} }}
|v_p6375 = {{if empty | {{#invoke:Wikidades |claim |property=P6375 |list=false
|value= {{{v_p6375|{{{v_address|}}}}}} }}
| {{Comma separated entries
| {{#invoke:Wikidades |claim |property=P276 |formatting=table
|list=firstrank |case0=locationcontext
|qualifier=P585 |rowsubformat1= $1:
|qualifier2=P580 |rowsubformat2=$2 -
|qualifier3=P582 |rowsubformat3=$3:
|rowformat=$1$2$3$0}}
| {{#invoke:Wikidades |claim |property=P31 |list=firstrank| formatting=table
| qualifier =/P706
| blacklist0= {{MyValue|IBevent|hurricane_et_al}}
| rowformat=$1}}
| {{#ifeq:{{#invoke:Wikidades |claim |property=P276 |formatting=raw|list=false}}
|{{#invoke:Wikidades |claim |property=P131 |formatting=raw|list=false}}|<!-- avoid repeating same
-->|{{#invoke:Wikidades | claim | property=P131 |formatting=table
|list=firstrank |case0=locationcontext |rowformat=$0}}
}}
}}<!-- end Comma separated -->
}}<!-- end if empty -->
|v_p706 = {{#if: {{#invoke:Wikidades | claim | property=P31| list=firstrank| formatting=table
| whitelist0= {{MyValue|IBevent|hurricane_et_al}}
| rowformat=$0}}
| {{#invoke:Wikidades | claim | property=P706 |value={{{v_p706|{{{v_drainage_basin|}}}}}} }}<!-- basin for tropical storms -->
}}
|v_p17 = {{if empty | {{#invoke:Wikidades | claim | property=P17 | value={{{v_p17|{{{v_country|}}}}}} }}
| {{#invoke:Wikidades | claim | property=P495 }} }}
|v_p4777 = {{#invoke:Wikidades | claim | property=P4777 |qualifier=P4777/P2043 |list=false |formatting=table
| rowformat=$0 $1 |rowsubformat1=<small>($1)</small> |colformat1=unitcode
| value={{{v_p4777|{{{v_border|}}}}}}
}}
|v_p30 = {{#invoke:Wikidades | claim | property=P30 | value={{{v_p30|{{{v_continent|}}}}}} }}
|v_p2046 = {{#invoke:Wikidades | claim | property=P2046 |formatting=unitcode | value={{{v_p2046|{{{v_area|}}}}}} }}
<!-- MISCELLANEOUS -->
|v_p1451 = {{#invoke:Wikidades | claim | property=P1451 | value={{{v_p1451|{{{v_motto|}}}}}} }}
|block_rank = {{if then show
|1={{#invoke:Wikidades | claim | property=P3730 |qualifier=P3730/P2425 |list=false |formatting=table
| rowformat=$1 $0 |rowsubformat1=[[File:$1|30px|link=]]
| showsomevalue=no |shownovalue=no
| value={{{v_p3730|{{{v_higher_rank|}}}}}} }}
|2=<!-- skip, when not exists. --><!--
big ↑ before, if ∃ -->|3=<span style="font-size:115%;">↑ </span>}}
{{if then show
|1={{#invoke:Wikidades | claim | property=P3729 |qualifier=P3729/P2425 |list=false |formatting=table
| rowformat=$1 $0 |rowsubformat1=[[File:$1|30px|link=]]
| showsomevalue=no |shownovalue=no
| value={{{v_p3729|{{{v_lower_rank|}}}}}} }}
|2=<!-- skip, when not exists. --><!--
big ↓ before, if ∃ -->|3=<span style="font-size:115%;">↓ </span>}}
<!--
«P361-part_of» contains upper level military type of conflict,
when P31/P279=is_conflict following Itemgroup/parent rules or when it's forced by manual «military_infobox=YES».
Then, P361 value allows to build a «v_type_conflict_tree»
When "no military", the value goes to «v_p361»
-->
|v_p361 = {{#if:{{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, No Military select
-->|{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|mil}} }}<!-- Military by P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|mil}}<!-- Military by manual parameter -->
|<!-- skip, military -->
|{{#invoke:Wikidades | claim | property=P361 | value={{{v_p361|{{{v_part_of|}}}}}} }}<!-- normal position for P361-->
}}
|v_type_conflict_tree={{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, military infobox rejected
-->|{{#if:{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|X}} <!-- OR: is-conflict via P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|X}} <!-- is forced manually -->
|{{#if:{{#invoke:Wikidades | claim | property=P361 |editicon=no}}
|{{InfoboxFrame |child=yes
|headerclass = infobox_headerstyle
|header1={{GetLabelFix|P361|lang={{{lang|}}}}}
|data3= <tr>{{#invoke:Wikidades |getParentValues |list=false |sorting=-1
|property=P361
|showlabelid={{{v_p361_on_tree|}}}
|uptolabelid= |upto=10
|separator=</tr><tr> |formatting=ucfirst
|rowformat=<td class=infobox-label>'''$0'''</td><td>$1</td>}}</tr>
}}
}} }} }}
|v_p2121 = {{#invoke:Wikidades | claim | property=P2121 |formatting=unitcode | value={{{v_p2121|{{{v_prize_money|}}}}}} }}
|v_p822 = {{#invoke:Wikidades | claim | property=P822 | value={{{v_p822|{{{v_mascot|}}}}}} }}
|v_p921 = {{#invoke:Wikidades | claim | property=P921 |qualifier=P642
| formatting=table | list=firstrank
| rowformat=$0 $1 |rowsubformat1=$1
| value={{{v_p921|{{{v_subject|}}}}}} }}
|v_p533 = {{#invoke:Wikidades | claim | property= P533 OR P3712
| value={{{v_p533|{{{v_target|}}}}}} }}<!--P533=militar/terrorist target; P3712=project/event goal -->
|v_p1478 = {{#invoke:Wikidades | claim | property= P1478 OR P828 |qualifier=P585 |qualifier2=P642
| formatting=table | list=firstrank
| rowformat=$0 $2 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2
| value={{{v_p1478|{{{v_immediate_cause|}}}}}}
}}
|v_p1542 = {{#invoke:Wikidades |claim | property= P1542 OR P1536
|qualifier=P585 |qualifier2=P642
|formatting=table | list=firstrank
|rowformat=$0 $2 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2
|value={{{v_p1542|{{{v_effect|}}}}}}
}}
|v_p2895 = {{#invoke:Wikidades |claim | property=P2895 |qualifier=P2047 |list=false |formatting=table
|rowformat=$0 $1 |colformat0=unitcode |convert0=default2
|rowsubformat1=, $1 |colformat1=unit
|value={{{v_p2895|{{{v_wind|}}}}}}
}}
|v_p2532 = {{#invoke:Wikidades |claim |property=P2532 |formatting=unitcode |convert=default|value={{{v_p2532|{{{v_pressure|}}}}}}}}
|v_action = {{{v_action|}}}
|v_conditions = {{{v_conditions|}}}
|v_results = {{{v_results|}}}
|v_p607 = {{#invoke:Wikidades | claim | property=P607 |qualifier=P585 |qualifier2=P1012
| formatting=table | list=firstrank
| rowformat=$0$2 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=, $2
| value={{{v_p607|{{{v_conflict|}}}}}}
}}
|v_p407 = {{#invoke:Wikidades | claim | property=P407 | value={{{v_p407|{{{v_llengua|}}}}}} }}
|v_p140 = {{#invoke:Wikidades | claim | property=P140 | value={{{v_p140|{{{v_religion|}}}}}} }}
|v_p2922 = {{#invoke:Wikidades | claim | property=P2922 | value={{{v_p2922|}}} }}
<!-- CONCERTS -->
|v_p136 = {{#invoke:Wikidades | claim | property=P136 | value={{{v_p136|{{{v_genre|}}}}}} }}
|v_p175 = {{#invoke:Wikidades | claim | property=P175 | value={{{v_p175|{{{v_performer|}}}}}} }}
|v_p5027 = {{#invoke:Wikidades | claim | property=P5027 |qualifier=P585 |qualifier2=P276
| formatting=table | list=firstrank
| rowformat=$0 $2 $1 |rowsubformat1 = <small>($1)</small> |rowsubformat2 =→ $2
| value={{{v_p5027|{{{v_representations|}}}}}} }}
<!-- ECONOMY-->
|v_p2769 = {{#invoke:Wikidades | claim | property=P2769 |formatting=unitcode | value={{{v_p2769|{{{v_budget|}}}}}} }}
<!-- EPIDEMIC -->
|v_p8204 = {{#invoke:Wikidades | claim | property=P8204 |list=false | formatting=table
|rowformat=[[c:$0|{{GetLabelFix|Q27948|lang={{{lang|}}}}}]]
|qualifier=P1433
| value={{{v_p8204|{{{v_tabular_case|}}}}}}
}}
|v_p1660 = {{#invoke:Wikidades | claim | property=P1660 |list=firstrank
| value={{{v_p1660|{{{v_index_case|}}}}}}
}}
|v_p8011 = {{#invoke:Wikidades | claim | property=P8011 |qualifier=P585 |qualifier2=P3005
| formatting=table | list=false |tablesort=1 |sorting=-1
| rowformat=$2 $0 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2:
| value={{{v_p8011|{{{v_medical_tests|}}}}}}
}}
|v_p1603 = {{#invoke:Wikidades | claim | property=P1603 |qualifier=P585 |qualifier2=P3005
| formatting=table | list=firstrank |tablesort=1
| rowformat=$2 $0 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2:
| value={{{v_p1603|{{{v_number_cases|}}}}}}
}}
|v_p8049 = {{#invoke:Wikidades | claim | property=P8049 |qualifier=P585
| formatting=table | list=false |tablesort=1 |sorting=-1
| rowformat= $0 $1 |rowsubformat1=<small>($1)</small>
| value={{{v_p8049|{{{v_hospitalized_cases|}}}}}}
}}
|v_p8010 = {{#invoke:Wikidades | claim | property=P8010 |qualifier=P585 |qualifier2=P3005
| formatting=table | list=false |tablesort=1 |sorting=-1
| rowformat=$2 $0 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2:
| value={{{v_p8010|{{{v_number_recoveries|}}}}}}
}}
|v_p9107 = {{#invoke:Wikidades | claim | property=P9107 |qualifier=P585
| formatting=table | list=firstrank |tablesort=1
| rowformat= $0 $1 |rowsubformat1=<small>($1)</small>
| value={{{v_p9107|{{{v_number_vaccinations|}}}}}}
}}
|v_p8045 = {{#invoke:Wikidades | claim | property=P8045 |list=firstrank
| value={{{v_p8045|{{{v_response_outbreak|}}}}}}
}}
<!-- DISASTERS -->
|v_p2320 = {{#invoke:Wikidades | claim | property=P2320 |qualifier=P585 |qualifier2=P276
| formatting=table | list=firstrank |tablesort=1
| rowformat=$2 $0 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2:
| value={{{v_p2320|{{{v_aftershocks|}}}}}}
}}
|v_p1120 = {{#invoke:Wikidades | claim | property=P1120 |qualifier=P518|qualifier2=P276 OR P426 OR P17
| formatting=table | list=firstrank |tablesort=2
| rowformat=$2$4 $0 $1 $3 |rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| qualifier4 = P1480/P487 or P1480| rowsubformat4 = $4
| value={{{v_p1120|{{{v_deaths|}}}}}}
}}
|v_p1339 = {{#invoke:Wikidades | claim | property=P1339 |qualifier=P518 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2$4 $0 $1 $3 |rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| qualifier4 = P1480/P487 or P1480| rowsubformat4 = $4
| value={{{v_p1339|{{{v_injured|}}}}}}
}}
|v_p8032 = {{#invoke:Wikidades | claim | property=P8032 |qualifier=P518 or P3831 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2$4 $0 $1 $3 |rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| qualifier4 = P1480/P487 or P1480| rowsubformat4 = $4
| value={{{v_p8032|{{{v_victim|}}}}}}
}}
|v_p1446 = {{#invoke:Wikidades | claim | property=P1446 |qualifier=P518 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2$4 $0 $1 $3 |rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| qualifier4 = P1480/P487 or P1480| rowsubformat4 = $4
| value={{{v_p1446|{{{v_missing|}}}}}}
}}
|v_p1561 = {{#invoke:Wikidades | claim | property=P1561 |qualifier=P518 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2 $0 $1 $3|rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| value={{{v_p1561|{{{v_survivor|}}}}}}
}}
|v_p9924 = {{#invoke:Wikidades | claim | property=P9924 |qualifier=P518 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2 $0 $1 $3|rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| value={{{v_p9924|{{{v_evacuated|}}}}}}
}}
|v_p5582 = {{#invoke:Wikidades | claim | property=P5582 |qualifier=P518 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2$4 $0 $1 $3 |rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| qualifier4 = P1480/P487 or P1480| rowsubformat4 = $4
| value={{{v_p5582|{{{v_arrests|}}}}}}
}}
|v_p3081 = {{#invoke:Wikidades | claim | property=P3081 | qualifier=P1114
| formatting=table | list=firstrank
| rowformat=$1 $0 $4 $2 $3 | rowsubformat1=$1 | tablesort=2/1
| qualifier2 = P585 | rowsubformat2 = <small>($2)</small>
| qualifier3 = P1107 | rowsubformat3 = ($3)
| qualifier4 = P642
| value={{{v_p3081|{{{v_damaged|}}}}}}
}}
|v_p2630 = {{#invoke:Wikidades | claim | property=P2630 | qualifier=P518 OR P642
| formatting=table | list=firstrank | tablesort=2/1
| rowformat=$1 $0 $2 $3 | colformat0 = unitcode |convert0=M
| rowsubformat1=$1:
| qualifier2 = P585 | rowsubformat2 = <small>($2)</small>
| qualifier3 = P459 | rowsubformat3 = ($3)
| value={{{v_p2630|{{{v_damage_cost|}}}}}}
}}
|v_p3082 = {{#invoke:Wikidades | claim | property=P3082 | qualifier=P1114
| formatting=table | list=firstrank
| rowformat=$1 $0 $4 $2 $3 | rowsubformat1=$1 | tablesort=2/1
| qualifier2 = P585 | rowsubformat2 = <small>($2)</small>
| qualifier3 = P1107 | rowsubformat3 = ($3)
| qualifier4 = P642
| value={{{v_p3082|{{{v_destroyed|}}}}}}
}}
<!-- PARTIES INVOLVED + AWARDS -->
|v_p641 = {{#invoke:Wikidades | claim | property=P641 | value={{{v_p641|{{{v_sport|}}}}}} }}
|v_p1027 = {{#invoke:Wikidades | claim | property=P1027 | value={{{v_p1027|{{{v_host|}}}}}} }}
|v_p664 = {{#invoke:Wikidades | claim | property=P664 | value={{{v_p664|{{{v_organizer|}}}}}} }}
|v_p1001 = {{#invoke:Wikidades | claim | property=P1001 | value={{{v_p1001|{{{v_jurisdiction|}}}}}} }}
|v_p371 = {{#invoke:Wikidades | claim | property=P371 | qualifier=P276 |formatting=table
| rowformat=$0$1 |rowsubformat1= ($1)
| value={{{v_p371|{{{v_presenter|}}}}}}
}}
|v_p57 = {{#invoke:Wikidades | claim | property=P57 | value={{{v_p57|{{{v_director|}}}}}} }}
|v_p162 = {{#invoke:Wikidades | claim | property=P162 | value={{{v_p162|{{{v_producer|}}}}}} }}
|v_p61 = {{#invoke:Wikidades | claim | property=P61 | value={{{v_p61|{{{v_discovered|}}}}}} }}
|v_p4791 = {{#invoke:Wikidades | claim | property=P4791 | value={{{v_p4971|{{{v_comandament|}}}}}} }}
|v_p823 = {{#invoke:Wikidades | claim | property=P823 | value={{{v_p823|{{{v_speaker|}}}}}} }}
<!-- OTHER POSITIONS IN P3342 (KEY PERSON) -->
<!-- when manual data it uses std.label. When fetch from WD, labels are generated with P3831 of each value -->
|l_p3342 = {{#if:{{{v_p3342|{{{v_coordinator|}}}}}} | {{GetLabelFix|Q2630879|lang={{{lang|}}}}} }}
|v_p3342 = {{#if:{{{v_p3342|{{{v_coordinator|}}}}}}
|{{#ifeq:{{{v_p3342|{{{v_coordinator|}}}}}}|NONE|<!-- skip
-->|{{{v_p3342|{{{v_coordinator|}}}}}}
|<tr>{{#invoke:Wikidades | claim | property=P3342 | formatting= table | list=firstrank
| tablesort = 7
<!-- rol -->| qualifier = P3831 |colformat1=ucfirst
<!-- start -->| qualifier2= P580
<!-- end -->| qualifier3= P582
<!-- end cause -->| qualifier4= P1534 | rowsubformat4= , → $4
<!-- replaces -->| qualifier5= P1365 | rowsubformat5= «» $5
<!-- prlament group -->| qualifier6= P4100/P1813 OR P102/P1813 | rowsubformat6= – $6
<!-- order -->| qualifier7= P1545
|rowformat = <td class="infobox-label">''' $1 '''</td><td>$0$6 <!--
--><small>{{((}}Mostra inici fi{{!}}inici{{=}}$2{{!}}fi{{=}}$3{{!}}lang{{=}}{{{lang|}}}{{))}}</small> <!--
-->$5$4</td><!--
-->|separator=</tr><tr>|conjunction=</tr><tr>}}</tr>
}} }}
|v_p1128 = {{#invoke:Wikidades | claim | property=P1128 |qualifier=P585
| formatting = table |rowformat=$0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p1128|{{{v_employees|}}}}}}
}}
|v_p6125 = {{#invoke:Wikidades | claim | property=P6125 |qualifier=P585
| formatting = table |rowformat=$0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p6125|{{{v_volunteers|}}}}}}
}}
|v_p1875 = {{#invoke:Wikidades | claim | property=P1875 | value={{{v_p1875|{{{v_represented_by|}}}}}} }}
|v_p710 = {{#invoke:Wikidades | claim | property=P710
| formatting = table |rowformat=$0$2$3$4 $1
|qualifier=P585 |rowsubformat1=<small>($1)</small>
|qualifier2=P1268|rowsubformat2=<br> {{GetLabelFix|P1268|lang={{{lang|}}}}}: $2
|qualifier3=P1875|rowsubformat3=<br> {{GetLabelFix|P1875|lang={{{lang|}}}}}: $3
|qualifier4=P3831|rowsubformat4= ($4)
| value={{{v_p710|{{{v_participant|}}}}}}
}}
|v_p8550 = {{#invoke:Wikidades | claim | property=P8550 | value={{{v_p8550|{{{v_law_number|}}}}}} }}
|v_p9376 = {{#invoke:Wikidades | claim | property=P9376 | value={{{v_p9376|{{{v_law_digest|}}}}}} }}
|v_p3148 = {{#invoke:Wikidades | claim | property=P3148 | value={{{v_p3148|{{{v_repeals|}}}}}} }}
|v_p2568 = {{#invoke:Wikidades | claim | property=P2568 | value={{{v_p2568|{{{v_repealed_by|}}}}}} }}
|v_p50 = {{#invoke:Wikidades | claim | property=P50 | value={{{v_p50|{{{v_author|}}}}}} }}
|v_p1891 = {{#invoke:Wikidades | claim | property=P1891 | formatting = table |list=firstrank
|qualifier=P585 |rowsubformat1=<small>($1)</small>
|qualifier2=P1268|rowsubformat2=<br> {{GetLabelFix|P1268|lang={{{lang|}}}}}: $2
|qualifier3=P1875|rowsubformat3=<br> {{GetLabelFix|P1875|lang={{{lang|}}}}}: $3
|rowformat=$0$2$3 $1
| value={{{v_p1891|{{{v_signatory|}}}}}}
}}
|v_p4032 = {{#invoke:Wikidades | claim | property=P4032 | value={{{v_p4032|{{{v_reviewed_by|}}}}}} }}
|v_p9681 = {{#ifeq:{{{v_p9681|{{{v_voted_by|}}}}}}|NONE|<!-- skip -->
|{{#if:{{{v_p9681|{{{v_voted_by|}}}}}} | {{{v_p9681|{{{v_voted_by|}}}}}}
|{{#if:{{#invoke:Wikidades | claim | property=P9681
|qualifier =P585 |rowsubformat1=($1)
|qualifier2=P8683 |qualifier3=P8682 |qualifier4=P5043
|rowsubformat2=$2 |rowsubformat3=$3 |rowsubformat4=$4
|formatting = table |rowformat=$2$3$4}}<!-- when voting qualifiers, add nowrap -->
|{{#invoke:Wikidades | claim | property=P9681
|qualifier =P585 |rowsubformat1= <small>($1)</small>
|qualifier2=P8683 |qualifier3=P8682 |qualifier4=P5043 |qualifier5=P393
|rowsubformat2= $2[[File:Dark_green_check.svg|13px|{{GetLabelFix|P8683|lang={{{lang|}}}}}]]
|rowsubformat3=, $3 [[File:Cancelled cross.svg|13px|{{GetLabelFix|P8682|lang={{{lang|}}}}}]]
|rowsubformat4=, $4[[File:Neutral gray circle icon.png|16px|{{GetLabelFix|P5043|lang={{{lang|}}}}}]]
|rowsubformat5= <small>({{GetLabelFix|Q23700466|lang={{{lang|}}}}}:$5)</small>
|formatting = table |rowformat=$0$5$1<br/>$2$3$4}}
|{{#invoke:Wikidades | claim | property=P9681
|qualifier =P585 |rowsubformat1= <small>($1)</small>
|qualifier2=P5102 |rowsubformat2=, <small>($2)</small> |qualifier3=P393
|rowsubformat3= <small>({{GetLabelFix|Q23700466|lang={{{lang|}}}}}:$3)</small>
|formatting = table |rowformat=$0$3$1$2}}
}}
}} }}
|v_p2058 = {{#invoke:Wikidades | claim | property=P2058 | value={{{v_p2058|{{{v_depositor|}}}}}} }}
|v_p859 = {{#invoke:Wikidades | claim | property=P859 |list=firstrank
| formatting = table |rowformat=$0$2$3 $1
|qualifier=P585 |rowsubformat1=<small>($1)</small>
|qualifier2=P1268|rowsubformat2=<br> {{GetLabelFix|P1268|lang={{{lang|}}}}}: $2
|qualifier3=P1875|rowsubformat3=<br> {{GetLabelFix|P1875|lang={{{lang|}}}}}: $3
| value={{{v_p859|{{{v_sponsor|}}}}}} }}
|v_p2284 = {{#invoke:Wikidades | claim | property=P2284 |formatting= unitcode
| value={{{v_p2284|{{{v_price|}}}}}}
}}
|v_recording = {{{v_recording|}}}
|v_p5436 = {{#invoke:Wikidades | claim | property=P5436 |qualifier=P585
| formatting = table |rowformat=$0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p5436|{{{v_viewers|}}}}}}
}}
|v_p1110 = {{#invoke:Wikidades | claim | property=P1110 |qualifier=P585
| formatting = table |rowformat=$0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p1110|{{{v_attendance|}}}}}}
}}
|v_p1132 = {{#invoke:Wikidades | claim | property=P1132 |qualifier=P585 |qualifier2=P518
|rowsubformat2=$2: | formatting = table
|rowformat=$2 $0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p1132|{{{v_participants|}}}}}}
}}
|v_p1346 = {{if empty|{{#invoke:Wikidades | claim | property=P1346 | qualifier=P585
| formatting=table |rowformat=$0$3$2 $1 | rowsubformat1=<small>($1)</small> | tablesort=1
| qualifier2 = P1686 | rowsubformat2 = , {{GetLabelFix|P1686|lang={{{lang|}}}}} ''$2''
| qualifier3 = P1268 or P17| rowsubformat3 = ↔ $3
| value={{{v_p1346|{{{v_winner|}}}}}}
}}
|{{#ifeq:{{{v_p710|}}}|NONE<!-- when P710 is NOT manually dissabled, the «winner» shown in P710
-->|{{#invoke:Wikidades | claim | property=P710 | qualifier=P3831 <!-- to get winner in military conflict -->
| formatting=table |rowformat=$0 | whitelist1=Q18560095 <!-- because P1346 is forbidden in military -->
| value={{{v_p1346|{{{v_winner|}}}}}} }}
}}
}}
|v_p2142 = {{#invoke:Wikidades | claim | property=P2142 |qualifier=P585 }
| formatting = table |rowformat=$0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p2142|{{{v_box_office|}}}}}}
}}
<!-- BILATERAL RELATION
____________ Used for relations between two subjects of public international law.
It contains one first block with a map + bar colors (as a map legend).
Then, a second block with two columns shows managers & representants
from both participant organisations, in charge to keep it active.
-->
|v_bilateral_relation = {{#invoke:Wikidades |claim |property=P31 |list=bestrank |formatting=table
|whitelist0={{MyValue|IBevent|bilateral_relation}} | rowformat= $0}}
|v_bilateral_map =
{{#if:{{#invoke:Wikidades |claim |property=P31 |qualifier=/P242 |formatting=table
|rowformat=$1 |whitelist0={{MyValue|IBevent|bilateral_relation}}}}<!-- bilateral_relation w map -->
|{{#invoke:Wikidades |claim |property= P242 |qualifier=P2096 |value={{{v_p242|{{{v_locator_map|}}}}}}
|formatting = table |list = false |editicon=no
|rowformat= [[File:$0|300x300px]]<br />$1}}
}}
|v_bilateral_participants =
{{#if:{{#invoke:Wikidades |claim |property=P31
|formatting=table |whitelist0={{MyValue|IBevent|bilateral_relation}}}}<!-- bilateral relation? -->
|{{#ifeq:{{{v_p242|{{{v_locator_map|}}}}}}|NONE|<!-- skip
-->|{{#if:{{#invoke:Wikidades |claim |property=P242 |list=false}}<!-- amb mapa -->
|<tr style="height:0.6em">
<td style="background:{{if empty|{{{v_color_map_part_1|}}}
|{{#invoke:Wikidades |claim |property=P710 |list=false
|qualifier=P465 |rowsubformat1=#$1 |tablesort=0<!-- first -->
|formatting=table |editicon=no |rowformat=$1}}
|{{MyValue|IBevent|default_color_map_1}}}};"></td>
<td style="background:{{if empty|{{{v_color_map_part_2|}}}
|{{#invoke:Wikidades |claim |property=P710 |list=false<!-- last -->
|qualifier=P465 |rowsubformat1=#$1 |tablesort=0 |sorting=-1
|formatting=table |editicon=no |rowformat=$1}}
|{{MyValue|IBevent|default_color_map_2}}}};"></td>
</tr>
|{{main other|[[Categoria:Infobox bilateral relations usage without maps]]}}<!-- +++++ -->
}} }}
{{#if:{{#invoke:Wikidades |claim |property=P710 |list=false}}<!-- participant countries -->
|<tr>
<th scope=col style="width:50%; text-align:center">
{{#invoke:Wikidades |claim |property= P710
|qualifier=P41 or P710/P41 |rowsubformat1=[[File:$1|x30px]]
|formatting = table |list = false |tablesort=0<!-- |editicon=no -->
|rowformat= $1<br>$0}}</th>
<th scope=col style="width:50%; text-align:center; border-left:thin solid lightgrey;">
{{#invoke:Wikidades |claim |property= P710
|qualifier=P41 or P710/P41 |rowsubformat1=[[File:$1|x30px]]
|formatting = table |list = false |tablesort=0 <!-- |editicon=no --> |sorting=-1
|rowformat= $1<br>$0}}</th>
</tr>
}} }}
|v_bilateral_managers =
{{#if:{{#invoke:Wikidades |claim |property=P31 |formatting=table
|whitelist0={{MyValue|IBevent|bilateral_relation}}}}<!-- bilateral relation? -->
|<tr><td style="text-align:center">
{{#invoke:Wikidades |claim |property= P710 |qualifier=P137 |tablesort=0
|formatting = table |list = false <!-- |editicon=no -->
|rowformat= $1 |colformat1=ucfirst}}</td>
<td style="text-align:center; border-left:thin solid lightgrey;">
{{#invoke:Wikidades |claim |property= P710 |qualifier=P137 |tablesort=0
|formatting = table |list = false <!-- |editicon=no --> |sorting=-1
|rowformat= $1 |colformat1=ucfirst}}</td>
</tr>}}
|v_bilateral_representants =
{{#if:{{#invoke:Wikidades |claim |property=P31 |formatting=table
|whitelist0={{MyValue|IBevent|bilateral_relation}}}}<!-- bilateral relation? -->
|<tr><td style="text-align:center">
{{#invoke:Wikidades |claim |property= P710 |qualifier=P1875 |qualifier2=P1875/P1308
|formatting=table |list=false |tablesort=0 |case1=gender |editicon=no
|rowformat= $1$2 |rowsubformat2=:<br>$2 |colformat1=ucfirst
|itemgender={{#invoke:Wikidades |claim | property=P710 |qualifier=P1875/P1308
|formatting=table |list=false |editicon=no |tablesort=0
|colformat1=raw |rowformat=$1}}
}}</td>
<td style="text-align:center; border-left:thin solid lightgrey;">
{{#invoke:Wikidades |claim |property= P710 |qualifier=P1875 |qualifier2=P1875/P1308
|formatting=table |list=false |tablesort=0 | sorting=-1|case1=gender
|rowformat= $1$2 |rowsubformat2=:<br>$2 |colformat1=ucfirst
|itemgender={{#invoke:Wikidades |claim | property= P710 | qualifier=P1875/P1308
|formatting=table | list=false | editicon=no | tablesort=0 | sorting=-1
|colformat1=raw | rowformat= $1}}
}}</td>
</tr>}}
<!-- ELECTIONS. Infobox election MUST be used !! -->
|v_p541 = {{#invoke:Wikidades | claim | formatting=table | property=P541 | qualifier=P1114
| rowformat = $0 $1 |rowsubformat1=($1)
|value={{{v_p541|{{{v_office_contested|}}}}}}
}}
|v_p726 = {{#invoke:Wikidades | claim | formatting=table | property=P726 | qualifier=P1111
|rowformat = $0 $1 |rowsubformat1=($1)
|value={{{v_p726|{{{v_candidate|}}}}}} }}
|v_p991 = {{#invoke:Wikidades | claim | formatting=table | property=P991 | qualifier=P1111
|rowformat = $0 $1 |rowsubformat1=($1)
|value={{{v_p991|{{{v_elected|}}}}}} }}
<!-- Used by "party" -->
|v_p547 = {{#invoke:Wikidades |claim |property=P547 | value={{{v_p547|{{{v_commemorates|}}}}}}
|list=firstrank |separator=<br /> |formatting=table
|qualifier=P580 or P582 or P585 |rowsubformat1=<small> ($2–$3)</small>
|qualifier2=P580 or P585 |colformat2=Y |qualifier3=P582 |colformat3=Y
|qualifier4=P642 |rowsubformat4= $4
|qualifier5=P518 |rowsubformat5=, $5
|qualifier6=P8822|rowsubformat6= ({{GetLabelFix|P8822|lang={{{lang|}}}}}: $6)
|rowformat= $0$4$5$6$1
}}
|v_ritual = {{{v_ritual|}}}
|v_p2541 = {{#invoke:Wikidades | claim | property=P2541 | list=firstrank
| value={{{v_p2541|{{{v_operating_area|}}}}}}
}}
<!-- LEGAL -->
|v_p1840 = {{#invoke:Wikidades | claim | property=P1840 | value={{{v_p1840|{{{v_investigated_by|}}}}}} }}
|v_judicial_investigation = {{{v_judicial_investigation|}}}
|v_p1592 = {{#invoke:Wikidades | claim | property=P1592 | value={{{v_p1592|{{{v_prosecutor|}}}}}} }}
|v_suspect = {{{v_suspect|}}}
|v_p8031 = {{#invoke:Wikidades | claim | property=P8031 |qualifier=P3831 |formatting=table
|rowformat=$0 $1 |rowsubformat1=($1)
|value={{{v_p8031|{{{v_perpetrator|}}}}}}
}}
|v_p520 = {{#invoke:Wikidades | claim | property=P520 |qualifier=P1114 |formatting=table
|rowformat=$1$0 |rowsubformat1=$1
|value={{{v_p520|{{{v_armament|}}}}}}
}}
|v_trial = {{{v_trial|}}}
|v_p1620 = {{#invoke:Wikidades | claim | property=P1620 | value={{{v_p1620|{{{v_claimant|}}}}}} }}
|v_p1591 = {{#invoke:Wikidades | claim | property=P1591 | value={{{v_p1591|{{{v_defendant|}}}}}} }}
|v_p1595 = {{#invoke:Wikidades | claim | property=P1595 | value={{{v_p1595|{{{v_charge|}}}}}} }}<!-- +P585+P642+P276+P1114 -->
|v_p1593 = {{#invoke:Wikidades | claim | property=P1593 | value={{{v_p1593|{{{v_defender|}}}}}} }}
|v_p4884 = {{#invoke:Wikidades | claim | property=P4884 | qualifier=P1594 OR P488 | formatting=table
|rowformat=$0 $1
|rowsubformat1=({{GetLabelFix|Q140686|lang={{{lang|}}}}}: $1)
|value={{{v_p4884|{{{v_court|}}}}}}
}}
|v_p1594 = {{#invoke:Wikidades | claim | property=P1594 | value={{{v_p1594|{{{v_judge|}}}}}} }}
|v_verdict = {{{v_verdict|}}}
|v_convict = {{{v_convict|}}}
|v_p1596 = {{#invoke:Wikidades | claim | property=P1596 | qualifier=P1591
| formatting=table | list=firstrank
| rowformat=$1 $0$3$4 ($2$5) | rowsubformat1=$1: | tablesort=2/1
| qualifier2 = P585 | rowsubformat2 = <small>($2)</small>
| qualifier3 = P2047 | rowsubformat3 = , $3. | colformat3 = unit
| qualifier4 = P2284 | rowsubformat4 = , $4. | colformat4 = unitcode
| qualifier5 = P4884 | rowsubformat5 = , $5
| value={{{v_p1596|{{{v_penalty|}}}}}}
}}
<!-- VEHICLE & ROUTE -->
<!-- Same treatement for any of the vehicles properties: P1876 for nau/vessel, P3438 for vehicle &
P121 as a wildcard, commonly used to represent aircraft, but valid for any object participant in the action, as a power plant, factory, etc.
When single value, related vehicle properties are get from qualifier or main property position.
In multi-values (i.e. two aircraft crash) only qualifier are shown under each specific vehicle.
The main properties are shown below specific vehicle information
-->
| v_p121 = {{#switch:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}
|0=<!-- No P121, P1876, P3438, skip to follow with other vehicle main properties -->
|1=<tr>{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438
|value={{{v_p121|{{{v_item_operat|}}}}}}
|formatting=table| list=firstrank
|rowformat=<td class=infobox-label>'''<!--
-->{{GetLabelFix|<!-- try to find the best kind of vehicle description
-->{{if empty
|{{{l_p121|}}}
|{{InParent|IBevent_facility|p=P279|item={{#invoke:Wikidades | claim |list=false
|property=P121 or P1876 or P3438 |formatting=raw}} }}
|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438
|formatting=table| list=firstrank |rowformat=$1
|qualifier =P426 or P3090 or P2986 or /P426 or /P3090 or /P2986}}
|Q11436}}
|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P289
|formatting=table| list=firstrank |rowformat=$1
|qualifier = P289 or P1876 or /P289 or /P1876 }}
|Q16391167}}
|P121
}} }}<!--
-->'''</td><td style="align:start">$1$0</td>$2$3$4$5$6$7$8
|qualifier =P1114 |rowsubformat1=$1
|qualifier2 =P1427 or /P1427 |case2=locationcontext |rowsubformat2=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P1427|lang={{{lang|}}}}}'''</td><td style="align:start">$2</td>
|qualifier3 =P1444 or /P1444 |case3=locationcontext |rowsubformat3=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P1444|lang={{{lang|}}}}}'''</td><td style="align:start">$3</td>
|qualifier4 =P2825 or /P2825 |case4=locationcontext |rowsubformat4=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P2825|lang={{{lang|}}}}}'''</td><td style="align:start">$4</td>
|qualifier5 =P137 or /P137 |rowsubformat5=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P137|lang={{{lang|}}}}}'''</td><td style="align:start">$5</td>
|qualifier6 =P426 or /P426 |rowsubformat6=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P426|lang={{{lang|}}}}}'''</td><td style="align:start">$6</td>
|qualifier7 =P3090 or /P3090 |rowsubformat7=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|Q15921555|lang={{{lang|}}}}}'''</td><td style="align:start">$7</td>
|qualifier8=P458 or P1876/P458 or P121/P458 or P3438/P458 |rowsubformat8=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P458|lang={{{lang|}}}}}'''</td><td style="align:start">$8</td>
}}</tr>
|#default
={{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438
|formatting=table| list=firstrank |editicon=no
|rowformat=$1 |qualifier= P1427 or P1444 or P2825 or P137 or P426 or P3090 or
P458 or P1876/P458 or P121/P458 or P3438/P458 or P3831 }}
|<tr>{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438
|value={{{v_p121|{{{v_item_operat|}}}}}}
|formatting=table| list=firstrank |editicon=no
|rowformat=<td class=infobox-label><!-- label with kind of vehicle from P3831 or "item operated" text as default
-->'''{{((}}if empty{{!}}$9{{!}}{{GetLabelFix|P121|lang={{{lang|}}}}} {{))}}'''<!--
--></td><td style="align:start">$1$0$5$6$8$7</td>$2$3$4
|qualifier =P1114 |rowsubformat1=$1
|qualifier2 =P1427 |case2=locationcontext |rowsubformat2=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P1427|lang={{{lang|}}}}}'''</td><td style="align:start">$2</td>
|qualifier3 =P1444 |case3=locationcontext |rowsubformat3=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P1444|lang={{{lang|}}}}}'''</td><td style="align:start">$3</td>
|qualifier4 =P2825 |rowsubformat4=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P2825|lang={{{lang|}}}}}'''</td><td style="align:start">$4</td> |case4=locationcontext
|qualifier5 =P137 |rowsubformat5= {{lcfirst:{{GetLabelFix|P642|lang={{{lang|}}}}}}} $5
|qualifier6 =P426 |rowsubformat6= <small>($6)</small>
|qualifier7 =P3090 |rowsubformat7=. <small>{{GetLabelFix|Q15921555|lang={{{lang|}}}}} $7</small>
|qualifier8=P458 or P1876/P458 or P121/P458 or P3438/P458 |rowsubformat8= <small>({{GetLabelFix|P458|lang={{{lang|}}}}}:$8)</small>
|qualifier9=P3831 |colformat9=label
|separator=</tr><tr>|conjunction=</tr><tr>
}}</tr>
|<tr><td class=infobox-label>'''{{GetLabelFix|P121|lang={{{lang|}}}}}'''</td><!--
--><td>{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438
|formatting=table| list=firstrank
|rowformat=$0 |separator=, }}
}}
}}
|v_p81 = {{#invoke:Wikidades | claim | property=P81 | value={{{v_p81|{{{v_connecting_line|}}}}}} }}
<!-- Following related vehicle properties are only shown if it has not already been done in the vehicle type treatment.
It is: in single value, or if they were as a qualifier in a multi-value -->
|v_p1427 = {{#ifeq:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}|1|<!-- Skip
-->|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438 |formatting=table| list=firstrank
|rowformat=$1 |qualifier =P1427 |editicon=no }}|<!-- Skip
-->|{{#invoke:Wikidades | claim | property=P1427
|formatting=table| list=firstrank |rowformat=$0$2$1 |case0=locationcontext
|qualifier = P426 |rowsubformat1= <small>($1)</small>
|qualifier2= P2825 |rowsubformat2=, {{GetLabelFix|P2825|lang={{{lang|}}}}} $2
| value={{{v_p1427|{{{v_start_point|}}}}}}
}}
}} }}
|v_p1444 = {{#ifeq:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}|1|<!-- Skip
-->|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438 |formatting=table| list=firstrank
|rowformat=$1 |qualifier1 =P1444 |editicon=no }}|<!-- Skip
-->|{{#invoke:Wikidades | claim | property=P1444
|formatting=table| list=firstrank |rowformat=$0$2$1 |case0=locationcontext
|qualifier = P426 |rowsubformat1= <small>($1)</small>
|qualifier2= P2825 |rowsubformat2=, {{GetLabelFix|P2825|lang={{{lang|}}}}} $2
| value={{{v_p1444|{{{v_destination_point|}}}}}}
}}
}} }}
|v_last_layover = {{#invoke:Wikidades | claim | property=P2825 |formatting=table| list=firstrank
|rowformat=$0-$1 |qualifier =P3831 |whitelist1=Q67203981
| value={{{v_last_layover|}}}
}}
|v_p137 = {{#ifeq:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}|1|<!-- Skip
-->|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438 |formatting=table| list=firstrank
|rowformat=$1 |qualifier1 =P137 |editicon=no }}|<!-- Skip
-->|{{#invoke:Wikidades | claim | property=P137
| value={{{v_p137|{{{v_operator|}}}}}}
}}
}} }}
|v_p426 = {{#ifeq:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}|1|<!-- Skip
-->|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438 |formatting=table| list=firstrank
|rowformat=$1 |qualifier1 =P426 |editicon=no }}|<!-- Skip
-->|{{#invoke:Wikidades | claim | property=P426
| value={{{v_p426|{{{v_aircraft_registration|}}}}}}
}}
}} }}
|v_p3090 = {{#ifeq:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}|1|<!-- Skip
-->|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438 |formatting=table| list=firstrank
|rowformat=$1 |qualifier1 =P426 |editicon=no }}|<!-- Skip
-->|{{#invoke:Wikidades | claim | property=P3090
| value={{{v_p3090|{{{v_flight|}}}}}}
}}
}} }}
|v_passenger = {{{v_passenger|}}}
|v_crew = {{{v_crew|}}}
<!-- ASTRONÒMICAL PHENOMENA -->
|v_p59 = {{#invoke:Wikidades | claim | property=P59 | value={{{v_p59|{{{v_constellation|}}}}}} }}
|v_p575 = {{#invoke:Wikidades | claim | property=P575 | value={{{v_p575|{{{v_discovery_time|}}}}}} }}
|v_p65 = {{#invoke:Wikidades | claim | property=P65 | value={{{v_p65|{{{v_discovery_place|}}}}}} }}
|v_p215 = {{#invoke:Wikidades | claim | property=P215 | value={{{v_p215|{{{v_spectral_class|}}}}}} }}
|v_p528 = {{#invoke:Wikidades | claim | property=P528 | value={{{v_p528|{{{v_catalog|}}}}}} }}
|v_p397 = {{#invoke:Wikidades | claim | property=P397 | value={{{v_p397|{{{v_parent_astronomical|}}}}}} }}
|v_p2583 = {{#invoke:Wikidades | claim | property=P2583 |qualifier=P1013 |qualifier2=P518
| list=firstrank | formatting=table | rowformat=$0 $2$1
| colformat0=unitcode |rowsubformat2=($2) |rowsubformat1= ↔$1
| value={{{v_p2583|{{{v_earth_distance|}}}}}} }}
|v_p1090 = {{#invoke:Wikidades | claim |property=P1090 |list=firstrank |formatting=table
|rowformat=$0 |colformat0=unitcode
|value={{{v_p1090|{{{v_redshift|}}}}}} }}
|v_p6257 = {{#invoke:Wikidades | claim | property=P6257 | formatting=table |list=false
|rowformat={{((}}Deg2HMS{{!}}$0{{!}}p=4{{!}}sup=si{{))}}
|value={{{v_p6257|{{{v_right_ascension|}}}}}} }}
|v_p6258 = {{#invoke:Wikidades | claim | property=P6258 | formatting=table |list=false
|rowformat={{((}}Deg2DMS{{!}}$0{{!}}p=4{{))}}
|value={{{v_p6258|{{{v_declination_astro|}}}}}} }}
|v_p6259 = {{#invoke:Wikidades | claim | property=P6259 |formatting=$1 |value={{{v_p6259|{{{v_epoch_astro|}}}}}} }}
|v_p1458 = {{#invoke:Wikidades | claim | property=P1458 | qualifier=P1227 |formatting=table
| list=firstrank |separator=<br>
| rowformat=$1 $0 |rowsubformat1=$1=|value={{{v_p1458|{{{v_color_index|}}}}}} }}
|v_p1215 = {{#invoke:Wikidades | claim | property=P1215 | qualifier=P1227 | formatting = table
| list=firstrank |separator= –
| rowformat=$0 $1 |rowsubformat1 =<small>($1)</small>
| value={{{v_p1215|{{{v_apparent_magnitude|}}}}}} }}
|v_p2052 = {{#invoke:Wikidades | claim | property=P2052 |formatting=unitcode |value={{{v_p2052|{{{v_speed|}}}}}} }}
<!-- EARTHQUAKE -->
|v_p2528 = {{#invoke:Wikidades | claim | property= P2528
| formatting=table | qualifier=P585
| rowformat = $0 $1|rowsubformat1=<small>($1)</small>
| value={{{v_p2528|{{{v_richter|}}}}}}
}}
|v_p2527 = {{#invoke:Wikidades | claim | property=P2527
| formatting=table | qualifier=P585
| rowformat = $0 $1|rowsubformat1=<small>($1)</small>
| value={{{v_p2527|{{{v_earthquake_magnitude|}}}}}}
}}
|v_p2784 = {{#invoke:Wikidades | claim | property=P2784
| formatting=table | qualifier=P585
| rowformat = $0 $1|rowsubformat1=<small>($1)</small>
| value={{{v_p2784|{{{v_mercalli|}}}}}}
}}
|v_p4511 = {{#invoke:Wikidades | claim | formatting=table | property=P4511 | qualifier=P1013
| qualifier2=P518 OR P642
| rowformat = $1 $0 $2 |rowsubformat1= $1: |rowsubformat2=($2) | colformat0=unitcode
| value={{{v_p4511|{{{v_depth|}}}}}}
}}
<!-- MEDIA-->
|v_p449 = {{#invoke:Wikidades | claim | property=P449 | value={{{v_p449|{{{v_network|}}}}}} }}
|v_p10 = {{#invoke:Wikidades | claim | property=P10 | list=false | value={{{v_p10|{{{v_video|}}}}}} }}
|v_p3301 = {{#invoke:Wikidades | claim | property=P3301| value={{{v_p3301|{{{v_broadcast|}}}}}} }}
|v_p51 = {{#invoke:Wikidades | claim | property=P51 |list=false |value={{{v_p51|{{{v_audio|}}}}}} }}
|v_p51_caption = {{#invoke:Wikidades | claim | property=P51 | qualifier =P2096 | list=false }}
<!-- P2670, wildcard for quantitative variables -->
|v_p2670 = {{#if: {{#invoke:Wikidades | claim | property=P2670 }}
|<tr>{{#invoke:Wikidades | claim | property=P2670 | formatting= table | list=firstrank
| colformat0= ucfirst |case0=plural
| qualifier = P1114 | qualifier2= P518 |rowsubformat2 = ($2)
| rowformat = <td class="infobox-label">'''$0'''</td><td>$1 $2</td>
| separator=</tr><tr>|conjunction=</tr><tr>| value={{{v_p2670|{{{v_elements|}}}}}}
}}</tr>
}}
<!-- P527-has part. List with subordinate contents that are managed with this infotable. Example:
Order / ranks and their different awards
Awards ceremony and its awards
Attacks and their episodes, etc.
It is displayed in two formats: 1 single column (date) when it has no qualifier, except the dates and emblem that
are displayed along with the name
2 cols. (label + data) when it has other qualifiers; label = emblem P2425 + value of P527
and date = the qualifiers it has.
The P1545 qualifier (serial order) is not displayed, it is only used to sort the contents of P527 when they are not chronological.
-->
|v_p527 = {{#iferror:{{#ifexpr:{{#invoke:Wikidades|numStatements|P527|item={{{item|}}}}}>20<!-- limited to 20 -->
|{{#invoke:Wikidades | claim
|property=P527
|qualifier= P580 |editicon=no
|formatting = table |list=false
|rowformat =*$0../... {{#invoke:Wikidades|numStatements|P527|item={{{item|}}}}}+ {{#invoke:Wikidades| editAtWikidata||property=P527 |lang={{{lang|}}} |editicon=true }}
|tablesort=1 |separator=<br> }}
<!-- For avoid time out by large list, it cut to 20 entries. For larger results should use pencil to access to WD item -->
<!-- normal process -->|{{#if:{{#invoke:Wikidades | claim | property=P527 | formatting=table
| rowformat = $6$7$8 |separator=|conjunction=
| qualifier = P1545 <!-- Not evaluated -->
| qualifier2 = P580 <!-- Not evaluated -->
| qualifier3 = P582 <!-- Not evaluated -->
| qualifier4 = P585 <!-- Not evaluated -->
| qualifier5 = P2425 <!-- Not evaluated -->
| qualifier6 = P1346
| qualifier7 = P1686
| qualifier8 = P518 }}
<!-- with qualifiers -->|<tr>{{#invoke:Wikidades | claim | property=P527 | formatting=table
| tablesort=1/9/3
| rowformat = <td class="infobox-label">$5 '''$0'''</td><td>$4 $2 $6$7</td>
| qualifier = P1545 | rowsubformat1 = ordre:$1,
| qualifier2 = P580 <!-- OR P527/P580 --> | rowsubformat2 = ($2 – $3)
| qualifier3 = P582 <!-- OR P527/P582 --> | rowsubformat3 = $3
| qualifier4 = P585 <!-- OR P527/P585 --> | rowsubformat4 = ($4)
| qualifier5 = P527/P2425 | rowsubformat5 = [[File:$5|30px|link=]]
| qualifier6 = P1346 | rowsubformat6 = $6
| qualifier7 = P1686 | rowsubformat7 = , {{GetLabelFix|P1686|lang={{{lang|}}}}} ''$7''
| qualifier8 = P518 | rowsubformat8 = {{GetLabelFix|P518|lang={{{lang|}}}}}:$8
| qualifier9 = P585 or P580
| separator=</tr><tr>|conjunction=</tr><tr>
| value={{{v_p527|{{{v_has_part|}}}}}}
}}</tr>
<!--NO qualifiers -->| {{#invoke:Wikidades | claim | property=P527 | formatting=table
| rowformat = $5 '''$0''' $4 $2| tablesort=1/9/3
| qualifier = P1545 | rowsubformat1 = ordre:$1,
| qualifier2 = P580 <!-- OR P527/P580 --> | rowsubformat2 = ($2 – $3)
| qualifier3 = P582 <!-- OR P527/P582 --> | rowsubformat3 = $3
| qualifier4 = P585 <!-- OR P527/P585 --> | rowsubformat4 = ($4)
| qualifier5 = P527/P2425 | rowsubformat5 = [[File:$5|30px|link=]]
| qualifier6 = P1346 | rowsubformat6 = $6
| qualifier7 = P1686 | rowsubformat7 = , {{GetLabelFix|P1686|lang={{{lang|}}}}} ''$7''
| qualifier8 = P518 | rowsubformat8 = {{GetLabelFix|P518|lang={{{lang|}}}}}:$8
| qualifier9 = P585 or P580
| value={{{v_p527|{{{v_has_part|}}}}}}
}}
}}
}} }}
<!-- Chronology is -at the moment- aimed at presenting judicial cases with a history by various courts and rulings. That is, despite being a case, it is not a major event in time.
If other different situations need to be addressed, the qualifiers and format may need to be adapted.
-->
|v_p793 = {{#if:{{#invoke:Wikidades |claim |property=P793 |value={{{v_p793|{{{v_significant_event|}}}}}} }}
|<tr>{{#invoke:Wikidades |claim |formatting=table |property=P793
|qualifier=P585<!-- date -->|qualifier2=P580<!-- start -->
|qualifier3=P582<!-- end -->|rowsubformat2=$2-$3
|qualifier4= P1591<!-- P710 OR P1346 ....participant -->
|rowsubformat4=<br>{{GetLabelFix|Q989174|lang={{{lang|}}}}}:$4
|qualifier5=P1399<!-- condemned by -->
|rowsubformat5=<br>⇒ $5
|qualifier6=P828<!-- has cause -->
|rowsubformat6= {{GetLabelFix|P828|lang={{{lang|}}}}} $6
|qualifier7=P1596<!-- condemna -->|rowsubformat7=<br/>⇒ $8 $7
|qualifier8=P1114 or P2047<!-- quant./time -->|colformat8=unit
|separator=</tr><tr> |conjunction=</tr><tr>
|colformat0=ucfirst
|rowformat=<td class=infobox-label>$1 $2</td><td>$0$5$4$7$6
|value={{{v_p793|{{{v_significant_event|}}}}}}
}}
}}
<!-- military conclict participants block -->
|v_military_conflict_participants = {{{v_military_conflict_participants|}}}
<!-- EXTRA MANUAL WLDCARD PARAMETERS -->
|v_label = {{{v_label|}}}
|v_data = {{{v_data|}}}
|v_label1 = {{{v_label1|}}}
|v_data1 = {{{v_data1|}}}
|v_label2 = {{{v_label2|}}}
|v_data2 = {{{v_data2|}}}
|v_p3259 = {{#ifeq:{{{v_p3259|{{{v_intangible_heritage|}}}}}}|NONE|<!-- skip -->
|{{heritage protection/P3259 |item={{{item|}}} | lang={{{lang|}}} }}
{{#if:{{#invoke:Wikidades |claim |property= P1435|list=firstrank |editicon=no}}
|{{heritage protection/P3259 |property_protection=P1435 |item={{{item|}}} | lang={{{lang|}}} }}
}} }}
|v_below_image = {{#if:{{{v_below_image|}}}
| {{#invoke:InfoboxImage|InfoboxImage |image={{{v_below_image|}}} |sizedefault=300x300px}}<!--
-->{{#if:{{{v_below_image_caption|}}}
| <br>{{{v_below_image_caption|}}}
}} }}
|v_notes = {{{v_notes|}}}
<!-- Oriented to "Legal text" -->
|v_p953 = {{if empty|{{#invoke:wikidades |claim|property=P953|formatting=table <!-- search text in WP lang -->
|qualifier =P407 |whitelist1={{MyValue|PriorityWebs|Accepted_lang}}
|rowformat=$0 |colformat0=weblink
|shownovalue=no |showsomevalue=no
|value={{{v_p953|{{{v_full_work|}}}}}}}}
|{{#invoke:Wikidades |claim|property= P953|list=false
|formatting=weblink |value={{{v_p953|{{{v_full_work|}}}}}} }}
}}
<!-- Networks-->
|v_p856 = {{#ifeq:{{{v_p856|{{{v_website|}}}}}} |NONE|<!-- saltar, no es vol recuperar WD
-->|{{#if:{{{v_p856|{{{v_website|}}}}}}
|{{if empty|{{{v_p856|}}} | {{{v_website|}}} }}
|{{#if:{{#invoke:Wikidades|validProperty|P856|item={{{item|}}} }}
|{{#ifeq:{{#invoke:Wikidades |claim |property=P856 |list=false |formatting=table
|qualifier=P582 |rowformat=$1 |editicon=no}} | {{somevalue|lang={{{lang|}}}}}<!--
-->|{{#invoke:Wikidades |claim |property=P856 |list=false |formatting=weblink }}<!--
-->|{{#invoke:Wikidades |claim |property=P856 |list=false |formatting=table |colformat0=weblink
|qualifier =P582 |rowsubformat1= → $2$3
|qualifier2=P1065 |rowsubformat2=[[File:Cloud download font awesome.svg|15px|link=$2]]
|qualifier3=P2960 |colformat3=Y |rowsubformat3= <small>($3)</small>
|rowformat=$0$1 }}
}}
}} }} }}
|v_hashtag = {{#invoke:Wikidades | claim | property=P2572 | formatting=[https://twitter.com/hashtag/$1 #$1]
| value={{{v_hashtag|}}} }}
|v_identifiers = {{Identifiers | item={{{item|}}} | lang={{{lang|}}} }}
}}
9bxk859jyh3r83033ghms8dt0cfgmza
150916
150915
2026-08-31T18:47:50Z
آیات محراج
11062
/* */
150916
wikitext
text/x-wiki
{{Infobox event/proves
| item = {{{item|}}}
| lang = {{{lang|}}}
| v_cllps_judiciary = {{{v_cllps_judiciary|{{{desplega_judicial|}}}}}}
| v_cllps_award = {{{v_cllps_award|{{{desplega_premis|}}}}}}
| v_cllps_participant = {{{v_cllps_participant|{{{desplega_participants|}}}}}}
| v_cllps_signatory = {{{v_cllps_signatory|{{{desplega_signataris|}}}}}}
| v_cllps_ratified = {{{v_cllps_ratified|{{{desplega_ratificacio|}}}}}}
| v_cllps_haspart = {{{v_cllps_haspart|}}}
| v_icon = {{{v_icon|{{{icona|}}}}}}
| v_name = {{{v_name|{{{nom|{{{esdeveniment|}}}}}}}}}
| v_p154 = {{{v_p154|{{{v_p2425|{{{v_logo|{{{logo|{{{escut|}}}}}}}}}}}}}}}
| v_p18 = {{{v_p18|{{{v_p6802|{{{v_image|{{{imatge|}}}}}}}}}}}}
| v_p18_caption = {{{v_p18_caption|{{{v_image_caption|{{{peu|}}}}}}}}}
| v_p8592= {{{v_p8592|}}}
| v_p1801= {{{v_p1801|}}}
| v_p2716= {{{v_p2716|}}}
| v_p3451= {{{v_p3451|}}}
| v_image_map = {{{v_image_map|{{{imatge_mapa|{{{mapa|}}}}}}}}}<!-- mapa, per conflicte militar: eliminar post-integració -->
| v_caption_map = {{{v_caption_map|{{{peu_mapa|}}}}}}
| nocateg_coord= {{{nocateg_coord|NONE}}}<!-- coordenades no obligatòries en aquesta infotaula. Indicat amb NONE -->
| v_basic_maps= {{{v_basic_maps|}}}
| v_switched_images= {{{v_switched_images|}}}
| v_draw_map = {{{v_draw_map|{{{draw_mapa|}}}}}}
| v_draw_layer = {{{v_draw_layer|{{{draw_layer|}}}}}}
| v_coord_display = {{{v_coord_display|{{{coord_display|}}}}}}
| v_P625_lat_dec = {{{v_P625_lat_dec|{{{lat_dec|}}}}}}
| v_P625_lon_dec = {{{v_P625_lon_dec|{{{lon_dec|}}}}}}
| v_p242 = {{{v_p242|{{{v_locator_map|{{{mapa_localitzador|}}}}}}}}}
| v_zoom_map = {{{v_zoom_map|{{{zoom|}}}}}}
| v_marker = {{{v_marker|{{{marcador|}}}}}}
| v_marker_name = {{{v_marker_name|{{{nom_marcador|}}}}}}
| v_marker_color = {{{v_marker_color|{{{marcador_color|}}}}}}
| v_marker_size = {{{v_marker_size|{{{marcador_mida|}}}}}}
| v_size_map = {{{v_size_map|{{{mapa_mida|}}}}}}
| v_blacklist_layer = {{{v_blacklist_layer|{{{blacklist_layer|}}}}}}
| v_p1705 = {{{v_p1705|{{{v_p1559|{{{v_original_name|{{{nom_original|}}}}}}}}}}}}
| v_original_lang = {{{v_original_lang|{{{nom_original_lleng|}}}}}}
| v_p1813 = {{{v_p1813|{{{v_short_name|{{{nom_curt|}}}}}}}}}
| v_p1449 = {{{v_p1449|{{{v_nickname|{{{altre_nom|{{{alies|}}}}}}}}}}}}<!-- alies, per conflicte militar: eliminar post-integració -->
| v_p31 = {{{v_p31|{{{v_type|{{{tipus|}}}}}}}}}
| v_p6208 = {{{v_p6208|{{{v_award_rationale|{{{descripcio|}}}}}}}}}
| v_p138 = {{{v_p138|{{{v_named_after|{{{anomenat|}}}}}}}}}
| v_p571 = {{{v_p571|{{{v_inception|{{{data_creacio|}}}}}}}}}
| v_p576 = {{{v_p576|{{{v_dissolved|{{{data_dissolucio|}}}}}}}}}
| v_p2894 = {{{v_p2894|{{{v_day|{{{dia|}}}}}}}}}
| v_p837 = {{{v_p837|{{{v_peak_day|{{{dia_punta|}}}}}}}}}
| v_p585 = {{{v_p585|{{{v_date|{{{data|}}}}}}}}}
| v_p580 = {{{v_p580|{{{v_start_time|{{{inici|}}}}}}}}}
| v_p582 = {{{v_p582|{{{v_end_time|{{{fi|}}}}}}}}}
| v_point_time = {{{v_point_time|{{{hora|}}}}}}
| v_start_time = {{{v_start_time|{{{hora_inici|}}}}}}
| v_end_time = {{{v_end_time|{{{hora_final|}}}}}}
| v_p467 = {{{v_p467|{{{v_legislated_by|{{{promulgada_per|}}}}}}}}}
| v_p7589 = {{{v_p7589|{{{v_date_assent|{{{data_promulgada|}}}}}}}}}
| v_date_signature = {{{v_date_signature|{{{data_signatura|}}}}}}
| v_p6193 = {{{v_p6193|{{{v_ratified_by|{{{ratificacio|}}}}}}}}}
| v_p7588 = {{{v_p7588|{{{v_effective_date|{{{efectivitat|}}}}}}}}}
| v_p577 = {{{v_p577|{{{v_publication|{{{publicacio|}}}}}}}}}
| v_p2047 = {{{v_p2047|{{{v_duration|{{{durada|}}}}}}}}}
| v_p2257 = {{{v_p2257|{{{v_event_interval|{{{frequencia|{{{freq|}}}}}}}}}}}}
| v_p2348 = {{{v_p2348|{{{v_time_period|{{{periode|}}}}}}}}}
| v_p144 = {{{v_p144|{{{v_based_on|{{{basat_en|}}}}}}}}}
| v_p393 = {{{v_p393|{{{v_edition|{{{edicio|}}}}}}}}}
| v_p112 = {{{v_p112|{{{v_founded|{{{instaurador|}}}}}}}}}
| v_antecedent = {{{v_antecedent|{{{antecedents|}}}}}}
| v_operacio = {{{v_operacio|{{{operacio|{{{operació|}}}}}}}}}<!-- operacio, afegit per conflicte militar -->
| v_casus = {{{v_casus|{{{casus|}}}}}}<!-- casus beli, afegit per conflicte militar -->
| v_front = {{{v_front|{{{front|}}}}}}<!-- front, afegit per conflicte militar -->
| v_campanya = {{{v_campanya|{{{campanya|}}}}}}<!-- campanya, afegit per conflicte militar -->
| v_escenari = {{{v_escenari|{{{escenari|}}}}}}<!-- escenari, afegit per conflicte militar -->
| military_infobox={{ifeqany|{{{military_infobox|}}}|y|yes|si|sí|s|y=YES|n={{{military_infobox|}}}}}
| v_p361_on_tree = {{{v_p361_on_tree|}}}
| v_p155 = {{{v_p155|{{{v_p1365|{{{v_previous|{{{precedit|{{{anterior|}}}}}}}}}}}}}}}
| v_p156 = {{{v_p156|{{{v_p1366|{{{v_next|{{{succeit|{{{posterior|}}}}}}}}}}}}}}}
| v_p2596 = {{{v_p2596|{{{v_culture|{{{cultura|}}}}}}}}}
| v_p6375 = {{{v_p6375|{{{v_address|{{{lloc|{{{localitat|}}}}}}}}}}}}
| v_p706 = {{{v_p706|{{{v_drainage_basin|{{{conca|}}}}}}}}}
| v_p17 = {{{v_p17|{{{v_country|{{{estat|}}}}}}}}}
| v_p4777 = {{{v_p4777|{{{v_border|{{{frontera|}}}}}}}}}
| v_p30 = {{{v_p30|{{{v_continent|{{{continent|}}}}}}}}}
| v_p2046 = {{{v_p2046|{{{v_area|{{{superficie|}}}}}}}}}
| v_p1451 = {{{v_p1451|{{{v_motto|{{{lema|}}}}}}}}}
| v_p3730 = {{{v_p3730|{{{v_higher_rank|{{{rang_sup|}}}}}}}}}
| v_p3729 = {{{v_p3729|{{{v_lower_rank|{{{rang_inf|}}}}}}}}}
| v_p361 = {{{v_p361|{{{v_part_of|{{{partde|}}}}}}}}}
| v_p2121 = {{{v_p2121|{{{v_prize_money|{{{premi|}}}}}}}}}
| v_p822 = {{{v_p822|{{{v_mascot|{{{mascota|}}}}}}}}}
| v_p921 = {{{v_p921|{{{v_subject|{{{tema|}}}}}}}}}
| v_p533 = {{{v_p533|{{{v_p3712|{{{v_target|{{{objectiu|}}}}}}}}}}}}
| v_p1478 = {{{v_p1478|{{{v_p828|{{{v_immediate_cause|{{{causa|}}}}}}}}}}}}
| v_p1542 = {{{v_p1542|{{{v_p1536|{{{v_effect|{{{consequencia|}}}}}}}}}}}}
| v_p2895 = {{{v_p2895|{{{v_wind|{{{vent|}}}}}}}}}
| v_p2532 = {{{v_p2532|{{{v_pressure|{{{pressio|}}}}}}}}}
| v_action = {{{v_action|{{{accions|}}}}}}
| v_conditions = {{{v_conditions|{{{condicio|}}}}}}
| v_results = {{{v_results|{{{resultat|}}}}}}
| v_p607 = {{{v_p607|{{{v_conflict|{{{conflicte|}}}}}}}}}
| v_p407 = {{{v_p407|{{{v_llengua|{{{llengua|}}}}}}}}}
| v_p140 = {{{v_p140|{{{v_religion|{{{religio|}}}}}}}}}
| v_p136 = {{{v_p136|{{{v_genre|{{{genere|}}}}}}}}}
| v_p175 = {{{v_p175|{{{v_performer|{{{interpret|}}}}}}}}}
| v_p5027 = {{{v_p5027|{{{v_representations|{{{representacions|}}}}}}}}}
| v_p2769 = {{{v_p2769|{{{v_budget|{{{pressupost|}}}}}}}}}
| v_p2320 = {{{v_p2320|{{{v_aftershocks|{{{repliques|}}}}}}}}}
| v_p1120 = {{{v_p1120|{{{v_deaths|{{{morts|}}}}}}}}}
| v_p1339 = {{{v_p1339|{{{v_injured|{{{ferits|}}}}}}}}}
| v_p8032 = {{{v_p8032|{{{v_victim|{{{victimes|}}}}}}}}}
| v_p1446 = {{{v_p1446|{{{v_missing|{{{desapareguts|}}}}}}}}}
| v_p1561 = {{{v_p1561|{{{v_survivor|{{{supervivents|}}}}}}}}}
| v_p3081 = {{{v_p3081|{{{v_damaged|{{{danys|}}}}}}}}}
| v_p2630 = {{{v_p2630|{{{v_damage_cost|{{{danys_economics|}}}}}}}}}
| v_p3082 = {{{v_p3082|{{{v_destroyed|{{{destruccio|{{{habitatges_destruits|}}}}}}}}}}}}
| v_p641 = {{{v_p641|{{{v_sport|{{{esport|}}}}}}}}}
| v_p1027 = {{{v_p1027|{{{v_host|{{{concedit_per|}}}}}}}}}
| v_p664 = {{{v_p664|{{{v_organizer|{{{organitzacio|}}}}}}}}}
| v_p1001 = {{{v_p1001|{{{v_jurisdiction|{{{jurisdiccio|}}}}}}}}}
| v_p371 = {{{v_p371|{{{v_presenter|{{{presentador|}}}}}}}}}
| v_p57 = {{{v_p57|{{{v_director|{{{director|}}}}}}}}}
| v_p162 = {{{v_p162|{{{v_producer|{{{productor|}}}}}}}}}
| v_p61 = {{{v_p61|{{{v_discovered|{{{descobridor|}}}}}}}}}
| v_p4971 = {{{v_p4971|{{{v_commander|{{{comandament|}}}}}}}}}
| v_p823 = {{{v_p823|{{{v_speaker|{{{locutor|}}}}}}}}}
| v_p3342 = {{{v_p3342|{{{v_coordinator|{{{coordinador|}}}}}}}}}
| v_p1128 = {{{v_p1128|{{{v_employees|{{{empleats|}}}}}}}}}
| v_p6125 = {{{v_p6125|{{{v_volunteers|{{{voluntaris|}}}}}}}}}
| v_p1875 = {{{v_p1875|{{{v_represented_by|{{{representat_per|}}}}}}}}}
| v_p710 = {{if empty|{{{v_p710|{{{v_participant|{{{participants|}}}}}}}}}<!-- manual entry is preferent -->
|{{#if:{{{bandol1|{{{bandol1|{{{bandol1|{{{bandol1|{{{combatant1|}}}}}}}}}}}}}}}
{{{bandol2|{{{bandol2|{{{bandol2|{{{bandol2|{{{combatant2|}}}}}}}}}}}}}}}
{{{bandol3|{{{bandol3|{{{bandol3|{{{bandol3|{{{combatant3|}}}}}}}}}}}}}}}
{{{general1|}}}{{{general2|}}}{{{general3|}}}
{{{comandant1|{{{comandant1|{{{commander1|}}}}}}}}}
{{{comandant2|{{{comandant2|{{{commander2|}}}}}}}}}
{{{comandant3|{{{comandant3|{{{commander3|}}}}}}}}}
{{{oficial1|}}}{{{oficial2|}}}{{{oficial3|}}}
{{{cavaller1|}}}{{{cavaller2|}}}{{{cavaller3|}}}
{{{força1|{{{força1|{{{força1|{{{força1|{{{strength1|}}}}}}}}}}}}}}}
{{{força2|{{{força2|{{{força2|{{{força2|{{{strength2|}}}}}}}}}}}}}}}
{{{força3|{{{força3|{{{força3|{{{força3|{{{strength3|}}}}}}}}}}}}}}}
{{{baixes1|{{{baixes1|{{{baixes1|{{{casualties1|}}}}}}}}}}}}
{{{baixes2|{{{baixes2|{{{baixes2|{{{casualties2|}}}}}}}}}}}}
{{{baixes3|{{{baixes3|{{{baixes3|{{{casualties3|}}}}}}}}}}}}
|NONE}}<!-- when special format for military conflict, no get from WD -->
}}
| v_p8550 = {{{v_p8550|{{{v_law_number|{{{identificador_llei|}}}}}}}}}
| v_p9376 = {{{v_p9376|{{{v_law_digest|{{{resum_llei|}}}}}}}}}
| v_p3148 = {{{v_p3148|{{{v_repeals|{{{revoca|}}}}}}}}}
| v_p2568 = {{{v_p2568|{{{v_repealed_by|{{{revocat_per|}}}}}}}}}
| v_p50 = {{{v_p50|{{{v_author|{{{autor|}}}}}}}}}
| v_p1891 = {{{v_p1891|{{{v_signatory|{{{signataris|}}}}}}}}}
| v_p4032 = {{{v_p4032|{{{v_reviewed_by|{{{revisat_per|}}}}}}}}}
| v_p9681 = {{{v_p9681|{{{v_voted_by|{{{votat_per|}}}}}}}}}
| v_p2058 = {{{v_p2058|{{{v_depositor|{{{dipositari|}}}}}}}}}
| v_p859 = {{{v_p859|{{{v_sponsor|{{{impulsors|}}}}}}}}}
| v_first_informant = {{{v_first_informant|{{{primer_informador|}}}}}}
| v_p2284 = {{{v_p2284|{{{v_price|{{{preu|}}}}}}}}}
| v_recording = {{{v_recording|{{{filmat_per|}}}}}}
| v_p5436 = {{{v_p5436|{{{v_viewers|{{{espectadors|}}}}}}}}}
| v_p1110 = {{{v_p1110|{{{v_attendance|{{{assistents|}}}}}}}}}
| v_p1132 = {{{v_p1132|{{{v_participants|{{{num_participants|}}}}}}}}}
| v_p1346 = {{{v_p1346|{{{v_winner|{{{guanyador|}}}}}}}}}
| v_p2142 = {{{v_p2142|{{{v_box_office|{{{recaptacio|}}}}}}}}}
| v_color_map_part_1 = {{{v_color_map_part_1|{{{color_map_part_1|}}}}}}
| v_color_map_part_2 = {{{v_color_map_part_2|{{{color_map_part_2|}}}}}}
| v_p541 = {{{v_p541|{{{v_office_contested|{{{carrec|}}}}}}}}}
| v_p726 = {{{v_p726|{{{v_candidate|{{{candidats|}}}}}}}}}
| v_p991 = {{{v_p991|{{{v_elected|{{{elegit|}}}}}}}}}
| v_p547 = {{{v_p547|{{{v_commemorates|{{{commemora|}}}}}}}}}
| v_ritual = {{{v_ritual|{{{ritual|}}}}}}
| v_p2541 = {{{v_p2541|{{{v_operating_area|{{{opera_celebra|}}}}}}}}}
| v_p1840 = {{{v_p1840|{{{v_investigated_by|{{{investigacio|}}}}}}}}}
| v_judicial_investigation = {{{v_judicial_investigation|{{{investigacio_judicial|}}}}}}
| v_p1592 = {{{v_p1592|{{{v_prosecutor|{{{instructor|}}}}}}}}}
| v_suspect = {{{v_suspect|{{{sospitosos|}}}}}}
| v_p8031 = {{{v_p8031|{{{v_perpetrator|{{{perpetrador|}}}}}}}}}
| v_p520 = {{{v_p520|{{{v_armament|{{{armes|}}}}}}}}}
| v_p5582 = {{{v_p5582|{{{v_arrests|{{{detinguts|}}}}}}}}}
| v_trial = {{{v_trial|{{{litigi|}}}}}}
| v_p1620 = {{{v_p1620|{{{v_claimant|{{{demandant|}}}}}}}}}
| v_p1591 = {{{v_p1591|{{{v_defendant|{{{acusats|}}}}}}}}}
| v_p1595 = {{{v_p1595|{{{v_charge|{{{carrecs|}}}}}}}}}
| v_p1593 = {{{v_p1593|{{{v_defender|{{{defensor|}}}}}}}}}
| v_p4884 = {{{v_p4884|{{{v_court|{{{tribunal|}}}}}}}}}
| v_p1594 = {{{v_p1594|{{{v_judge|{{{jutge|}}}}}}}}}
| v_verdict = {{{v_verdict|{{{veredicte|}}}}}}
| v_convict = {{{v_convict|{{{condemnats|}}}}}}
| v_p1596 = {{{v_p1596|{{{v_penalty|{{{condemna|}}}}}}}}}
| v_p121 = {{{v_p121|{{{v_item_operat|{{{tipus_aeronau|{{{tipus_vehicle|}}}}}}}}}}}}
| v_p81 = {{{v_p81|{{{v_connecting_line|{{{linia|}}}}}}}}}
| v_p1427 = {{{v_p1427|{{{v_start_point|{{{origen|}}}}}}}}}
| v_p1444 = {{{v_p1444|{{{v_destination_point|{{{destinacio|}}}}}}}}}
| v_last_layover = {{{v_last_layover|{{{ultima_escala|}}}}}}
| v_p137 = {{{v_p137|{{{v_operator|{{{operador|}}}}}}}}}
| v_p426 = {{{v_p426|{{{v_aircraft_registration|{{{matricula|}}}}}}}}}
| v_p3090 = {{{v_p3090|{{{v_flight|{{{vol|}}}}}}}}}
| v_passenger = {{{v_passenger|{{{passatgers|}}}}}}
| v_crew = {{{v_crew|{{{tripulacio|}}}}}}
| v_p2528 = {{{v_p252|{{{v_richter|{{{richter|}}}}}}}}}
| v_p2527 = {{{v_p2527|{{{v_earthquake_magnitude|{{{magnitud|}}}}}}}}}
| v_p2784 = {{{v_p2784|{{{v_mercalli|{{{mercalli|}}}}}}}}}
| v_p4511 = {{{v_p4511|{{{v_depth|{{{profunditat|}}}}}}}}}
| v_p449 = {{{v_p449|{{{v_network|{{{canal|}}}}}}}}}
| v_p10 = {{{v_p10|{{{v_video|{{{video|}}}}}}}}}
| v_p3301 = {{{v_p3301|{{{v_broadcast|{{{transmes_per|}}}}}}}}}
| v_p51 = {{{v_p51|{{{v_audio|{{{audio|}}}}}}}}}
| v_p2670 = {{{v_p2670|{{{v_elements|{{{elements|}}}}}}}}}
| v_p527 = {{{v_p527|{{{v_has_part|{{{formatper|}}}}}}}}}
| v_p793 = {{{v_p793|{{{v_significant_event|{{{cronologia|}}}}}}}}}
| v_label = {{{v_label|{{{etiqueta|}}}}}}
| v_data = {{{v_data|{{{dada|}}}}}}
| v_label1 = {{{v_label1|{{{etiqueta1|}}}}}}
| v_data1 = {{{v_data1|{{{dada1|}}}}}}
| v_label2 = {{{v_label2|{{{etiqueta2|}}}}}}
| v_data2 = {{{v_data2|{{{dada2|}}}}}}
| v_p3259 = {{{v_p3259|{{{v_intangible_heritage|{{{bloc_proteccions|}}}}}}}}}
| v_below_image = {{{v_below_image|{{{vista|}}}}}}
| v_below_image_caption = {{{v_below_image_caption|{{{peu_vista|}}}}}}
| v_notes = {{{v_notes|{{{notes|}}}}}}
| v_p953 = {{{v_p953|{{{v_full_work|{{{text_complet|}}}}}}}}}
| v_p856 = {{{v_p856|{{{v_website|{{{lloc_web|}}}}}}}}}
| v_hashtag = {{{v_hashtag|{{{etiqueta|}}}}}}
| v_identifiers = {{{v_identifiers|{{{xarxes|}}}}}}
| v_p8204 = {{{v_p8204|{{{v_tabular_case|{{{taula_casos|}}}}}}}}}
| v_p1660 = {{{v_p1660|{{{v_index_case|{{{cas_index|}}}}}}}}}
| v_p8011 = {{{v_p8011|{{{v_medical_tests|{{{examen_medic|}}}}}}}}}
| v_p1603 = {{{v_p1603|{{{v_number_cases|{{{nombre_casos|}}}}}}}}}
| v_p8049 = {{{v_p8049|{{{v_hospitalized_cases|{{{casos_hospital|}}}}}}}}}
| v_p8010 = {{{v_p8010|{{{v_number_recoveries|{{{nombre_recuperacions|}}}}}}}}}
| v_p9107 = {{{v_p9107|{{{v_number_vaccinations|{{{nombre_vacunacions|}}}}}}}}}
| v_p8045 = {{{v_p8045|{{{v_response_outbreak|{{{resposta_brot|}}}}}}}}}
| v_p59 = {{{v_p59|{{{v_constellation|{{{constellacio|}}}}}}}}}
| v_p575 = {{{v_p575|{{{v_discovery_time|{{{data_descobriment|}}}}}}}}}
| v_p65 = {{{v_p65|{{{v_discovery_place|{{{lloc_descobriment|}}}}}}}}}
| v_p215 = {{{v_p215|{{{v_spectral_class|{{{tipus_espectral|}}}}}}}}}
| v_p528 = {{{v_p528|{{{v_catalog|{{{codi_cataleg|}}}}}}}}}
| v_p397 = {{{v_p397|{{{v_parent_astronomical|{{{pare|}}}}}}}}}
| v_p2583 = {{{v_p2583|{{{v_earth_distance|{{{distance|}}}}}}}}}
| v_p6257 = {{{v_p6257|{{{v_right_ascension|{{{ra|}}}}}}}}}
| v_p6258 = {{{v_p6258|{{{v_declination_astro|{{{dec|}}}}}}}}}
| v_p6259 = {{{v_p6259|{{{v_epoch_astro|{{{epoch|}}}}}}}}}
| v_p1458 = {{{v_p1458|{{{v_color_index|{{{b-v|}}}}}}}}}
| v_p1215 = {{{v_p1215|{{{v_apparent_magnitude|{{{mag_v|}}}}}}}}}
| v_p2052 = {{{v_p2052|{{{v_speed|{{{velocitat|}}}}}}}}}
| v_p3027 = {{{v_p3027|{{{v_meteor_period|{{{periode_meteors|}}}}}}}}}
| v_p1090 = {{{v_p1090|{{{v_redshift|}}}}}}
| v_p2922 = {{{v_p2922|}}}
<!-- codi per construir el block especial dels contrincants
de la Infotaula conflicte militar a partir dels paràmetres manuals
-->
| v_military_conflict_participants =
{{InfoboxFrame |child=yes
| wikidata = {{{wikidata|}}}
| item = {{{item|}}}
| lang = {{{lang|}}}
<!-- |bodystyle = infobox_bodystyle -->
|titleclass = infobox_titlestyle
|aboveclass = infobox_abovestyle
|headerclass = infobox_headerstyle
|labelclass = infobox-label
|datastyle = text-align:start
|captionstyle = font-size:90%;
|header20 = {{#if:{{{bandol1|{{{bandol1|{{{bandol1|{{{bandol1|{{{combatant1|}}}}}}}}}}}}}}}{{{bandol2|{{{bandol2|{{{bandol2|{{{bandol2|{{{combatant2|}}}}}}}}}}}}}}}{{{bandol3|{{{bandol3|{{{bandol3|{{{bandol3|{{{combatant3|}}}}}}}}}}}}}}}
| Bàndols }}
|datastyle23 = font-size:100%;
|data23 = {{Infotaula/Columnes | {{{bandol1|{{{bandol1|{{{bandol1|{{{bandol1|{{{combatant1|}}} }}} }}} }}} }}} | {{{bandol2|{{{bandol2|{{{bandol2|{{{bandol2|{{{combatant2|}}}}}}}}}}}}}}} | {{{bandol3|{{{bandol3|{{{bandol3|{{{bandol3|{{{combatant3|}}}}}}}}}}}}}}} }}
|header30 = {{#if:{{{general1|}}}{{{general2|}}}{{{general3|}}}
| Comandants }}
|datastyle35 = font-size:100%;
|data35 = {{Infotaula/Columnes | {{{general1|}}} | {{{general2|}}} | {{{general3|}}}}}
|header38 = {{#if:{{{comandant1|{{{comandant1|{{{commander1|}}}}}}}}}{{{comandant2|{{{comandant2|{{{commander2|}}}}}}}}}{{{comandant3|{{{comandant3|{{{commander3|}}}}}}}}}
| Comandants}}
|datastyle40 = font-size:100%;
|data40 = {{Infotaula/Columnes | {{{comandant1|{{{comandant1|{{{commander1|}}}}}}}}} | {{{comandant2|{{{comandant2|{{{commander2|}}}}}}}}} | {{{comandant3|{{{comandant3|{{{commander3|}}}}}}}}} }}
|header45 = {{#if:{{{oficial1|}}}{{{oficial2|}}}{{{oficial3|}}}
| Oficials destacats}}
|datastyle50 = font-size:100%;
|data50 = {{Infotaula/Columnes | {{{oficial1|}}} | {{{oficial2|}}} | {{{oficial3|}}} }}
|header55 = {{#if:{{{cavaller1|}}}{{{cavaller2|}}}{{{cavaller3|}}}
| Cavallers destacats}}
|datastyle58 = font-size:100%;
|data58 = {{Infotaula/Columnes | {{{cavaller1|}}} | {{{cavaller2|}}} | {{{cavaller3|}}} }}
|header60 = {{#if:{{{força1|{{{força1|{{{força1|{{{força1|{{{strength1|}}}}}}}}}}}}}}}{{{força2|{{{força2|{{{força2|{{{força2|{{{strength2|}}}}}}}}}}}}}}}{{{força3|{{{força3|{{{força3|{{{força3|{{{strength3|}}}}}}}}}}}}}}}
| Forces }}
|datastyle63 = font-size:100%;
|data63 = {{Infotaula/Columnes | {{{força1|{{{força1|{{{força1|{{{força1|{{{strength1|}}}}}}}}}}}}}}} | {{{força2|{{{força2|{{{força2|{{{força2|{{{strength2|}}}}}}}}}}}}}}} | {{{força3|{{{força3|{{{força3|{{{força3|{{{strength3|}}}}}}}}}}}}}}}}}
|header70 = {{#if:{{{baixes1|{{{baixes1|{{{baixes1|{{{casualties1|}}}}}}}}}}}}{{{baixes2|{{{baixes2|{{{baixes2|{{{casualties2|}}}}}}}}}}}}{{{baixes3|{{{baixes3|{{{baixes3|{{{casualties3|}}}}}}}}}}}}{{{baixesglobals|}}}
| Baixes }}
|datastyle73 = font-size:100%;
|data73 = {{Infotaula/Columnes | {{{baixes1|{{{baixes1|{{{baixes1|{{{casualties1|}}}}}}}}}}}} | {{{baixes2|{{{baixes2|{{{baixes2|{{{casualties2|}}}}}}}}}}}} | {{{baixes3|{{{baixes3|{{{baixes3|{{{casualties3|}}}}}}}}}}}} }}
| data78 = {{{baixesglobals|}}}
}}<!-- Parameter check:
-->{{#invoke:TemplatePar
|check
|template=Plantilla:infotaula esdeveniment
|all=
|opt=
lang= item= wikidata= decat= child=
v_cllps_judiciary= desplega_judicial=
v_cllps_award= desplega_premis=
v_cllps_participant= desplega_participants=
v_cllps_signatory= desplega_signataris=
v_cllps_ratified= desplega_ratificacio=
v_cllps_haspart=
v_icon= icona=
v_name= nom= esdeveniment=
v_p154= v_p2425= v_logo= logo= escut=
v_p18= v_p6802= v_image= imatge=
v_p18_caption= v_image_caption= peu=
v_p8592=
v_p1801=
v_p2716=
v_p3451=
v_image_map= imatge_mapa= mapa=
v_caption_map= peu_mapa=
nocateg_coord=
v_basic_maps=
localitat=
v_switched_images=
v_draw_map= draw_mapa=
v_draw_layer= draw_layer=
v_coord_display= coord_display=
v_P625_lat_dec= lat_dec=
v_P625_lon_dec= lon_dec=
v_p242= v_locator_map= mapa_localitzador=
v_zoom_map= zoom=
v_marker= marcador=
v_marker_name= nom_marcador=
v_marker_color= marcador_color=
v_marker_size= marcador_mida=
v_size_map= mapa_mida=
v_blacklist_layer= blacklist_layer=
v_p1705= v_p1559= v_original_name= nom_original=
v_original_lang= nom_original_lleng=
v_p1813= v_short_name= nom_curt=
v_p1449= v_nickname= altre_nom= alies=
v_p31= v_type= tipus=
v_p6208= v_award_rationale= descripcio=
v_p138= v_named_after= anomenat=
v_p571= v_inception= data_creacio=
v_p576= v_dissolved= data_dissolucio=
v_p2894= v_day= dia=
v_p837= v_peak_day= dia_punta=
v_p585= v_date= data=
v_p580= v_start_time= inici=
v_p582= v_end_time= fi=
v_point_time= hora=
v_start_time= hora_inici=
v_end_time= hora_final=
v_p467= v_legislated_by= promulgada_per=
v_p7589= v_date_assent= data_promulgada=
v_date_signature= data_signatura=
v_p6193= v_ratified_by= ratificacio=
v_p7588= v_effective_date= efectivitat=
v_p577= v_publication= publicacio=
v_p2047= v_duration= durada=
v_p2257= v_event_interval= frequencia= freq=
v_p2348= v_time_period= periode=
v_p144= v_based_on= basat_en=
v_p393= v_edition= edicio=
v_p112= v_founded= instaurador=
v_antecedent= antecedents=
v_casus= casus=
v_operacio= operacio= operació=
v_front= front=
v_campanya= campanya=
v_escenari= escenari=
military_infobox=
v_p155= v_p1365= v_previous= precedit= anterior=
v_p156= v_p1366= v_next= succeit= posterior=
v_p2596= v_culture= cultura=
v_p6375= v_address= lloc=
v_p706= v_drainage_basin= conca=
v_p17= v_country= estat=
v_p4777= v_border= frontera=
v_p30= v_continent= continent=
v_p2046= v_area= superficie=
v_p1451= v_motto= lema=
v_p3730= v_higher_rank= rang_sup=
v_p3729= v_lower_rank= rang_inf=
v_p361= v_part_of= partde=
v_p2121= v_prize_money= premi=
v_p822= v_mascot= mascota=
v_p921= v_subject= tema=
v_p533= v_p3712= v_target= objectiu=
v_p1478= v_p828= v_immediate_cause= causa=
v_p1542= v_p1536= v_effect= consequencia=
v_p2895= v_wind= vent=
v_p2532= v_pressure= pressio=
v_action= accions=
v_conditions= condicio=
v_results= resultat=
v_p607= v_conflict= conflicte=
v_p407= v_llengua= llengua=
v_p140= v_religion= religio=
v_p136= v_genre= genere=
v_p175= v_performer= interpret=
v_p5027= v_representations= representacions=
v_p2769= v_budget= pressupost=
v_p2320= v_aftershocks= repliques=
v_p1120= v_deaths= morts=
v_p1339= v_injured= ferits=
v_p8032= v_victim= victimes=
v_p1446= v_missing= desapareguts=
v_p1561= v_survivor= supervivents=
v_p3081= v_damaged= danys=
v_p2630= v_damage_cost= danys_economics=
v_p3082= v_destroyed= destruccio= habitatges_destruits=
v_p641= v_sport= esport=
v_p1027= v_host= concedit_per=
v_p664= v_organizer= organitzacio=
v_p1001= v_jurisdiction= jurisdiccio=
v_p371= v_presenter= presentador=
v_p57= v_director= director=
v_p162= v_producer= productor=
v_p61= v_discovered= descobridor=
v_p4971= v_commander= comandament=
v_p823= v_speaker= locutor=
v_p3342= v_coordinator= coordinador=
v_p1128= v_employees= empleats=
v_p6125= v_volunteers= voluntaris=
v_p1875= v_represented_by= representat_per=
v_p710= v_participant= participants=
bandol1= bandol1= bandol1= bandol1= combatant1=
bandol2= bandol2= bandol2= bandol2= combatant2=
bandol3= bandol3= bandol3= bandol3= combatant3=
general1= general2= general3=
comandant1= comandant1= commander1=
comandant2= comandant2= commander2=
comandant3= comandant3= commander3=
oficial1= oficial2= oficial3=
cavaller1= cavaller2= cavaller3=
força1= força1= força1= força1= strength1=
força2= força2= força2= força2= strength2=
força3= força3= força3= força3= strength3=
baixes1= baixes1= baixes1= casualties1=
baixes2= baixes2= baixes2= casualties2=
baixes3= baixes3= baixes3= casualties3= baixesglobals=
v_p8550= v_law_number= identificador_llei=
v_p9376= v_law_digest= resum_llei=
v_p3148= v_repeals= revoca=
v_p2568= v_repealed_by= revocat_per=
v_p50= v_author= autor=
v_p1891= v_signatory= signataris=
v_p4032= v_reviewed_by= revisat_per=
v_p9681= v_voted_by= votat_per=
v_p2058= v_depositor= dipositari=
v_p859= v_sponsor= impulsors=
v_first_informant= primer_informador=
v_p2284= v_price= preu=
v_recording= filmat_per=
v_p5436= v_viewers= espectadors=
v_p1110= v_attendance= assistents=
v_p1132= v_participants= num_participants=
v_p1346= v_winner= guanyador=
v_p2142= v_box_office= recaptacio=
v_color_map_part_1= color_map_part_1=
v_color_map_part_2= color_map_part_2=
v_p541= v_office_contested= carrec=
v_p726= v_candidate= candidats=
v_p991= v_elected= elegit=
v_p547= v_commemorates= commemora=
v_ritual= ritual=
v_p2541= v_operating_area= opera_celebra=
v_p1840= v_investigated_by= investigacio=
v_judicial_investigation= investigacio_judicial=
v_p1592= v_prosecutor= instructor=
v_suspect= sospitosos=
v_p8031= v_perpetrator= perpetrador=
v_p520= v_armament= armes=
v_p5582= v_arrests= detinguts=
v_trial= litigi=
v_p1620= v_claimant= demandant=
v_p1591= v_defendant= acusats=
v_p1595= v_charge= carrecs=
v_p1593= v_defender= defensor=
v_p4884= v_court= tribunal=
v_p1594= v_judge= jutge=
v_verdict= veredicte=
v_convict= condemnats=
v_p1596= v_penalty= condemna=
v_p121= v_item_operat= tipus_aeronau= tipus_vehicle=
v_p81= v_connecting_line= linia=
v_p1427= v_start_point= origen=
v_p1444= v_destination_point= destinacio=
v_last_layover= ultima_escala=
v_p137= v_operator= operador=
v_p426= v_aircraft_registration= matricula=
v_p3090= v_flight= vol=
v_passenger= passatgers=
v_crew= tripulacio=
v_p252= v_richter= richter=
v_p2527= v_earthquake_magnitude= magnitud=
v_p2784= v_mercalli= mercalli=
v_p4511= v_depth= profunditat=
v_p449= v_network= canal=
v_p10= v_video= video=
v_p3301= v_broadcast= transmes_per=
v_p51= v_audio= audio=
v_p2670= v_elements= elements=
v_p527= v_has_part= formatper=
v_p793= v_significant_event= cronologia=
v_label= etiqueta=
v_data= dada=
v_label1= etiqueta1=
v_data1= dada1=
v_label2= etiqueta2=
v_data2= dada2=
v_p3259= v_intangible_heritage= bloc_proteccions=
v_below_image= vista=
v_below_image_caption= peu_vista=
v_notes= notes=
v_p953= v_full_work= text_complet=
v_p856= v_website= lloc_web=
v_hashtag= etiqueta=
v_identifiers= xarxes=
v_p8204= v_tabular_case= taula_casos=
v_p1660= v_index_case= cas_index=
v_p8011= v_medical_tests= examen_medic=
v_p1603= v_number_cases= nombre_casos=
v_p8049= v_hospitalized_cases= casos_hospital=
v_p8010= v_number_recoveries= nombre_recuperacions=
v_p9107= v_number_vaccinations= nombre_vacunacions=
v_p8045= v_response_outbreak= resposta_brot=
v_p59= v_constellation= constellacio=
v_p575= v_discovery_time= data_descobriment=
v_p65= v_discovery_place= lloc_descobriment=
v_p215= v_spectral_class= tipus_espectral=
v_p528= v_catalog= codi_cataleg=
v_p397= v_parent_astronomical= pare=
v_p2583= v_earth_distance= distance=
v_p6257= v_right_ascension= ra=
v_p6258= v_declination_astro= dec=
v_p6259= v_epoch_astro= epoch=
v_p1458= v_color_index= b-v=
v_p1215= v_apparent_magnitude= mag_v=
v_p2052= v_speed= velocitat=
v_p3027= v_meteor_period= periode_meteors=
v_p1090= v_redshift=
v_p2922=
military_infobox= v_p361_on_tree=
<!-- Noms en ús que han de desaparèixer després bot de neteja
-->
|cat=Infotaules usades amb paràmetres desconeguts
|format=0|preview=1|errNS=0
}}
{{#if:{{{v_operacio|{{{operacio|{{{operació|}}}}}}}}}<!-- detectar manuals per conflicte militar. Reubicar en P361 o P276 -->
{{{v_casus|{{{casus|}}}}}}
{{{v_front|{{{front|}}}}}}
{{{v_campanya|{{{campanya|}}}}}}
{{{v_escenari|{{{escenari|}}}}}}
|
}}
}}
lomrof6uz3ik6c8bxbbhw5rgq7forgf
150924
150916
2026-08-31T19:30:04Z
آیات محراج
11062
/* */
150924
wikitext
text/x-wiki
{{Infobox event/proves
| item = {{{item|}}}
| lang = {{{lang|}}}
| v_cllps_judiciary = {{{v_cllps_judiciary|{{{desplega_judicial|}}}}}}
| v_cllps_award = {{{v_cllps_award|{{{desplega_premis|}}}}}}
| v_cllps_participant = {{{v_cllps_participant|{{{desplega_participants|}}}}}}
| v_cllps_signatory = {{{v_cllps_signatory|{{{desplega_signataris|}}}}}}
| v_cllps_ratified = {{{v_cllps_ratified|{{{desplega_ratificacio|}}}}}}
| v_cllps_haspart = {{{v_cllps_haspart|}}}
| v_icon = {{{v_icon|{{{icona|}}}}}}
| v_name = {{{v_name|{{{nom|{{{esdeveniment|}}}}}}}}}
| v_p154 = {{{v_p154|{{{v_p2425|{{{v_logo|{{{logo|{{{escut|}}}}}}}}}}}}}}}
| v_p18 = {{{v_p18|{{{v_p6802|{{{v_image|{{{imatge|}}}}}}}}}}}}
| v_p18_caption = {{{v_p18_caption|{{{v_image_caption|{{{peu|}}}}}}}}}
| v_p8592= {{{v_p8592|}}}
| v_p1801= {{{v_p1801|}}}
| v_p2716= {{{v_p2716|}}}
| v_p3451= {{{v_p3451|}}}
| v_image_map = {{{v_image_map|{{{imatge_mapa|{{{mapa|}}}}}}}}}<!-- mapa, per conflicte militar: eliminar post-integració -->
| v_caption_map = {{{v_caption_map|{{{peu_mapa|}}}}}}
| nocateg_coord= {{{nocateg_coord|NONE}}}<!-- coordenades no obligatòries en aquesta infotaula. Indicat amb NONE -->
| v_basic_maps= {{{v_basic_maps|}}}
| v_switched_images= {{{v_switched_images|}}}
| v_draw_map = {{{v_draw_map|{{{draw_mapa|}}}}}}
| v_draw_layer = {{{v_draw_layer|{{{draw_layer|}}}}}}
| v_coord_display = {{{v_coord_display|{{{coord_display|}}}}}}
| v_P625_lat_dec = {{{v_P625_lat_dec|{{{lat_dec|}}}}}}
| v_P625_lon_dec = {{{v_P625_lon_dec|{{{lon_dec|}}}}}}
| v_p242 = {{{v_p242|{{{v_locator_map|{{{mapa_localitzador|}}}}}}}}}
| v_zoom_map = {{{v_zoom_map|{{{zoom|}}}}}}
| v_marker = {{{v_marker|{{{marcador|}}}}}}
| v_marker_name = {{{v_marker_name|{{{nom_marcador|}}}}}}
| v_marker_color = {{{v_marker_color|{{{marcador_color|}}}}}}
| v_marker_size = {{{v_marker_size|{{{marcador_mida|}}}}}}
| v_size_map = {{{v_size_map|{{{mapa_mida|}}}}}}
| v_blacklist_layer = {{{v_blacklist_layer|{{{blacklist_layer|}}}}}}
| v_p1705 = {{{v_p1705|{{{v_p1559|{{{v_original_name|{{{nom_original|}}}}}}}}}}}}
| v_original_lang = {{{v_original_lang|{{{nom_original_lleng|}}}}}}
| v_p1813 = {{{v_p1813|{{{v_short_name|{{{nom_curt|}}}}}}}}}
| v_p1449 = {{{v_p1449|{{{v_nickname|{{{altre_nom|{{{alies|}}}}}}}}}}}}<!-- alies, per conflicte militar: eliminar post-integració -->
| v_p31 = {{{v_p31|{{{v_type|{{{tipus|}}}}}}}}}
| v_p6208 = {{{v_p6208|{{{v_award_rationale|{{{descripcio|}}}}}}}}}
| v_p138 = {{{v_p138|{{{v_named_after|{{{anomenat|}}}}}}}}}
| v_p571 = {{{v_p571|{{{v_inception|{{{data_creacio|}}}}}}}}}
| v_p576 = {{{v_p576|{{{v_dissolved|{{{data_dissolucio|}}}}}}}}}
| v_p2894 = {{{v_p2894|{{{v_day|{{{dia|}}}}}}}}}
| v_p837 = {{{v_p837|{{{v_peak_day|{{{dia_punta|}}}}}}}}}
| v_p585 = {{{v_p585|{{{v_date|{{{data|}}}}}}}}}
| v_p580 = {{{v_p580|{{{v_start_time|{{{inici|}}}}}}}}}
| v_p582 = {{{v_p582|{{{v_end_time|{{{fi|}}}}}}}}}
| v_point_time = {{{v_point_time|{{{hora|}}}}}}
| v_start_time = {{{v_start_time|{{{hora_inici|}}}}}}
| v_end_time = {{{v_end_time|{{{hora_final|}}}}}}
| v_p467 = {{{v_p467|{{{v_legislated_by|{{{promulgada_per|}}}}}}}}}
| v_p7589 = {{{v_p7589|{{{v_date_assent|{{{data_promulgada|}}}}}}}}}
| v_date_signature = {{{v_date_signature|{{{data_signatura|}}}}}}
| v_p6193 = {{{v_p6193|{{{v_ratified_by|{{{ratificacio|}}}}}}}}}
| v_p7588 = {{{v_p7588|{{{v_effective_date|{{{efectivitat|}}}}}}}}}
| v_p577 = {{{v_p577|{{{v_publication|{{{publicacio|}}}}}}}}}
| v_p2047 = {{{v_p2047|{{{v_duration|{{{durada|}}}}}}}}}
| v_p2257 = {{{v_p2257|{{{v_event_interval|{{{frequencia|{{{freq|}}}}}}}}}}}}
| v_p2348 = {{{v_p2348|{{{v_time_period|{{{periode|}}}}}}}}}
| v_p144 = {{{v_p144|{{{v_based_on|{{{basat_en|}}}}}}}}}
| v_p393 = {{{v_p393|{{{v_edition|{{{edicio|}}}}}}}}}
| v_p112 = {{{v_p112|{{{v_founded|{{{instaurador|}}}}}}}}}
| v_antecedent = {{{v_antecedent|{{{antecedents|}}}}}}
| v_operacio = {{{v_operacio|{{{operacio|{{{operació|}}}}}}}}}<!-- operacio, afegit per conflicte militar -->
| v_casus = {{{v_casus|{{{casus|}}}}}}<!-- casus beli, afegit per conflicte militar -->
| v_front = {{{v_front|{{{front|}}}}}}<!-- front, afegit per conflicte militar -->
| v_campanya = {{{v_campanya|{{{campanya|}}}}}}<!-- campanya, afegit per conflicte militar -->
| v_escenari = {{{v_escenari|{{{escenari|}}}}}}<!-- escenari, afegit per conflicte militar -->
| military_infobox={{ifeqany|{{{military_infobox|}}}|y|yes|si|sí|s|y=YES|n={{{military_infobox|}}}}}
| v_p361_on_tree = {{{v_p361_on_tree|}}}
| v_p155 = {{{v_p155|{{{v_p1365|{{{v_previous|{{{precedit|{{{anterior|}}}}}}}}}}}}}}}
| v_p156 = {{{v_p156|{{{v_p1366|{{{v_next|{{{succeit|{{{posterior|}}}}}}}}}}}}}}}
| v_p2596 = {{{v_p2596|{{{v_culture|{{{cultura|}}}}}}}}}
| v_p6375 = {{{v_p6375|{{{v_address|{{{lloc|{{{localitat|}}}}}}}}}}}}
| v_p706 = {{{v_p706|{{{v_drainage_basin|{{{conca|}}}}}}}}}
| v_p17 = {{{v_p17|{{{v_country|{{{estat|}}}}}}}}}
| v_p4777 = {{{v_p4777|{{{v_border|{{{frontera|}}}}}}}}}
| v_p30 = {{{v_p30|{{{v_continent|{{{continent|}}}}}}}}}
| v_p2046 = {{{v_p2046|{{{v_area|{{{superficie|}}}}}}}}}
| v_p1451 = {{{v_p1451|{{{v_motto|{{{lema|}}}}}}}}}
| v_p3730 = {{{v_p3730|{{{v_higher_rank|{{{rang_sup|}}}}}}}}}
| v_p3729 = {{{v_p3729|{{{v_lower_rank|{{{rang_inf|}}}}}}}}}
| v_p361 = {{{v_p361|{{{v_part_of|{{{partde|}}}}}}}}}
| v_p2121 = {{{v_p2121|{{{v_prize_money|{{{premi|}}}}}}}}}
| v_p822 = {{{v_p822|{{{v_mascot|{{{mascota|}}}}}}}}}
| v_p921 = {{{v_p921|{{{v_subject|{{{tema|}}}}}}}}}
| v_p533 = {{{v_p533|{{{v_p3712|{{{v_target|{{{objectiu|}}}}}}}}}}}}
| v_p1478 = {{{v_p1478|{{{v_p828|{{{v_immediate_cause|{{{causa|}}}}}}}}}}}}
| v_p1542 = {{{v_p1542|{{{v_p1536|{{{v_effect|{{{consequencia|}}}}}}}}}}}}
| v_p2895 = {{{v_p2895|{{{v_wind|{{{vent|}}}}}}}}}
| v_p2532 = {{{v_p2532|{{{v_pressure|{{{pressio|}}}}}}}}}
| v_action = {{{v_action|{{{accions|}}}}}}
| v_conditions = {{{v_conditions|{{{condicio|}}}}}}
| v_results = {{{v_results|{{{resultat|}}}}}}
| v_p607 = {{{v_p607|{{{v_conflict|{{{conflicte|}}}}}}}}}
| v_p407 = {{{v_p407|{{{v_llengua|{{{llengua|}}}}}}}}}
| v_p140 = {{{v_p140|{{{v_religion|{{{religio|}}}}}}}}}
| v_p136 = {{{v_p136|{{{v_genre|{{{genere|}}}}}}}}}
| v_p175 = {{{v_p175|{{{v_performer|{{{interpret|}}}}}}}}}
| v_p5027 = {{{v_p5027|{{{v_representations|{{{representacions|}}}}}}}}}
| v_p2769 = {{{v_p2769|{{{v_budget|{{{pressupost|}}}}}}}}}
| v_p2320 = {{{v_p2320|{{{v_aftershocks|{{{repliques|}}}}}}}}}
| v_p1120 = {{{v_p1120|{{{v_deaths|{{{morts|}}}}}}}}}
| v_p1339 = {{{v_p1339|{{{v_injured|{{{ferits|}}}}}}}}}
| v_p8032 = {{{v_p8032|{{{v_victim|{{{victimes|}}}}}}}}}
| v_p1446 = {{{v_p1446|{{{v_missing|{{{desapareguts|}}}}}}}}}
| v_p1561 = {{{v_p1561|{{{v_survivor|{{{supervivents|}}}}}}}}}
| v_p3081 = {{{v_p3081|{{{v_damaged|{{{danys|}}}}}}}}}
| v_p2630 = {{{v_p2630|{{{v_damage_cost|{{{danys_economics|}}}}}}}}}
| v_p3082 = {{{v_p3082|{{{v_destroyed|{{{destruccio|{{{habitatges_destruits|}}}}}}}}}}}}
| v_p641 = {{{v_p641|{{{v_sport|{{{esport|}}}}}}}}}
| v_p1027 = {{{v_p1027|{{{v_host|{{{concedit_per|}}}}}}}}}
| v_p664 = {{{v_p664|{{{v_organizer|{{{organitzacio|}}}}}}}}}
| v_p1001 = {{{v_p1001|{{{v_jurisdiction|{{{jurisdiccio|}}}}}}}}}
| v_p371 = {{{v_p371|{{{v_presenter|{{{presentador|}}}}}}}}}
| v_p57 = {{{v_p57|{{{v_director|{{{director|}}}}}}}}}
| v_p162 = {{{v_p162|{{{v_producer|{{{productor|}}}}}}}}}
| v_p61 = {{{v_p61|{{{v_discovered|{{{descobridor|}}}}}}}}}
| v_p4971 = {{{v_p4971|{{{v_commander|{{{comandament|}}}}}}}}}
| v_p823 = {{{v_p823|{{{v_speaker|{{{locutor|}}}}}}}}}
| v_p3342 = {{{v_p3342|{{{v_coordinator|{{{coordinador|}}}}}}}}}
| v_p1128 = {{{v_p1128|{{{v_employees|{{{empleats|}}}}}}}}}
| v_p6125 = {{{v_p6125|{{{v_volunteers|{{{voluntaris|}}}}}}}}}
| v_p1875 = {{{v_p1875|{{{v_represented_by|{{{representat_per|}}}}}}}}}
| v_p710 = {{if empty|{{{v_p710|{{{v_participant|{{{participants|}}}}}}}}}<!-- manual entry is preferent -->
|{{#if:{{{bandol1|{{{bandol1|{{{bandol1|{{{bandol1|{{{combatant1|}}}}}}}}}}}}}}}
{{{bandol2|{{{bandol2|{{{bandol2|{{{bandol2|{{{combatant2|}}}}}}}}}}}}}}}
{{{bandol3|{{{bandol3|{{{bandol3|{{{bandol3|{{{combatant3|}}}}}}}}}}}}}}}
{{{general1|}}}{{{general2|}}}{{{general3|}}}
{{{comandant1|{{{comandant1|{{{commander1|}}}}}}}}}
{{{comandant2|{{{comandant2|{{{commander2|}}}}}}}}}
{{{comandant3|{{{comandant3|{{{commander3|}}}}}}}}}
{{{oficial1|}}}{{{oficial2|}}}{{{oficial3|}}}
{{{cavaller1|}}}{{{cavaller2|}}}{{{cavaller3|}}}
{{{força1|{{{força1|{{{força1|{{{força1|{{{strength1|}}}}}}}}}}}}}}}
{{{força2|{{{força2|{{{força2|{{{força2|{{{strength2|}}}}}}}}}}}}}}}
{{{força3|{{{força3|{{{força3|{{{força3|{{{strength3|}}}}}}}}}}}}}}}
{{{baixes1|{{{baixes1|{{{baixes1|{{{casualties1|}}}}}}}}}}}}
{{{baixes2|{{{baixes2|{{{baixes2|{{{casualties2|}}}}}}}}}}}}
{{{baixes3|{{{baixes3|{{{baixes3|{{{casualties3|}}}}}}}}}}}}
|NONE}}<!-- when special format for military conflict, no get from WD -->
}}
| v_p8550 = {{{v_p8550|{{{v_law_number|{{{identificador_llei|}}}}}}}}}
| v_p9376 = {{{v_p9376|{{{v_law_digest|{{{resum_llei|}}}}}}}}}
| v_p3148 = {{{v_p3148|{{{v_repeals|{{{revoca|}}}}}}}}}
| v_p2568 = {{{v_p2568|{{{v_repealed_by|{{{revocat_per|}}}}}}}}}
| v_p50 = {{{v_p50|{{{v_author|{{{autor|}}}}}}}}}
| v_p1891 = {{{v_p1891|{{{v_signatory|{{{signataris|}}}}}}}}}
| v_p4032 = {{{v_p4032|{{{v_reviewed_by|{{{revisat_per|}}}}}}}}}
| v_p9681 = {{{v_p9681|{{{v_voted_by|{{{votat_per|}}}}}}}}}
| v_p2058 = {{{v_p2058|{{{v_depositor|{{{dipositari|}}}}}}}}}
| v_p859 = {{{v_p859|{{{v_sponsor|{{{impulsors|}}}}}}}}}
| v_first_informant = {{{v_first_informant|{{{primer_informador|}}}}}}
| v_p2284 = {{{v_p2284|{{{v_price|{{{preu|}}}}}}}}}
| v_recording = {{{v_recording|{{{filmat_per|}}}}}}
| v_p5436 = {{{v_p5436|{{{v_viewers|{{{espectadors|}}}}}}}}}
| v_p1110 = {{{v_p1110|{{{v_attendance|{{{assistents|}}}}}}}}}
| v_p1132 = {{{v_p1132|{{{v_participants|{{{num_participants|}}}}}}}}}
| v_p1346 = {{{v_p1346|{{{v_winner|{{{guanyador|}}}}}}}}}
| v_p2142 = {{{v_p2142|{{{v_box_office|{{{recaptacio|}}}}}}}}}
| v_color_map_part_1 = {{{v_color_map_part_1|{{{color_map_part_1|}}}}}}
| v_color_map_part_2 = {{{v_color_map_part_2|{{{color_map_part_2|}}}}}}
| v_p541 = {{{v_p541|{{{v_office_contested|{{{carrec|}}}}}}}}}
| v_p726 = {{{v_p726|{{{v_candidate|{{{candidats|}}}}}}}}}
| v_p991 = {{{v_p991|{{{v_elected|{{{elegit|}}}}}}}}}
| v_p547 = {{{v_p547|{{{v_commemorates|{{{commemora|}}}}}}}}}
| v_ritual = {{{v_ritual|{{{ritual|}}}}}}
| v_p2541 = {{{v_p2541|{{{v_operating_area|{{{opera_celebra|}}}}}}}}}
| v_p1840 = {{{v_p1840|{{{v_investigated_by|{{{investigacio|}}}}}}}}}
| v_judicial_investigation = {{{v_judicial_investigation|{{{investigacio_judicial|}}}}}}
| v_p1592 = {{{v_p1592|{{{v_prosecutor|{{{instructor|}}}}}}}}}
| v_suspect = {{{v_suspect|{{{sospitosos|}}}}}}
| v_p8031 = {{{v_p8031|{{{v_perpetrator|{{{perpetrador|}}}}}}}}}
| v_p520 = {{{v_p520|{{{v_armament|{{{armes|}}}}}}}}}
| v_p5582 = {{{v_p5582|{{{v_arrests|{{{detinguts|}}}}}}}}}
| v_trial = {{{v_trial|{{{litigi|}}}}}}
| v_p1620 = {{{v_p1620|{{{v_claimant|{{{demandant|}}}}}}}}}
| v_p1591 = {{{v_p1591|{{{v_defendant|{{{acusats|}}}}}}}}}
| v_p1595 = {{{v_p1595|{{{v_charge|{{{carrecs|}}}}}}}}}
| v_p1593 = {{{v_p1593|{{{v_defender|{{{defensor|}}}}}}}}}
| v_p4884 = {{{v_p4884|{{{v_court|{{{tribunal|}}}}}}}}}
| v_p1594 = {{{v_p1594|{{{v_judge|{{{jutge|}}}}}}}}}
| v_verdict = {{{v_verdict|{{{veredicte|}}}}}}
| v_convict = {{{v_convict|{{{condemnats|}}}}}}
| v_p1596 = {{{v_p1596|{{{v_penalty|{{{condemna|}}}}}}}}}
| v_p121 = {{{v_p121|{{{v_item_operat|{{{tipus_aeronau|{{{tipus_vehicle|}}}}}}}}}}}}
| v_p81 = {{{v_p81|{{{v_connecting_line|{{{linia|}}}}}}}}}
| v_p1427 = {{{v_p1427|{{{v_start_point|{{{origen|}}}}}}}}}
| v_p1444 = {{{v_p1444|{{{v_destination_point|{{{destinacio|}}}}}}}}}
| v_last_layover = {{{v_last_layover|{{{ultima_escala|}}}}}}
| v_p137 = {{{v_p137|{{{v_operator|{{{operador|}}}}}}}}}
| v_p426 = {{{v_p426|{{{v_aircraft_registration|{{{matricula|}}}}}}}}}
| v_p3090 = {{{v_p3090|{{{v_flight|{{{vol|}}}}}}}}}
| v_passenger = {{{v_passenger|{{{passatgers|}}}}}}
| v_crew = {{{v_crew|{{{tripulacio|}}}}}}
| v_p2528 = {{{v_p252|{{{v_richter|{{{richter|}}}}}}}}}
| v_p2527 = {{{v_p2527|{{{v_earthquake_magnitude|{{{magnitud|}}}}}}}}}
| v_p2784 = {{{v_p2784|{{{v_mercalli|{{{mercalli|}}}}}}}}}
| v_p4511 = {{{v_p4511|{{{v_depth|{{{profunditat|}}}}}}}}}
| v_p449 = {{{v_p449|{{{v_network|{{{canal|}}}}}}}}}
| v_p10 = {{{v_p10|{{{v_video|{{{video|}}}}}}}}}
| v_p3301 = {{{v_p3301|{{{v_broadcast|{{{transmes_per|}}}}}}}}}
| v_p51 = {{{v_p51|{{{v_audio|{{{audio|}}}}}}}}}
| v_p2670 = {{{v_p2670|{{{v_elements|{{{elements|}}}}}}}}}
| v_p527 = {{{v_p527|{{{v_has_part|{{{formatper|}}}}}}}}}
| v_p793 = {{{v_p793|{{{v_significant_event|{{{cronologia|}}}}}}}}}
| v_label = {{{v_label|{{{etiqueta|}}}}}}
| v_data = {{{v_data|{{{dada|}}}}}}
| v_label1 = {{{v_label1|{{{etiqueta1|}}}}}}
| v_data1 = {{{v_data1|{{{dada1|}}}}}}
| v_label2 = {{{v_label2|{{{etiqueta2|}}}}}}
| v_data2 = {{{v_data2|{{{dada2|}}}}}}
| v_p3259 = {{{v_p3259|{{{v_intangible_heritage|{{{bloc_proteccions|}}}}}}}}}
| v_below_image = {{{v_below_image|{{{vista|}}}}}}
| v_below_image_caption = {{{v_below_image_caption|{{{peu_vista|}}}}}}
| v_notes = {{{v_notes|{{{notes|}}}}}}
| v_p953 = {{{v_p953|{{{v_full_work|{{{text_complet|}}}}}}}}}
| v_p856 = {{{v_p856|{{{v_website|{{{lloc_web|}}}}}}}}}
| v_hashtag = {{{v_hashtag|{{{etiqueta|}}}}}}
| v_identifiers = {{{v_identifiers|{{{xarxes|}}}}}}
| v_p8204 = {{{v_p8204|{{{v_tabular_case|{{{taula_casos|}}}}}}}}}
| v_p1660 = {{{v_p1660|{{{v_index_case|{{{cas_index|}}}}}}}}}
| v_p8011 = {{{v_p8011|{{{v_medical_tests|{{{examen_medic|}}}}}}}}}
| v_p1603 = {{{v_p1603|{{{v_number_cases|{{{nombre_casos|}}}}}}}}}
| v_p8049 = {{{v_p8049|{{{v_hospitalized_cases|{{{casos_hospital|}}}}}}}}}
| v_p8010 = {{{v_p8010|{{{v_number_recoveries|{{{nombre_recuperacions|}}}}}}}}}
| v_p9107 = {{{v_p9107|{{{v_number_vaccinations|{{{nombre_vacunacions|}}}}}}}}}
| v_p8045 = {{{v_p8045|{{{v_response_outbreak|{{{resposta_brot|}}}}}}}}}
| v_p59 = {{{v_p59|{{{v_constellation|{{{constellacio|}}}}}}}}}
| v_p575 = {{{v_p575|{{{v_discovery_time|{{{data_descobriment|}}}}}}}}}
| v_p65 = {{{v_p65|{{{v_discovery_place|{{{lloc_descobriment|}}}}}}}}}
| v_p215 = {{{v_p215|{{{v_spectral_class|{{{tipus_espectral|}}}}}}}}}
| v_p528 = {{{v_p528|{{{v_catalog|{{{codi_cataleg|}}}}}}}}}
| v_p397 = {{{v_p397|{{{v_parent_astronomical|{{{pare|}}}}}}}}}
| v_p2583 = {{{v_p2583|{{{v_earth_distance|{{{distance|}}}}}}}}}
| v_p6257 = {{{v_p6257|{{{v_right_ascension|{{{ra|}}}}}}}}}
| v_p6258 = {{{v_p6258|{{{v_declination_astro|{{{dec|}}}}}}}}}
| v_p6259 = {{{v_p6259|{{{v_epoch_astro|{{{epoch|}}}}}}}}}
| v_p1458 = {{{v_p1458|{{{v_color_index|{{{b-v|}}}}}}}}}
| v_p1215 = {{{v_p1215|{{{v_apparent_magnitude|{{{mag_v|}}}}}}}}}
| v_p2052 = {{{v_p2052|{{{v_speed|{{{velocitat|}}}}}}}}}
| v_p3027 = {{{v_p3027|{{{v_meteor_period|{{{periode_meteors|}}}}}}}}}
| v_p1090 = {{{v_p1090|{{{v_redshift|}}}}}}
| v_p2922 = {{{v_p2922|}}}
<!-- codi per construir el block especial dels contrincants
de la Infotaula conflicte militar a partir dels paràmetres manuals
-->
| v_military_conflict_participants =
{{InfoboxFrame |child=yes
| wikidata = {{{wikidata|}}}
| item = {{{item|}}}
| lang = {{{lang|}}}
<!-- |bodystyle = infobox_bodystyle -->
|titleclass = infobox_titlestyle
|aboveclass = infobox_abovestyle
|headerclass = infobox_headerstyle
|labelclass = infobox-label
|datastyle = text-align:start
|captionstyle = font-size:90%;
|header20 = {{#if:{{{bandol1|{{{bandol1|{{{bandol1|{{{bandol1|{{{combatant1|}}}}}}}}}}}}}}}{{{bandol2|{{{bandol2|{{{bandol2|{{{bandol2|{{{combatant2|}}}}}}}}}}}}}}}{{{bandol3|{{{bandol3|{{{bandol3|{{{bandol3|{{{combatant3|}}}}}}}}}}}}}}}
| لڑن وٲلؠ }}
|datastyle23 = font-size:100%;
|data23 = {{Infotaula/Columnes | {{{bandol1|{{{bandol1|{{{bandol1|{{{bandol1|{{{combatant1|}}} }}} }}} }}} }}} | {{{bandol2|{{{bandol2|{{{bandol2|{{{bandol2|{{{combatant2|}}}}}}}}}}}}}}} | {{{bandol3|{{{bandol3|{{{bandol3|{{{bandol3|{{{combatant3|}}}}}}}}}}}}}}} }}
|header30 = {{#if:{{{general1|}}}{{{general2|}}}{{{general3|}}}
| کمانڈرز }}
|datastyle35 = font-size:100%;
|data35 = {{Infotaula/Columnes | {{{general1|}}} | {{{general2|}}} | {{{general3|}}}}}
|header38 = {{#if:{{{comandant1|{{{comandant1|{{{commander1|}}}}}}}}}{{{comandant2|{{{comandant2|{{{commander2|}}}}}}}}}{{{comandant3|{{{comandant3|{{{commander3|}}}}}}}}}
| کمانڈرز}}
|datastyle40 = font-size:100%;
|data40 = {{Infotaula/Columnes | {{{comandant1|{{{comandant1|{{{commander1|}}}}}}}}} | {{{comandant2|{{{comandant2|{{{commander2|}}}}}}}}} | {{{comandant3|{{{comandant3|{{{commander3|}}}}}}}}} }}
|header45 = {{#if:{{{oficial1|}}}{{{oficial2|}}}{{{oficial3|}}}
| قٲبل ذِکر افسر}}
|datastyle50 = font-size:100%;
|data50 = {{Infotaula/Columnes | {{{oficial1|}}} | {{{oficial2|}}} | {{{oficial3|}}} }}
|header55 = {{#if:{{{cavaller1|}}}{{{cavaller2|}}}{{{cavaller3|}}}
| قٲبل ذِکر نایِٹ}}
|datastyle58 = font-size:100%;
|data58 = {{Infotaula/Columnes | {{{cavaller1|}}} | {{{cavaller2|}}} | {{{cavaller3|}}} }}
|header60 = {{#if:{{{força1|{{{força1|{{{força1|{{{força1|{{{strength1|}}}}}}}}}}}}}}}{{{força2|{{{força2|{{{força2|{{{força2|{{{strength2|}}}}}}}}}}}}}}}{{{força3|{{{força3|{{{força3|{{{força3|{{{strength3|}}}}}}}}}}}}}}}
| فوج }}
|datastyle63 = font-size:100%;
|data63 = {{Infotaula/Columnes | {{{força1|{{{força1|{{{força1|{{{força1|{{{strength1|}}}}}}}}}}}}}}} | {{{força2|{{{força2|{{{força2|{{{força2|{{{strength2|}}}}}}}}}}}}}}} | {{{força3|{{{força3|{{{força3|{{{força3|{{{strength3|}}}}}}}}}}}}}}}}}
|header70 = {{#if:{{{baixes1|{{{baixes1|{{{baixes1|{{{casualties1|}}}}}}}}}}}}{{{baixes2|{{{baixes2|{{{baixes2|{{{casualties2|}}}}}}}}}}}}{{{baixes3|{{{baixes3|{{{baixes3|{{{casualties3|}}}}}}}}}}}}{{{baixesglobals|}}}
| ہَلاکتہٕ }}
|datastyle73 = font-size:100%;
|data73 = {{Infotaula/Columnes | {{{baixes1|{{{baixes1|{{{baixes1|{{{casualties1|}}}}}}}}}}}} | {{{baixes2|{{{baixes2|{{{baixes2|{{{casualties2|}}}}}}}}}}}} | {{{baixes3|{{{baixes3|{{{baixes3|{{{casualties3|}}}}}}}}}}}} }}
| data78 = {{{baixesglobals|}}}
}}<!-- Parameter check:
-->{{#invoke:TemplatePar
|check
|template=Plantilla:infotaula esdeveniment
|all=
|opt=
lang= item= wikidata= decat= child=
v_cllps_judiciary= desplega_judicial=
v_cllps_award= desplega_premis=
v_cllps_participant= desplega_participants=
v_cllps_signatory= desplega_signataris=
v_cllps_ratified= desplega_ratificacio=
v_cllps_haspart=
v_icon= icona=
v_name= nom= esdeveniment=
v_p154= v_p2425= v_logo= logo= escut=
v_p18= v_p6802= v_image= imatge=
v_p18_caption= v_image_caption= peu=
v_p8592=
v_p1801=
v_p2716=
v_p3451=
v_image_map= imatge_mapa= mapa=
v_caption_map= peu_mapa=
nocateg_coord=
v_basic_maps=
localitat=
v_switched_images=
v_draw_map= draw_mapa=
v_draw_layer= draw_layer=
v_coord_display= coord_display=
v_P625_lat_dec= lat_dec=
v_P625_lon_dec= lon_dec=
v_p242= v_locator_map= mapa_localitzador=
v_zoom_map= zoom=
v_marker= marcador=
v_marker_name= nom_marcador=
v_marker_color= marcador_color=
v_marker_size= marcador_mida=
v_size_map= mapa_mida=
v_blacklist_layer= blacklist_layer=
v_p1705= v_p1559= v_original_name= nom_original=
v_original_lang= nom_original_lleng=
v_p1813= v_short_name= nom_curt=
v_p1449= v_nickname= altre_nom= alies=
v_p31= v_type= tipus=
v_p6208= v_award_rationale= descripcio=
v_p138= v_named_after= anomenat=
v_p571= v_inception= data_creacio=
v_p576= v_dissolved= data_dissolucio=
v_p2894= v_day= dia=
v_p837= v_peak_day= dia_punta=
v_p585= v_date= data=
v_p580= v_start_time= inici=
v_p582= v_end_time= fi=
v_point_time= hora=
v_start_time= hora_inici=
v_end_time= hora_final=
v_p467= v_legislated_by= promulgada_per=
v_p7589= v_date_assent= data_promulgada=
v_date_signature= data_signatura=
v_p6193= v_ratified_by= ratificacio=
v_p7588= v_effective_date= efectivitat=
v_p577= v_publication= publicacio=
v_p2047= v_duration= durada=
v_p2257= v_event_interval= frequencia= freq=
v_p2348= v_time_period= periode=
v_p144= v_based_on= basat_en=
v_p393= v_edition= edicio=
v_p112= v_founded= instaurador=
v_antecedent= antecedents=
v_casus= casus=
v_operacio= operacio= operació=
v_front= front=
v_campanya= campanya=
v_escenari= escenari=
military_infobox=
v_p155= v_p1365= v_previous= precedit= anterior=
v_p156= v_p1366= v_next= succeit= posterior=
v_p2596= v_culture= cultura=
v_p6375= v_address= lloc=
v_p706= v_drainage_basin= conca=
v_p17= v_country= estat=
v_p4777= v_border= frontera=
v_p30= v_continent= continent=
v_p2046= v_area= superficie=
v_p1451= v_motto= lema=
v_p3730= v_higher_rank= rang_sup=
v_p3729= v_lower_rank= rang_inf=
v_p361= v_part_of= partde=
v_p2121= v_prize_money= premi=
v_p822= v_mascot= mascota=
v_p921= v_subject= tema=
v_p533= v_p3712= v_target= objectiu=
v_p1478= v_p828= v_immediate_cause= causa=
v_p1542= v_p1536= v_effect= consequencia=
v_p2895= v_wind= vent=
v_p2532= v_pressure= pressio=
v_action= accions=
v_conditions= condicio=
v_results= resultat=
v_p607= v_conflict= conflicte=
v_p407= v_llengua= llengua=
v_p140= v_religion= religio=
v_p136= v_genre= genere=
v_p175= v_performer= interpret=
v_p5027= v_representations= representacions=
v_p2769= v_budget= pressupost=
v_p2320= v_aftershocks= repliques=
v_p1120= v_deaths= morts=
v_p1339= v_injured= ferits=
v_p8032= v_victim= victimes=
v_p1446= v_missing= desapareguts=
v_p1561= v_survivor= supervivents=
v_p3081= v_damaged= danys=
v_p2630= v_damage_cost= danys_economics=
v_p3082= v_destroyed= destruccio= habitatges_destruits=
v_p641= v_sport= esport=
v_p1027= v_host= concedit_per=
v_p664= v_organizer= organitzacio=
v_p1001= v_jurisdiction= jurisdiccio=
v_p371= v_presenter= presentador=
v_p57= v_director= director=
v_p162= v_producer= productor=
v_p61= v_discovered= descobridor=
v_p4971= v_commander= comandament=
v_p823= v_speaker= locutor=
v_p3342= v_coordinator= coordinador=
v_p1128= v_employees= empleats=
v_p6125= v_volunteers= voluntaris=
v_p1875= v_represented_by= representat_per=
v_p710= v_participant= participants=
bandol1= bandol1= bandol1= bandol1= combatant1=
bandol2= bandol2= bandol2= bandol2= combatant2=
bandol3= bandol3= bandol3= bandol3= combatant3=
general1= general2= general3=
comandant1= comandant1= commander1=
comandant2= comandant2= commander2=
comandant3= comandant3= commander3=
oficial1= oficial2= oficial3=
cavaller1= cavaller2= cavaller3=
força1= força1= força1= força1= strength1=
força2= força2= força2= força2= strength2=
força3= força3= força3= força3= strength3=
baixes1= baixes1= baixes1= casualties1=
baixes2= baixes2= baixes2= casualties2=
baixes3= baixes3= baixes3= casualties3= baixesglobals=
v_p8550= v_law_number= identificador_llei=
v_p9376= v_law_digest= resum_llei=
v_p3148= v_repeals= revoca=
v_p2568= v_repealed_by= revocat_per=
v_p50= v_author= autor=
v_p1891= v_signatory= signataris=
v_p4032= v_reviewed_by= revisat_per=
v_p9681= v_voted_by= votat_per=
v_p2058= v_depositor= dipositari=
v_p859= v_sponsor= impulsors=
v_first_informant= primer_informador=
v_p2284= v_price= preu=
v_recording= filmat_per=
v_p5436= v_viewers= espectadors=
v_p1110= v_attendance= assistents=
v_p1132= v_participants= num_participants=
v_p1346= v_winner= guanyador=
v_p2142= v_box_office= recaptacio=
v_color_map_part_1= color_map_part_1=
v_color_map_part_2= color_map_part_2=
v_p541= v_office_contested= carrec=
v_p726= v_candidate= candidats=
v_p991= v_elected= elegit=
v_p547= v_commemorates= commemora=
v_ritual= ritual=
v_p2541= v_operating_area= opera_celebra=
v_p1840= v_investigated_by= investigacio=
v_judicial_investigation= investigacio_judicial=
v_p1592= v_prosecutor= instructor=
v_suspect= sospitosos=
v_p8031= v_perpetrator= perpetrador=
v_p520= v_armament= armes=
v_p5582= v_arrests= detinguts=
v_trial= litigi=
v_p1620= v_claimant= demandant=
v_p1591= v_defendant= acusats=
v_p1595= v_charge= carrecs=
v_p1593= v_defender= defensor=
v_p4884= v_court= tribunal=
v_p1594= v_judge= jutge=
v_verdict= veredicte=
v_convict= condemnats=
v_p1596= v_penalty= condemna=
v_p121= v_item_operat= tipus_aeronau= tipus_vehicle=
v_p81= v_connecting_line= linia=
v_p1427= v_start_point= origen=
v_p1444= v_destination_point= destinacio=
v_last_layover= ultima_escala=
v_p137= v_operator= operador=
v_p426= v_aircraft_registration= matricula=
v_p3090= v_flight= vol=
v_passenger= passatgers=
v_crew= tripulacio=
v_p252= v_richter= richter=
v_p2527= v_earthquake_magnitude= magnitud=
v_p2784= v_mercalli= mercalli=
v_p4511= v_depth= profunditat=
v_p449= v_network= canal=
v_p10= v_video= video=
v_p3301= v_broadcast= transmes_per=
v_p51= v_audio= audio=
v_p2670= v_elements= elements=
v_p527= v_has_part= formatper=
v_p793= v_significant_event= cronologia=
v_label= etiqueta=
v_data= dada=
v_label1= etiqueta1=
v_data1= dada1=
v_label2= etiqueta2=
v_data2= dada2=
v_p3259= v_intangible_heritage= bloc_proteccions=
v_below_image= vista=
v_below_image_caption= peu_vista=
v_notes= notes=
v_p953= v_full_work= text_complet=
v_p856= v_website= lloc_web=
v_hashtag= etiqueta=
v_identifiers= xarxes=
v_p8204= v_tabular_case= taula_casos=
v_p1660= v_index_case= cas_index=
v_p8011= v_medical_tests= examen_medic=
v_p1603= v_number_cases= nombre_casos=
v_p8049= v_hospitalized_cases= casos_hospital=
v_p8010= v_number_recoveries= nombre_recuperacions=
v_p9107= v_number_vaccinations= nombre_vacunacions=
v_p8045= v_response_outbreak= resposta_brot=
v_p59= v_constellation= constellacio=
v_p575= v_discovery_time= data_descobriment=
v_p65= v_discovery_place= lloc_descobriment=
v_p215= v_spectral_class= tipus_espectral=
v_p528= v_catalog= codi_cataleg=
v_p397= v_parent_astronomical= pare=
v_p2583= v_earth_distance= distance=
v_p6257= v_right_ascension= ra=
v_p6258= v_declination_astro= dec=
v_p6259= v_epoch_astro= epoch=
v_p1458= v_color_index= b-v=
v_p1215= v_apparent_magnitude= mag_v=
v_p2052= v_speed= velocitat=
v_p3027= v_meteor_period= periode_meteors=
v_p1090= v_redshift=
v_p2922=
military_infobox= v_p361_on_tree=
<!-- Noms en ús que han de desaparèixer després bot de neteja
-->
|cat=Infotaules usades amb paràmetres desconeguts
|format=0|preview=1|errNS=0
}}
{{#if:{{{v_operacio|{{{operacio|{{{operació|}}}}}}}}}<!-- detectar manuals per conflicte militar. Reubicar en P361 o P276 -->
{{{v_casus|{{{casus|}}}}}}
{{{v_front|{{{front|}}}}}}
{{{v_campanya|{{{campanya|}}}}}}
{{{v_escenari|{{{escenari|}}}}}}
|
}}
}}
6hl1wistu0o5mnjqxlfnmid4qtlkcbi
فرما:Infobox event/proves
10
32573
150917
2026-08-31T18:49:12Z
آیات محراج
11062
Content copied from catalan wiki
150917
wikitext
text/x-wiki
<noinclude>{{Avís|Aquesta és una versió en proves.<br> integrant Infotaula conflicte militar.<br>
Versió de partida: [[Special:permalink/34360063]], de les 16:56, 15 des 2024<br>}}
{{Uses TemplateStyles|template:Infobox event/styles.css}}
<!--
{{left|{{infotaula esdeveniment/proves| item=Q38789|military_infobox=|v_name=sense canvi}}}}
{{left|{{infotaula esdeveniment/proves| item=Q38789|military_infobox=YES|v_name=militar manual}}}}
{{left|{{infotaula esdeveniment/proves| item=Q38789|military_infobox=NONE|v_name=normal manual}}}}
{{clr}}
{{left|{{infotaula esdeveniment/proves| item=Q16163640|military_infobox=|v_name=sense canvi}}}}
{{left|{{infotaula esdeveniment/proves| item=Q16163640|military_infobox=YES|v_name=militar manual}}}}
{{left|{{infotaula esdeveniment/proves| item=Q16163640|military_infobox=NONE|v_name=normal manual}}}}
-->
</noinclude>
{{Infobox event/formatglobal/proves
| item = {{{item|}}}
| lang = {{{lang|}}}
|v_cllps_judiciary = {{{v_cllps_judiciary|}}}
|v_cllps_award = {{{v_cllps_award|}}}
|v_cllps_participant = {{{v_cllps_participant|}}}
|v_cllps_signatory = {{{v_cllps_signatory|}}}
|v_cllps_ratified = {{{v_cllps_ratified|}}}
|v_cllps_haspart = {{{v_cllps_haspart|}}}
|v_icon = {{#ifeq:{{{v_icon}}}|NONE|<!-- skip without icon
-->|{{if empty|{{{v_icon|}}}
|<!-- This block determines whether it should be edited as a "military conflict"
either by its P279 or manually forced with "military_infobox="YES or NONE -->
{{#if:{{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, No Military select
-->|{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|X}} }}<!-- Military by P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|X}}<!-- Military by manual parameter -->
|{{MyValue|1=IBevent|2=is_conflict}}<!-- military icon -->
|{{MyValue|1=IBevent|2={{InParent|IBevent|p=P279|item={{{item|}}}}} }}<!-- specialized icon by subclass-->
}}
|{{MyValue|IBevent|img_event}}<!-- default icon -->
}} }}
|v_name = {{if empty|{{{v_name|}}} | {{{v_event|}}} | {{PAGENAMEBASE}} }}
|v_p154 = {{#ifeq:{{{v_p154|{{{v_logo|}}}}}}|NONE|<!-- skip logo
-->|{{#if:{{{v_p154|{{{v_logo|}}}}}}
|{{#invoke:InfoboxImage|InfoboxImage |image={{{v_p154|{{{v_logo|}}}}}} |sizedefault=150x150px }}
|{{#invoke:Wikidades | claim | property= P154 OR P2425 or P94| list=false
|showsomevalue=no |shownovalue=no
|formatting=[[File:$1|150x150px]] }}
}} }}
<!-- Multi-images with switcher2 -->
| v_p18 ={{#if:{{#invoke:Wikidades|claim |property=P18 or P6802 or P8592 or P1801 or P2716 or P3451 | value={{{v_p18|{{{v_image|}}}}}} }}
|{{Switcher2 |width=300x300 |center=y
|caption5={{GetLabelFix|P18|lang={{{lang|}}} }}
|caption4={{GetLabelFix|P8592|lang={{{lang|}}} }}
|caption3={{GetLabelFix|P1801|lang={{{lang|}}} }}
|caption2={{GetLabelFix|P2716|lang={{{lang|}}} }}
|caption1={{GetLabelFix|P3451|lang={{{lang|}}} }}
|image5={{if empty|{{#invoke:wikidades |claim|property=P18 or P6802|formatting=table <!-- search image in WP lang -->
|qualifier=P2096 or P585
|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|rowformat=$0 |value={{{v_p18|{{{v_image|{{{imatge|}}}}}}}}}
|shownovalue=no |showsomevalue=no |editicon=no }}
|{{#invoke:Wikidades|claim |property=P18 or P6802|qualifier=P2096 or P585
|list=false |editicon=no | formatting=table |rowformat =$0
|shownovalue=no |showsomevalue=no |value={{{v_p18|}}} }}
}}
|image4={{if empty|{{#invoke:wikidades |claim|property=P8592|formatting=table <!-- search image in WP lang -->
|qualifier=P2096 or P585
|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|rowformat=$0 |value={{{v_p8592|}}}
|shownovalue=no |showsomevalue=no |editicon=no }}
|{{#invoke:Wikidades|claim |property=P8592 |qualifier=P2096 or P585
|list=false |editicon=no | formatting=table |rowformat =$0
|shownovalue=no |showsomevalue=no |value={{{v_p8592|}}} }}
}}
|image3={{if empty|{{#invoke:wikidades |claim|property=P1801|formatting=table <!-- search image in WP lang -->
|qualifier=P2096 or P585
|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|rowformat=$0 |value={{{v_p1801|}}}
|shownovalue=no |showsomevalue=no |editicon=no }}
|{{#invoke:Wikidades|claim |property=P1801 |qualifier=P2096 or P585
|list=false |editicon=no | formatting=table |rowformat =$0
|shownovalue=no |showsomevalue=no |value={{{v_p1801|}}} }}
}}
|image2={{if empty|{{#invoke:wikidades |claim|property=P2716|formatting=table <!-- search image in WP lang -->
|qualifier=P2096 or P585
|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|rowformat=$0 |value={{{v_p2716|}}}
|shownovalue=no |showsomevalue=no |editicon=no }}
|{{#invoke:Wikidades|claim |property=P2716 |qualifier=P2096 or P585
|list=false |editicon=no | formatting=table |rowformat =$0
|shownovalue=no |showsomevalue=no |value={{{v_p2716|}}} }}
}}
|image1={{if empty|{{#invoke:wikidades |claim|property=P3451|formatting=table <!-- search image in WP lang -->
|qualifier=P2096 or P585
|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|rowformat=$0 |value={{{v_p3451|}}}
|shownovalue=no |showsomevalue=no |editicon=no }}
|{{#invoke:Wikidades|claim |property=P3451 |qualifier=P2096 or P585
|list=false |editicon=no | formatting=table |rowformat =$0
|shownovalue=no |showsomevalue=no |value={{{v_p3451|}}} }}
}}
|caption_text5={{#if:{{{v_p18|{{{imatge|}}}}}} | {{{v_p18_caption|{{{peu|}}}}}}
|{{str split|{{#invoke:Wikidades|claim |property=P18 or P6802 |qualifier=P2096 |item={{{item|}}}
|qualifier2=P585 |rowsubformat2=($2$3) |colformat2=Y
|qualifier3=P276 |rowsubformat3=, $3
|list=false | formatting=table |rowformat =$0↔$1 $2 }}|↔|2}}
}}
|caption_text4={{str split|{{#invoke:Wikidades|claim |property=P8592 |qualifier=P2096 |item={{{item|}}}
|qualifier2=P585 |rowsubformat2=($2$3) |colformat2=Y
|qualifier3=P276 |rowsubformat3=, $3
|list=false | formatting=table |rowformat =$0↔$1 $2| }}|↔|2}}
|caption_text3={{str split|{{#invoke:Wikidades|claim |property=P1801 |qualifier=P2096 |item={{{item|}}}
|qualifier2=P585 |rowsubformat2=($2$3) |colformat2=Y
|qualifier3=P276 |rowsubformat3=, $3
|list=false | formatting=table |rowformat =$0↔$1 $2| }}|↔|2}}
|caption_text2={{str split|{{#invoke:Wikidades|claim |property=P2716 |qualifier=P2096 |item={{{item|}}}
|qualifier2=P585 |rowsubformat2=($2$3) |colformat2=Y
|qualifier3=P276 |rowsubformat3=, $3
|list=false | formatting=table |rowformat =$0↔$1 $2| }}|↔|2}}
|caption_text1={{str split|{{#invoke:Wikidades|claim |property=P3451 |qualifier=P2096 |item={{{item|}}}
|qualifier2=P585 |rowsubformat2=($2$3) |colformat2=Y
|qualifier3=P276 |rowsubformat3=, $3
|list=false | formatting=table |rowformat =$0↔$1 $2| }}|↔|2}} <!-- end switcher2 -->
|{{#ifeq:{{lc:{{{child|}}}}} |yes|<!-- Do not categorize, it's an embedded infobox -->
|{{#if:{{MyValue|IBevent|no_image_categ}} <!-- do categorize when no image ? -->
|{{main other|[[category:{{MyValue|IBevent|no_image_categ}}]]|}} }}
}}<!-- end no categ by child -->
}}<!-- end no images found -->
}}<!-- end no images wanted -->
| v_coord_out_map =<!-- When item is military conflict, then coordinates must be shown as a line in infobox -->
{{#if:{{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, No Military select
-->|{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|X}} }}<!-- Military by P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|X}}<!-- Military by manual parameter -->
|{{#invoke:Wikidades |claim |property=P625
|formatting=<small>{{((}}coord{{!}}$lat{{!}}$lon{{!}}display{{=}}{{{display|{{{v_coord_display|title,inline}}}}}}{{))}}</small>
|list=false |item={{{item|}}}
}}
}}
| block_map = {{Two maps block |item = {{{item|}}} |lang={{{lang|}}}
|v_image_map = <!-- When item is military conflict, then property for map are P1621 or P242 -->
{{#if:{{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, No Military select
-->|{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|X}} }}<!-- Military by P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|X}}<!-- Military by manual parameter -->
|<!-- prepare v_image_map with 2 properties when military -->
{{if empty|{{#invoke:wikidades |claim|property=P1621 or P242|formatting=table <!-- search map img in WP lang
-->|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|qualifier =P2096 |rowsubformat1=↔$1
|rowformat=$0$1
|editicon=no |value={{{v_image_map|}}}}}
|{{#invoke:wikidades |claim|property=P1621 or P242 |formatting=table |list=false
|qualifier =P2096 |rowsubformat1=↔$1
|rowformat=$0$1
|editicon=no|value={{{v_image_map|}}}}}
}}
|<!-- prepare v_image_map with 1 properties when NO military -->
{{if empty|{{#invoke:wikidades |claim|property=P1621|formatting=table <!-- search map img in WP lang -->|qualifier2=P407 |whitelist2={{MyValue|PriorityImages|Accepted_lang}}
|qualifier =P2096 |rowsubformat1=↔$1
|rowformat=$0$1
|editicon=no |value={{{v_image_map|}}}}}
|{{#invoke:wikidades |claim|property=P1621 |formatting=table |list=false
|qualifier =P2096 |rowsubformat1=↔$1
|rowformat=$0$1
|editicon=no|value={{{v_image_map|}}}}}
}}
}}
|v_caption_map={{{peu_mapa|{{{v_caption_map|}}}}}}
|v_draw_map={{{draw_mapa|{{{v_draw_map|}}}}}}
|v_coord_display={{{v_coord_display|{{{coord_display|inline,title}}} }}}
|v_basic_maps=<!-- When item is military conflict, then v_basic_maps is forced to NONE -->
{{#if:{{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, No Military select
-->|{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|X}} }}<!-- Military by P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|X}}<!-- Military by manual parameter -->
|NONE<!-- no automatic map when military -->
|{{{v_basic_maps|}}}<!-- original value -->
}}
|v_size_map={{{v_size_map|{{{mapa_mida|}}} }}}
|v_p625_lat_lon={{#ifeq:{{{v_p625_lat_dec|{{{v_p625_lon_dec|{{{lat_dec|{{{lon_dec|}}}}}} }}}}}}|NONE|<!--
-->|{{if both|{{{v_p625_lat_dec|{{{lat_dec|}}}}}}
|{{{v_p625_lon_dec|{{{lon_dec|}}}}}}
|<!-- manual coord. do not get lat-lon (decimal)
-->|{{GetLatLon|P625|P276|P159|item={{{item|}}}}} }}
}}
|v_p625_lat_dec={{#ifeq:{{{v_p625_lon_dec|{{{lon_dec|}}}}}}|NONE|<!--
-->|{{#if:{{{v_p625_lon_dec|{{{lon_dec|}}}}}}|{{{v_p625_lat_dec|{{{lat_dec|}}}}}} }}}}
|v_p625_lon_dec={{#ifeq:{{{v_p625_lat_dec|{{{lat_dec|}}}}}}|NONE|<!--
-->|{{#if:{{{v_p625_lat_dec|{{{lat_dec|}}}}}}|{{{v_p625_lon_dec|{{{lon_dec|}}}}}} }}}}
|v_p242={{{v_p242|{{{mapa_localitzador|}}}}}}
|v_zoom_map={{{v_zoom_map|{{{zoom|auto}}}}}}
|v_nocateg_coord= {{{v_nocateg_coord|{{{nocateg_coord|}}}}}}
|v_draw_layer= {{#ifeq:{{{v_draw_layer|{{{draw_layer|}}}}}}|NONE|<!-- res
-->|{{#if:{{{v_draw_layer|{{{draw_layer|}}}}}}|{{{v_draw_layer|{{{draw_layer|}}}}}}
|{{#invoke:Wikidades | claim |formatting=table
|property=P3896 |qualifier=P518
|blacklist1=Q94979808 {{{v_blacklist_layer|}}}
<!-- manually avoid an undesired data.map. Q94979808-colorful polygon is the default -->
|rowformat = $0
|separator=###|item={{{item|}}}|editicon=no}}
}} }}
}}
<!--
_____________________ Tractament que hi havia a {{infotaula premi}}. Pendent integrar en "article del premi", no de les edicions ________________
| image2 = {{if empty | {{#invoke:InfoboxImage |InfoboxImage |image={{#invoke:Wikidades|claim |property=P18 |value={{{imatge|{{{image|}}}}}} |list=false | item={{{item|}}} }} |size=300x300px|alt={{{alt|}}} }}
| {{#invoke:InfoboxImage |InfoboxImage |image={{#invoke:Wikidades |claim |property=P2425 |value={{{imatge|{{{image|}}}}}} |list=false | item={{{item|}}} }} |size=300x300px|alt={{{alt|}}} }} }}
|caption2 = {{#if:{{{imatge|{{{image|}}}}}}
| {{{descripció|{{{caption|{{{peu|}}}}}}}}}
| {{#invoke:Wikidades | claim | property=P18 |qualifier=P2096 | list=false }}
| {{#invoke:Wikidades | claim | property=P2425 |qualifier=P2096 | list=false }} }}
________________________________________________________________________________________
-->
<!-- EVENT NAME -->
|v_p1705_txt = {{#invoke:Wikidades | claim | property= P1559 OR P1705 | list=firstrank | formatting=text <!-- to determine if it fits when article name. -->| value={{{v_p1705|{{{v_original_name|}}}}}} }}
<!-- the format for v_p1705 includes "lang" -->
|v_p1705 = {{#invoke:Wikidades | claim | property= P1559 OR P1705 | list=firstrank
|formatting=($language) $text|separator=<br/> |value={{{v_p1705|{{{v_original_name|}}}}}}
}}
|v_original_lang = {{{v_original_lang|}}}<!-- lang in separate parameter, when manual. When from WD, it is within the span-->
|v_p1813 = {{#invoke:Wikidades |claim |property=P1813 |list=firstrank |value={{{v_p1813|{{{v_short_name|}}} }}} }}
|v_p1813_txt = {{#invoke:Wikidades |claim |property=P1813 |list=firstrank |editicon=no |formatting=text <!-- to determine if it fits when article name. -->|value={{{v_p1813|{{{v_short_name|}}}}}}
}}
|v_p1449 = {{#invoke:Wikidades | claim | property=P1449 | value= {{{v_p1449|{{{v_nickname|}}}}}}
}}
|v_p85 = {{#invoke:Wikidades | claim | property=P85
| value={{{v_p85|{{{anthem|}}}}}} | list=false
| formatting=table | qualifier = P580
| qualifier2 = P582 | rowformat = ''$0'' $1
| rowsubformat1= ($1$2) | rowsubformat2= -$2 }}
|v_p85_aud = {{#invoke:Wikidades | claim | property=p85
| list=false |qualifier = P51}}
<!-- ------------------------ codi anul·lat pel posterior. Conservat fins confirmar estabilitat -------------------- -->
|v_p31old = {{#ifeq:{{{v_p31|{{{v_type|}}}}}}|NONE|<!-- skip
-->|{{#if:{{{v_p31|{{{v_type|}}}}}}
|{{{v_p31|{{{v_type|}}}}}}
|{{#ifeq:{{#invoke:Wikidades | claim | property=P31 | list=false | formatting=raw }}
|{{MyValue|IBevent|WM_list}}
|<!-- skip when list. -->
<!--no list,P31 -->|{{#invoke:Wikidades | claim | property=P31 | list=firstrank | formatting=table
| blacklist0= {{MyValue|IBevent|hurricane_et_al}}<!-- skip when hurricane, et al. -->
| qualifier=P642 | rowsubformat1= de $1 | rowformat=$0 $1 }}
}}<!--
NO P31, use P279 -->|{{#invoke:Wikidades |claim |property=P279 | formatting=ucfirst}}
}}
}}
<!-- --------------------------- nou codi per v_p31 ------------------------- -->
|v_p31 = {{#ifeq:{{{v_p31|{{{v_type|}}}}}}|NONE|<!-- skip
-->|{{if empty |{{{v_p31|{{{v_type|}}}}}}
|{{#ifeq:{{#invoke:Wikidades | claim | property=P31 | list=false | formatting=raw }}
|{{MyValue|IBevent|WM_list}}
|<!-- skip when list. -->
<!-- no list, use P31 -->|{{#invoke:Wikidades | claim | property=P31 | list=firstrank | formatting=table
<!-- when NO hurricane --> | blacklist0= {{MyValue|IBevent|hurricane_et_al}}<!-- skip when hurricane, et al. -->
| qualifier=P642 | rowsubformat1= de $1 | rowformat=$0 $1 }}
}}
<!-- no P31, use P279 -->|{{#invoke:Wikidades |claim |property=P279 |formatting=ucfirst |list=firstrank}}
}}<!-- end ifempty -->
}}<!-- end if P31none -->
|v_hurricane_level = <tr>{{#invoke:Wikidades | claim | property=P31 | qualifier=P31 | qualifier2=P459 | qualifier3=P518
| list=firstrank| formatting=table |separator=</tr><tr>
| whitelist0= {{MyValue|IBevent|hurricane_et_al}}
| rowformat= <td colspan="2"; style="background-color:#{{((}}InGroup{{!}}IBevent_Storm_color{{!}}item{{=}}$0{{))}}; text-align:center">$1</td>
| rowsubformat1={{((}}ucfirst:$1{{))}}$3 ($2) |colformat1=label
| colformat0=raw
| colformat2=label |colformat3=label
| case2=infoboxdata
| rowsubformat3=, ''{{small|$3}}''}}</tr>
|v_p6208 = {{#invoke:Wikidades |claim |property=P6208 |list=lang |value={{{v_p6208|{{{v_award_rationale|}}}}}} }}
|v_p138 = {{#invoke:Wikidades |claim |property=P138 |value={{{v_p138|{{{v_named_after|}}}}}} }}
<!-- TIME -->
|v_validity = {{#ifeq:{{{v_p571|{{{v_inception|{{{v_p576|{{{v_dissolved|}}}}}}}}}}}}|NONE|<!-- skip
-->|{{#if:{{{v_p571|{{{v_inception|}}}}}} {{{v_p576|{{{v_dissolved|}}}}}}
| {{{v_p571|{{{v_inception|}}}}}} – {{{v_p576|{{{v_dissolved|}}}}}}
| {{#if:{{#property:P571|from={{{item|}}}}}
|{{FormatDate start end|start=P571 |end=P576 |item={{{item|}}}
|format={{MyValue|IBevent|str_end_date_format}} }}
}}
}} }}
<!-- When P837 has P3027 or P3028, it shows "only" qualifiers as "observation period" (astronomic, but not only). -->
|v_p837_per= {{#if:{{#invoke:Wikidades |claim |property=P837 |formatting=table |list=false |editicon=no
|qualifier=P3027 |qualifier2=P3028 |rowformat=$1$2}}
|{{#invoke:Wikidades |claim |property=P837 |formatting=table |list=false
|qualifier=P3027 |qualifier2=P3028
|rowsubformat2= - $2 |rowformat=$1$2
|value={{{v_p3027|{{{v_meteor_period|}}}}}} }}
}}
<!-- The value of P837 is managed beside period qualifiers (P3027,P3028) -->
|v_p837 = {{#invoke:Wikidades |claim |property=P837 |formatting=table |list=firstrank
|qualifier=P518 |rowsubformat1= ($1) |rowformat=$0$1
|value={{{v_p837|{{{v_peak_day|}}}}}} }}
<!-- Use qualifier P2868 of P837 as a label; it's used for "peak date" in astronomic event, (but not only) -->
|l_p837 = {{#invoke:Wikidades |claim |property=P837 |formatting=table |list=false |editicon=no
|qualifier=P2868 |rowformat=$1 |colformat1=label |case1=ucfirst}}
|v_p2894 = {{#invoke:Wikidades |claim |property=P2894 |list=firstrank
|value={{{v_p2894|{{{v_day|}}}}}} }}
<!--
v_p580_raw, v_p582_raw, v_p585_raw contains the corresponent value, non edited and without pencil icon.
It allows template:Infobox_event/formatglobal avoid repetitions of information among these three properties when
WD information is erroneous or over informed (same value for start-end data / start data and data (P585), etc..)
-->
|v_p580_raw = {{#if:{{{v_p580|{{{v_start_time|}}}}}}{{{v_p582|{{{v_end_time|}}}}}}|
|{{#invoke:Wikidades | claim | property=P580||editicon=no}} }}
|v_p582_raw = {{#if:{{{v_p580|{{{v_start_time|}}}}}}{{{v_p582|{{{v_end_time|}}}}}}|
|{{#invoke:Wikidades | claim | property=P582||editicon=no}} }}
|v_p585_raw = {{#if:{{{v_p580|{{{v_start_time|}}}}}}{{{v_p582|{{{v_end_time|}}}}}}|
|{{#invoke:Wikidades | claim | property=P585||editicon=no}} }}
<!-- v_p585 & v_p580 contains result of manual parameters or those fetch from P585 & the joinning of P580 - P582
-->
|v_p585 = {{#ifeq:{{{v_p585|{{{v_date|}}}}}}|NONE|
|{{#if:{{{v_p585|{{{v_date|}}}}}} | {{{v_p585|{{{v_date|}}}}}}
|{{#if:{{{v_date_signature|}}} {{{v_p6193|{{{v_ratified_by|}}}}}} {{{v_p7588|{{{v_effective_date|}}}}}}|
|{{#invoke:Wikidades | claim | property=P585|qualifier=P4241|qualifier2=P421
|rowsubformat1=($1$2) |rowsubformat2=.<small> $2</small>
|formatting=table |tablesort=0 |sorting=-1 |rowformat=$0 $1}}
}} }} }}
|v_p580 = {{#if:
{{#ifeq:{{{v_p580|{{{v_start_time|}}}}}}|NONE|1|}}
{{#ifeq:{{{v_p582|{{{v_end_time|}}}}}}|NONE|1|}}|<!-- skip use of P580-P582 when any of them is NONE
-->|{{#if:{{{v_p580|{{{v_start_time|}}}}}}
| {{#if:{{{v_p582|{{{v_end_time|}}}}}}
| {{{v_p580|{{{v_start_time|}}}}}} - {{{v_p582|{{{v_end_time|}}}}}}
| {{{v_p580|{{{v_start_time|}}}}}}
}}
| {{#if:{{{v_p582|{{{v_end_time|}}}}}}
| - {{{v_p582|{{{v_end_time|}}}}}}
|{{#if:{{#property:P580|from={{{item|}}}}}
|{{FormatDate start end|start=P580 |end=P582|item={{{item|}}}
|format={{MyValue|IBevent|str_end_date_format}} }}
}} }} }} }}
|v_point_time = {{{v_point_time|}}} {{#if:{{{v_start_time|}}}|{{{v_start_time|}}} – {{{v_end_time|}}}}}
|v_open_time = {{#invoke:Wikidades | claim |formatting=table |separator=<hr>
|property=P3025 |qualifier=P3027 |qualifier2=P3028 |rowsubformat1=($1–$2)<br/>
|qualifier3=P3026 |rowsubformat3=<br/> {{GetLabelFix|P3026|lang={{{lang|}}}}}: $3
|qualifier4=P8626 |qualifier5=P8627 |rowsubformat4=($4–$5)
|qualifier6=P1264 |rowsubformat6=, {{lcfirst:{{GetLabelFix|Q7993606|lang={{{lang|}}}}}}} $6<br/>
|qualifier7=P828 |rowsubformat7=, {{lcfirst:{{GetLabelFix|P828|lang={{{lang|}}}}}}} $7
|rowformat= $1$0 $4$6$3$7
|value={{{v_open_time|}}}
}}
<!--
EXCLUSIVES Dates for treaties, laws or agreements.
Their use in WD is not clear.
It must be tunned
_____________________________________________________ -->
|v_p467 = {{#invoke:Wikidades | claim | property=P467 | list=false | value={{{v_p467|{{{v_legislated_by|}}}}}} }}
|v_p7589 = {{#invoke:Wikidades | claim | property=P7589 | value={{{v_p7589|{{{v_date_assent|}}}}}} }}
|v_date_signature = {{#if:{{{v_p1891|{{{v_signatory|}}}}}} | {{{v_date_signature|}}}<!--when manual signatory, use manual date-->
|{{#if:{{#invoke:Wikidades | claim | property=P1891 |qualifier=P585}}|<!-- skip, because signature date as qualif of signatory will shown with them -->|{{{v_date_signature|}}} }} }}
|v_p6193 = {{#invoke:Wikidades | claim | property=P6193 |qualifier=P585
| formatting = table |rowformat=$0 $1 |rowsubformat1=($1)
| value={{{v_p6193|{{{v_ratified_by|}}}}}}
}}
|v_p7588 = {{#invoke:Wikidades | claim | property=P7588 | value={{{v_p7588|{{{v_effective_date|}}}}}} }}
<!-- END BLOCK exceptional dates
-->
|v_p577 = {{#invoke:Wikidades | claim | property=P577 | value={{{v_p577|{{{v_publication|}}}}}} }}
|v_p2047 = {{#invoke:Wikidades | claim | property=P2047 | formatting=unitcode | value={{{v_p2047|{{{v_duration|}}}}}} }}
|v_p2257 = {{#invoke:Wikidades | claim | property=P2257 |formatting= table |tablesort=1
|qualifier=P580 |qualifier2=P582
|colformat0=unit |colformat1=Y |colformat2=Y
|qualifier3=P2257|colformat3=unit
|rowsubformat3={{((}}MyValue{{!}}CommonUses{{!}}$3{{!}}default=$3{{))}}
|rowsubformat1=($1–$2)
|rowformat=$3 $1
|value={{{v_p2257|{{{v_event_interval|}}}}}} }}
|v_p2348 = {{#invoke:Wikidades | claim | property=P2348 | value={{{v_p2348|{{{v_time_period|}}}}}} }}
|v_p144 = {{#invoke:Wikidades | claim | property=P144 |qualifier=P50
| formatting=table | list=firstrank
| rowformat=$0 $1 |rowsubformat1=($1)
| value={{{v_p144|{{{v_based_on|}}}}}}
}}
|v_p393 = {{if empty
|{{#invoke:Wikidades | claim | property=P393 | value={{{v_p393|{{{v_edition|}}}}}} }}<!--
-->|{{#invoke:Wikidades | claim | property=P179 |qualifier=P1545 |list=false}}<!--
-->}}{{if then show|{{#invoke:Wikidades | claim | property=P4566 }}|<!-- skip -->| (|)}}
|v_p112 = {{#invoke:Wikidades | claim | property=P112 |list=firstrank | value={{{v_p112|{{{v_founded|}}}}}} }}
|v_antecedent = {{{v_antecedent|}}}
|v_casus = {{{v_casus|}}}<!-- casus, afegit per conflicte militar -->
|v_front = {{{v_front|}}}<!-- front, afegit per conflicte militar -->
|v_campanya = {{{v_campanya|}}}<!-- campanya, afegit per conflicte militar -->
|v_escenari = {{{v_escenari|}}}<!-- escenari, afegit per conflicte militar -->
|block_serie = {{if empty
<!--1. manual parameter -->
|{{#if:{{{v_previous|{{{anterior|{{{v_p155|}}} }}} }}}
|{{#ifeq:{{{v_previous|{{{anterior|{{{v_p155|}}} }}} }}}|NONE|<!-- skip
-->|{{align|left|←{{{v_previous|{{{anterior|{{{v_p155|}}} }}} }}} }} }} }}<!--
-->{{#if:{{{v_p156|{{{v_next|{{{posterior|}}} }}} }}}
|{{#ifeq:{{{v_p156|{{{v_next|{{{posterior|}}} }}} }}}|NONE|<!-- skip
-->|{{align|right|{{{v_p156|{{{v_next|{{{posterior|}}} }}} }}} →}} }} }}
<!--2. Property P155 or P1365. The most frequent structure -->
|{{#if:{{#invoke:Wikidades |claim |property= P155 OR P1365
|value={{{v_previous|{{{anterior|{{{v_p155|}}} }}} }}} }}<!-- previous event ? -->
|{{align|left|← <!-- left align & left arrow
-->{{#if:{{#invoke:Wikidades | claim | formatting=table
|property=P155 OR P1365
|qualifier=P580 |qualifier2=P582 |qualifier3=P585
|rowformat=$1$2$3}}<!-- previous with dates? -->
|<!-- apply previous name+dates format -->
{{#invoke:Wikidades | claim | formatting=table
|property=P155 OR P1365
|qualifier=P580 |qualifier2=P582 |qualifier3=P585
|colformat1=Y |colformat2=Y |colformat3=Y
|rowsubformat1=($1–$2) |rowsubformat3=($3)
|rowformat=$0 $3 $1}}
|<!-- No qualif.dates: try if condensed format is possible. Two conditions:
1. to have a year NNNN within name
2. the rest of text name in previous must be = to article name -->
{{if both
|{{#invoke:string|match
|{{#invoke:Wikidades| claim| property=P155 or P1365| formatting= label|editicon=no}}
|%d%d%d%d|nomatch=}}<!-- has a year -->
|{{#ifeq:{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main|{{if empty|{{{v_name|}}}
|{{{v_event|}}}
|{{PAGENAMEBASE}}}}
}} }}
|%d%d%d%d|||}}<!--
-->|{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main
|{{#invoke:Wikidades| claim| property=P155 or P1365
| formatting= label|editicon=no}}
}} }}
|%d%d%d%d|||}}
|XX}}<!--
texts without year from name and previous, match -->
|<!-- apply condensed format
-->{{#invoke:Wikidades | claim | property= P155 or P1365 |list=false
|formatting= [[$1|{{((}}#invoke:string{{!}}match{{!}}$1{{!}}%d%d%d%d{{))}}]]}}
|<!-- apply direct name format to previous event
-->{{#invoke:Wikidades | claim | property= P155 or P1365 |list=true|separator=</br>{{align|left|←}}   }}
}}
}}<!-- end IF P155/P1365 with dates-->
}}<!-- end align -->
}}<!-- end IF exists P155/P1365 -->
<!-- Property. Second part to handle next event
-->{{#if:{{#invoke:Wikidades | claim | property= P156 OR P1366 |value={{{v_p156|{{{v_next|{{{posterior|}}} }}} }}} }}<!-- next event ? -->
|{{align|right|<!-- right align (no arrow yet)
-->{{#if:{{#invoke:Wikidades | claim | formatting=table
|property=P156 OR P1366
|qualifier=P580 |qualifier2=P582 |qualifier3=P585
|rowformat=$1$2$3}}<!-- next with dates? -->
|<!-- apply previous name+dates format -->
{{#invoke:Wikidades | claim | formatting=table
|property=P156 OR P1366
|qualifier=P580 |qualifier2=P582 |qualifier3=P585
|colformat1=Y |colformat2=Y |colformat3=Y
|rowsubformat1=($1–$2) |rowsubformat3=($3)
|rowformat=$0 $3 $1}}
|<!-- No qualif.dates: try if condensed format is possible. Two conditions:
1. to have a year NNNN within name
2. the rest of text name in next must be = to article name -->
{{if both
|{{#invoke:string|match
|{{#invoke:Wikidades| claim| property=P156 or P1366| formatting= label|editicon=no}}
|%d%d%d%d|nomatch=}}<!-- has a year -->
|{{#ifeq:{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main|{{if empty|{{{v_name|}}}
|{{{v_event|}}}
|{{PAGENAMEBASE}}}}
}} }}
|%d%d%d%d|||}}<!--
-->|{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main
|{{#invoke:Wikidades| claim| property=P156 or P1366
| formatting= label|editicon=no}}
}} }}
|%d%d%d%d|||}}
|XX}}<!--
texts without year from name and previous, match -->
|<!-- apply condensed format
-->{{#invoke:Wikidades | claim | property= P156 or P1366 |list=false
|formatting= [[$1|{{((}}#invoke:string{{!}}match{{!}}$1{{!}}%d%d%d%d{{))}}]]}}
|<!-- apply direct name format to previous event
-->{{#invoke:Wikidades | claim | property= P156 or P1366 |list=true|separator= {{align|right|→}}</br>}}
}}
}}<!-- end IF P155/P1365 with dates
--> →}}<!-- end align -->
}}<!-- end IF exists P155/P1365 -->
<!--3. Property P179 or P361 (serie) with qualifier P155 or P1365. -->
|{{#switch:{{#invoke:Wikidades |numStatements |property=P179 or P361 |qualifier=P155 or P1365
|formatting=table|list=firstrank |rowformat=$1}}<!-- different solution for one value or +1 -->
|0=<!-- no P179 or P361, skip -->
|1={{#if:{{#invoke:Wikidades |claim |property=P179 or P361 |qualifier=P155 or P1365 |formatting=table
|list=firstrank |rowformat=$1|value={{{v_previous|{{{anterior|{{{v_p155|}}} }}} }}} }}<!-- qualif.P155 or P1365 found.-->
|<!-- Only one P3450 or P5138+P155/P1365 : try if condensed format is possible. Two conditions:
1. to have a year NNNN within name
2. the rest of text name in previous must be = to article name -->
{{if both
|{{#invoke:string|match
|{{#invoke:Wikidades| claim| property=P179 or P361 |qualifier=P155 or P1365
|formatting=table |editicon=no
|rowformat=$1 |colformat1=label}}
|%d%d%d%d|nomatch=}}<!-- has a year -->
|{{#ifeq:{{#invoke:string |replace
|{{lc:{{#invoke:Plain text|main|{{if empty|{{{v_name|}}}
|{{{nom|}}}
|{{PAGENAMEBASE}}}}
}} }}
|%d%d%d%d|||}}<!--
-->|{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main
|{{#invoke:Wikidades| claim| property=P179 or P361
|qualifier=P155 or P1365 |formatting= table |editicon=no
|rowformat=$1 |colformat1=label}}
}} }}
|%d%d%d%d|||}}
|XX}}<!--
texts without year from name and previous, match -->
|<!-- apply condensed format
-->{{#invoke:Wikidades| claim| property=P179 or P361 |qualifier=P155 or P1365
|formatting= table |rowformat=$1
|colformat1={{align|left|← [[$1|{{((}}#invoke:string{{!}}match{{!}}$1{{!}}%d%d%d%d{{))}}]] }}}}
|<!-- apply direct name format to previous event
-->{{#invoke:Wikidades | claim | property= P179 or P361 |qualifier=P155 or P1365
| formatting= table |rowformat=$1
|rowsubformat1={{align|left|← $1}} }}
}}
}}
<!-- repeat similar process for P156/P1366 -->
{{#if:{{#invoke:Wikidades | claim | property=P179 or P361 |qualifier=P156 or P1366 |formatting=table
|list=firstrank |rowformat=$1 |value={{{v_p156|{{{v_next|{{{posterior|}}} }}} }}} }}<!-- qualif. P156 or P1366 found. -->
|<!-- Only one P179 or P361+P156/P1366 : try if condensed format is possible. Two conditions:
1. to have a year NNNN within name
2. the rest of text name in next must be = to article name -->
{{if both
|{{#invoke:string|match
|{{#invoke:Wikidades| claim| property=P179 or P361 |qualifier=P156 or P1366
|formatting=table |editicon=no
|rowformat=$1 |colformat1=label}}
|%d%d%d%d|nomatch=}}<!-- has a year -->
|{{#ifeq:{{#invoke:string |replace
|{{lc:{{#invoke:Plain text|main|{{if empty|{{{v_name|}}}
|{{{nom|}}}
|{{PAGENAMEBASE}}}}
}} }}
|%d%d%d%d|||}}<!--
-->|{{#invoke:string|replace
|{{lc:{{#invoke:Plain text|main
|{{#invoke:Wikidades| claim| property=P179 or P361
|qualifier=P156 or P1366 |formatting= table |editicon=no
|rowformat=$1 |colformat1=label}}
}} }}
|%d%d%d%d|||}}
|XX}}<!--
texts without year from name and next, match -->
|<!-- apply condensed format
-->{{#invoke:Wikidades| claim| property=P179 or P361 |qualifier=P156 or P1366
|formatting= table |rowformat=$1
|colformat1={{align|right| [[$1|{{((}}#invoke:string{{!}}match{{!}}$1{{!}}%d%d%d%d{{))}}]] →}}}}
|<!-- apply direct name format to next event
-->{{#invoke:Wikidades | claim | property= P179 or P361 |qualifier=P156 or P1366
| formatting= table |rowformat=$1
|rowsubformat1={{align|right|$1 →}} }}
}}
}}
<!-- default means +1 value for P179 or P361. Apply multivalue format -->
|#default={{#ifeq:{{{v_previous|{{{anterior|{{{v_next|{{{posterior|{{{v_p155|{{{v_p156|}}} }}} }}} }}} }}} }}}|NONE|<!-- skip
-->|<tr>{{#invoke:Wikidades | claim | property=P179 or P361 |qualifier=P155 |qualifier2=P156 |formatting=table
|list=firstrank |separator=</tr><tr> |conjunction=</tr><tr> | colformat0=ucfirst
|rowformat=<td class=infobox-label>'''$0'''</td><td style="align:start">$1$2</td>
|rowsubformat1={{align|left|← $1}} |rowsubformat2={{align|right|$2 →}} }}</tr>}}
}}
}}
<!-- LOCATION -->
|v_p2596 = {{#invoke:Wikidades | claim | property=P2596 | value={{{v_p2596|{{{v_culture|}}}}}} }}
|v_p6375 = {{if empty | {{#invoke:Wikidades |claim |property=P6375 |list=false
|value= {{{v_p6375|{{{v_address|}}}}}} }}
| {{Comma separated entries
| {{#invoke:Wikidades |claim |property=P276 |formatting=table
|list=firstrank |case0=locationcontext
|qualifier=P585 |rowsubformat1= $1:
|qualifier2=P580 |rowsubformat2=$2 -
|qualifier3=P582 |rowsubformat3=$3:
|rowformat=$1$2$3$0}}
| {{#invoke:Wikidades |claim |property=P31 |list=firstrank| formatting=table
| qualifier =/P706
| blacklist0= {{MyValue|IBevent|hurricane_et_al}}
| rowformat=$1}}
| {{#ifeq:{{#invoke:Wikidades |claim |property=P276 |formatting=raw|list=false}}
|{{#invoke:Wikidades |claim |property=P131 |formatting=raw|list=false}}|<!-- avoid repeating same
-->|{{#invoke:Wikidades | claim | property=P131 |formatting=table
|list=firstrank |case0=locationcontext |rowformat=$0}}
}}
}}<!-- end Comma separated -->
}}<!-- end if empty -->
|v_p706 = {{#if: {{#invoke:Wikidades | claim | property=P31| list=firstrank| formatting=table
| whitelist0= {{MyValue|IBevent|hurricane_et_al}}
| rowformat=$0}}
| {{#invoke:Wikidades | claim | property=P706 |value={{{v_p706|{{{v_drainage_basin|}}}}}} }}<!-- basin for tropical storms -->
}}
|v_p17 = {{if empty | {{#invoke:Wikidades | claim | property=P17 | value={{{v_p17|{{{v_country|}}}}}} }}
| {{#invoke:Wikidades | claim | property=P495 }} }}
|v_p4777 = {{#invoke:Wikidades | claim | property=P4777 |qualifier=P4777/P2043 |list=false |formatting=table
| rowformat=$0 $1 |rowsubformat1=<small>($1)</small> |colformat1=unitcode
| value={{{v_p4777|{{{v_border|}}}}}}
}}
|v_p30 = {{#invoke:Wikidades | claim | property=P30 | value={{{v_p30|{{{v_continent|}}}}}} }}
|v_p2046 = {{#invoke:Wikidades | claim | property=P2046 |formatting=unitcode | value={{{v_p2046|{{{v_area|}}}}}} }}
<!-- MISCELLANEOUS -->
|v_p1451 = {{#invoke:Wikidades | claim | property=P1451 | value={{{v_p1451|{{{v_motto|}}}}}} }}
|block_rank = {{if then show
|1={{#invoke:Wikidades | claim | property=P3730 |qualifier=P3730/P2425 |list=false |formatting=table
| rowformat=$1 $0 |rowsubformat1=[[File:$1|30px|link=]]
| showsomevalue=no |shownovalue=no
| value={{{v_p3730|{{{v_higher_rank|}}}}}} }}
|2=<!-- skip, when not exists. --><!--
big ↑ before, if ∃ -->|3=<span style="font-size:115%;">↑ </span>}}
{{if then show
|1={{#invoke:Wikidades | claim | property=P3729 |qualifier=P3729/P2425 |list=false |formatting=table
| rowformat=$1 $0 |rowsubformat1=[[File:$1|30px|link=]]
| showsomevalue=no |shownovalue=no
| value={{{v_p3729|{{{v_lower_rank|}}}}}} }}
|2=<!-- skip, when not exists. --><!--
big ↓ before, if ∃ -->|3=<span style="font-size:115%;">↓ </span>}}
<!--
«P361-part_of» contains upper level military type of conflict,
when P31/P279=is_conflict following Itemgroup/parent rules or when it's forced by manual «military_infobox=YES».
Then, P361 value allows to build a «v_type_conflict_tree»
When "no military", the value goes to «v_p361»
-->
|v_p361 = {{#if:{{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, No Military select
-->|{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|mil}} }}<!-- Military by P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|mil}}<!-- Military by manual parameter -->
|<!-- skip, military -->
|{{#invoke:Wikidades | claim | property=P361 | value={{{v_p361|{{{v_part_of|}}}}}} }}<!-- normal position for P361-->
}}
|v_type_conflict_tree={{#ifeq:{{{military_infobox|}}}|NONE|<!-- skip, military infobox rejected
-->|{{#if:{{#ifeq:{{InParent|IBevent|p=P279|item={{{item|}}} }}|is_conflict|X}} <!-- OR: is-conflict via P279 -->
{{#ifeq:{{{military_infobox|}}}|YES|X}} <!-- is forced manually -->
|{{#if:{{#invoke:Wikidades | claim | property=P361 |editicon=no}}
|{{InfoboxFrame |child=yes
|headerclass = infobox_headerstyle
|header1={{GetLabelFix|P361|lang={{{lang|}}}}}
|data3= <tr>{{#invoke:Wikidades |getParentValues |list=false |sorting=-1
|property=P361
|showlabelid={{{v_p361_on_tree|}}}
|uptolabelid= |upto=10
|separator=</tr><tr> |formatting=ucfirst
|rowformat=<td class=infobox-label>'''$0'''</td><td>$1</td>}}</tr>
}}
}} }} }}
|v_p2121 = {{#invoke:Wikidades | claim | property=P2121 |formatting=unitcode | value={{{v_p2121|{{{v_prize_money|}}}}}} }}
|v_p822 = {{#invoke:Wikidades | claim | property=P822 | value={{{v_p822|{{{v_mascot|}}}}}} }}
|v_p921 = {{#invoke:Wikidades | claim | property=P921 |qualifier=P642
| formatting=table | list=firstrank
| rowformat=$0 $1 |rowsubformat1=$1
| value={{{v_p921|{{{v_subject|}}}}}} }}
|v_p533 = {{#invoke:Wikidades | claim | property= P533 OR P3712
| value={{{v_p533|{{{v_target|}}}}}} }}<!--P533=militar/terrorist target; P3712=project/event goal -->
|v_p1478 = {{#invoke:Wikidades | claim | property= P1478 OR P828 |qualifier=P585 |qualifier2=P642
| formatting=table | list=firstrank
| rowformat=$0 $2 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2
| value={{{v_p1478|{{{v_immediate_cause|}}}}}}
}}
|v_p1542 = {{#invoke:Wikidades |claim | property= P1542 OR P1536
|qualifier=P585 |qualifier2=P642
|formatting=table | list=firstrank
|rowformat=$0 $2 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2
|value={{{v_p1542|{{{v_effect|}}}}}}
}}
|v_p2895 = {{#invoke:Wikidades |claim | property=P2895 |qualifier=P2047 |list=false |formatting=table
|rowformat=$0 $1 |colformat0=unitcode |convert0=default2
|rowsubformat1=, $1 |colformat1=unit
|value={{{v_p2895|{{{v_wind|}}}}}}
}}
|v_p2532 = {{#invoke:Wikidades |claim |property=P2532 |formatting=unitcode |convert=default|value={{{v_p2532|{{{v_pressure|}}}}}}}}
|v_action = {{{v_action|}}}
|v_conditions = {{{v_conditions|}}}
|v_results = {{{v_results|}}}
|v_p607 = {{#invoke:Wikidades | claim | property=P607 |qualifier=P585 |qualifier2=P1012
| formatting=table | list=firstrank
| rowformat=$0$2 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=, $2
| value={{{v_p607|{{{v_conflict|}}}}}}
}}
|v_p407 = {{#invoke:Wikidades | claim | property=P407 | value={{{v_p407|{{{v_llengua|}}}}}} }}
|v_p140 = {{#invoke:Wikidades | claim | property=P140 | value={{{v_p140|{{{v_religion|}}}}}} }}
|v_p2922 = {{#invoke:Wikidades | claim | property=P2922 | value={{{v_p2922|}}} }}
<!-- CONCERTS -->
|v_p136 = {{#invoke:Wikidades | claim | property=P136 | value={{{v_p136|{{{v_genre|}}}}}} }}
|v_p175 = {{#invoke:Wikidades | claim | property=P175 | value={{{v_p175|{{{v_performer|}}}}}} }}
|v_p5027 = {{#invoke:Wikidades | claim | property=P5027 |qualifier=P585 |qualifier2=P276
| formatting=table | list=firstrank
| rowformat=$0 $2 $1 |rowsubformat1 = <small>($1)</small> |rowsubformat2 =→ $2
| value={{{v_p5027|{{{v_representations|}}}}}} }}
<!-- ECONOMY-->
|v_p2769 = {{#invoke:Wikidades | claim | property=P2769 |formatting=unitcode | value={{{v_p2769|{{{v_budget|}}}}}} }}
<!-- EPIDEMIC -->
|v_p8204 = {{#invoke:Wikidades | claim | property=P8204 |list=false | formatting=table
|rowformat=[[c:$0|{{GetLabelFix|Q27948|lang={{{lang|}}}}}]]
|qualifier=P1433
| value={{{v_p8204|{{{v_tabular_case|}}}}}}
}}
|v_p1660 = {{#invoke:Wikidades | claim | property=P1660 |list=firstrank
| value={{{v_p1660|{{{v_index_case|}}}}}}
}}
|v_p8011 = {{#invoke:Wikidades | claim | property=P8011 |qualifier=P585 |qualifier2=P3005
| formatting=table | list=false |tablesort=1 |sorting=-1
| rowformat=$2 $0 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2:
| value={{{v_p8011|{{{v_medical_tests|}}}}}}
}}
|v_p1603 = {{#invoke:Wikidades | claim | property=P1603 |qualifier=P585 |qualifier2=P3005
| formatting=table | list=firstrank |tablesort=1
| rowformat=$2 $0 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2:
| value={{{v_p1603|{{{v_number_cases|}}}}}}
}}
|v_p8049 = {{#invoke:Wikidades | claim | property=P8049 |qualifier=P585
| formatting=table | list=false |tablesort=1 |sorting=-1
| rowformat= $0 $1 |rowsubformat1=<small>($1)</small>
| value={{{v_p8049|{{{v_hospitalized_cases|}}}}}}
}}
|v_p8010 = {{#invoke:Wikidades | claim | property=P8010 |qualifier=P585 |qualifier2=P3005
| formatting=table | list=false |tablesort=1 |sorting=-1
| rowformat=$2 $0 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2:
| value={{{v_p8010|{{{v_number_recoveries|}}}}}}
}}
|v_p9107 = {{#invoke:Wikidades | claim | property=P9107 |qualifier=P585
| formatting=table | list=firstrank |tablesort=1
| rowformat= $0 $1 |rowsubformat1=<small>($1)</small>
| value={{{v_p9107|{{{v_number_vaccinations|}}}}}}
}}
|v_p8045 = {{#invoke:Wikidades | claim | property=P8045 |list=firstrank
| value={{{v_p8045|{{{v_response_outbreak|}}}}}}
}}
<!-- DISASTERS -->
|v_p2320 = {{#invoke:Wikidades | claim | property=P2320 |qualifier=P585 |qualifier2=P276
| formatting=table | list=firstrank |tablesort=1
| rowformat=$2 $0 $1 |rowsubformat1=<small>($1)</small> | rowsubformat2=$2:
| value={{{v_p2320|{{{v_aftershocks|}}}}}}
}}
|v_p1120 = {{#invoke:Wikidades | claim | property=P1120 |qualifier=P518|qualifier2=P276 OR P426 OR P17
| formatting=table | list=firstrank |tablesort=2
| rowformat=$2$4 $0 $1 $3 |rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| qualifier4 = P1480/P487 or P1480| rowsubformat4 = $4
| value={{{v_p1120|{{{v_deaths|}}}}}}
}}
|v_p1339 = {{#invoke:Wikidades | claim | property=P1339 |qualifier=P518 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2$4 $0 $1 $3 |rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| qualifier4 = P1480/P487 or P1480| rowsubformat4 = $4
| value={{{v_p1339|{{{v_injured|}}}}}}
}}
|v_p8032 = {{#invoke:Wikidades | claim | property=P8032 |qualifier=P518 or P3831 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2$4 $0 $1 $3 |rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| qualifier4 = P1480/P487 or P1480| rowsubformat4 = $4
| value={{{v_p8032|{{{v_victim|}}}}}}
}}
|v_p1446 = {{#invoke:Wikidades | claim | property=P1446 |qualifier=P518 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2$4 $0 $1 $3 |rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| qualifier4 = P1480/P487 or P1480| rowsubformat4 = $4
| value={{{v_p1446|{{{v_missing|}}}}}}
}}
|v_p1561 = {{#invoke:Wikidades | claim | property=P1561 |qualifier=P518 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2 $0 $1 $3|rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| value={{{v_p1561|{{{v_survivor|}}}}}}
}}
|v_p9924 = {{#invoke:Wikidades | claim | property=P9924 |qualifier=P518 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2 $0 $1 $3|rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| value={{{v_p9924|{{{v_evacuated|}}}}}}
}}
|v_p5582 = {{#invoke:Wikidades | claim | property=P5582 |qualifier=P518 |qualifier2=P276 OR P426
| formatting=table | list=firstrank | tablesort=2
| rowformat=$2$4 $0 $1 $3 |rowsubformat1=$1 | rowsubformat2=$2:
| qualifier3 = P585 | rowsubformat3 = <small>($3)</small>
| qualifier4 = P1480/P487 or P1480| rowsubformat4 = $4
| value={{{v_p5582|{{{v_arrests|}}}}}}
}}
|v_p3081 = {{#invoke:Wikidades | claim | property=P3081 | qualifier=P1114
| formatting=table | list=firstrank
| rowformat=$1 $0 $4 $2 $3 | rowsubformat1=$1 | tablesort=2/1
| qualifier2 = P585 | rowsubformat2 = <small>($2)</small>
| qualifier3 = P1107 | rowsubformat3 = ($3)
| qualifier4 = P642
| value={{{v_p3081|{{{v_damaged|}}}}}}
}}
|v_p2630 = {{#invoke:Wikidades | claim | property=P2630 | qualifier=P518 OR P642
| formatting=table | list=firstrank | tablesort=2/1
| rowformat=$1 $0 $2 $3 | colformat0 = unitcode |convert0=M
| rowsubformat1=$1:
| qualifier2 = P585 | rowsubformat2 = <small>($2)</small>
| qualifier3 = P459 | rowsubformat3 = ($3)
| value={{{v_p2630|{{{v_damage_cost|}}}}}}
}}
|v_p3082 = {{#invoke:Wikidades | claim | property=P3082 | qualifier=P1114
| formatting=table | list=firstrank
| rowformat=$1 $0 $4 $2 $3 | rowsubformat1=$1 | tablesort=2/1
| qualifier2 = P585 | rowsubformat2 = <small>($2)</small>
| qualifier3 = P1107 | rowsubformat3 = ($3)
| qualifier4 = P642
| value={{{v_p3082|{{{v_destroyed|}}}}}}
}}
<!-- PARTIES INVOLVED + AWARDS -->
|v_p641 = {{#invoke:Wikidades | claim | property=P641 | value={{{v_p641|{{{v_sport|}}}}}} }}
|v_p1027 = {{#invoke:Wikidades | claim | property=P1027 | value={{{v_p1027|{{{v_host|}}}}}} }}
|v_p664 = {{#invoke:Wikidades | claim | property=P664 | value={{{v_p664|{{{v_organizer|}}}}}} }}
|v_p1001 = {{#invoke:Wikidades | claim | property=P1001 | value={{{v_p1001|{{{v_jurisdiction|}}}}}} }}
|v_p371 = {{#invoke:Wikidades | claim | property=P371 | qualifier=P276 |formatting=table
| rowformat=$0$1 |rowsubformat1= ($1)
| value={{{v_p371|{{{v_presenter|}}}}}}
}}
|v_p57 = {{#invoke:Wikidades | claim | property=P57 | value={{{v_p57|{{{v_director|}}}}}} }}
|v_p162 = {{#invoke:Wikidades | claim | property=P162 | value={{{v_p162|{{{v_producer|}}}}}} }}
|v_p61 = {{#invoke:Wikidades | claim | property=P61 | value={{{v_p61|{{{v_discovered|}}}}}} }}
|v_p4791 = {{#invoke:Wikidades | claim | property=P4791 | value={{{v_p4971|{{{v_comandament|}}}}}} }}
|v_p823 = {{#invoke:Wikidades | claim | property=P823 | value={{{v_p823|{{{v_speaker|}}}}}} }}
<!-- OTHER POSITIONS IN P3342 (KEY PERSON) -->
<!-- when manual data it uses std.label. When fetch from WD, labels are generated with P3831 of each value -->
|l_p3342 = {{#if:{{{v_p3342|{{{v_coordinator|}}}}}} | {{GetLabelFix|Q2630879|lang={{{lang|}}}}} }}
|v_p3342 = {{#if:{{{v_p3342|{{{v_coordinator|}}}}}}
|{{#ifeq:{{{v_p3342|{{{v_coordinator|}}}}}}|NONE|<!-- skip
-->|{{{v_p3342|{{{v_coordinator|}}}}}}
|<tr>{{#invoke:Wikidades | claim | property=P3342 | formatting= table | list=firstrank
| tablesort = 7
<!-- rol -->| qualifier = P3831 |colformat1=ucfirst
<!-- start -->| qualifier2= P580
<!-- end -->| qualifier3= P582
<!-- end cause -->| qualifier4= P1534 | rowsubformat4= , → $4
<!-- replaces -->| qualifier5= P1365 | rowsubformat5= «» $5
<!-- prlament group -->| qualifier6= P4100/P1813 OR P102/P1813 | rowsubformat6= – $6
<!-- order -->| qualifier7= P1545
|rowformat = <td class="infobox-label">''' $1 '''</td><td>$0$6 <!--
--><small>{{((}}Mostra inici fi{{!}}inici{{=}}$2{{!}}fi{{=}}$3{{!}}lang{{=}}{{{lang|}}}{{))}}</small> <!--
-->$5$4</td><!--
-->|separator=</tr><tr>|conjunction=</tr><tr>}}</tr>
}} }}
|v_p1128 = {{#invoke:Wikidades | claim | property=P1128 |qualifier=P585
| formatting = table |rowformat=$0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p1128|{{{v_employees|}}}}}}
}}
|v_p6125 = {{#invoke:Wikidades | claim | property=P6125 |qualifier=P585
| formatting = table |rowformat=$0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p6125|{{{v_volunteers|}}}}}}
}}
|v_p1875 = {{#invoke:Wikidades | claim | property=P1875 | value={{{v_p1875|{{{v_represented_by|}}}}}} }}
|v_p710 = {{#invoke:Wikidades | claim | property=P710
| formatting = table |rowformat=$0$2$3$4 $1
|qualifier=P585 |rowsubformat1=<small>($1)</small>
|qualifier2=P1268|rowsubformat2=<br> {{GetLabelFix|P1268|lang={{{lang|}}}}}: $2
|qualifier3=P1875|rowsubformat3=<br> {{GetLabelFix|P1875|lang={{{lang|}}}}}: $3
|qualifier4=P3831|rowsubformat4= ($4)
| value={{{v_p710|{{{v_participant|}}}}}}
}}
|v_p8550 = {{#invoke:Wikidades | claim | property=P8550 | value={{{v_p8550|{{{v_law_number|}}}}}} }}
|v_p9376 = {{#invoke:Wikidades | claim | property=P9376 | value={{{v_p9376|{{{v_law_digest|}}}}}} }}
|v_p3148 = {{#invoke:Wikidades | claim | property=P3148 | value={{{v_p3148|{{{v_repeals|}}}}}} }}
|v_p2568 = {{#invoke:Wikidades | claim | property=P2568 | value={{{v_p2568|{{{v_repealed_by|}}}}}} }}
|v_p50 = {{#invoke:Wikidades | claim | property=P50 | value={{{v_p50|{{{v_author|}}}}}} }}
|v_p1891 = {{#invoke:Wikidades | claim | property=P1891 | formatting = table |list=firstrank
|qualifier=P585 |rowsubformat1=<small>($1)</small>
|qualifier2=P1268|rowsubformat2=<br> {{GetLabelFix|P1268|lang={{{lang|}}}}}: $2
|qualifier3=P1875|rowsubformat3=<br> {{GetLabelFix|P1875|lang={{{lang|}}}}}: $3
|rowformat=$0$2$3 $1
| value={{{v_p1891|{{{v_signatory|}}}}}}
}}
|v_p4032 = {{#invoke:Wikidades | claim | property=P4032 | value={{{v_p4032|{{{v_reviewed_by|}}}}}} }}
|v_p9681 = {{#ifeq:{{{v_p9681|{{{v_voted_by|}}}}}}|NONE|<!-- skip -->
|{{#if:{{{v_p9681|{{{v_voted_by|}}}}}} | {{{v_p9681|{{{v_voted_by|}}}}}}
|{{#if:{{#invoke:Wikidades | claim | property=P9681
|qualifier =P585 |rowsubformat1=($1)
|qualifier2=P8683 |qualifier3=P8682 |qualifier4=P5043
|rowsubformat2=$2 |rowsubformat3=$3 |rowsubformat4=$4
|formatting = table |rowformat=$2$3$4}}<!-- when voting qualifiers, add nowrap -->
|{{#invoke:Wikidades | claim | property=P9681
|qualifier =P585 |rowsubformat1= <small>($1)</small>
|qualifier2=P8683 |qualifier3=P8682 |qualifier4=P5043 |qualifier5=P393
|rowsubformat2= $2[[File:Dark_green_check.svg|13px|{{GetLabelFix|P8683|lang={{{lang|}}}}}]]
|rowsubformat3=, $3 [[File:Cancelled cross.svg|13px|{{GetLabelFix|P8682|lang={{{lang|}}}}}]]
|rowsubformat4=, $4[[File:Neutral gray circle icon.png|16px|{{GetLabelFix|P5043|lang={{{lang|}}}}}]]
|rowsubformat5= <small>({{GetLabelFix|Q23700466|lang={{{lang|}}}}}:$5)</small>
|formatting = table |rowformat=$0$5$1<br/>$2$3$4}}
|{{#invoke:Wikidades | claim | property=P9681
|qualifier =P585 |rowsubformat1= <small>($1)</small>
|qualifier2=P5102 |rowsubformat2=, <small>($2)</small> |qualifier3=P393
|rowsubformat3= <small>({{GetLabelFix|Q23700466|lang={{{lang|}}}}}:$3)</small>
|formatting = table |rowformat=$0$3$1$2}}
}}
}} }}
|v_p2058 = {{#invoke:Wikidades | claim | property=P2058 | value={{{v_p2058|{{{v_depositor|}}}}}} }}
|v_p859 = {{#invoke:Wikidades | claim | property=P859 |list=firstrank
| formatting = table |rowformat=$0$2$3 $1
|qualifier=P585 |rowsubformat1=<small>($1)</small>
|qualifier2=P1268|rowsubformat2=<br> {{GetLabelFix|P1268|lang={{{lang|}}}}}: $2
|qualifier3=P1875|rowsubformat3=<br> {{GetLabelFix|P1875|lang={{{lang|}}}}}: $3
| value={{{v_p859|{{{v_sponsor|}}}}}} }}
|v_p2284 = {{#invoke:Wikidades | claim | property=P2284 |formatting= unitcode
| value={{{v_p2284|{{{v_price|}}}}}}
}}
|v_recording = {{{v_recording|}}}
|v_p5436 = {{#invoke:Wikidades | claim | property=P5436 |qualifier=P585
| formatting = table |rowformat=$0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p5436|{{{v_viewers|}}}}}}
}}
|v_p1110 = {{#invoke:Wikidades | claim | property=P1110 |qualifier=P585
| formatting = table |rowformat=$0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p1110|{{{v_attendance|}}}}}}
}}
|v_p1132 = {{#invoke:Wikidades | claim | property=P1132 |qualifier=P585 |qualifier2=P518
|rowsubformat2=$2: | formatting = table
|rowformat=$2 $0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p1132|{{{v_participants|}}}}}}
}}
|v_p1346 = {{if empty|{{#invoke:Wikidades | claim | property=P1346 | qualifier=P585
| formatting=table |rowformat=$0$3$2 $1 | rowsubformat1=<small>($1)</small> | tablesort=1
| qualifier2 = P1686 | rowsubformat2 = , {{GetLabelFix|P1686|lang={{{lang|}}}}} ''$2''
| qualifier3 = P1268 or P17| rowsubformat3 = ↔ $3
| value={{{v_p1346|{{{v_winner|}}}}}}
}}
|{{#ifeq:{{{v_p710|}}}|NONE<!-- when P710 is NOT manually dissabled, the «winner» shown in P710
-->|{{#invoke:Wikidades | claim | property=P710 | qualifier=P3831 <!-- to get winner in military conflict -->
| formatting=table |rowformat=$0 | whitelist1=Q18560095 <!-- because P1346 is forbidden in military -->
| value={{{v_p1346|{{{v_winner|}}}}}} }}
}}
}}
|v_p2142 = {{#invoke:Wikidades | claim | property=P2142 |qualifier=P585 }
| formatting = table |rowformat=$0 $1| colformat0 = unit |rowsubformat1=<small>($1)</small>
| value={{{v_p2142|{{{v_box_office|}}}}}}
}}
<!-- BILATERAL RELATION
____________ Used for relations between two subjects of public international law.
It contains one first block with a map + bar colors (as a map legend).
Then, a second block with two columns shows managers & representants
from both participant organisations, in charge to keep it active.
-->
|v_bilateral_relation = {{#invoke:Wikidades |claim |property=P31 |list=bestrank |formatting=table
|whitelist0={{MyValue|IBevent|bilateral_relation}} | rowformat= $0}}
|v_bilateral_map =
{{#if:{{#invoke:Wikidades |claim |property=P31 |qualifier=/P242 |formatting=table
|rowformat=$1 |whitelist0={{MyValue|IBevent|bilateral_relation}}}}<!-- bilateral_relation w map -->
|{{#invoke:Wikidades |claim |property= P242 |qualifier=P2096 |value={{{v_p242|{{{v_locator_map|}}}}}}
|formatting = table |list = false |editicon=no
|rowformat= [[File:$0|300x300px]]<br />$1}}
}}
|v_bilateral_participants =
{{#if:{{#invoke:Wikidades |claim |property=P31
|formatting=table |whitelist0={{MyValue|IBevent|bilateral_relation}}}}<!-- bilateral relation? -->
|{{#ifeq:{{{v_p242|{{{v_locator_map|}}}}}}|NONE|<!-- skip
-->|{{#if:{{#invoke:Wikidades |claim |property=P242 |list=false}}<!-- amb mapa -->
|<tr style="height:0.6em">
<td style="background:{{if empty|{{{v_color_map_part_1|}}}
|{{#invoke:Wikidades |claim |property=P710 |list=false
|qualifier=P465 |rowsubformat1=#$1 |tablesort=0<!-- first -->
|formatting=table |editicon=no |rowformat=$1}}
|{{MyValue|IBevent|default_color_map_1}}}};"></td>
<td style="background:{{if empty|{{{v_color_map_part_2|}}}
|{{#invoke:Wikidades |claim |property=P710 |list=false<!-- last -->
|qualifier=P465 |rowsubformat1=#$1 |tablesort=0 |sorting=-1
|formatting=table |editicon=no |rowformat=$1}}
|{{MyValue|IBevent|default_color_map_2}}}};"></td>
</tr>
|{{main other|[[Categoria:Infobox bilateral relations usage without maps]]}}<!-- +++++ -->
}} }}
{{#if:{{#invoke:Wikidades |claim |property=P710 |list=false}}<!-- participant countries -->
|<tr>
<th scope=col style="width:50%; text-align:center">
{{#invoke:Wikidades |claim |property= P710
|qualifier=P41 or P710/P41 |rowsubformat1=[[File:$1|x30px]]
|formatting = table |list = false |tablesort=0<!-- |editicon=no -->
|rowformat= $1<br>$0}}</th>
<th scope=col style="width:50%; text-align:center; border-left:thin solid lightgrey;">
{{#invoke:Wikidades |claim |property= P710
|qualifier=P41 or P710/P41 |rowsubformat1=[[File:$1|x30px]]
|formatting = table |list = false |tablesort=0 <!-- |editicon=no --> |sorting=-1
|rowformat= $1<br>$0}}</th>
</tr>
}} }}
|v_bilateral_managers =
{{#if:{{#invoke:Wikidades |claim |property=P31 |formatting=table
|whitelist0={{MyValue|IBevent|bilateral_relation}}}}<!-- bilateral relation? -->
|<tr><td style="text-align:center">
{{#invoke:Wikidades |claim |property= P710 |qualifier=P137 |tablesort=0
|formatting = table |list = false <!-- |editicon=no -->
|rowformat= $1 |colformat1=ucfirst}}</td>
<td style="text-align:center; border-left:thin solid lightgrey;">
{{#invoke:Wikidades |claim |property= P710 |qualifier=P137 |tablesort=0
|formatting = table |list = false <!-- |editicon=no --> |sorting=-1
|rowformat= $1 |colformat1=ucfirst}}</td>
</tr>}}
|v_bilateral_representants =
{{#if:{{#invoke:Wikidades |claim |property=P31 |formatting=table
|whitelist0={{MyValue|IBevent|bilateral_relation}}}}<!-- bilateral relation? -->
|<tr><td style="text-align:center">
{{#invoke:Wikidades |claim |property= P710 |qualifier=P1875 |qualifier2=P1875/P1308
|formatting=table |list=false |tablesort=0 |case1=gender |editicon=no
|rowformat= $1$2 |rowsubformat2=:<br>$2 |colformat1=ucfirst
|itemgender={{#invoke:Wikidades |claim | property=P710 |qualifier=P1875/P1308
|formatting=table |list=false |editicon=no |tablesort=0
|colformat1=raw |rowformat=$1}}
}}</td>
<td style="text-align:center; border-left:thin solid lightgrey;">
{{#invoke:Wikidades |claim |property= P710 |qualifier=P1875 |qualifier2=P1875/P1308
|formatting=table |list=false |tablesort=0 | sorting=-1|case1=gender
|rowformat= $1$2 |rowsubformat2=:<br>$2 |colformat1=ucfirst
|itemgender={{#invoke:Wikidades |claim | property= P710 | qualifier=P1875/P1308
|formatting=table | list=false | editicon=no | tablesort=0 | sorting=-1
|colformat1=raw | rowformat= $1}}
}}</td>
</tr>}}
<!-- ELECTIONS. Infobox election MUST be used !! -->
|v_p541 = {{#invoke:Wikidades | claim | formatting=table | property=P541 | qualifier=P1114
| rowformat = $0 $1 |rowsubformat1=($1)
|value={{{v_p541|{{{v_office_contested|}}}}}}
}}
|v_p726 = {{#invoke:Wikidades | claim | formatting=table | property=P726 | qualifier=P1111
|rowformat = $0 $1 |rowsubformat1=($1)
|value={{{v_p726|{{{v_candidate|}}}}}} }}
|v_p991 = {{#invoke:Wikidades | claim | formatting=table | property=P991 | qualifier=P1111
|rowformat = $0 $1 |rowsubformat1=($1)
|value={{{v_p991|{{{v_elected|}}}}}} }}
<!-- Used by "party" -->
|v_p547 = {{#invoke:Wikidades |claim |property=P547 | value={{{v_p547|{{{v_commemorates|}}}}}}
|list=firstrank |separator=<br /> |formatting=table
|qualifier=P580 or P582 or P585 |rowsubformat1=<small> ($2–$3)</small>
|qualifier2=P580 or P585 |colformat2=Y |qualifier3=P582 |colformat3=Y
|qualifier4=P642 |rowsubformat4= $4
|qualifier5=P518 |rowsubformat5=, $5
|qualifier6=P8822|rowsubformat6= ({{GetLabelFix|P8822|lang={{{lang|}}}}}: $6)
|rowformat= $0$4$5$6$1
}}
|v_ritual = {{{v_ritual|}}}
|v_p2541 = {{#invoke:Wikidades | claim | property=P2541 | list=firstrank
| value={{{v_p2541|{{{v_operating_area|}}}}}}
}}
<!-- LEGAL -->
|v_p1840 = {{#invoke:Wikidades | claim | property=P1840 | value={{{v_p1840|{{{v_investigated_by|}}}}}} }}
|v_judicial_investigation = {{{v_judicial_investigation|}}}
|v_p1592 = {{#invoke:Wikidades | claim | property=P1592 | value={{{v_p1592|{{{v_prosecutor|}}}}}} }}
|v_suspect = {{{v_suspect|}}}
|v_p8031 = {{#invoke:Wikidades | claim | property=P8031 |qualifier=P3831 |formatting=table
|rowformat=$0 $1 |rowsubformat1=($1)
|value={{{v_p8031|{{{v_perpetrator|}}}}}}
}}
|v_p520 = {{#invoke:Wikidades | claim | property=P520 |qualifier=P1114 |formatting=table
|rowformat=$1$0 |rowsubformat1=$1
|value={{{v_p520|{{{v_armament|}}}}}}
}}
|v_trial = {{{v_trial|}}}
|v_p1620 = {{#invoke:Wikidades | claim | property=P1620 | value={{{v_p1620|{{{v_claimant|}}}}}} }}
|v_p1591 = {{#invoke:Wikidades | claim | property=P1591 | value={{{v_p1591|{{{v_defendant|}}}}}} }}
|v_p1595 = {{#invoke:Wikidades | claim | property=P1595 | value={{{v_p1595|{{{v_charge|}}}}}} }}<!-- +P585+P642+P276+P1114 -->
|v_p1593 = {{#invoke:Wikidades | claim | property=P1593 | value={{{v_p1593|{{{v_defender|}}}}}} }}
|v_p4884 = {{#invoke:Wikidades | claim | property=P4884 | qualifier=P1594 OR P488 | formatting=table
|rowformat=$0 $1
|rowsubformat1=({{GetLabelFix|Q140686|lang={{{lang|}}}}}: $1)
|value={{{v_p4884|{{{v_court|}}}}}}
}}
|v_p1594 = {{#invoke:Wikidades | claim | property=P1594 | value={{{v_p1594|{{{v_judge|}}}}}} }}
|v_verdict = {{{v_verdict|}}}
|v_convict = {{{v_convict|}}}
|v_p1596 = {{#invoke:Wikidades | claim | property=P1596 | qualifier=P1591
| formatting=table | list=firstrank
| rowformat=$1 $0$3$4 ($2$5) | rowsubformat1=$1: | tablesort=2/1
| qualifier2 = P585 | rowsubformat2 = <small>($2)</small>
| qualifier3 = P2047 | rowsubformat3 = , $3. | colformat3 = unit
| qualifier4 = P2284 | rowsubformat4 = , $4. | colformat4 = unitcode
| qualifier5 = P4884 | rowsubformat5 = , $5
| value={{{v_p1596|{{{v_penalty|}}}}}}
}}
<!-- VEHICLE & ROUTE -->
<!-- Same treatement for any of the vehicles properties: P1876 for nau/vessel, P3438 for vehicle &
P121 as a wildcard, commonly used to represent aircraft, but valid for any object participant in the action, as a power plant, factory, etc.
When single value, related vehicle properties are get from qualifier or main property position.
In multi-values (i.e. two aircraft crash) only qualifier are shown under each specific vehicle.
The main properties are shown below specific vehicle information
-->
| v_p121 = {{#switch:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}
|0=<!-- No P121, P1876, P3438, skip to follow with other vehicle main properties -->
|1=<tr>{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438
|value={{{v_p121|{{{v_item_operat|}}}}}}
|formatting=table| list=firstrank
|rowformat=<td class=infobox-label>'''<!--
-->{{GetLabelFix|<!-- try to find the best kind of vehicle description
-->{{if empty
|{{{l_p121|}}}
|{{InParent|IBevent_facility|p=P279|item={{#invoke:Wikidades | claim |list=false
|property=P121 or P1876 or P3438 |formatting=raw}} }}
|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438
|formatting=table| list=firstrank |rowformat=$1
|qualifier =P426 or P3090 or P2986 or /P426 or /P3090 or /P2986}}
|Q11436}}
|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P289
|formatting=table| list=firstrank |rowformat=$1
|qualifier = P289 or P1876 or /P289 or /P1876 }}
|Q16391167}}
|P121
}} }}<!--
-->'''</td><td style="align:start">$1$0</td>$2$3$4$5$6$7$8
|qualifier =P1114 |rowsubformat1=$1
|qualifier2 =P1427 or /P1427 |case2=locationcontext |rowsubformat2=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P1427|lang={{{lang|}}}}}'''</td><td style="align:start">$2</td>
|qualifier3 =P1444 or /P1444 |case3=locationcontext |rowsubformat3=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P1444|lang={{{lang|}}}}}'''</td><td style="align:start">$3</td>
|qualifier4 =P2825 or /P2825 |case4=locationcontext |rowsubformat4=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P2825|lang={{{lang|}}}}}'''</td><td style="align:start">$4</td>
|qualifier5 =P137 or /P137 |rowsubformat5=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P137|lang={{{lang|}}}}}'''</td><td style="align:start">$5</td>
|qualifier6 =P426 or /P426 |rowsubformat6=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P426|lang={{{lang|}}}}}'''</td><td style="align:start">$6</td>
|qualifier7 =P3090 or /P3090 |rowsubformat7=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|Q15921555|lang={{{lang|}}}}}'''</td><td style="align:start">$7</td>
|qualifier8=P458 or P1876/P458 or P121/P458 or P3438/P458 |rowsubformat8=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P458|lang={{{lang|}}}}}'''</td><td style="align:start">$8</td>
}}</tr>
|#default
={{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438
|formatting=table| list=firstrank |editicon=no
|rowformat=$1 |qualifier= P1427 or P1444 or P2825 or P137 or P426 or P3090 or
P458 or P1876/P458 or P121/P458 or P3438/P458 or P3831 }}
|<tr>{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438
|value={{{v_p121|{{{v_item_operat|}}}}}}
|formatting=table| list=firstrank |editicon=no
|rowformat=<td class=infobox-label><!-- label with kind of vehicle from P3831 or "item operated" text as default
-->'''{{((}}if empty{{!}}$9{{!}}{{GetLabelFix|P121|lang={{{lang|}}}}} {{))}}'''<!--
--></td><td style="align:start">$1$0$5$6$8$7</td>$2$3$4
|qualifier =P1114 |rowsubformat1=$1
|qualifier2 =P1427 |case2=locationcontext |rowsubformat2=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P1427|lang={{{lang|}}}}}'''</td><td style="align:start">$2</td>
|qualifier3 =P1444 |case3=locationcontext |rowsubformat3=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P1444|lang={{{lang|}}}}}'''</td><td style="align:start">$3</td>
|qualifier4 =P2825 |rowsubformat4=
</tr><tr><td class=infobox-label>'''{{GetLabelFix|P2825|lang={{{lang|}}}}}'''</td><td style="align:start">$4</td> |case4=locationcontext
|qualifier5 =P137 |rowsubformat5= {{lcfirst:{{GetLabelFix|P642|lang={{{lang|}}}}}}} $5
|qualifier6 =P426 |rowsubformat6= <small>($6)</small>
|qualifier7 =P3090 |rowsubformat7=. <small>{{GetLabelFix|Q15921555|lang={{{lang|}}}}} $7</small>
|qualifier8=P458 or P1876/P458 or P121/P458 or P3438/P458 |rowsubformat8= <small>({{GetLabelFix|P458|lang={{{lang|}}}}}:$8)</small>
|qualifier9=P3831 |colformat9=label
|separator=</tr><tr>|conjunction=</tr><tr>
}}</tr>
|<tr><td class=infobox-label>'''{{GetLabelFix|P121|lang={{{lang|}}}}}'''</td><!--
--><td>{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438
|formatting=table| list=firstrank
|rowformat=$0 |separator=, }}
}}
}}
|v_p81 = {{#invoke:Wikidades | claim | property=P81 | value={{{v_p81|{{{v_connecting_line|}}}}}} }}
<!-- Following related vehicle properties are only shown if it has not already been done in the vehicle type treatment.
It is: in single value, or if they were as a qualifier in a multi-value -->
|v_p1427 = {{#ifeq:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}|1|<!-- Skip
-->|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438 |formatting=table| list=firstrank
|rowformat=$1 |qualifier =P1427 |editicon=no }}|<!-- Skip
-->|{{#invoke:Wikidades | claim | property=P1427
|formatting=table| list=firstrank |rowformat=$0$2$1 |case0=locationcontext
|qualifier = P426 |rowsubformat1= <small>($1)</small>
|qualifier2= P2825 |rowsubformat2=, {{GetLabelFix|P2825|lang={{{lang|}}}}} $2
| value={{{v_p1427|{{{v_start_point|}}}}}}
}}
}} }}
|v_p1444 = {{#ifeq:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}|1|<!-- Skip
-->|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438 |formatting=table| list=firstrank
|rowformat=$1 |qualifier1 =P1444 |editicon=no }}|<!-- Skip
-->|{{#invoke:Wikidades | claim | property=P1444
|formatting=table| list=firstrank |rowformat=$0$2$1 |case0=locationcontext
|qualifier = P426 |rowsubformat1= <small>($1)</small>
|qualifier2= P2825 |rowsubformat2=, {{GetLabelFix|P2825|lang={{{lang|}}}}} $2
| value={{{v_p1444|{{{v_destination_point|}}}}}}
}}
}} }}
|v_last_layover = {{#invoke:Wikidades | claim | property=P2825 |formatting=table| list=firstrank
|rowformat=$0-$1 |qualifier =P3831 |whitelist1=Q67203981
| value={{{v_last_layover|}}}
}}
|v_p137 = {{#ifeq:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}|1|<!-- Skip
-->|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438 |formatting=table| list=firstrank
|rowformat=$1 |qualifier1 =P137 |editicon=no }}|<!-- Skip
-->|{{#invoke:Wikidades | claim | property=P137
| value={{{v_p137|{{{v_operator|}}}}}}
}}
}} }}
|v_p426 = {{#ifeq:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}|1|<!-- Skip
-->|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438 |formatting=table| list=firstrank
|rowformat=$1 |qualifier1 =P426 |editicon=no }}|<!-- Skip
-->|{{#invoke:Wikidades | claim | property=P426
| value={{{v_p426|{{{v_aircraft_registration|}}}}}}
}}
}} }}
|v_p3090 = {{#ifeq:{{#invoke:Wikidades | numStatements |list=firstrank |property=P121 or P1876 or P3438}}|1|<!-- Skip
-->|{{#if:{{#invoke:Wikidades | claim | property=P121 or P1876 or P3438 |formatting=table| list=firstrank
|rowformat=$1 |qualifier1 =P426 |editicon=no }}|<!-- Skip
-->|{{#invoke:Wikidades | claim | property=P3090
| value={{{v_p3090|{{{v_flight|}}}}}}
}}
}} }}
|v_passenger = {{{v_passenger|}}}
|v_crew = {{{v_crew|}}}
<!-- ASTRONÒMICAL PHENOMENA -->
|v_p59 = {{#invoke:Wikidades | claim | property=P59 | value={{{v_p59|{{{v_constellation|}}}}}} }}
|v_p575 = {{#invoke:Wikidades | claim | property=P575 | value={{{v_p575|{{{v_discovery_time|}}}}}} }}
|v_p65 = {{#invoke:Wikidades | claim | property=P65 | value={{{v_p65|{{{v_discovery_place|}}}}}} }}
|v_p215 = {{#invoke:Wikidades | claim | property=P215 | value={{{v_p215|{{{v_spectral_class|}}}}}} }}
|v_p528 = {{#invoke:Wikidades | claim | property=P528 | value={{{v_p528|{{{v_catalog|}}}}}} }}
|v_p397 = {{#invoke:Wikidades | claim | property=P397 | value={{{v_p397|{{{v_parent_astronomical|}}}}}} }}
|v_p2583 = {{#invoke:Wikidades | claim | property=P2583 |qualifier=P1013 |qualifier2=P518
| list=firstrank | formatting=table | rowformat=$0 $2$1
| colformat0=unitcode |rowsubformat2=($2) |rowsubformat1= ↔$1
| value={{{v_p2583|{{{v_earth_distance|}}}}}} }}
|v_p1090 = {{#invoke:Wikidades | claim |property=P1090 |list=firstrank |formatting=table
|rowformat=$0 |colformat0=unitcode
|value={{{v_p1090|{{{v_redshift|}}}}}} }}
|v_p6257 = {{#invoke:Wikidades | claim | property=P6257 | formatting=table |list=false
|rowformat={{((}}Deg2HMS{{!}}$0{{!}}p=4{{!}}sup=si{{))}}
|value={{{v_p6257|{{{v_right_ascension|}}}}}} }}
|v_p6258 = {{#invoke:Wikidades | claim | property=P6258 | formatting=table |list=false
|rowformat={{((}}Deg2DMS{{!}}$0{{!}}p=4{{))}}
|value={{{v_p6258|{{{v_declination_astro|}}}}}} }}
|v_p6259 = {{#invoke:Wikidades | claim | property=P6259 |formatting=$1 |value={{{v_p6259|{{{v_epoch_astro|}}}}}} }}
|v_p1458 = {{#invoke:Wikidades | claim | property=P1458 | qualifier=P1227 |formatting=table
| list=firstrank |separator=<br>
| rowformat=$1 $0 |rowsubformat1=$1=|value={{{v_p1458|{{{v_color_index|}}}}}} }}
|v_p1215 = {{#invoke:Wikidades | claim | property=P1215 | qualifier=P1227 | formatting = table
| list=firstrank |separator= –
| rowformat=$0 $1 |rowsubformat1 =<small>($1)</small>
| value={{{v_p1215|{{{v_apparent_magnitude|}}}}}} }}
|v_p2052 = {{#invoke:Wikidades | claim | property=P2052 |formatting=unitcode |value={{{v_p2052|{{{v_speed|}}}}}} }}
<!-- EARTHQUAKE -->
|v_p2528 = {{#invoke:Wikidades | claim | property= P2528
| formatting=table | qualifier=P585
| rowformat = $0 $1|rowsubformat1=<small>($1)</small>
| value={{{v_p2528|{{{v_richter|}}}}}}
}}
|v_p2527 = {{#invoke:Wikidades | claim | property=P2527
| formatting=table | qualifier=P585
| rowformat = $0 $1|rowsubformat1=<small>($1)</small>
| value={{{v_p2527|{{{v_earthquake_magnitude|}}}}}}
}}
|v_p2784 = {{#invoke:Wikidades | claim | property=P2784
| formatting=table | qualifier=P585
| rowformat = $0 $1|rowsubformat1=<small>($1)</small>
| value={{{v_p2784|{{{v_mercalli|}}}}}}
}}
|v_p4511 = {{#invoke:Wikidades | claim | formatting=table | property=P4511 | qualifier=P1013
| qualifier2=P518 OR P642
| rowformat = $1 $0 $2 |rowsubformat1= $1: |rowsubformat2=($2) | colformat0=unitcode
| value={{{v_p4511|{{{v_depth|}}}}}}
}}
<!-- MEDIA-->
|v_p449 = {{#invoke:Wikidades | claim | property=P449 | value={{{v_p449|{{{v_network|}}}}}} }}
|v_p10 = {{#invoke:Wikidades | claim | property=P10 | list=false | value={{{v_p10|{{{v_video|}}}}}} }}
|v_p3301 = {{#invoke:Wikidades | claim | property=P3301| value={{{v_p3301|{{{v_broadcast|}}}}}} }}
|v_p51 = {{#invoke:Wikidades | claim | property=P51 |list=false |value={{{v_p51|{{{v_audio|}}}}}} }}
|v_p51_caption = {{#invoke:Wikidades | claim | property=P51 | qualifier =P2096 | list=false }}
<!-- P2670, wildcard for quantitative variables -->
|v_p2670 = {{#if: {{#invoke:Wikidades | claim | property=P2670 }}
|<tr>{{#invoke:Wikidades | claim | property=P2670 | formatting= table | list=firstrank
| colformat0= ucfirst |case0=plural
| qualifier = P1114 | qualifier2= P518 |rowsubformat2 = ($2)
| rowformat = <td class="infobox-label">'''$0'''</td><td>$1 $2</td>
| separator=</tr><tr>|conjunction=</tr><tr>| value={{{v_p2670|{{{v_elements|}}}}}}
}}</tr>
}}
<!-- P527-has part. List with subordinate contents that are managed with this infotable. Example:
Order / ranks and their different awards
Awards ceremony and its awards
Attacks and their episodes, etc.
It is displayed in two formats: 1 single column (date) when it has no qualifier, except the dates and emblem that
are displayed along with the name
2 cols. (label + data) when it has other qualifiers; label = emblem P2425 + value of P527
and date = the qualifiers it has.
The P1545 qualifier (serial order) is not displayed, it is only used to sort the contents of P527 when they are not chronological.
-->
|v_p527 = {{#iferror:{{#ifexpr:{{#invoke:Wikidades|numStatements|P527|item={{{item|}}}}}>20<!-- limited to 20 -->
|{{#invoke:Wikidades | claim
|property=P527
|qualifier= P580 |editicon=no
|formatting = table |list=false
|rowformat =*$0../... {{#invoke:Wikidades|numStatements|P527|item={{{item|}}}}}+ {{#invoke:Wikidades| editAtWikidata||property=P527 |lang={{{lang|}}} |editicon=true }}
|tablesort=1 |separator=<br> }}
<!-- For avoid time out by large list, it cut to 20 entries. For larger results should use pencil to access to WD item -->
<!-- normal process -->|{{#if:{{#invoke:Wikidades | claim | property=P527 | formatting=table
| rowformat = $6$7$8 |separator=|conjunction=
| qualifier = P1545 <!-- Not evaluated -->
| qualifier2 = P580 <!-- Not evaluated -->
| qualifier3 = P582 <!-- Not evaluated -->
| qualifier4 = P585 <!-- Not evaluated -->
| qualifier5 = P2425 <!-- Not evaluated -->
| qualifier6 = P1346
| qualifier7 = P1686
| qualifier8 = P518 }}
<!-- with qualifiers -->|<tr>{{#invoke:Wikidades | claim | property=P527 | formatting=table
| tablesort=1/9/3
| rowformat = <td class="infobox-label">$5 '''$0'''</td><td>$4 $2 $6$7</td>
| qualifier = P1545 | rowsubformat1 = ordre:$1,
| qualifier2 = P580 <!-- OR P527/P580 --> | rowsubformat2 = ($2 – $3)
| qualifier3 = P582 <!-- OR P527/P582 --> | rowsubformat3 = $3
| qualifier4 = P585 <!-- OR P527/P585 --> | rowsubformat4 = ($4)
| qualifier5 = P527/P2425 | rowsubformat5 = [[File:$5|30px|link=]]
| qualifier6 = P1346 | rowsubformat6 = $6
| qualifier7 = P1686 | rowsubformat7 = , {{GetLabelFix|P1686|lang={{{lang|}}}}} ''$7''
| qualifier8 = P518 | rowsubformat8 = {{GetLabelFix|P518|lang={{{lang|}}}}}:$8
| qualifier9 = P585 or P580
| separator=</tr><tr>|conjunction=</tr><tr>
| value={{{v_p527|{{{v_has_part|}}}}}}
}}</tr>
<!--NO qualifiers -->| {{#invoke:Wikidades | claim | property=P527 | formatting=table
| rowformat = $5 '''$0''' $4 $2| tablesort=1/9/3
| qualifier = P1545 | rowsubformat1 = ordre:$1,
| qualifier2 = P580 <!-- OR P527/P580 --> | rowsubformat2 = ($2 – $3)
| qualifier3 = P582 <!-- OR P527/P582 --> | rowsubformat3 = $3
| qualifier4 = P585 <!-- OR P527/P585 --> | rowsubformat4 = ($4)
| qualifier5 = P527/P2425 | rowsubformat5 = [[File:$5|30px|link=]]
| qualifier6 = P1346 | rowsubformat6 = $6
| qualifier7 = P1686 | rowsubformat7 = , {{GetLabelFix|P1686|lang={{{lang|}}}}} ''$7''
| qualifier8 = P518 | rowsubformat8 = {{GetLabelFix|P518|lang={{{lang|}}}}}:$8
| qualifier9 = P585 or P580
| value={{{v_p527|{{{v_has_part|}}}}}}
}}
}}
}} }}
<!-- Chronology is -at the moment- aimed at presenting judicial cases with a history by various courts and rulings. That is, despite being a case, it is not a major event in time.
If other different situations need to be addressed, the qualifiers and format may need to be adapted.
-->
|v_p793 = {{#if:{{#invoke:Wikidades |claim |property=P793 |value={{{v_p793|{{{v_significant_event|}}}}}} }}
|<tr>{{#invoke:Wikidades |claim |formatting=table |property=P793
|qualifier=P585<!-- date -->|qualifier2=P580<!-- start -->
|qualifier3=P582<!-- end -->|rowsubformat2=$2-$3
|qualifier4= P1591<!-- P710 OR P1346 ....participant -->
|rowsubformat4=<br>{{GetLabelFix|Q989174|lang={{{lang|}}}}}:$4
|qualifier5=P1399<!-- condemned by -->
|rowsubformat5=<br>⇒ $5
|qualifier6=P828<!-- has cause -->
|rowsubformat6= {{GetLabelFix|P828|lang={{{lang|}}}}} $6
|qualifier7=P1596<!-- condemna -->|rowsubformat7=<br/>⇒ $8 $7
|qualifier8=P1114 or P2047<!-- quant./time -->|colformat8=unit
|separator=</tr><tr> |conjunction=</tr><tr>
|colformat0=ucfirst
|rowformat=<td class=infobox-label>$1 $2</td><td>$0$5$4$7$6
|value={{{v_p793|{{{v_significant_event|}}}}}}
}}
}}
<!-- military conclict participants block -->
|v_military_conflict_participants = {{{v_military_conflict_participants|}}}
<!-- EXTRA MANUAL WLDCARD PARAMETERS -->
|v_label = {{{v_label|}}}
|v_data = {{{v_data|}}}
|v_label1 = {{{v_label1|}}}
|v_data1 = {{{v_data1|}}}
|v_label2 = {{{v_label2|}}}
|v_data2 = {{{v_data2|}}}
|v_p3259 = {{#ifeq:{{{v_p3259|{{{v_intangible_heritage|}}}}}}|NONE|<!-- skip -->
|{{heritage protection/P3259 |item={{{item|}}} | lang={{{lang|}}} }}
{{#if:{{#invoke:Wikidades |claim |property= P1435|list=firstrank |editicon=no}}
|{{heritage protection/P3259 |property_protection=P1435 |item={{{item|}}} | lang={{{lang|}}} }}
}} }}
|v_below_image = {{#if:{{{v_below_image|}}}
| {{#invoke:InfoboxImage|InfoboxImage |image={{{v_below_image|}}} |sizedefault=300x300px}}<!--
-->{{#if:{{{v_below_image_caption|}}}
| <br>{{{v_below_image_caption|}}}
}} }}
|v_notes = {{{v_notes|}}}
<!-- Oriented to "Legal text" -->
|v_p953 = {{if empty|{{#invoke:wikidades |claim|property=P953|formatting=table <!-- search text in WP lang -->
|qualifier =P407 |whitelist1={{MyValue|PriorityWebs|Accepted_lang}}
|rowformat=$0 |colformat0=weblink
|shownovalue=no |showsomevalue=no
|value={{{v_p953|{{{v_full_work|}}}}}}}}
|{{#invoke:Wikidades |claim|property= P953|list=false
|formatting=weblink |value={{{v_p953|{{{v_full_work|}}}}}} }}
}}
<!-- Networks-->
|v_p856 = {{#ifeq:{{{v_p856|{{{v_website|}}}}}} |NONE|<!-- saltar, no es vol recuperar WD
-->|{{#if:{{{v_p856|{{{v_website|}}}}}}
|{{if empty|{{{v_p856|}}} | {{{v_website|}}} }}
|{{#if:{{#invoke:Wikidades|validProperty|P856|item={{{item|}}} }}
|{{#ifeq:{{#invoke:Wikidades |claim |property=P856 |list=false |formatting=table
|qualifier=P582 |rowformat=$1 |editicon=no}} | {{somevalue|lang={{{lang|}}}}}<!--
-->|{{#invoke:Wikidades |claim |property=P856 |list=false |formatting=weblink }}<!--
-->|{{#invoke:Wikidades |claim |property=P856 |list=false |formatting=table |colformat0=weblink
|qualifier =P582 |rowsubformat1= → $2$3
|qualifier2=P1065 |rowsubformat2=[[File:Cloud download font awesome.svg|15px|link=$2]]
|qualifier3=P2960 |colformat3=Y |rowsubformat3= <small>($3)</small>
|rowformat=$0$1 }}
}}
}} }} }}
|v_hashtag = {{#invoke:Wikidades | claim | property=P2572 | formatting=[https://twitter.com/hashtag/$1 #$1]
| value={{{v_hashtag|}}} }}
|v_identifiers = {{Identifiers | item={{{item|}}} | lang={{{lang|}}} }}
}}
9bxk859jyh3r83033ghms8dt0cfgmza
فرما:Infobox event/formatglobal/proves
10
32574
150918
2026-08-31T18:51:57Z
آیات محراج
11062
Created page with "<noinclude>{{Avís|Aquesta és una versió en proves.<br> integrant Infotaula conflicte militar.<br> Versió de partida: [[Special:permalink/33958932]], de les 21:51, 18 set 2024<br>}} {{Uses TemplateStyles|template:Infobox event/styles.css}} <!-- {{left|{{infotaula esdeveniment/proves| item=Q2632754|v_name=tots iguals}}}} {{left|{{infotaula esdeveniment/proves| item=Q19949553|v_name=no data, inicio igual final}}}} --></noinclude><includeonly><templatestyles src="I..."
150918
wikitext
text/x-wiki
<noinclude>{{Avís|Aquesta és una versió en proves.<br> integrant Infotaula conflicte militar.<br>
Versió de partida: [[Special:permalink/33958932]], de les 21:51, 18 set 2024<br>}}
{{Uses TemplateStyles|template:Infobox event/styles.css}}
<!--
{{left|{{infotaula esdeveniment/proves| item=Q2632754|v_name=tots iguals}}}}
{{left|{{infotaula esdeveniment/proves| item=Q19949553|v_name=no data, inicio igual final}}}}
--></noinclude><includeonly><templatestyles src="Infobox event/styles.css" />{{InfoboxFrame
| wikidata = {{{wikidata|}}}
| child = {{{child|}}}
| item = {{{item|}}}
| lang = {{{lang|}}}
|bodystyle = infobox_bodystyle
|titleclass = infobox_titlestyle
|aboveclass = infobox_abovestyle
|headerclass = infobox_headerstyle
|labelclass = infobox-label
|datastyle = text-align:start
|captionstyle = font-size:90%;
<!-- DO NOT USE generic subheaderstyle at this point. Subheaderstyle must be assigned for each subheader,
because subheader2 is calculated for hurricanes_level
--><!-- Building top line that shows article name: it's eligible: title or above. Elected option is defined in
module:Itemgroup/list ...["IBevent"] ..... ["title_above"] = <our choose>
So, the parameter name is not a direct text, but a "built text" depending on choose (default is "title")
-->
| {{#ifeq:{{MyValue|IBevent|title_above}}|above|above|title}} = <!-- "title" or "above" selected as a "top line for article name"-->
<!-- icon on top line, when exists
-->{{#if:{{{v_icon|}}}|<span style="float:left; margin-left: 3px;"><!--
-->[[File:{{{v_icon|}}}|{{#invoke:Wikidades|getSiteLink|Q15020841}}]]</span>}}<!--
-->{{{v_name|{{{nom|}}} }}}
| subheader1 = {{#if:{{{v_p1813|}}}
|{{#ifeq:{{LcPlainText|{{{v_p1813_txt|}}}}} |{{LcPlainText|{{{v_name|}}}}}|<!-- skip to avoid repeat
-->|<div colspan="2" class="infobox_subheaderstyle1";>{{{v_p1813|}}}</div>}} }}
| subheader2 = {{#if:{{{v_hurricane_level|{{{nivell_ciclo|}}}}}}|{{{v_hurricane_level|{{{nivell_ciclo|}}}}}} }} <!-- subheader2 shows level/type hurricane-ciclone-etc. -->
| image = {{{v_p154|{{{logo|}}} }}}
| image2 = {{{v_p18|{{{imatge|}}} }}}
| image3 = {{#if:{{{v_bilateral_map|{{{mapa_acords_bilaterals|}}}}}}<!-- When bilateral relations, use its map
-->|{{{v_bilateral_map|{{{mapa_acords_bilaterals|}}}}}}
|{{#ifeq:{{{block_map|{{{bloc_mapa|}}}}}} |<!-- Simulates empty map but with HTML code same as generated by subtemplate -->
{{Two maps block|v_basic_maps=NONE}}|<!-- empty map
-->|{{{block_map|{{{bloc_mapa|}}}}}}<!-- When map is full with more that HTML code, use it
-->}}
}}
|label5 = {{GetLabelFix|P625|lang={{{lang|}}}}}
|data5 = {{{v_coord_out_map|}}}
|header13 = {{{v_bilateral_participants|{{{participants_acords_bilaterals|}}}}}}
|header16 = {{#if:{{{v_bilateral_managers|{{{gestors_acords_bilaterals|}}}}}} | {{GetLabelFix|Q213283|lang={{{lang|}}}}} }}<!-- Missió diplomàtica -->
| data19 = {{{v_bilateral_managers|{{{gestors_acords_bilaterals|}}}}}}
|header22 = {{#if:{{{v_bilateral_representants|{{{representants_acords_bilaterals|}}}}}} | {{GetLabelFix|P1875|lang={{{lang|}}}}} }}<!-- representat per -->
| data25 = {{{v_bilateral_representants|{{{representants_acords_bilaterals|}}}}}}
|header28 = {{#if:{{{v_bilateral_managers|{{{gestors_acords_bilaterals|}}}}}}
{{{v_bilateral_representants|{{{representants_acords_bilaterals|}}}}}}|<hr>}}
<!-- NOM -->
| label30 = {{GetLabelFix|P1705|lang={{{lang|}}}}}<!-- Nom original -->
| data30 = {{#if:{{{v_p1705|{{{nom_original|}}} }}}
|{{#ifeq:{{{v_p1705_txt|{{{nom_original_txt|}}}}}} | {{{v_name|{{{nom|}}} }}}|<!-- no mostrar per a evitar redundància amb el nom bàsic -->|{{{v_p1705|{{{nom_original|}}} }}}{{#if:{{{v_original_lang|{{{nom_original_lleng|}}} }}} | ({{{v_original_lang|{{{nom_original_lleng|}}} }}}) }}
}}
}}
| data32 = {{#if:{{{v_type_conflict_tree|}}} | {{{v_type_conflict_tree|}}}<hr>}}<!-- block of upper conflict tree -->
| label34 = {{GetLabelFix|P8550|lang={{{lang|}}}}}<!-- identificador llei -->
| data34 = {{{v_p8550|{{{identificador_llei|}}} }}}
| label37 = {{GetLabelFix|P1449|lang={{{lang|}}}}}<!-- Altres noms -->
| data37 = {{{v_p1449|{{{altre_nom|}}} }}}
| label39 = {{GetLabelFix|P1451|lang={{{lang|}}}}}<!-- Lema -->
| data39 = {{{v_p1451|{{{lema|}}} }}}
| label40 = {{GetLabelFix|P85|lang={{{lang|}}}}}<!-- Himne -->
| data40 = {{{v_p85|}}}
| data41 = {{#if:{{{v_p85|}}}|{{#if:{{{v_p85_aud|}}}|{{center|[[File:{{{v_p85_aud|}}}]]}}}}}}
| data42 = {{#if:{{{v_p85|}}} |<hr> }}
| label43 = {{GetLabelFix|Q21146257|lang={{{lang|}}}}}<!-- Tipus -->
| data43 = {{{v_p31|{{{tipus|}}} }}}
| label46 = {{GetLabelFix|P6208|lang={{{lang|}}}}}<!-- Descripció premi -->
| data46 = {{{v_p6208|{{{descripcio|}}} }}}
| label49 = {{GetLabelFix|P138|lang={{{lang|}}}}}<!-- Epònim -->
| data49 = {{{v_p138|{{{anomenat|}}} }}}
| label52 = {{GetLabelFix|P547|lang={{{lang|}}}}}<!-- Commemora -->
| data52 = {{{v_p547|{{{commemora|}}} }}}
| label55 = {{GetLabelFix|Q1069932|lang={{{lang|}}}}}<!-- Conca -->
| data55 = {{{v_p706|{{{conca|}}} }}}
| label58 = {{GetLabelFix|P361|lang={{{lang|}}}}}<!-- Part de -->
| data58 = {{{v_p361|{{{partde|}}} }}}
<!-- TEMPS -->
| label71 = {{GetLabelFix|Q2135535|lang={{{lang|}}}}}<!-- Vigència -->
| data71 = {{{v_validity |{{{vigencia|}}}}}}
| label74 = {{GetLabelFix|Q107969064|lang={{{lang|}}}}}<!-- observation period -->
| data74 = {{{v_p837_per|}}}
| label77 = {{if empty|{{{l_p837|}}} | {{GetLabelFix|Q573|lang={{{lang|}}}}} }}<!-- Dia -->
| data77 = {{{v_p837|{{{dia|}}} }}}
| label80 = {{GetLabelFix|P2894|lang={{{lang|}}}}} <!-- Dia setmana -->
| data80 = {{{v_p2894| }}}
| label82 = {{GetLabelFix|Q186081|lang={{{lang|}}}}}<!-- interval -->
| data82 = {{#If:{{{v_p580_raw|}}}<!-- P580 exists -->
|{{#Ifeq:{{{v_p580_raw|}}} | {{{v_p585_raw|}}}<!-- P580 = P585, probable won't use P580 -->
|{{#Ifeq:{{{v_p580_raw|}}} | {{{v_p582_raw|}}}|<!-- skip, cause P580=P582=P585, >> use P585 only
-->|{{#If:{{{v_p582_raw|}}} | {{{v_p580|}}}<!-- if P580 ≠ P582, and P582 not empty, >> use v_P580 prepared
-->}}<!-- when P582 is empty, skip becaus P580=P582 -->
}}
|{{#If:{{{v_p585_raw|}}} | {{{v_p580|}}}<!-- if P580 ≠ P585 and P585 not empty, >> use v_p580 prepared-->
|{{#Ifeq:{{{v_p580_raw|}}} | {{{v_p582_raw|}}}|<!-- if P580 = P582 and P585 empty, >> skip, to get as P585
-->| {{{v_p580|}}}<!-- if P580 ≠ P582 and P585 empty, >> use v_P580 prepared
-->}}
}} }}
|{{{v_p580|}}}<!-- if not exists P580, >> use v_p580 prepared cause it may contains P582
-->}}
| label83 = {{GetLabelFix|Q205892|lang={{{lang|}}}}}<!-- Data -->
| data83 = {{if empty|{{{v_p585|{{{data|}}} }}}
|{{#Ifeq:{{{v_p580_raw|}}} | {{{v_p582_raw|}}} | {{{v_p580_raw|}}} }}
}}
| label86 = {{GetLabelFix|Q186408|lang={{{lang|}}}}}<!-- Hora -->
| data86 = {{{v_point_time|{{{hora|}}} }}}
| label87 = {{GetLabelFix|Q99518990|lang={{{lang|}}}}}<!-- Obertura -->
| data87 = {{{v_open_time|}}}
| label88 = {{GetLabelFix|P2922|lang={{{lang|}}}}}<!-- Mes -->
| data88 = {{{v_p2922|}}}
<!--
Conjunt de dates. Els tractats i legislació condicionen l'ordre
_____________________________________________________ -->
| label89 = {{GetLabelFix|P50|lang={{{lang|}}}}}<!-- Autor, inicialment per "legislacions" -->
| data89 = {{{v_p50|{{{autor|}}} }}}
| label92 = {{GetLabelFix|Q446780|lang={{{lang|}}}}}<!-- promulgada per -->
| data92 = {{{v_p7589|{{{data_promulgada|}}} }}}{{if both|{{{v_p7589|{{{data_promulgada|}}} }}}|{{{v_p467|{{{promulgada_per|}}} }}}
|, }}{{{v_p467|{{{promulgada_per|}}} }}}
| label95 = {{GetLabelFix|P9681|lang={{{lang|}}}}}<!-- votat per -->
| data95 = {{{v_p9681|{{{votat_per|}}} }}}
| label98 = {{GetLabelFix|Q100256464|lang={{{lang|}}}}}<!-- Data signatura -->
| data98 = {{{v_date_signature|{{{data_signatura|}}} }}}
| label101 = {{GetLabelFix|Q193170|lang={{{lang|}}}}}<!-- Ratificació -->
| data101 = {{Collapsible conditional list |{{{v_p6193|{{{ratificacio|}}} }}}
|{{if empty|{{{v_cllps_ratified|{{{desplega_ratificacio|}}} }}}|180}} }}
| label104 = {{GetLabelFix|P577|lang={{{lang|}}}}}<!-- Data publicació -->
| data104 = {{{v_p577|{{{publicacio|}}} }}}
| label107 = {{GetLabelFix|Q490812|lang={{{lang|}}}}}<!-- Entrada en vigor -->
| data107 = {{{v_p7588|{{{efectivitat|}}} }}}
| label110 = {{GetLabelFix|P3148|lang={{{lang|}}}}}<!-- revoca -->
| data110 = {{{v_p3148|{{{revoca|}}} }}}
| label113 = {{GetLabelFix|P2568|lang={{{lang|}}}}}<!-- revocat_per -->
| data113 = {{{v_p2568|{{{revocat_per|}}} }}}
<!--
Fi BLOC especial per dates
_____________________________________________________ -->
| label126 = {{GetLabelFix|P2047|lang={{{lang|}}}}}<!-- Durada -->
| data126 = {{{v_p2047|{{{durada|}}} }}}
| label129 = {{GetLabelFix|P2257|lang={{{lang|}}}}}<!-- Freqüència -->
| data129 = {{{v_p2257|{{{frequencia|}}} }}}
| label132 = {{GetLabelFix|P2348|lang={{{lang|}}}}}<!-- Període -->
| data132 = {{{v_p2348|{{{periode|}}} }}}
| label133 = {{GetLabelFix|Q718893|lang={{{lang|}}}}}<!-- Escenari -->
| data133 = {{{v_escenari|}}}
<!-- HISTÒRIA -->
| label135 = {{GetLabelFix|P144|lang={{{lang|}}}}}<!-- Basat en -->
| data135 = {{{v_p144|{{{basat_en|}}} }}}
| label138 = {{GetLabelFix|P393|lang={{{lang|}}}}}<!-- Edició -->
| data138 = {{{v_p393|{{{edicio|}}} }}}
| label141 = {{GetLabelFix|P112|lang={{{lang|}}}}}<!-- Instauració -->
| data141 = {{{v_p112|{{{instaurador|}}} }}}
| label144 = {{GetLabelFix|Q260460|lang={{{lang|}}}}}<!-- Antecedents -->
| data144 = {{{v_antecedent|{{{antecedents|}}} }}}
| data147 = {{{block_serie|{{{bloc_precedencia|}}}}}}
| label150 = {{GetLabelFix|P921|lang={{{lang|}}}}}<!-- Tema -->
| data150 = {{{v_p921|{{{tema|}}} }}}
| label153 = {{GetLabelFix|Q4120621|lang={{{lang|}}}}}<!-- Rang -->
| data153 = {{{block_rank|{{{rang|}}}}}}
<!-- LLOC -->
| label156 = {{GetLabelFix|P2596|lang={{{lang|}}}}}<!-- Cultura -->
| data156 = {{{v_p2596|{{{cultura|}}} }}}
| label159 = {{GetLabelFix|Q17334923|lang={{{lang|}}}}}<!-- Lloc -->
| data159 = {{{v_p6375|{{{lloc|}}} }}}
| label162 = {{#if:{{{v_bilateral_map|{{{mapa_acords_bilaterals|}}}}}}|<!-- Si hi ha estructura d'acords bilaterals, es tracta el seu bloc
-->|{{GetLabelFix|P17|lang={{{lang|}}}}} }}<!-- Estat -->
| data162 = {{#if:{{{v_bilateral_map|{{{mapa_acords_bilaterals|}}}}}}|<!-- Si hi ha estructura d'acords bilaterals, es tracta el seu bloc
-->|{{{v_p17|{{{estat|}}} }}} }}
| label165 = {{GetLabelFix|P4777|lang={{{lang|}}}}}<!-- Frontera -->
| data165 = {{{v_p4777|{{{frontera|}}} }}}
| label168 = {{GetLabelFix|P30|lang={{{lang|}}}}}<!-- Continent -->
| data168 = {{{v_p30|{{{continent|}}} }}}
| label171 = {{GetLabelFix|P2046|lang={{{lang|}}}}}<!-- Superfície -->
| data171 = {{{v_p2046|{{{superficie|}}} }}}
<!-- ORGANITZACIÓ -->
| label184 = {{GetLabelFix|P1001|lang={{{lang|}}}}}<!-- Jurisdicció -->
| data184 = {{{v_p1001|{{{jurisdiccio|}}} }}}
| label186 = {{GetLabelFix|P4791|lang={{{lang|}}}}}<!-- comandant-->
| data186 = {{{v_p4791|{{{comandament|}}} }}}
| label188 = {{GetLabelFix|P664|lang={{{lang|}}}}}<!-- Organització -->
| data188 = {{#ifeq:{{{v_p664|{{{organitzacio|}}} }}} | {{{v_p1027|{{{concedit_per|}}} }}}|<!-- no repetir
-->|{{{v_p664|{{{organitzacio|}}} }}}
}}
| label190 = {{GetLabelFix|P371|lang={{{lang|}}}}}<!-- Presentador -->
| data190 = {{{v_p371|{{{presentador|}}} }}}
| label193 = {{GetLabelFix|P57|lang={{{lang|}}}}}<!-- Direcció -->
| data193 = {{{v_p57|{{{director|}}} }}}
| label196 = {{GetLabelFix|P162|lang={{{lang|}}}}}<!-- Producció -->
| data196 = {{{v_p162|{{{productor|}}} }}}
| label200 = {{GetLabelFix|P61|lang={{{lang|}}}}}<!-- Descobridor -->
| data200 = {{{v_p61|{{{descobridor|}}} }}}
| label202 = {{GetLabelFix|P823|lang={{{lang|}}}}}<!-- Locutor -->
| data202 = {{{v_p823|{{{locutor|}}} }}}
| label205 = {{GetLabelFix|P1128|lang={{{lang|}}}}}<!-- Empleats -->
| data205 = {{{v_p1128|{{{empleats|}}} }}}
| label208 = {{GetLabelFix|P6125|lang={{{lang|}}}}}<!-- Voluntaris -->
| data208 = {{{v_p6125|{{{voluntaris|}}} }}}
<!-- altres càrrecs a P3342 persona rellevant -->
| label211 = {{{l_p3342|{{{etiq_coordinador|}}}}}}
| data211 = {{{v_p3342|{{{bloc_coordinador|}}}}}}
<!-- PARTICIPANTS -->
| label214 = {{GetLabelFix|P1875|lang={{{lang|}}}}}<!-- Representant --><!-- "negociadors" de infotaula Tractat -->
| data214 = {{{v_p1875|{{{representat_per|}}} }}}
| label217 = {{GetLabelFix|P1132|lang={{{lang|}}}}}<!-- N. participants -->
| data217 = {{{v_p1132|{{{num_participants|}}} }}}
| label220 = {{GetLabelFix|P710|lang={{{lang|}}}}}<!-- Participants -->
| data220 = {{#if:{{{v_bilateral_map|{{{mapa_acords_bilaterals|}}}}}}|<!-- Si hi ha estructura d'acords bilaterals, es tracta el seu bloc
-->|{{Collapsible conditional list | {{{v_p710|{{{participants|}}} }}}
|{{if empty|{{{v_cllps_participant|{{{desplega_participants|}}} }}}|180}} }} }}
| label223 = {{GetLabelFix|P4032|lang={{{lang|}}}}}<!-- Revisat --><!-- ratificadors de infotaula Tractat -->
| data223 = {{{v_p4032|{{{revisat_per|}}} }}}
| label226 = {{GetLabelFix|P1891|lang={{{lang|}}}}}<!-- Signataris -->
| data226 = {{Collapsible conditional list |{{{v_p1891|{{{signataris|}}} }}}
|{{if empty|{{{v_cllps_signatory|{{{desplega_signataris|}}} }}}|180}} }}
| label229 = {{GetLabelFix|P2058|lang={{{lang|}}}}}<!-- Dipositari -->
| data229 = {{{v_p2058|{{{dipositari|}}} }}}
| label232 = {{GetLabelFix|Q63344699|lang={{{lang|}}}}}<!-- Impulsors -->
| data232 = {{{v_p859|{{{impulsors|}}} }}}
| label235 = {{GetLabelFix|P175|lang={{{lang|}}}}}<!-- Intèrpret -->
| data235 = {{{v_p175|{{{interpret|}}} }}}
<!-- MITJÀ TRANSPORT i TRAJECTE -->
| data241 = {{{v_p121|{{{tipus_aeronau|{{{vehicle|}}}}}} }}}
| label244 = {{GetLabelFix|P1876|lang={{{lang|}}}<!-- Nau ++++ -->}}
| data244 = {{{v_p1876|}}}
| label247 = {{if empty | {{{tipus_vehicle|}}} |{{GetLabelFix|Q45296117|lang={{{lang|}}}}}<!-- aeronau ++++++ -->}}
| data247 = {{if empty|{{{vehicle|}}} | {{{tipus_aeronau|}}} }}
| label250 = {{GetLabelFix|P81|lang={{{lang|}}}}}<!-- Línia -->
| data250 = {{{v_p81|{{{linia|}}} }}}
| label253 = {{GetLabelFix|P1427|lang={{{lang|}}}}}<!-- Origen -->
| data253 = {{{v_p1427|{{{origen|}}} }}}
| label256 = {{GetLabelFix|P1444|lang={{{lang|}}}}}<!-- Destinació -->
| data256 = {{{v_p1444|{{{destinacio|}}} }}}
| label259 = {{GetLabelFix|Q67203981|lang={{{lang|}}}}}<!-- Última escala -->
| data259 = {{{v_last_layover|{{{ultima_escala|}}} }}}
| label262 = {{GetLabelFix|P137|lang={{{lang|}}}}}<!-- Operador -->
| data262 = {{{v_p137|{{{operador|}}} }}}
| label265 = {{GetLabelFix|P426|lang={{{lang|}}}}}<!-- Matrícula -->
| data265 = {{{v_p426|{{{matricula|}}} }}}
| label268 = {{GetLabelFix|P3090|lang={{{lang|}}}}}<!-- Núm.vol -->
| data268 = {{{v_p3090|{{{vol|}}} }}}
| label271 = {{GetLabelFix|Q319604|lang={{{lang|}}}}}<!-- Passatgers -->
| data271 = {{{v_passenger|{{{passatgers|}}} }}}
| label274 = {{GetLabelFix|Q345844|lang={{{lang|}}}}}<!-- Tripulació -->
| data274 = {{{v_crew|{{{tripulacio|}}} }}}
<!-- FENOMEN ASTRONÒMIC -->
| label277 = {{GetLabelFix|P575|lang={{{lang|}}}}}<!-- Data de descobriment -->
| data277 = {{{v_p575|{{{data_descobriment|}}} }}}
| label280 = {{GetLabelFix|P65|lang={{{lang|}}}}}<!-- Lloc de la descoberta astronòmica -->
| data280 = {{{v_p65|{{{lloc_descobriment|}}} }}}
| label283 = {{GetLabelFix|P215|lang={{{lang|}}}}}<!-- Tipus espectral -->
| data283 = {{{v_p215|{{{tipus_espectral|}}} }}}
| label286 = {{GetLabelFix|P59|lang={{{lang|}}}}}<!-- Constel·lació -->
| data286 = {{{v_p59|{{{constellacio|}}} }}}
| label289 = {{GetLabelFix|P6259|lang={{{lang|}}}}}<!-- Epoca -->
| data289 = {{{v_p6259|{{{epoch|}}} }}}
| label292 = {{GetLabelFix|P397|lang={{{lang|}}}}}<!-- Cos astronòmic pare -->
| data292 = {{{v_p397|{{{pare|}}} }}}
| label295 = {{GetLabelFix|P2583|lang={{{lang|}}}}}<!-- distància de terra -->
| data295 = {{{v_p2583|{{{distance|}}} }}}
| label298 = {{GetLabelFix|P1090|lang={{{lang|}}}}}<!-- desplaçament al roig -->
| data298 = {{{v_p1090|{{{desplaça_roig|}}} }}}
| label301 = {{GetLabelFix|P1215|lang={{{lang|}}}}}<!-- mag. aparent -->
| data301 = {{{v_p1215|{{{mag_v|}}} }}}
| label304 = {{GetLabelFix|P6257|lang={{{lang|}}}}}<!-- ascensió recta -->
| data304 = {{{v_p6257|{{{ra|}}} }}}
| label307 = {{GetLabelFix|P6258|lang={{{lang|}}}}}<!-- declination -->
| data307 = {{{v_p6258|{{{dec|}}} }}}
| label310 = {{GetLabelFix|P1458|lang={{{lang|}}}}}<!-- color -->
| data310 = {{{v_p1458|{{{b-v|}}} }}}
| label313 = {{GetLabelFix|P2052|lang={{{lang|}}}}}<!-- velocitat -->
| data313 = {{{v_p2052|{{{velocitat|}}} }}}
| label316 = {{GetLabelFix|P528|lang={{{lang|}}}}}<!-- Codi de catàleg -->
| data316 = {{{v_p528|{{{codi_cataleg|}}} }}}
<!-- CONTEXT -->
| label319 = {{GetLabelFix|P407|lang={{{lang|}}}}}<!-- Llengua -->
| data319 = {{{v_p407|{{{llengua|}}} }}}
| label322 = {{GetLabelFix|P140|lang={{{lang|}}}}}<!-- Religió -->
| data322 = {{{v_p140|{{{religio|}}} }}}
| label325 = {{#if:{{{v_p140|{{{religio|}}} }}} |{{GetLabelFix|Q3010205|lang={{{lang|}}}}}<!-- Celebració --> |{{GetLabelFix|P2541|lang={{{lang|}}}}}<!-- Àrea influència -->}}
| data325 = {{{v_p2541|{{{opera_celebra|}}} }}}
| label328 = {{GetLabelFix|Q189819|lang={{{lang|}}}}}<!-- Ritual -->
| data328 = {{{v_ritual|{{{ritual|}}} }}}
| label331 = {{GetLabelFix|P136|lang={{{lang|}}}}}<!-- Gènere musical -->
| data331 = {{{v_p136|{{{genere|}}} }}}
| label334 = {{GetLabelFix|P2121|lang={{{lang|}}}}}<!-- Premi --><!-- import del premi -->
| data334 = {{{v_p2121|{{{premi|}}} }}}
| label337= {{GetLabelFix|P822|lang={{{lang|}}}}}<!-- Mascota -->
| data337 = {{{v_p822|{{{mascota|}}} }}}
| label340 = {{GetLabelFix|P641|lang={{{lang|}}}}}<!-- Esport -->
| data340 = {{{v_p641|{{{esport|}}} }}}
| label343 = {{GetLabelFix|P1027|lang={{{lang|}}}}}<!-- Concedit per -->
| data343 = {{{v_p1027|{{{concedit_per|}}} }}}
| label345 = {{GetLabelFix|P2284|lang={{{lang|}}}}}<!-- Preu -->
| data345 = {{{v_p2284|}}}
<!-- CAUSA -->
| label347 = {{GetLabelFix|Q45635|lang={{{lang|}}}}}<!-- Casus belli -->
| data347 = {{{v_casus|}}}
| label349 = {{GetLabelFix|P533|lang={{{lang|}}}}}<!-- Objectiu -->
| data349 = {{{v_p533|{{{objectiu|}}} }}}
| label352 = {{GetLabelFix|Q2574811|lang={{{lang|}}}}}<!-- Causa -->
| data352 = {{{v_p1478|{{{causa|}}} }}}
| label355 = {{GetLabelFix|P607|lang={{{lang|}}}}}<!-- Conflicte -->
| data355 = {{{v_p607|{{{conflicte|}}} }}}
| label358 = {{GetLabelFix|Q813912|lang={{{lang|}}}}}<!-- Condició -->
| data358 = {{{v_conditions|{{{condicio|}}} }}}
| label361 = {{GetLabelFix|Q4026292|lang={{{lang|}}}}}<!-- Accions -->
| data361 = {{{v_action|{{{accions|}}} }}}
| label364 = {{GetLabelFix|P5027|lang={{{lang|}}}}}<!-- Nom. representacions -->
| data364 = {{{v_p5027|{{{representacions|}}} }}}
| label366 = {{GetLabelFix|Q2995644|lang={{{lang|}}}}}<!-- Resultats -->
| data366 = {{{v_results|{{{resultat|}}} }}}
| label368 = {{GetLabelFix|P1542|lang={{{lang|}}}}}<!-- Conseqüència -->
| data368 = {{{v_p1542|{{{consequencia|}}} }}}
| label370 = {{GetLabelFix|Q842332|lang={{{lang|}}}}}<!-- front (conflicte militar) -->
| data370 = {{{v_front|}}}
| label371 = {{GetLabelFix|Q831663|lang={{{lang|}}}}}<!-- campanya (conflicte militar) -->
| data371 = {{{v_campanya|}}}
<!-- ECONOMIA-->
| label373 = {{GetLabelFix|P2769|lang={{{lang|}}}}}<!-- Pressupost -->
| data373 = {{{v_p2769|{{{pressupost|}}} }}}
<!-- TERRATRÈMOL -->
| label376 = {{GetLabelFix|P2527|lang={{{lang|}}}}}<!-- [[Escala sismològica de magnitud de moment|Magnitud]] -->
| data376 = {{{v_p2527|{{{magnitud|}}} }}}
| label379 = {{GetLabelFix|P2528|lang={{{lang|}}}}}<!-- [[Escala de Richter]] -->
| data379 = {{{v_p2528|{{{richter|}}} }}}
| label382 = {{GetLabelFix|P2784|lang={{{lang|}}}}}<!-- [[Escala de Mercalli]] -->
| data382 = {{{v_p2784|{{{mercalli|}}} }}}
| label385 = {{GetLabelFix|P4511|lang={{{lang|}}}}}<!-- Profunditat -->
| data385 = {{{v_p4511|{{{profunditat|}}} }}}
<!-- DESASTRE -->
| label388 = {{GetLabelFix|P2895|lang={{{lang|}}}}}<!-- Vents màxims -->
| data388 = {{{v_p2895|{{{vent|}}} }}}
| label391 = {{GetLabelFix|P2532|lang={{{lang|}}}}}<!-- Pressió mínima -->
| data391 = {{{v_p2532|{{{pressio|}}} }}}
| label394 = {{GetLabelFix|P8204|lang={{{lang|}}}}}<!-- tabular_case -->
| data394 = {{{v_p8204|}}}
| label397 = {{GetLabelFix|Q63971158|lang={{{lang|}}}}}<!-- v_index_case -->
| data397 = {{{v_p1660|}}}
| label400 = {{GetLabelFix|P8011|lang={{{lang|}}}}}<!-- v_medical_tests -->
| data400 = {{{v_p8011|}}}
| label403 = {{GetLabelFix|P1603|lang={{{lang|}}}}}<!-- v_number_cases -->
| data403 = {{{v_p1603|}}}
| label406 = {{GetLabelFix|P8049|lang={{{lang|}}}}}<!-- v_hospitalized_cases -->
| data406 = {{{v_p8049|}}}
| label409 = {{GetLabelFix|P8010|lang={{{lang|}}}}}<!-- v_number_recoveries -->
| data409 = {{{v_p8010|}}}
| label412 = {{GetLabelFix|P9107|lang={{{lang|}}}}}<!-- v_number_vaccinations -->
| data412 = {{{v_p9107|}}}
| label415 = {{GetLabelFix|P8045|lang={{{lang|}}}}}<!-- v_resposta_brot -->
| data415 = {{{v_p8045|}}}
| label418 = {{GetLabelFix|P2320|lang={{{lang|}}}}}<!-- Rèpliques -->
| data418 = {{{v_p2320|{{{repliques|}}} }}}
| label421 = {{GetLabelFix|P8032|lang={{{lang|}}}}}<!-- Morts -->
| data421 = {{{v_p8032|{{{victimes|}}} }}}
| label424 = {{GetLabelFix|P1120|lang={{{lang|}}}}}<!-- Morts -->
| data424 = {{{v_p1120|{{{morts|}}} }}}
| label427 = {{GetLabelFix|P1339|lang={{{lang|}}}}}<!-- Ferits -->
| data427 = {{{v_p1339|{{{ferits|}}} }}}
| label430 = {{GetLabelFix|P1446|lang={{{lang|}}}}}<!-- Desapareguts -->
| data430 = {{{v_p1446|{{{desapareguts|}}} }}}
| label433 = {{GetLabelFix|P1561|lang={{{lang|}}}}}<!-- Supervivents -->
| data433 = {{{v_p1561|{{{supervivents|}}} }}}
| label434 = {{GetLabelFix|P9924|lang={{{lang|}}}}}<!-- Evacuats -->
| data434 = {{{v_p9924|{{{evacuats|}}} }}}
| label436 = {{GetLabelFix|P3081|lang={{{lang|}}}}}<!-- Danys -->
| data436 = {{{v_p3081|{{{danys|}}} }}}
| label439 = {{GetLabelFix|P2630|lang={{{lang|}}}}}<!-- Danys econòmics -->
| data439 = {{{v_p2630|{{{danys_economics|}}} }}}
| label442 = {{GetLabelFix|P3082|lang={{{lang|}}}}}<!-- Destrucció -->
| data442 = {{{v_p3082|{{{destruccio|}}} }}}
<!-- PARTS IMPLICADES + Premis-->
| label445 = {{GetLabelFix|Q13557414|lang={{{lang|}}}}}<!-- Filmat per -->
| data445 = {{{v_recording|{{{filmat_per|}}} }}}
| label448 = {{GetLabelFix|P5436|lang={{{lang|}}}}}<!-- Espectadors/oients -->
| data448 = {{{v_p5436|{{{espectadors|}}} }}}
| label451 = {{GetLabelFix|P1110|lang={{{lang|}}}}}<!-- Assistents -->
| data451 = {{#ifeq:{{{v_p1110|{{{assistents|}}} }}}|{{{v_p5436|{{{espectadors|}}} }}}|<!-- res, duplicat -->|{{{v_p1110|{{{assistents|}}} }}}
}}
| label454 = {{GetLabelFix|P1346|lang={{{lang|}}}}}<!-- Guanyador -->
| data454 = {{Collapsible conditional list |{{{v_p1346|{{{guanyador|}}} }}} |{{if empty|{{{v_cllps_award|{{{desplega_premis|}}} }}}|180}} }}
| label457 = {{GetLabelFix|P2142|lang={{{lang|}}}}}<!-- Recaptació -->
| data457 = {{{v_p2142|{{{recaptacio|}}} }}}
<!-- ELECCIONS -->
| label460 = {{GetLabelFix|P541|lang={{{lang|}}}}}<!-- Càrrec a elegir -->
| data460 = {{{v_p541|{{{carrec|}}} }}}
| label463 = {{GetLabelFix|P726|lang={{{lang|}}}}}<!-- Candidats -->
| data463 = {{{v_p726|{{{candidats|}}} }}}
| label466 = {{GetLabelFix|P991|lang={{{lang|}}}}}<!-- Elegit -->
| data466 = {{{v_p991|{{{elegit|}}} }}}
<!-- CONTENDER DATA FROM MILITARY CONFLICT -->
| data467 = {{{v_military_conflict_participants|}}}
| label469 = {{GetLabelFix|P1840|lang={{{lang|}}}}}<!-- Investigacions -->
| data469 = {{{v_p1840|{{{investigacio|}}} }}}
| label472 = {{GetLabelFix|Q2741978|lang={{{lang|}}}}}<!-- Investigació judicial -->
| data472 = {{{v_judicial_investigation|{{{investigacio_judicial|}}} }}}
| label475 = {{GetLabelFix|P1592|lang={{{lang|}}}}}<!-- Investigador judicial -->
| data475 = {{{v_p1592|{{{instructor|}}} }}}
| label478 = {{GetLabelFix|Q224952|lang={{{lang|}}}}}<!-- Sospitosos -->
| data478 = {{{v_suspect|{{{sospitosos|}}} }}}
| label481 = {{GetLabelFix|Q18028810|lang={{{lang|}}}}}<!-- Perpetradors -->
| data481 = {{{v_p8031|{{{perpetrador|}}} }}}
| label484 = {{GetLabelFix|Q728|lang={{{lang|}}}}}<!-- Armes -->
| data484 = {{{v_p520|{{{armes|}}} }}}
| label487 = {{GetLabelFix|P5582|lang={{{lang|}}}}}<!-- Detinguts -->
| data487 = {{Collapsible conditional list|{{{v_p5582|{{{detinguts|}}} }}} |{{if empty|{{{v_cllps_judiciary|{{{desplega_judicial|}}} }}}|180}} }}
| label490 = {{GetLabelFix|Q8016240|lang={{{lang|}}}}}<!-- Litigi -->
| data490 = {{{v_trial|{{{litigi|}}} }}}
| label493 = {{GetLabelFix|P1620|lang={{{lang|}}}}}<!-- Demandant -->
| data493 = {{{v_p1620|{{{demandant|}}} }}}
| label496 = {{GetLabelFix|P1591|lang={{{lang|}}}}}<!-- Acusats --><!-- + P1399 + P1593 + P1595 -->
| data496 = {{Collapsible conditional list |{{{v_p1591|{{{acusats|}}} }}} |{{if empty|{{{v_cllps_judiciary|{{{desplega_judicial|}}} }}}|180}} }}
| label499 = {{GetLabelFix|P1595|lang={{{lang|}}}}}<!-- Càrrecs -->
| data499 = {{{v_p1595|{{{carrecs|}}} }}} <!-- + P585 + P642 + P276 + P1114 -->
| label502 = {{GetLabelFix|P1593|lang={{{lang|}}}}}<!-- Defensor -->
| data502 = {{{v_p1593|{{{defensor|}}} }}}
| label505 = {{GetLabelFix|P4884|lang={{{lang|}}}}}<!-- Tribunal -->
| data505 = {{{v_p4884|{{{tribunal|}}} }}}
| label508 = {{GetLabelFix|P1594|lang={{{lang|}}}}}<!-- Jutge -->
| data508 = {{{v_p1594|{{{jutge|}}} }}}
| label511 = {{GetLabelFix|Q13370881|lang={{{lang|}}}}}<!-- Veredicte -->
| data511 = {{{v_verdict|{{{veredicte|}}} }}}
| label514 = {{GetLabelFix|Q13219330|lang={{{lang|}}}}}<!-- Condemnats -->
| data514 = {{{v_convict|{{{condemnats|}}} }}}
| label517 = {{GetLabelFix|P1596|lang={{{lang|}}}}}<!-- Condemna -->
| data517 = {{{v_p1596|{{{condemna|}}} }}}
<!-- MÈDIA-->
| header530 = {{#if:{{{v_p10|{{{video|}}} }}} {{{v_p449|{{{canal|}}} }}}
{{{audiència|}}} {{{v_p51|{{{audio|}}} }}}
| {{GetLabelFix|Q340169|lang={{{lang|}}}}}<!-- Mèdia -->}}
| label533 = {{GetLabelFix|P449|lang={{{lang|}}}}}<!-- Canal -->
| data533 = {{{v_p449|{{{canal|}}} }}}
| data536 = {{#if:{{{v_p10|{{{video|}}} }}} | [[File:{{{v_p10|{{{video|}}} }}} |280px]]}}
| label539 = {{GetLabelFix|P3301|lang={{{lang|}}}}}<!-- Transmès per -->
| data539 = {{Collapsible conditional list |{{{v_p3301|{{{transmes_per|}}} }}}
|{{if empty|{{{v_cllps_participant|{{{desplega_participants|}}} }}}|180}} }}
| data542 = {{#if: {{{v_p51|{{{audio|}}} }}} | [[File:{{{v_p51|{{{audio|}}} }}}|center]] {{#if: {{{v_p51_caption|{{{peu_audio|}}}}}} | <p style="font-size:90%; text-align:center;">{{{v_p51_caption|{{{peu_audio|}}}}}}</p> }} }}
| header545 = {{#if: {{{v_p793|{{{cronologia|}}} }}}|{{GetLabelFix|Q130788|lang={{{lang|}}} }} }}
| data548 = {{{v_p793|{{{cronologia|}}} }}}
| header551 = {{#if: {{{v_p2670|{{{elements|}}} }}} |{{GetLabelFix|Q55107540|editicon=no|lang={{{lang|}}}}} <!-- Altres elements -->}}
<!-- Variables comodí dins la P2670 -->
<!--| label548 = {{GetLabelFix|Q11704055|lang={{{lang|}}}}} Estands -->
| data554 = {{{v_p2670|{{{elements|}}} }}}
<!-- P527 format_per. Llista variable amb continguts subordinats que podrien ser tractats també amb aquesta infotaula. Exemple:
Orde/rangs i els seus diferents guardons
Cerimònia premis i els seus premis
Atemptats i els seus episodis, etc.
Es mostra en dos formats: 1 sola columna (data) quan no té cap qualificador, llevat les dates i l'emblema que ess mostren junt amb el nom
2 cols. (label+data) quan té altres qualificadors; label=emblema P2425 + valor de P527 i data= els qualificadors que tingui
El qualificador P1545 (ordre dins sèrie) no es mostra, només serveix per ordenar els continguts de P527 quan no són cronològics.
-->
| header557 = {{#if:{{{v_p527|{{{formatper|}}} }}} |{{GetLabelFix|P527|lang={{{lang|}}}}}<!-- Format per -->}}
| data560 = {{Collapsible conditional list |{{{v_p527|{{{formatper|}}} }}}|{{if empty|{{{v_cllps_haspart|{{{desplega_formatper|}}} }}}|180}} }}
<!-- ADDICIONAL -->
| label563 = {{GetLabelFix|P9376|lang={{{lang|}}}}}
| data563 = {{{v_p9376|{{{resum_llei|}}} }}}
| label566 = {{{v_label|{{{etiqueta|}}} }}}
| data566 = {{{v_data|{{{dada|}}} }}}
| label569 = {{{v_label1|{{{etiqueta1|}}} }}}
| data569 = {{{v_data1|{{{dada1|}}} }}}
| label572 = {{{v_label2|{{{etiqueta2|}}} }}}
| data572 = {{{v_data2|{{{dada2|}}} }}}
| header575 = {{#if:{{{v_p3259|{{{bloc_proteccions|}}} }}} |{{GetLabelFix|Q210272|lang={{{lang|}}}}}<!-- Proteccions patrimonials -->}}
| data578 = {{{v_p3259|{{{bloc_proteccions|}}} }}}
| data581 = <span style="float:center;">{{{v_below_image|{{{vista|}}} }}}</span>
| data584 = {{#if:{{{v_notes|{{{notes|}}} }}} |<hr>}}
| data587 = {{{v_notes|{{{notes|}}} }}}
<!-- XARXES-->
| header590 = {{#if:{{{v_p856|{{{lloc_web|}}} }}} {{{v_identifiers|{{{xarxes|}}} }}}
{{{v_p953|{{{text_complet|}}} }}}
| <hr>}}
| label593 = {{GetLabelFix|P953|lang={{{lang|}}}}}<!-- URL de text complet -->
| data593 = {{{v_p953|{{{text_complet|}}} }}}
| label596 = {{GetLabelFix|Q35127|lang={{{lang|}}}}}<!-- Lloc web -->
| data596 = {{{v_p856|{{{lloc_web|}}} }}}
| label599 = {{GetLabelFix|Q278485|lang={{{lang|}}}}}<!-- Etiqueta de Twitter -->
| data599 = {{{v_hashtag|{{{hashtag|}}} }}}
| data602 = {{{v_identifiers|{{{xarxes|}}} }}}
}}
lbbwvzl66ng0ys0oo6jwgou1jxqpehu
فرما:Infotaula/Columnes
10
32575
150919
2026-08-31T18:56:25Z
آیات محراج
11062
Content copied from catalan wiki
150919
wikitext
text/x-wiki
{{#if:{{{1|}}}{{{2|}}}{{{3|}}}|<table class="{{{classe|plainlist}}}" style="{{{estil|width:100%; text-align:left; border:0; margin:0; padding:0;font-size:92%;}}}">{{#if:{{{titol|}}}|<tr>
<th colspan="2" style="{{{estiltitol|text-align:left;}}}">{{{titol|}}}</th>}}
<tr>
<td style="{{#if:{{{3|}}}|width:33%; |width:50%; }}{{{estil1|}}}">{{{1|}}}</td>
<td style="{{{estil2|padding-left:5px;border-left:1px dotted #aaa;}}}{{#if:{{{3|}}}|width:33%|width:50%}}">{{{2|}}}</td><!--
-->{{#if: {{{3|}}}|<td style="{{{estil3|padding-left:5px;border-left:1px dotted #aaa;}}}{{#if:{{{3|}}}|width:33%|width:50%}}">{{{3|}}}</td>}}
</tr></table>}}<noinclude>[[زٲژ:Subpàgines d'infotaules|Columnes]]</noinclude>
7gm4a1iy4xkpwpdnocemqiks2nkkwpy
زٲژ:2011 واقعات
14
32576
150926
2026-08-31T19:31:45Z
آیات محراج
11062
Created page with "[[زٲژ: واقعات]]"
150926
wikitext
text/x-wiki
[[زٲژ: واقعات]]
cycktorgus0976mz714md0h3wwv2l3b
فرما:FormatDate start end
10
32577
150928
2026-08-31T19:38:24Z
آیات محراج
11062
Content copied from catalan wiki
150928
wikitext
text/x-wiki
<noinclude><pre>This sub-template handle, by default, the basic functions when it is called without <format> parameter or
when the specific sub-template for the <format> doesn't exist.
Although the main object of Template:FormatDate_start_end is to present a compressed format for a range of dates
avoiding month and year redundancy, the different output formats according with each language, must be handle by an
specific sub-template.
Input parameters:
* format: name (suffix) of sub-template to build specific format
* start : property for start date of range; default is P580
* end : property for end date of range; default is P582
* place : property for qualifier of dates depicting place where happend; default is no place
* separator: digits to show between dates. default is -
</pre></noinclude><includeonly><!--
-->{{if both | {{{format|}}} | {{#ifexist: Template:FormatDate_start_end/{{{format|}}}|XX}}
| {{FormatDate_start_end/{{{format|}}} |start={{if empty|{{{start|}}}|{{{inici|}}}|P580}}
|end ={{if empty|{{{end|}}}|{{{final|}}}|P582}}
|place={{{place|}}}|item={{{item|}}} |lang={{{lang|}}} }}
<!-- Without <format>, begin of procedure to build a standard format "start_date - end_date"
If {{{place|}}} is present, its result is shown before date -->
| {{#if:{{#property:{{{start|P580}}}|from={{{item|}}}}}
<!-- data - data -->| {{#invoke:Wikidades|claim|property={{{start|P580}}} |qualifier={{{place|}}}
|list=false |formatting=table
|rowformat={{#if:{{{place|}}}|$1}} $0 |rowsubformat1=$1,}}{{{separator| - }}}<!--
-->{{#invoke:Wikidades|claim|property={{{end|P582}}} |qualifier={{{place|}}}
|list=false |formatting=table |editicon=no
|rowformat={{#if:{{{place|}}}|$1}} $0 |rowsubformat1=$1,}}
<!-- només final -->| {{#if:{{#property:{{{end|P582}}}|from={{{item|}}}}}
|?{{{separator| - }}}{{#invoke:Wikidades|claim|property={{{end|P582}}}
|qualifier={{{place|}}} |list=false<!--
-->|formatting=table |rowformat={{#if:{{{place|}}}|$1}} $0 |rowsubformat1=$1,}}
}}<!-- end IF exists <end property>
-->}}<!-- end IF exists <start property>
-->}}<!-- end IF exists <format> -->
</includeonly><noinclude>{{documentation}}</noinclude>
jhvbwojlv5u46w0v7nnnwgynzqqerro
ایبریائی جزیرہ نما منٛز بجلی ہنٛد بندش 2025
0
32578
150936
2026-09-01T04:20:14Z
آیات محراج
11062
[[ایبریائی جزیرہ نما منٛز بجلی ہنٛد بندش 2025]] صَفہٕ آو پَکناونہٕ [[اَیبریٲیی جزیرہ نما منٛز بجلی ہنٛد بندش 2025]] جاے، پَکناوَن وول صٲرف آیات محراج
150936
wikitext
text/x-wiki
#REDIRECT [[اَیبریٲیی جزیرہ نما منٛز بجلی ہنٛد بندش 2025]]
6bmnhpz14z45bqof01ksgnx2701nxwb
بَرِصَغیٖر ہِند
0
32579
150945
2026-09-01T07:27:10Z
Peter Ormond
7979
[[بَرِصَغیٖر ہِند]] صَفہٕ آو پَکناونہٕ [[بَرِصَغیٖر ہِنٛد]] جاے، پَکناوَن وول صٲرف Peter Ormond : نٛ
150945
wikitext
text/x-wiki
#REDIRECT [[بَرِصَغیٖر ہِنٛد]]
hz7v7bjpye5e9k87mmiig8yvtlhkq1q