Mòdul:Wikidata/Units: diferència entre les revisions

De Viquidites
Contingut suprimit Contingut afegit
km2
m2
Línia 17: Línia 17:
plural = 'quilòmetres',
plural = 'quilòmetres',
ucode = 'km',
ucode = 'km',
},
Q25343 = {
label = 'metre quadrat',
plural = 'metres quadrats',
ucode = 'm<sup>2</sup>',
},
},
Q712226 = {
Q712226 = {

Revisió del 11:49, 9 des 2016

Mòdul auxiliar per obtenir les unitats d'un valor de Wikidata. El format per a cada unitat és:

	Qxxx = {
		label = 'xxx',
		plural = 'xxx',
		ucode = 'xxx',
		},

La inclusió en aquesta taula és opcional:

  • Q seguit d'uns números és el qualificador de la unitat a Wikidata, usat com a referència.
  • label és l'etiqueta de la unitat a Wikidata. S'obté automàticament de la consulta a Wikidata i s'inclou aquí en casos d'alta utilització per evitar canvis sobtats i massius deguts a una modificació a Wikidata, sigui vandàlica o no.
  • plural és el plural de l'etiqueta d'unitat, a utilitzar quan la quantitat sigui diferent d'1. Es genera automàticament a partir d'unes regles (vegeu Mòdul:ca-flexió) i només caldrà incloure'l en casos estranys no regulars.
  • ucode és el codi o l'abreviatura de la unitat, a utilitzar en cas d'usar el paràmetre formatting=unitcode. Si no existeix traurà l'etiqueta en singular. Cal recordar que les abreviatures van amb punt final i els codis no.

local wikidata_units = {
	Q11573 = {
		label = 'metre',
		ucode = 'm',
		},
	Q5151 = {
		label = 'mes',
		plural = 'mesos',
		},
	Q174728 = {
		label = 'centímetre',
		plural = 'centímetres',
		ucode = 'cm',
		},
	Q828224 = {
		label = 'quilòmetre',
		plural = 'quilòmetres',
		ucode = 'km',
		},
	Q25343 = {
		label = 'metre quadrat',
		plural = 'metres quadrats',
		ucode = 'm<sup>2</sup>',
		},
	Q712226 = {
		label = 'quilòmetre quadrat',
		plural = 'quilòmetres quadrats',
		ucode = 'km<sup>2</sup>',
		},
	}

local function getUnit(amount, label, unitID, code)
	local id_data = wikidata_units[unitID] or {}
	local unit_text = ''
	if code then
		unit_text = id_data.ucode or id_data.label or label
	elseif amount == "1" then
		unit_text = id_data.label or label
	else
		unit_text = id_data.plural or require("Module:ca-flexió").plural(id_data.label or label)
	end
	return unit_text
end

return {getUnit = getUnit}