Modul:WikidataDato: Forskjell mellom sideversjoner
Hopp til navigering
Hopp til søk
Kommenterer ut juliansk dato. Kun når datoen er etter oktober 1582 bør juliansk skrives ut. Alle datoer før dette blir regnet for å være julianske uansett. |
m 158 sideversjoner ble importert |
||
| (33 mellomliggende versjoner av 9 brukere er ikke vist) | |||
| Linje 1: | Linje 1: | ||
local p = {} | local p = {} | ||
local refs = require 'Module: | local refs = require 'Module:Reference score' | ||
local lang = mw.language.getContentLanguage() | local lang = mw.language.getContentLanguage() | ||
local maanednavn = {'januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'} | local maanednavn = {'januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'} | ||
local kortmaanednavn = {'jan.', 'feb.', 'mars', 'apr.', 'mai', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'} | |||
local maanedlenker = {'Januar', 'Februar', 'Mars (måned)', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Desember'} | |||
function splitTimestamp(timestamp) | -- tekst vi ønsker sammen med dato når det finnes en P1480 (kvalifikator for presisjonen til en påstand) | ||
-- Hvis det forekommer ytterligere verdier i bruk, legg disse til i denne tabellen | |||
local kildekvalitettekst = | |||
{ | |||
["Q5727902"] = "ca. ", -- cirka | |||
["Q21818619"] = "I nærheten av ", -- muligens omtrentlig verdi | |||
["Q18122778"] = "Antagelig " -- antakelig | |||
} | |||
local linktext = 'Rediger på Wikidata' | |||
local linktarget = 'https://www.wikidata.org/wiki/%s?uselang=%s#%s' | |||
local function kildekvalitet(claim) | |||
for key,val in pairs(claim) do | |||
return kildekvalitettekst[val.datavalue.value.id] or '[[Kategori:Kildekvalitet for dato som mangler tekst i Modul WikidataDato]]' | |||
end | |||
return '' | |||
end | |||
function splitTimestamp(timestamp,forkortet) | |||
local aar = string.sub(timestamp, 2, 5) or '????' | local aar = string.sub(timestamp, 2, 5) or '????' | ||
local | local maanednummer = tonumber(string.sub(timestamp, 7, 8) or '00') | ||
local maaned = maanednavn[maanednummer] or '??' | |||
local maanedlenke = maanedlenker[maanednummer] or '??' | |||
local kortmaaned = maaned | |||
if forkortet then | |||
kortmaaned = kortmaanednavn[tonumber(string.sub(timestamp, 7, 8) or '00')] or '??' | |||
end | |||
local dag = tonumber(string.sub(timestamp, 10, 11) or '??')..'.' | local dag = tonumber(string.sub(timestamp, 10, 11) or '??')..'.' | ||
local fkr = '' | local fkr = '' | ||
| Linje 13: | Linje 40: | ||
fkr = ' f.Kr.' | fkr = ' f.Kr.' | ||
end | end | ||
return aar, | return aar,maanedlenke,maaned,dag,fkr,kortmaaned | ||
end | end | ||
| Linje 24: | Linje 51: | ||
-- local html = mw.html.create( 'span' ) | -- local html = mw.html.create( 'span' ) | ||
-- :wikitext( '[[Den julianske kalenderen|juliansk]]' ) | -- :wikitext( '[[Den julianske kalenderen|juliansk]]' ) | ||
return --' ('..tostring( html )..')' | return '' --' ('..tostring( html )..')' | ||
end | end | ||
return mw.text.nowiki( kal ) | return mw.text.nowiki( kal ) | ||
| Linje 33: | Linje 60: | ||
-- (enten en "mainsnak" eller en "qualifier"). Funksjonen eksporteres | -- (enten en "mainsnak" eller en "qualifier"). Funksjonen eksporteres | ||
-- slik at den kan brukes av andre moduler. | -- slik at den kan brukes av andre moduler. | ||
function p.norskDatoFraClaim(claim) | function p.norskDatoFraClaim(claim,forkortet) | ||
local value = claim.datavalue.value | local value = claim.datavalue.value | ||
local presisjon = value.precision | local presisjon = value.precision | ||
local aar, | local aar,maanedlenke,maaned,dag,fkr,kortmaaned = splitTimestamp(value.time,forkortet) | ||
local utstring = '' | local utstring = '' | ||
if presisjon == 11 then | if presisjon == 11 then | ||
utstring = string.format( '%s %s %s%s', dag, | utstring = string.format( '%s %s %s%s', dag, maaned, tonumber(aar) or aar, fkr ) | ||
elseif presisjon == 10 then | elseif presisjon == 10 then | ||
utstring = string.format( '%s %s%s', | utstring = string.format( '%s %s%s', maaned, tonumber(aar) or aar, fkr ) | ||
elseif presisjon == 9 then | elseif presisjon == 9 then | ||
utstring = (tonumber(aar) or aar)..''..fkr | utstring = (tonumber(aar) or aar)..''..fkr | ||
utstring = string.format( '%s%s', tonumber(aar) or aar, fkr ) | utstring = string.format( '%s%s', tonumber(aar) or aar, fkr ) | ||
elseif presisjon == 8 then | elseif presisjon == 8 then | ||
utstring = string.format( '%s-årene%s', tonumber | utstring = string.format( '%s-årene%s', math.floor(((tonumber(aar) or 0))/10)*10, fkr ) | ||
elseif presisjon == 7 then | elseif presisjon == 7 then | ||
utstring = string.format( '%s. århundre%s', math.floor(((tonumber(aar) or 0)+99)/100), fkr ) | utstring = string.format( '%s. århundre%s', math.floor(((tonumber(aar) or 0)+99)/100), fkr ) | ||
| Linje 58: | Linje 85: | ||
-- (enten en "mainsnak" eller en "qualifier"). Funksjonen eksporteres | -- (enten en "mainsnak" eller en "qualifier"). Funksjonen eksporteres | ||
-- slik at den kan brukes av andre moduler. | -- slik at den kan brukes av andre moduler. | ||
function p.norskDatoLenketFraClaim(claim) | function p.norskDatoLenketFraClaim(claim,forkortet) | ||
local value = claim.datavalue.value | local value = claim.datavalue.value | ||
local presisjon = value.precision | local presisjon = value.precision | ||
local aar, | local aar,maanedlenke,maaned,dag,fkr,kortmaaned = splitTimestamp(value.time,forkortet) | ||
local html = mw.html.create( 'span' ) | local html = mw.html.create( 'span' ) | ||
if presisjon == 11 then | if presisjon == 11 then | ||
-- @todo use mw.html.wikitext to | -- @todo use mw.html.wikitext to build this | ||
html:wikitext( string.format( '[[%s %s]] [[%s%s]]', dag, | html:wikitext( string.format( '[[%s %s|%s %s]] [[%s%s]]', dag, maaned, dag, kortmaaned, tonumber(aar) or aar, fkr ) ) | ||
end | end | ||
if presisjon == 10 then | if presisjon == 10 then | ||
html:wikitext( string.format( '[[%s]] [[%s%s]]', | html:wikitext( string.format( '[[%s|%s]] [[%s%s]]', maanedlenke, maaned, tonumber(aar) or aar, fkr ) ) | ||
end | end | ||
if presisjon == 9 then | if presisjon == 9 then | ||
| Linje 93: | Linje 120: | ||
end | end | ||
end | end | ||
local qid = args['qv'] or args['qid'] or nil | |||
if qid and qid == "" then | |||
qid = nil | |||
end | |||
local pid = args['pv'] or args['pid'] or nil | |||
-- local forkortet = args['kort'] or pid == "P569" or pid == "P570" or nil | |||
local forkortet = args['kort'] or nil | |||
return qid,pid,forkortet | |||
end | end | ||
| Linje 115: | Linje 149: | ||
function p.finnBesteProperty(frame) | function p.finnBesteProperty(frame) | ||
local qv,pv = frameargs(frame) | local qv,pv,forkortet = frameargs(frame) | ||
local entity = mw.wikibase.getEntity(qv) | local entity = mw.wikibase.getEntity(qv) | ||
if not ( entity and entity.claims and entity.claims[pv] ) then | if not ( entity and entity.claims and entity.claims[pv] ) then | ||
return nil | return nil,nil | ||
end | end | ||
| Linje 128: | Linje 162: | ||
local rank = prop.rank or 'normal' | local rank = prop.rank or 'normal' | ||
if rank == 'preferred' then | if rank == 'preferred' then | ||
return prop | return prop, pv, qv, forkortet | ||
elseif rank == 'normal' then | elseif rank == 'normal' then | ||
if oki == 0 then | if oki == 0 then | ||
| Linje 137: | Linje 171: | ||
end | end | ||
if oki>0 then | if oki>0 then | ||
return props[oki] | return props[oki], pv, qv, forkortet | ||
else | |||
return nil, pv, qv, forkortet | |||
end | end | ||
end | end | ||
function p.norskDatoLenket(frame) | function p.norskDatoLenket(frame) | ||
local prop = p.finnBesteProperty(frame) | local prop,qv,pv,forkortet = p.finnBesteProperty(frame) | ||
if not prop then | if not prop then | ||
return "" | return "" | ||
| Linje 177: | Linje 187: | ||
-- Det siste er tilfeldig, men kan antas være mindre utsatt for tilfeldige endringer enn å velge den siste | -- Det siste er tilfeldig, men kan antas være mindre utsatt for tilfeldige endringer enn å velge den siste | ||
-- ulenket, minimerer overlenking | -- ulenket, minimerer overlenking | ||
local kvalitet = '' | |||
if prop and prop.qualifiers and prop.qualifiers.P1480 then | |||
kvalitet = kildekvalitet(prop.qualifiers.P1480) | |||
end | |||
local tmp = refs.render(frame, prop.references) | |||
return kvalitet .. p.norskDatoLenketFraClaim(prop.mainsnak,forkortet) .. tmp | |||
end | end | ||
| Linje 190: | Linje 206: | ||
-- Det siste er tilfeldig, men kan antas være mindre utsatt for tilfeldige endringer enn å velge den siste | -- Det siste er tilfeldig, men kan antas være mindre utsatt for tilfeldige endringer enn å velge den siste | ||
-- ulenket, minimerer overlenking | -- ulenket, minimerer overlenking | ||
return p.norskDatoFraClaim(prop.mainsnak | |||
return p.norskDatoFraClaim(prop.mainsnak) | |||
end | end | ||
| Linje 202: | Linje 219: | ||
return '' | return '' | ||
end | end | ||
local aar, maaned, dag | local aar, maanedlenke, maaned, dag | ||
aar, maaned, dag = splitTimestamp(timestamp) | aar, maanedlenke, maaned, dag = splitTimestamp(timestamp) | ||
if dag ~= nil and maaned ~= nil then | if dag ~= nil and maaned ~= nil then | ||
return mw.text.nowiki( dag .. ' ' .. maaned ) | return mw.text.nowiki( dag .. ' ' .. maaned ) | ||
| Linje 228: | Linje 245: | ||
return '' | return '' | ||
end | end | ||
local aar, maaned, dag, fkr | local aar, maanedlenke, maaned, dag, fkr | ||
aar, maaned, dag, fkr = splitTimestamp(timestamp) | aar, maanedlenke, maaned, dag, fkr = splitTimestamp(timestamp) | ||
if aar ~= nil and fkr ~= ' f.Kr.' then | if aar ~= nil and fkr ~= ' f.Kr.' then | ||
return mw.text.nowiki( string.format('%u', aar) ) | return mw.text.nowiki( string.format('%u', aar) ) | ||
| Linje 247: | Linje 264: | ||
end | end | ||
function p.edit(frame) | |||
local prop, pid, qid = p.finnBesteProperty(frame) | |||
qid = qid or mw.wikibase.getEntityIdForCurrentPage() | |||
if not qid or not pid then | |||
return '' | |||
end | |||
local link = mw.ustring.format( linktarget, qid, lang:getCode(), pid ) | |||
local text = '[[File:OOjs UI icon edit-ltr-progressive.svg' | |||
.. '|frameless|text-top|10px' | |||
.. '|alt=' .. mw.text.nowiki( linktext ) | |||
.. '|link=' .. mw.text.nowiki( link ) | |||
.. '|' .. mw.text.nowiki( linktext ) | |||
.. ']]' | |||
local html = mw.html.create( 'span' ) | |||
:addClass( 'wb-edithandle' ) | |||
:attr( 'data-bridge-edit-flow', 'single-best-value' ) | |||
:wikitext( text ) | |||
return tostring( html ) | |||
end | |||
return p | return p | ||
Siste sideversjon per 22. apr. 2026 kl. 01:10
Formål
Å presentere datoer fra Wikidata.
Bruk i maler
Modulen brukes ved å legge inn en av:
{{#invoke:WikidataDato|norskDato|qv=Qxxx|pv=Pxxx}}{{#invoke:WikidataDato|norskDatoLenket|qv=Qxxx|pv=Pxxx}}
i en mal.
Bruk i moduler
local WikidataDato = require( 'Module:WikidataDato' )
local entity = mw.wikibase.getEntity()
local claim = entity.claims['Pxxx'][1].mainsnak -- Kun et eksempel! I virkeligheten må man sjekke at påstanden finnes og er gyldig.
local dato = WikidataDato.norskDatoFraClaim(claim)Eksempler
| Artikkel | I artikkel | Utenfor artikkel | resultat |
|---|---|---|---|
| Erna Solberg | {{#invoke:WikidataDato |norskDato |pv=P569}} | {{#invoke:WikidataDato |norskDato |qv=Q291644 |pv=P569}} | |
| {{#invoke:WikidataDato |norskDatoLenket |pv=P569}} | {{#invoke:WikidataDato |norskDatoLenket |qv=Q291644 |pv=P569}} | ||
| Lenin | {{#invoke:WikidataDato |norskDato |pv=P569}} | {{#invoke:WikidataDato |norskDato |qv=Q1394 |pv=P569}} | |
| {{#invoke:WikidataDato |norskDatoLenket |pv=P569}} | {{#invoke:WikidataDato |norskDatoLenket |qv=Q1394 |pv=P569}} | ||
| Platon | {{#invoke:WikidataDato |norskDato |pv=P569}} | {{#invoke:WikidataDato |norskDato |qv=Q859 |pv=P569}} | |
| {{#invoke:WikidataDato |norskDatoLenket |pv=P569}} | {{#invoke:WikidataDato |norskDatoLenket |qv=Q859 |pv=P569}} | ||
| Julien Brulé (død) | |||
| Giuseppe Corsi da Celano (født) | |||
| Sergej Kirdjapkin | |||
| Sergej Kirdjapkin | |||
| Nicole Oresme | |||
| Hiempsal I | {{#invoke:WikidataDato |norskDato |pv=P569}} | {{#invoke:WikidataDato |norskDato |qv=Q523301 |pv=P569}} |
Referanser
local p = {}
local refs = require 'Module:Reference score'
local lang = mw.language.getContentLanguage()
local maanednavn = {'januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'}
local kortmaanednavn = {'jan.', 'feb.', 'mars', 'apr.', 'mai', 'juni', 'juli', 'aug.', 'sep.', 'okt.', 'nov.', 'des.'}
local maanedlenker = {'Januar', 'Februar', 'Mars (måned)', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Desember'}
-- tekst vi ønsker sammen med dato når det finnes en P1480 (kvalifikator for presisjonen til en påstand)
-- Hvis det forekommer ytterligere verdier i bruk, legg disse til i denne tabellen
local kildekvalitettekst =
{
["Q5727902"] = "ca. ", -- cirka
["Q21818619"] = "I nærheten av ", -- muligens omtrentlig verdi
["Q18122778"] = "Antagelig " -- antakelig
}
local linktext = 'Rediger på Wikidata'
local linktarget = 'https://www.wikidata.org/wiki/%s?uselang=%s#%s'
local function kildekvalitet(claim)
for key,val in pairs(claim) do
return kildekvalitettekst[val.datavalue.value.id] or '[[Kategori:Kildekvalitet for dato som mangler tekst i Modul WikidataDato]]'
end
return ''
end
function splitTimestamp(timestamp,forkortet)
local aar = string.sub(timestamp, 2, 5) or '????'
local maanednummer = tonumber(string.sub(timestamp, 7, 8) or '00')
local maaned = maanednavn[maanednummer] or '??'
local maanedlenke = maanedlenker[maanednummer] or '??'
local kortmaaned = maaned
if forkortet then
kortmaaned = kortmaanednavn[tonumber(string.sub(timestamp, 7, 8) or '00')] or '??'
end
local dag = tonumber(string.sub(timestamp, 10, 11) or '??')..'.'
local fkr = ''
if string.sub(timestamp, 1, 1) == '-' then
fkr = ' f.Kr.'
end
return aar,maanedlenke,maaned,dag,fkr,kortmaaned
end
function kalender(kal)
if string.match (kal, 'wikidata.org/entity/Q1985727$' ) then
return ''
end
if string.match (kal, 'wikidata.org/entity/Q1985786$' ) then
--Kun når datoen er etter oktober 1582 bør juliansk skrives ut. Alle datoer før dette blir regnet for å være julianske uansett.
-- local html = mw.html.create( 'span' )
-- :wikitext( '[[Den julianske kalenderen|juliansk]]' )
return '' --' ('..tostring( html )..')'
end
return mw.text.nowiki( kal )
end
-- Denne funksjonen formaterer en norsk dato fra en Wikidata-påstand
-- (enten en "mainsnak" eller en "qualifier"). Funksjonen eksporteres
-- slik at den kan brukes av andre moduler.
function p.norskDatoFraClaim(claim,forkortet)
local value = claim.datavalue.value
local presisjon = value.precision
local aar,maanedlenke,maaned,dag,fkr,kortmaaned = splitTimestamp(value.time,forkortet)
local utstring = ''
if presisjon == 11 then
utstring = string.format( '%s %s %s%s', dag, maaned, tonumber(aar) or aar, fkr )
elseif presisjon == 10 then
utstring = string.format( '%s %s%s', maaned, tonumber(aar) or aar, fkr )
elseif presisjon == 9 then
utstring = (tonumber(aar) or aar)..''..fkr
utstring = string.format( '%s%s', tonumber(aar) or aar, fkr )
elseif presisjon == 8 then
utstring = string.format( '%s-årene%s', math.floor(((tonumber(aar) or 0))/10)*10, fkr )
elseif presisjon == 7 then
utstring = string.format( '%s. århundre%s', math.floor(((tonumber(aar) or 0)+99)/100), fkr )
end
return mw.text.nowiki( utstring ).. kalender(value.calendarmodel)
end
-- Denne funksjonen formaterer en norsk dato fra en Wikidata-påstand
-- (enten en "mainsnak" eller en "qualifier"). Funksjonen eksporteres
-- slik at den kan brukes av andre moduler.
function p.norskDatoLenketFraClaim(claim,forkortet)
local value = claim.datavalue.value
local presisjon = value.precision
local aar,maanedlenke,maaned,dag,fkr,kortmaaned = splitTimestamp(value.time,forkortet)
local html = mw.html.create( 'span' )
if presisjon == 11 then
-- @todo use mw.html.wikitext to build this
html:wikitext( string.format( '[[%s %s|%s %s]] [[%s%s]]', dag, maaned, dag, kortmaaned, tonumber(aar) or aar, fkr ) )
end
if presisjon == 10 then
html:wikitext( string.format( '[[%s|%s]] [[%s%s]]', maanedlenke, maaned, tonumber(aar) or aar, fkr ) )
end
if presisjon == 9 then
html:wikitext( string.format( '[[%s%s]]', tonumber(aar) or aar, fkr ) )
end
if presisjon == 8 then
html:wikitext( string.format( '[[%s-årene%s]]', math.floor(((tonumber(aar) or 0))/10)*10, fkr ) )
end
if presisjon == 7 then
html:wikitext( string.format( '[[%s. århundre%s]]', math.floor(((tonumber(aar) or 0)+99)/100), fkr ) )
end
return tostring(html) .. kalender(value.calendarmodel)
end
local function frameargs(frame)
local args = frame.args
if args[1] == nil then
local pFrame = frame:getParent();
args = pFrame.args;
for k,v in pairs( frame.args ) do
args[k] = v;
end
end
local qid = args['qv'] or args['qid'] or nil
if qid and qid == "" then
qid = nil
end
local pid = args['pv'] or args['pid'] or nil
-- local forkortet = args['kort'] or pid == "P569" or pid == "P570" or nil
local forkortet = args['kort'] or nil
return qid,pid,forkortet
end
function p.okProperty( claim )
-- Sjekk at claim finnes og inneholder det vi trenger for å lage ok norsk dato
if not claim and claim.type ~= 'statement' then
return nil
end
local mainsnak = claim.mainsnak or {}
if mainsnak.snaktype ~= 'value' or mainsnak.datatype ~= 'time' then
return nil
end
local datavalue = mainsnak.datavalue or {}
local value = datavalue.value or {}
return not not (value.time and value.precision and value.calendarmodel)
end
function p.finnBesteProperty(frame)
local qv,pv,forkortet = frameargs(frame)
local entity = mw.wikibase.getEntity(qv)
if not ( entity and entity.claims and entity.claims[pv] ) then
return nil,nil
end
local props = entity['claims'][pv]
local oki = 0
for i,prop in ipairs(props) do
if p.okProperty(prop) then
local rank = prop.rank or 'normal'
if rank == 'preferred' then
return prop, pv, qv, forkortet
elseif rank == 'normal' then
if oki == 0 then
oki = i
end
end
end
end
if oki>0 then
return props[oki], pv, qv, forkortet
else
return nil, pv, qv, forkortet
end
end
function p.norskDatoLenket(frame)
local prop,qv,pv,forkortet = p.finnBesteProperty(frame)
if not prop then
return ""
end
-- prop er nå en ok property.
-- Hvis det finnes en med rank preferred er den valgt
-- Hvis ingen preferred, er den første med normal valgt.
-- Det siste er tilfeldig, men kan antas være mindre utsatt for tilfeldige endringer enn å velge den siste
-- ulenket, minimerer overlenking
local kvalitet = ''
if prop and prop.qualifiers and prop.qualifiers.P1480 then
kvalitet = kildekvalitet(prop.qualifiers.P1480)
end
local tmp = refs.render(frame, prop.references)
return kvalitet .. p.norskDatoLenketFraClaim(prop.mainsnak,forkortet) .. tmp
end
function p.norskDato(frame)
local prop = p.finnBesteProperty(frame)
if not prop then
return ""
end
-- prop er nå en ok property.
-- Hvis det finnes en med rank preferred er den valgt
-- Hvis ingen preferred, er den første med normal valgt.
-- Det siste er tilfeldig, men kan antas være mindre utsatt for tilfeldige endringer enn å velge den siste
-- ulenket, minimerer overlenking
return p.norskDatoFraClaim(prop.mainsnak)
end
-- Denne funksjonen formaterer en norsk dato fra en Wikidata-påstand
-- (enten en "mainsnak" eller en "qualifier"). Funksjonen eksporteres
-- slik at den kan brukes av andre moduler.
function p.dagOgMaanedFraClaim(claim)
local timestamp = claim.datavalue.value.time
local presisjon = claim.datavalue.value.precision
if tonumber(presisjon) < 11 then
return ''
end
local aar, maanedlenke, maaned, dag
aar, maanedlenke, maaned, dag = splitTimestamp(timestamp)
if dag ~= nil and maaned ~= nil then
return mw.text.nowiki( dag .. ' ' .. maaned )
else
return ''
end
end
function p.dagOgMaaned (frame)
local prop = p.finnBesteProperty(frame)
if not prop then
return ''
end
return p.dagOgMaanedFraClaim(prop.mainsnak)
end
-- Denne funksjonen formaterer en norsk dato fra en Wikidata-påstand
-- (enten en "mainsnak" eller en "qualifier"). Funksjonen eksporteres
-- slik at den kan brukes av andre moduler.
function p.aarFraClaim(claim)
local timestamp = claim.datavalue.value.time
local presisjon = tonumber(claim.datavalue.value.precision) or 0
if tonumber(presisjon) < 9 then
return ''
end
local aar, maanedlenke, maaned, dag, fkr
aar, maanedlenke, maaned, dag, fkr = splitTimestamp(timestamp)
if aar ~= nil and fkr ~= ' f.Kr.' then
return mw.text.nowiki( string.format('%u', aar) )
elseif aar ~= nil and fkr == ' f.Kr.' then
return mw.text.nowiki( string.format('%u', aar) .. ' f.Kr.' )
else
return ''
end
end
function p.Aar(frame)
local prop = p.finnBesteProperty(frame)
if not prop then
return ''
end
return mw.text.nowiki( p.aarFraClaim(prop.mainsnak) )
end
function p.edit(frame)
local prop, pid, qid = p.finnBesteProperty(frame)
qid = qid or mw.wikibase.getEntityIdForCurrentPage()
if not qid or not pid then
return ''
end
local link = mw.ustring.format( linktarget, qid, lang:getCode(), pid )
local text = '[[File:OOjs UI icon edit-ltr-progressive.svg'
.. '|frameless|text-top|10px'
.. '|alt=' .. mw.text.nowiki( linktext )
.. '|link=' .. mw.text.nowiki( link )
.. '|' .. mw.text.nowiki( linktext )
.. ']]'
local html = mw.html.create( 'span' )
:addClass( 'wb-edithandle' )
:attr( 'data-bridge-edit-flow', 'single-best-value' )
:wikitext( text )
return tostring( html )
end
return p