Modül:Türkiye nüfus/deneme
Bu sayfa Modül:Türkiye nüfus (fark) şablonunun deneme tahtasıdır. |
Modül belgelemesi[oluştur]
-- Main function to generate the table and line chart data
function p.populationTable(frame)
local entity = frame.args.entity or mw.wikibase.getEntityIdForCurrentPage()
if not entity then
return "'''Bu şablon.'''"
end
local sortedYears, populations, ruralPopulations, urbanPopulations, determinationMethods, hasRural, hasUrban = fetchPopulations(entity)
local rows = {}
local chartData = {}
local previousPopulation
local isFirstADNKS = true
local isFirstCensus = true
table.insert(rows, '{| class="wikitable sortable" style="font-size:0.90em; text-align:center;"')
table.insert(rows, '! style="padding-left:15px;padding-right:15px;" | Yıl')
table.insert(rows, '! style="padding-left:15px;padding-right:15px;" | Değişim')
table.insert(rows, '! style="padding-left:15px;padding-right:15px;" | Nüfus')
if hasRural or hasUrban then
table.insert(rows, '! style="padding-left:15px;padding-right:15px;" | Kırsal Nüfus')
table.insert(rows, '! style="padding-left:15px;padding-right:15px;" | Kentsel Nüfus')
end
table.insert(rows, '! style="padding-left:15px;padding-right:15px;" | Tespit Yöntemi')
for _, year in ipairs(sortedYears) do
local population = populations[year]
local ruralPopulation = ruralPopulations[year]
local urbanPopulation = urbanPopulations[year]
local determinationMethod = determinationMethods[year]
if population then
local change = calculateChange(population, previousPopulation)
local yearLink = generateYearLink(year)
local methodDisplay = determinationMethod and generateMethodLink(determinationMethod, isFirstADNKS, isFirstCensus) or '<span style="color: grey;">Veri yok</span>'
if determinationMethod == "Adrese Dayalı Nüfus Kayıt Sistemi" then
isFirstADNKS = false
end
if determinationMethod == "Türkiye'de genel nüfus sayımı" then
isFirstCensus = false
end
local row = string.format('|-\n| %s || %s || %s', yearLink, change, formatNumber(population))
if hasRural or hasUrban then
local ruralDisplay = ruralPopulation and formatNumber(ruralPopulation) or '<span style="color: grey;">Veri yok</span>'
local urbanDisplay = urbanPopulation and formatNumber(urbanPopulation) or '<span style="color: grey;">Veri yok</span>'
row = row .. string.format(' || %s || %s', ruralDisplay, urbanDisplay)
end
row = row .. string.format(' || %s', methodDisplay)
table.insert(rows, row)
-- Line chart data
table.insert(chartData, { year = year, population = population })
previousPopulation = population
end
end
table.insert(rows, '|}')
-- Eksik yılları kontrol et ve kategori ekle
if checkMissingYears(sortedYears) then
table.insert(rows, '[[Kategori:Vikiveri\'de nüfus değeri eksik maddeler]]')
end
-- Generate line chart data in a readable format
local chartString = "Nüfus Değerleri:\n"
for _, data in ipairs(chartData) do
chartString = chartString .. string.format("Yıl: %d, Nüfus: %s\n", data.year, formatNumber(data.population))
end
return table.concat(rows, '\n') .. "\n\n" .. chartString
end