Ero sivun ”Moduuli:Viikon kilpailu kriteerit” versioiden välillä
Siirry navigaatioon
Siirry hakuun
[katsottu versio] | [katsottu versio] |
Poistettu sisältö Lisätty sisältö
add criterion_new (message need to be translated) |
namespace criterion: special case for articles |
||
Rivi 28: | Rivi 28: | ||
['bytes_criterion'] = 'joita laajennetaan vähintään %s tavulla', |
['bytes_criterion'] = 'joita laajennetaan vähintään %s tavulla', |
||
['namespace_criterion'] = 'jotka sijaitsevat nimiavaruudessa %s', |
['namespace_criterion'] = 'jotka sijaitsevat nimiavaruudessa %s', |
||
['namespace_criterion_articles'] = 'artikkeleihin', |
|||
['new_criterion'] = 'jotka aloitetaan kilpailun aikana', |
['new_criterion'] = 'jotka aloitetaan kilpailun aikana', |
||
['new_criterion_with_redirects'] = 'jotka aloitetaan kilpailun aikana (including redirects)', |
['new_criterion_with_redirects'] = 'jotka aloitetaan kilpailun aikana (including redirects)', |
||
Rivi 146: | Rivi 147: | ||
-- kriterium_navnerom |
-- kriterium_navnerom |
||
function uk.criterion_namespace(args) |
function uk.criterion_namespace(args) |
||
if args[1] == 0 then |
|||
⚫ | |||
return messages['namespace_criterion_articles'] |
|||
else |
|||
⚫ | |||
end |
|||
end |
end |
||
Versio 28. lokakuuta 2014 kello 00.33
Methods for {{Viikon kilpailu kriteerit}}
Code | Result |
---|---|
{{#invoke:Viikon kilpailu kriteerit|criterion|uusi}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|uusi|redirects=1}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|löytyvä}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|tynkä}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|tavut|1000}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|nimiavaruus|14}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|nimiavaruus|0|10}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|takaisinlinkitys|Luettelo Nobel-palkituista henkilöistä}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|edelleenlinkitys|Bergen}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|malline|Selvennä}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|malline|Viitteetön|Lähteetön}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|luokka|Islanti}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|luokka|Islanti|se:Islánda|be:Ісландыя}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|luokka|Nisäkkäät|ignore=Ihminen,Sukupuuttoon kuolleet nisäkkäät}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|sivut|Islanti|Grönlanti}}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|sparql|query=?item wdt:P31 wd:Q146. }}
|
Virhe: Virheellinen/tuntematon kriteeri |
{{#invoke:Viikon kilpailu kriteerit|criterion|sparql|query=?item wdt:P31 wd:Q146. |description=about cats }}
|
Virhe: Virheellinen/tuntematon kriteeri |
Methods for {{Viikon kilpailu pisteet}}
Code | Result |
---|---|
{{#invoke:Viikon kilpailu kriteerit|rule|uusi|20}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|ohjaus|1}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|qualified|2}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|edit|1}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|tavu|0.1}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|tavu|1|max=100}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|tavubonus|20|3000}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|sana|3}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|sana|3|max=100}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|sanabonus|20|3000}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|kuva|3}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|kuva|3|max=100}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|kuva|3|max=100|ownimage=10}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|kuva|3|max=100|ownimage=10|initialimagelimit=0}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|ref|3|1}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|ref|3|1|max=100}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|mallineen poisto|10| Viitteetön | Lähteetön }}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|exlink|3}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|exlink|2|max=10}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|osio|10|Lähteet|Viitteet}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|osio|10|Lähteet|Viitteet|description=lähdeosiosta}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|wikidata|2|properties=P18,P2096}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|wikidata|2|properties=P569|require_reference=yes}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|wikidata|2|max=10|properties=P569|all=yes}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|wikidata|2|labels=nb,nn,se}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|wikidata|2|aliases=nb,nn,se}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
{{#invoke:Viikon kilpailu kriteerit|rule|wikidata|2|descriptions=nb,nn,se}}
|
Komentosarjavirhe: Funktiota ”rule” ei ole. |
uk = {}
local messages = {
['or'] = 'tai',
['error_no_x_given'] = 'No %s given',
['error_no_valid_criterion_given'] = 'Virheellinen/tuntematon kriteeri',
['templates'] = 'templates',
['template_criterion_singular'] = 'jotka on merkitty %s',
['template_criterion_plural'] = 'jotka on merkitty %s',
['categories'] = 'categories',
['category_criterion_singular'] = 'jotka sijaitsevat luokassa %s',
['category_criterion_plural'] = 'jotka sijaitsevat luokissa %s',
['backlinks'] = 'backlinks',
['backlink_criterion_singular'] = 'joihin johtaa linkki sivulta %s',
['backlink_criterion_plural'] = 'joihin johtaa linkki sivuilta %s',
['forwardlinks'] = 'forwardlinks',
['forwardlink_criterion_singular'] = 'joissa on linkki sivulle %s',
['forwardlink_criterion_plural'] = 'joissa on linkki sivuille %s',
['pages'] = 'pages',
['page_criterion_singular'] = '%s',
['page_criterion_plural'] = '%s',
['bytes_criterion'] = 'joita laajennetaan vähintään %s tavulla',
['namespace_criterion'] = 'jotka sijaitsevat nimiavaruudessa %s',
['namespace_criterion_articles'] = 'artikkeleihin',
['new_criterion'] = 'jotka aloitetaan kilpailun aikana',
['new_criterion_with_redirects'] = 'jotka aloitetaan kilpailun aikana (including redirects)',
['existing_criterion'] = 'jotka ovat olemassa ennen kilpailun aloituspäivämäärää',
['stub_criterion'] = 'joista poistetaan tynkämalline',
}
local config = {
['template_link_template'] = 'Tl',
['error_message_template'] = 'Virhe',
['arguments'] = {
['new'] = 'uusi',
['existing'] = 'löytyvä',
['stub'] = 'tynkä',
['bytes'] = 'tavut',
['namespace'] = 'nimiavaruus',
['category'] = 'luokka',
['template'] = 'malline',
['backlink'] = 'takaisinlinkitys',
['forwardlink'] = 'edelleenlinkitys',
['page'] = 'sivut',
}
}
local category_prefix = {
['be'] = 'be:Катэгорыя',
['se'] = 'se:Kategoriija',
['nn'] = 'nn:Kategori',
['no'] = 'no:Kategori',
['default'] = 'Luokka'
}
-- format_kriterium
function uk.format_criterion(singular, plural, items)
if #items > 1 then
return string.format(messages[singular .. '_criterion_plural'],
mw.text.listToText(items, ', ', ' ' .. messages['or'] .. ' '))
elseif #items == 1 then
return string.format(messages[singular .. '_criterion_singular'], items[1])
else
return string.format('{{%s|' .. messages['error_no_x_given'] .. '}}',
config['error_message_template'], messages[plural])
end
end
function uk.pagelist(args)
local r = {}
for i, v in ipairs(args) do
v = mw.text.trim(v)
if v ~= '' then
local lang, page = string.match(v, '^([a-z\]+):(.+)$')
if lang then
table.insert(r, string.format('[[:%s:%s|%s]]', lang, page, page))
else
table.insert(r, string.format('[[:%s]]', v))
end
end
end
return r
end
-- kriterium_maler
function uk.criterion_templates(args)
local r = {}
for i, v in ipairs(args) do
v = mw.text.trim(v)
if v ~= '' then
local m, n = string.match(v, '^([a-z\]+):(.+)$')
if m then
table.insert(r, string.format('{{%s|%s|%s}}', config['template_link_template'], n, m))
else
table.insert(r, string.format('{{%s|%s}}', config['template_link_template'], v))
end
end
end
return uk.format_criterion('template', 'templates', r)
end
-- kriterium_kategorier
function uk.criterion_categories(args)
local r = {}
for i, v in ipairs(args) do
v = mw.text.trim(v)
if v ~= '' then
local lang = 'default'
local name = v
local m, n = string.match(v, '^([a-z\]+):(.+)$')
if m then
lang = m
name = n
end
table.insert(r, string.format('[[:%s:%s|%s]]', category_prefix[lang], name, name, name))
end
end
return uk.format_criterion('category', 'categories', r)
end
-- kriterium_tilbakelenke
function uk.criterion_backlinks(args)
return uk.format_criterion('backlink', 'backlinks', uk.pagelist(args))
end
-- kriterium_fremlenke
function uk.criterion_forwardlinks(args)
return uk.format_criterion('forwardlink', 'forwardlinks', uk.pagelist(args))
end
-- kriterium_enkeltsider
function uk.criterion_pages(args)
return uk.format_criterion('page', 'pages', uk.pagelist(args))
end
-- kriterium_bytes
function uk.criterion_bytes(args)
return string.format(messages['bytes_criterion'], args[1])
end
-- kriterium_navnerom
function uk.criterion_namespace(args)
if args[1] == 0 then
return messages['namespace_criterion_articles']
else
return string.format(messages['namespace_criterion'], '{{ns:' .. args[1] .. '}}')
end
end
-- kriterium_ny
function uk.criterion_new(redirects)
redirects = redirects:expand()
local msg = messages['new_criterion']
if redirects ~= nil and mw.text.trim(redirects) ~= '' then
msg = messages['new_criterion_with_redirects']
end
return msg
end
--kriterium
function uk.criterion(frame)
local t = {
[config['arguments']['new']] = function(args) return uk.criterion_new(frame:getArgument('redirects')) end,
[config['arguments']['existing']] = messages['existing_criterion'],
[config['arguments']['stub']] = messages['stub_criterion'],
[config['arguments']['bytes']] = function(args) return uk.criterion_bytes(args) end,
[config['arguments']['namespace']] = function(args) return uk.criterion_namespace(args) end,
[config['arguments']['template']] = function(args) return uk.criterion_templates(args) end,
[config['arguments']['category']] = function(args) return uk.criterion_categories(args) end,
[config['arguments']['backlink']] = function(args) return uk.criterion_backlinks(args) end,
[config['arguments']['forwardlink']] = function(args) return uk.criterion_forwardlinks(args) end,
[config['arguments']['page']] = function(args) return uk.criterion_pages(args) end
}
local args = {}
for i, v in ipairs(frame.args) do
if tonumber(i) ~= nil then
args[i] = v
end
end
local k = frame.args.criterion
local s = type(t[k]) == "function" and t[k](args) or t[k] or string.format('{{%s|%s}}', config['error_message_template'], messages['error_no_valid_criterion_given'])
return frame:preprocess(s)
end
return uk