Modul:StandardWikidataIntro
Aspect

Modulul implementează {{Introducere așezare}}. El poate fi folosit pentru a genera, pe baza datelor prezente în Wikidata, o introducere standard în articolele despre sate, orașe sau regiuni.
Modulul este extensibil și poate fi folosit teoretic pentru orice tip de entitate, dar proprietățile de interes pentru respectivul tip și însemnătatea lor trebuie configurată. Formatul trebuie să apeleze modulul cu parametrul enttype egal cu un șir care constituie un tabel separat de date. De exemplu, tipul folosit de {{introducere așezare}} este settlement, ceea ce face ca modulul să-și caute configurația în Modul:StandardWikidataIntro/settlementData.
local p = {}
local Wikidata = require ('Modul:Wikidata')
local StringUtils = require ('Modul:StringUtils')
local propDescriptions = {
['loc'] = {
['intro'] = 'se află %1',
['props'] = {'P131', 'P206', 'P501', 'P2044', 'P610', 'P2046'},
['intro_props'] = {
['P131'] = 'în %1',
['P206'] = 'lângă %1',
['P2044'] = 'la o altitudine de %1 deasupra nivelului mării',
['P501'] = 'enclavă în %1',
['P610'] = 'cu cel mai înalt punct în %1',
['P2046'] = 'având o suprafață de %1'
},
['qualifiers'] = {
['P610'] = {'P2044'},
['intro'] = 'la %1',
}
},
['con'] = {
['intro'] = 'se leagă de %1',
['props'] = 'P2789'
},
['pop'] = {
['intro'] = 'are o populație de %1',
['props'] = 'P1082',
['qualifiers'] = {
['P1082'] = {'P585', 'P459'},
['intro'] = 'determinată %1',
['intro_props'] = {
['P459'] = 'prin %1',
['P585'] = 'în %1'
}
}
}
}
local function createPhraseForChapter(chapter, q)
end
local function display(frame)
local q = frame.args.q or wikibase.getEntityIdForCurrentPage()
local outphrases = {}
for _,eachChapter in ipairs(propDescriptions) do
table.insert(outphrases, createPhraseForChapter(eachChapter, q))
end
local capitalizedOutphrases = {}
for _,eachoutphrase in ipairs(outphrases) do
table.insert(capitalizedOutphrases, StringUtils._capitalize({eachoutphrase}))
end
return table.concat(capitalizedOutphrases, '. ')
end
p.display = display
return p