Вікімандри
ukwikivoyage
https://uk.wikivoyage.org/wiki/%D0%93%D0%BE%D0%BB%D0%BE%D0%B2%D0%BD%D0%B0_%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D0%B0
MediaWiki 1.47.0-wmf.7
first-letter
Медіа
Спеціальна
Обговорення
Користувач
Обговорення користувача
Вікімандри
Обговорення Вікімандрів
Файл
Обговорення файлу
MediaWiki
Обговорення MediaWiki
Шаблон
Обговорення шаблону
Довідка
Обговорення довідки
Категорія
Обговорення категорії
Портал
Обговорення порталу
TimedText
TimedText talk
Модуль
Обговорення модуля
Подія
Обговорення події
Модуль:Quickbar
828
2792
42739
24845
2026-06-19T12:51:15Z
Repakr
7013
переклад
42739
Scribunto
text/plain
local function starts_with(str, start)
return str:sub(1, #start) == start
end
local function renderRow(heading, value)
return '|-\n| class="info" | \'\'\'' .. heading .. '\'\'\'\n| style="padding-right:5px;" | ' .. value .. '\n'
end
local function renderLinkedClaim(id)
local linkTarget = mw.wikibase.sitelink(id)
local linkName = mw.wikibase.label(id)
if linkTarget == nil then
return linkName
else
return '[[' .. linkTarget .. '|' .. linkName .. ']]'
end
end
local function rSimple(item, property)
return item:formatPropertyValues( property ).value
end
local lang = mw.language.getContentLanguage()
local thousands = {'', 'тис.', 'млн.', 'млрд.'}
local function sigfigs(num)
local digits = math.floor(math.log10(num) / 3)
if digits <= 0 then
return lang:formatNum(num)
end
num = math.floor(num / math.pow(10, 3 * digits -1)) / 10
local result = lang:formatNum(num)
result = result .. ' ' .. thousands[digits+1]
-- if num ~= 1 then
-- result = result .. 's'
-- end
return result
end
local function rPopulation(item, property, frame)
local s = item:getBestStatements( property )[1]
local result = sigfigs( tonumber(s.mainsnak.datavalue.value.amount) )
if s.qualifiers ~= nil and s.qualifiers['P585'] ~= nil and #s.qualifiers['P585'] > 0 then
result = result .. ' (' .. string.match(s.qualifiers['P585'][1].datavalue.value.time, '0*([1-9][0-9]+)\-', 1) .. ')'
end
return result
end
local function rElectricity(item, property)
local claims = item:getBestStatements( property )
local voltage = {}
for _,s in pairs(claims) do
local v = mw.wikibase.renderSnak( s.mainsnak )
if s.qualifiers ~= nil and s.qualifiers['P2144'] ~= nil and #s.qualifiers['P2144'] > 0 then
v = v .. ' / ' .. mw.wikibase.renderSnak(s.qualifiers['P2144'][1])
end
table.insert(voltage, v)
end
local result = table.concat(voltage, ' and ')
if #item:getBestStatements('P2853') > 0 then
result = result .. ' (' .. item:formatPropertyValues( 'P2853' ).value .. ')'
end
return result
end
local function claimOrLabel(id, property)
local item = mw.wikibase.getEntity( id )
if #item:getBestStatements( property ) > 0 and item:getBestStatements( property )[1].mainsnak.datavalue ~= nil then
return mw.wikibase.renderSnak( item:getBestStatements( property )[1].mainsnak )
end
return item:getLabel()
end
local function rCurrency(item, property)
local claims = item:getBestStatements(property)
local result = {}
for _, claim in pairs(claims) do
local id = 'Q' .. claim.mainsnak.datavalue.value['numeric-id']
local currency = mw.wikibase.getEntity( id )
local subresult = currency:getLabel()
local symbol = claimOrLabel( id, 'P498' )
if symbol ~= currency:getLabel() then
subresult = subresult .. ' (' .. symbol .. ')'
end
-- if #currency:getBestStatements('P2284') > 0 then
-- for _, price in pairs(currency:getBestStatements('P2284')) do
-- if tonumber(price.mainsnak.datavalue.value.amount) ~= 0 then
-- subresult = subresult .. '<br/>1 '..symbol..' = '.. string.format('%.4f', price.mainsnak.datavalue.value.amount ) .. ' ' .. claimOrLabel(string.match(price.mainsnak.datavalue.value.unit , 'Q%d+$'), 'P498')
-- end
-- end
-- end
table.insert(result, subresult)
end
return table.concat(result, '<br/>')
end
local function rEmergency(item, property)
local claims = item:getBestStatements( property )
local result = {}
for _, claim in pairs(claims) do
local id = 'Q' .. claim.mainsnak.datavalue.value['numeric-id']
local res = claimOrLabel(id, 'P1329')
if claim.qualifiers ~= nil and claim.qualifiers['P366'] ~= nil and #claim.qualifiers['P366'] > 0 then
local usage = {}
for _, qual in pairs(claim.qualifiers['P366']) do
table.insert( usage, mw.wikibase.renderSnak(qual) )
end
res = res .. ' (' .. table.concat(usage, ', ') .. ')'
end
table.insert(result, res)
end
return table.concat(result, ', ')
end
local function rTimezones(item, property)
local claims = item:getBestStatements( property )
if #claims > 3 then
local minEntity = nil
local maxEntity = nil
local minOffset = 20
local maxOffset = -20
local unknownTZs = {}
for _, claim in pairs(claims) do
local e = mw.wikibase.getEntity('Q' .. claim.mainsnak.datavalue.value['numeric-id'] )
if #e:getBestStatements( 'P2907' ) == 1 then
local val = tonumber( e:getBestStatements( 'P2907' )[1].mainsnak.datavalue.value.amount )
if val < minOffset then
minOffset = val
minEntity = e
end
if val > maxOffset then
maxOffset = val
maxEntity = e
end
else
table.insert(unknownTZs, e:getLabel())
end
end
if minEntity ~= nil and maxEntity ~= nil and minOffset ~= maxOffset then
local r = minEntity:getLabel() .. ' to ' .. maxEntity:getLabel()
if #unknownTZs > 0 then
r = r .. ' and ' .. table.concat(unknownTZs, ', ')
end
return r
end
end
return rSimple(item, property)
end
local function rSingleLinked(item, property)
if item:getBestStatements( property )[1].mainsnak.datavalue ~= nil then
return renderLinkedClaim('Q'..item:getBestStatements( property )[1].mainsnak.datavalue.value['numeric-id'])
else
return nil
end
end
local function rLinked(item, property)
local claims = item.claims[property]
local result = {}
for _, claim in pairs(claims) do
local id = 'Q' .. claim.mainsnak.datavalue.value['numeric-id']
table.insert(result, renderLinkedClaim(id))
end
return table.concat(result, ', ')
end
local conf = {
{'capital', 'Столиця', 36, rSingleLinked},
{'currency', 'Валюта', 38, rCurrency},
{'population', 'Населення', 1082, rPopulation},
{'electricity', 'Електрика', 2884, rElectricity},
{'callingcode', 'Телефонний код', 474, rSimple},
{'timezone', '[[Список часових поясів|Часовий пояс]]', 421, rTimezones},
{'emergencies', 'Екстренна служба', 2852, rEmergency},
{'driving side', 'Напрям дорожнього руху', 1622, rSimple}
}
local p = {}
function p.quickbar( frame )
local parentArgs = frame:getParent().args
local elements = {}
local item = mw.wikibase.getEntity( )
local useWikidata = (item ~= nil and item.claims ~= nil)
local missingInfo = false
local locationMap = parentArgs['location']
if (locationMap and starts_with(locationMap, '#Q')) then
item = mw.wikibase.getEntity(locationMap:gsub("#", ""))
locationMap = nil
end
if (locationMap ~= nil and locationMap ~= '') or (useWikidata and item.claims['P242'] ~= nil and item.claims['P242'][1] ~= nil) then
if useWikidata and (locationMap == nil or locationMap == '') then
locationMap = mw.wikibase.renderSnak( item:getBestStatements('P242')[1].mainsnak )
end
table.insert(elements, '| colspan="2" style="text-align:center; padding:0" | [[File:' .. locationMap .. '|250px]]\n' )
else
missingInfo = true
end
item = mw.wikibase.getEntity( )
for _, params in pairs( conf ) do
if params[3] ~= 0 then
local val = parentArgs[params[1]]
if (val and starts_with(val, '#Q')) then
item = mw.wikibase.getEntity(val:gsub("#", ""))
val = nil
end
if val == '' or val == nil then
if useWikidata and #item:getBestStatements('P' .. params[3]) > 0 then
val = params[4]( item, 'P' .. params[3], frame)
if val ~= nil then
table.insert( elements, renderRow(params[2], val) )
else
missingInfo = true
end
else
missingInfo = true
end
else
table.insert(elements, renderRow(params[2], val) )
end
end
item = mw.wikibase.getEntity( )
end
local editRow = ''
if item ~= nil then
editRow = '|-\n| colspan="2" class="info footer" |[[:d:'.. item.id .. '|редагувати у Вікіданих]]\n'
end
if #elements > 0 then
if missingInfo == true and mw.title.getCurrentTitle().namespace == 0 then
table.insert(elements, '[[Category:Quickbar with missing information]]\n')
end
return frame:extensionTag {name = 'templatestyles', args = {src = 'Quickbar/styles.css'}} .. '<div id="quickbar" class="wv-quickbar floatright">\n{| cellpadding="0" cellspacing="0"\n|-\n' ..
table.concat(elements) ..
'\n'.. editRow.. '|}</div>'
else
if mw.title.getCurrentTitle().namespace == 0 then
return '[[Category:Quickbar with missing information]]\n'
end
return ''
end
end
return p
kuaeqw20c6kghcm1uuz7lbnvh7p0l0u
Шаблон:Quickbar/styles.css
10
2793
42738
24802
2026-06-19T12:49:40Z
Repakr
7013
Підтримка темного режиму
42738
sanitized-css
text/css
@media all and (max-width:640px) {
.wv-quickbar {
clear:none !important;
float:none !important;
margin:0 !important;
width:100% !important;
}
}
.wv-quickbar table {
font-size:85%;
background-color:var(--background-color-neutral-subtle, #f8f9fa);
color: inherit;
border:1px solid var(--border-color-subtle, #c8ccd1);
width:250px;
}
.wv-quickbar .info {
vertical-align:top;
padding:0 5px;
white-space:nowrap;
}
.wv-quickbar .footer {
margin-top:5px;
border-top:1px solid var(--border-color-subtle, #c8ccd1);
text-align:right;
}
9o0ba2qwflhom4yfmb6xyqpm2ishez0
Обговорення користувача:Assyrian Human
3
3895
42740
41731
2026-06-19T19:42:44Z
Leaderbot
7156
/* Notice of expiration of your sysop right */ нова тема
42740
wikitext
text/x-wiki
{{welcome}}--[[Користувач:Сергій Липко|Сергій Липко]] ([[Обговорення користувача:Сергій Липко|обговорення]]) 00:51, 1 червня 2024 (EEST)
== Банер до статті «Кримськотатарський розмовник» ==
Добрий день!
Дякую Вам за додання банера до статті «Кримськотатарський розмовник». Але було б доцільніше, щоб його текст був кримськотатарською латинкою, як і сам розмовник. [[Користувач:MarianaSenkiv|MarianaSenkiv]] ([[Обговорення користувача:MarianaSenkiv|обговорення]]) 21:57, 1 вересня 2024 (EEST)
== Важливо: проголосуйте на виборах Ради повірених Фонду Вікімедіа! ==
Доброго вечора!
До 23:59 17 вересня 2024 (UTC) тривають вибори '''чотирьох''' представників спільноти Вікімедіа до [[:m:Wikimedia Foundation Board of Trustees/uk|Ради повірених Фонду Вікімедіа]]. Усього є 12 кандидатів.
Саме через ці вибори спільноти Вікіпедії та сестринських проєктів можуть впливати на те, як приймає рішення Фонд Вікімедіа. Можливо, протягом минулого року ви бачили повідомлення про [[:m:Movement Charter/uk|Хартію руху]] або [[:m:Universal Code of Conduct/uk|Універсальний кодекс поведінки]] — це приклади документів, щодо яких голосує Рада повірених Фонду. Детальне пояснення, чому ці вибори потрібні, є тут: [[:w:Вікіпедія:Чому вибори до Фонду Вікімедіа важливі]].
Голосування рейтингове, вам слід розмістити кандидатів за пріоритетом від 1 (найвищий, найбільше хотілося б бачити у Раді) до 12 (найнижчий, найменше хотілося б бачити у Раді).
Для зручності в українській Вікіпедії є '''[[:w:Вікіпедія:Вибори Вікімедіа-2024|коротка таблиця з оглядом українською програм кандидатів, їхнього досвіду та активності у вікіпроєктах та у русі Вікімедіа]]'''.
Ви можете також ознайомитися з детальнішою інформацією про кандидатів:
* Повні біографії та програми кандидатів (переважно перекладені українською): [[:m:Wikimedia Foundation elections/2024/uk]].
* Обговорення кандидатів у Кнайпі української Вікіпедії: [[:w:Вікіпедія:Кнайпа (різне)#Почалися (важливі) вибори до Ради повірених Фонду Вікімедіа]].
* [https://www.youtube.com/watch?v=QfbjhJiy41E&list=PLhV3K_DS5YfJdC5P86rsDsUtxEow0gDnR&t=6582s Відео презентацій кандидатів на Вікіманії] (англійською)
<big>'''[[:m:Special:SecurePoll/vote/400|Натисніть тут, щоб проголосувати]]'''.</big>
На попередніх виборах українська спільнота мала явку серед найвищих у світі ([[:m:Wikimedia Foundation elections 2015/Stats|25%]] в 2015, [[:m:Wikimedia Foundation elections/2017/Stats|27%]] у 2017, [[:m:Wikimedia Foundation elections/2021/Stats|22%]] у 2021), і лише російське повномасштабне вторгнення збило явку до [[:m:Wikimedia Foundation elections/2022/Stats|10%]] в 2022. Станом на вчора (коли минула половина терміну голосування) явка української спільноти була лише близько 3%.
Дякую за активність та сподіваюся на вашу участь у голосуванні! — [[Користувач:NickK|NickK]] ([[Обговорення користувача:NickK|обговорення]]) 02:16, 13 вересня 2024 (EEST)
== Share Your Feedback – Wiki Loves Ramadan 2025 ==
Dear Assyrian Human
Thank you for being a part of '''[[m:Special:MyLanguage/Wiki Loves Ramadan 2025|Wiki Loves Ramadan 2025]]''' — whether as a contributor, jury member, or local organizer. Your efforts helped make this campaign a meaningful celebration of culture, heritage, and community on Wikimedia platforms.
To help us improve and grow this initiative in future years, we kindly ask you to complete a short '''feedback form'''. Your responses are valuable in shaping how we support contributors like you.
* '''Feedback Form:''' [https://docs.google.com/forms/d/e/1FAIpQLSdXEtaqszxcwmTJa8pGT60E7GDtpbssNadR9vZFVFbLicGFBg/viewform Submit your feedback here]
* '''Deadline to submit:''' 31 May 2025
It will only take a few minutes to complete, and your input will directly impact how we plan, communicate, and collaborate in the future.
Thank you again for your support. We look forward to having you with us in future campaigns!
Warm regards,<br/>
''Wiki Loves Ramadan International Team'' 11:51, 19 травня 2025 (EEST)
<!-- Повідомлення надіслано користувачем ZI Jony@metawiki з використанням списку розсилки на сторінці у https://meta.wikimedia.org/w/index.php?title=User:ZI_Jony/MassMessage/WLR/List/Participants&oldid=28751574 -->
== Congratulations! You’re Among the Top 25 Contributors of Wiki Loves Ramadan 2025 🎉🌙 ==
Dear Assyrian Human,
We’re excited to inform you that you have been selected as one of the '''Top 25 Contributors''' of the [[m:Wiki Loves Ramadan 2025|Wiki Loves Ramadan 2025]] international campaign! Your remarkable dedication and contributions truly stood out among hundreds of participants across the globe.
To help us document your experience and improve future editions, we kindly request you to take a moment to fill out our short feedback form:
📋 Feedback Form:
https://docs.google.com/forms/d/e/1FAIpQLSdXEtaqszxcwmTJa8pGT60E7GDtpbssNadR9vZFVFbLicGFBg/viewform
After completing the feedback, please request your Top 25 Digital Certificate of Appreciation using this form:
📄 Top 25 Certificate Form:
https://docs.google.com/forms/d/e/1FAIpQLSepqMajvCTl3XA1xbFbTsPDJO_yxCro4mdU9UzA5T1GfLWl2w/viewform
Thank you once again for your contributions to this campaign. We are proud to have you as part of the Wiki Loves Ramadan community.
Warm regards,<br/>
Wiki Loves Ramadan International Team
<!-- Повідомлення надіслано користувачем ZI Jony@metawiki з використанням списку розсилки на сторінці у https://meta.wikimedia.org/w/index.php?title=User:ZI_Jony/MassMessage/WLR/List/2025_TOP_25&oldid=28893400 -->
== щодо вандалів ==
то одразу пінгуйте, щоб запобігти надалі їх діям. Я принаймні одразу побачу пінг як це відбулось вчора. [[Користувач:Jphwra|Jphwra]] ([[Обговорення користувача:Jphwra|обговорення]]) 08:28, 15 листопада 2025 (EET)
== Порада ==
раджу вам податись на адміни Вікімандрів, так буде набагато краще і для тих хто більше задіяний у вікіпедії і для вас як активного редактора тут. Там нічого складного але функціоналу набагато більше. Тож подавайтесь в адміни. [[Користувач:Jphwra|Jphwra]] ([[Обговорення користувача:Jphwra|обговорення]]) 21:18, 16 березня 2026 (EET)
<br/>подайтн заявку та й годі. Бо це безкінечено буде а я і без того вже виснажений. --[[Користувач:Jphwra|Jphwra]] ([[Обговорення користувача:Jphwra|обговорення]]) 21:57, 17 березня 2026 (EET)
<br/>на сьомий день заявки подайте заявку стюардам, це розділом вище ніж я подавав на зняття (можна глянути в глобальному моєму внескку). Удачі. --[[Користувач:Jphwra|Jphwra]] ([[Обговорення користувача:Jphwra|обговорення]]) 12:46, 21 березня 2026 (EET)
== 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-06-25 23:38:23. 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|обговорення]]) 22:42, 19 червня 2026 (EEST)</div>
0othl4398xgnyz85uj2bggdcznh1f20