Mòdul:Wikidata/Units

De Viquipèdia
Jump to navigation Jump to search
Icona de documentació de mòdul Documentació del mòdul [ mostra ] [ modifica el codi ] [ mostra l'historial ] [ refresca ]

Mòdul Wikidata (codi · ús · discussió · tests · casos prova | subpàgines · enllaços)

A continuació es mostra la documentació transclosa de la subpàgina /ús. [salta a la caixa de codi]


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í si es vol un valor diferent en les infotaules, o bé 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 no regulars.
  • ucode és el codi o l'abreviatura de la unitat, a utilitzar en cas d'usar el paràmetre formatting=unitcode. Només caldrà afegir-lo quan el valor sigui diferent a l'obtingut a partir de Símbol de la unitat (P5061). Si no se'n troba cap traurà l'etiqueta.
-- sintaxi:
--	Qxxx = { -- label de Wikidata per a referència
--		label = "label a corregir",
--		plural = "plural a corregir",
--		ucode = "codi a afegir",
--		},

local wikidata_units = {
    Q531 = { -- any llum
		plural = "anys llum",
		},
	Q573 = { -- dia
		ucode = "dies",
		},
	Q1811 = { -- unitat astronòmica
		ucode = "UA",
		},	
	Q5151 = { -- mes
		plural = "mesos",
		},
	Q11229 = { -- percentatge
		plural = "percentatge",
		},
	Q25224 = { -- lliura esterlina
		ucode = "£",
		},
	Q25267 = { -- grau Celsius
		plural = "graus Celsius",
		ucode = "°C",
	},
	Q42289 = { -- grau Fahrenheit
		plural = "graus Fahrenheit",
		ucode = "°F",
	},
    Q55627 = { -- anys de vida ajustats per discapacitat
		plural = "anys de vida ajustats per discapacitat",
		ucode = "AVAD",
		},
	Q83327 = { -- electró-volt
		plural = "electrons-volt",
		},
	Q93318 = { -- milla nàutica
		ucode = "mn",
		},
	Q155009 = { -- Reichsmark
		ucode = "ℛℳ",
		},
	Q209426 = { -- minut d'arc
		label = "minut",
		},
	Q483261 = { -- unitat de massa atòmica
		ucode = "uma",
		},
	Q550207 = { -- dòlar Geary-Khamis
		plural = "dòlars Geary-Khamis",
		ucode = "$",
		},
	Q743895 = { -- pulsacions per minut
		plural = "pulsacions per minut",
		ucode = "ppm",
		},
	Q751310 = { -- poiseuille
		ucode = "PI",
		},
	Q794261 = { -- metre cúbic per segon
		ucode = "m³/s",
		},
	Q829073 = { -- segon d'arc
		label = "segon",
		ucode = "″", -- WD amb cometes rectes
		},
	Q1463969 = { -- watt per metre-kelvin
		ucode = "W/(m·K)",
		},
	Q2080811 = { -- fracció volumètrica
		label = "percentatge en volum",
		plural = "percentatge en volum",
		ucode = "%",
		},
	Q3085309 = { -- joule per quilogram-kelvin
		ucode = "J/Kg·K",
		},
    Q3858002 = { -- milliampere-hora
		ucode = "mAh",
		},
	Q6859652 = { -- mil·límetre de mercuri
		ucode = "mm Hg",		
		},
	Q20966435 = { -- amper per volt-metre
		plural = "amper per volt-metre",
		},
	Q20966455 = { -- joule per mol-kelvin
		ucode = "J/mol·K",
		},
	Q21006887 = { -- part per milió
		ucode = "ppm",
		},
	Q21127659 = { -- gram per 100 grams de dissolvent
		ucode = "g/100 g dissolvent",
		},
	Q26156132 = { -- mil·linewton per metre
		ucode = "mN/m",
		},
	Q28739766 = { -- coulomb-metre
		ucode = "C·m",
		},
	}

local function getUnit(amount, label, unitID, code, symbol)
	if label == nil or label == '' then return unitID end
	local id_data = wikidata_units[unitID] or {}
	local unit_text = ''
	if code then
		unit_text = id_data.ucode or symbol 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}