Moduuli:Fr:Infobox/Fonctions

Wikipediasta
Siirry navigaatioon Siirry hakuun

-- Fonctions communes à diverses infobox
local localdata = require( 'Module:Fr:Infobox/Localdata' )
local wikidata = require( 'Module:Fr:Interface Wikidata' ).fromLua
local coordfunctions  -- = require 'Module:Fr:Infobox/Fonctions/Géolocalisation'
local p = {}

function p.title(icon, style, subtitleparam, subtitlequery)
	return {
		type = 'title',
		value = function() 
			return localdata['nimi'] or localdata['Nimi'] 
				or wikidata.getLabel(localdata.item) and mw.language.getContentLanguage():ucfirst( wikidata.getLabel(localdata.item) )
				or mw.title.getCurrentTitle().text
		end,
		subtitle = function() return localdata[subtitleparam] end,
		wikidatasubtitle = subtitlequery,
		icon = icon,
		style = style,
	}
end

function p.mainimage(args, defaultimage)
	if type( args ) ~= 'table' then
		args = { cat = args, defaultimage = defaultimage, size='x300px' }
	end
	return {
		type = 'images',
		imageparameters =  {'kuva', 'Kuva', 'kuvan nimi', 'Kuvan nimi'},
		defaultimages = args.defaultimage,
		defaultimagelink = 'Ohje:kuva',
		sizeparameter = {'kuvan koko', 'Kuvan koko'},
		uprightparameter = 'upright',
		defaultupright = args.upright,
		defaultsize = 	args.size,
--		maintenancecat = args.cat or 'Artikkelit_joiden_kuva_tulee_Wikidatasta',
		captionparameter = {'kuvateksti', 'Kuvateksti'},
		altparameter = args.altparameter or 'vaihtoehtoinen kuva',
		defaultalt = args.alt,
		defaultimagealt = args.defaultimagealt,
		wikidata = args.wikidata or {property = 'P18'},
		numval = 1,
	}
end

function p.logo(upright)
	return {
		type = 'images',
		imageparameters =  {'logo', 'Logo'},
	--	defaultimage = {},
	--	maintenancecat =
		captionparameter = 'légende logo',
		property = 'P154',
		defaultupright = upright or '0.6',
		uprightparameter = 'upright logo',
		sizeparameter = 'taille logo',
		style = {padding ='1em 0.5em 0.1em 0.5em'},
		numval = 1,
	}
end

function p.blason(upright)
	return {
		type = 'images',
		imageparameters =  {'blason'},
	--	defaultimage = {},
	--	maintenancecat =
		captionparameter = 'légende blason',
		property = 'P94',
		defaultupright = upright or '0.3',
		uprightparameter = 'upright blason',
		sizeparameter = 'taille blason',
		numval = 1,
	}
end

function p.flag(upright)
	return {
		type = 'images',
		imageparameters =  {'drapeau'},
	--	defaultimage = {},
	--	maintenancecat =
		captionparameter = 'légende drapeau',
		property = 'P41',
		defaultupright = upright or '0.6',
		uprightparameter = 'upright drapeau',
		sizeparameter = 'taille drapeau',
		numval = 1,
	}
end

function p.sign(upright)
	return {
		type = 'images',
		imageparameters =  {'signalisation'},
	--	defaultimage = {},
	--	maintenancecat =
		captionparameter = 'légende signalisation',
		property = 'P14',
		defaultupright = upright or '0.4',
		uprightparameter = 'upright signalisation',
		sizeparameter = 'taille signalisation',
		numval = 1,
	}
end

function p.bathymetricmap(upright)
	return {
		type = 'images',
		imageparameters =  {'carte bathymétrique'},
	--	defaultimage = {},
	--	maintenancecat =
		captionparameter = 'légende carte bathymétrique',
		property = 'P207',
		defaultupright = upright or '1',
		uprightparameter = 'upright carte bathymétrique',
		sizeparameter = 'taille carte bathymétrique',
		numval = 1,
	}
end

-- Liens externes
function p.website() -- texte libre [http://example.org example.org] ou url seule
	return { 
		type = 'mixed',
		label = 'Verkkosivusto', 
		plurallabel = 'Verkkosivustot',
		wikidata = {entity = localdata.item, displayformat = 'weblink', conjtype = '<br />', property = 'P856'},
		value = 
			function()
				local siteurl = localdata['www-osoite'] or localdata[''] or localdata['site officiel']
				local sitename = localdata['www-nimike']
				return require("Module:Fr:Weblink").makelink(siteurl, sitename)
			end,
	}
end

-- Son, prononciation
function p.selectSound(prop)
	-- priorité au français
	if wikidata.getClaims{entity = localdata.item, property = prop, qualifier = {'P407'}, qualifiervalue  = {'Q150'} } then
		return {property = prop, qualifier = {'P407'}, qualifiervalue  = {'Q150'} }
	end
	return {property = prop}
end

function p.prononciation()
	return {
		type		     = 'images',
		style            = {['padding-top'] = '0.25em'},
		defaultcaption   = 'Ääntäminen',
		captionparameter = 'Ääntämisen selite',
		value		     = 'ääntäminen',
		defaultsize      = '280',
		wikidata         = p.selectSound('P443'),
		numval           = 1,
	}
end

-- Fonctions de géolocalisation
function p.country(default)
	local coordfunctions = coordfunctions or require 'Module:Fr:Infobox/Fonctions/Géolocalisation'
	return coordfunctions.country(default)	
end

function p.geoloc(params)
	local coordfunctions = coordfunctions or require 'Module:Fr:Infobox/Fonctions/Géolocalisation'
	return coordfunctions.geoloc(params)	
end

function p.coordinates(params)
	local coordfunctions = coordfunctions or require 'Module:Fr:Infobox/Fonctions/Géolocalisation'
	return coordfunctions.coordinates(params)
end

function p.locationmap(params)
	local coordfunctions = coordfunctions or require 'Module:Fr:Infobox/Fonctions/Géolocalisation'
	return coordfunctions.locationmap(params)	
end

return p