Módulu:Wikidata/Units

De Wikipedia

Módulu auxiliar de configuración llocal para llograr les unidaes d'un valor numbéricu de Wikidata.

Tabla wikidata_units

El formatu pa cada unidá ye:

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

La inclusión nesta tabla ye opcional:

  • Qid ye l'identificador de la unidá en Wikidata, usáu como referencia.
  • label ye la etiqueta de la unidá en Wikidata. Obtiénse automáticamente de la consulta a Wikidata ya inclúyese equí si se quier un valor distintu nes infotables o bien en casos d'altu usu para evitar cambeos repentinos y masivos por mor d'un cambéu en Wikidata, seya vandalismu o non.
  • plural ye'l plural de l'etiqueta de la unidá que se va utilizar cuando la cantidá seya diferente de 1. Xenérase automáticamente a partir d'unes regles (ver Módulu:ast-flexón) y namái va ser necesariu incluyilo en casos non regulares.
  • ucode ye'l códigu o l'abreviatura de la unidá que se va utilizar nel casu d'usar el parámetru formatting=unitcode. Namái va haber que'añadilu cuando'l valor seya distintu al de símbolu de la unidá (P5061). Si nun s'atopa nengún, va usase la etiqueta.
Tabla convert_default

Conversiones d'unidaes por defeutu usaes cola opción convert = default. El formatu ye:

	Qid_from = 'Qid_to', -- comentariu

onde Qid_from ye l'identificador de la unidá a convertir y Qid_to ye la unidá usada na conversión. Encamiéntase desplicar nun comentariu les dos unidaes pa una meyor llectura. Ver la documentación de los parámetros de formatu pa los tipos de datos numbéricos.


-- sintaxis:
--	Qxxx = { -- etiqueta de Wikidata pa referencia
--		label = "label correxida",
--		plural = "plural correxíu",
--		ucode = "codigu de la unidá",
--		},

local wikidata_units = {
	Q5 = {
		label = "humanu",
		plural = "humanos",
		},
    Q531 = { -- añu lluz
		plural = "años lluz",
		},
	Q573 = { -- dia
		ucode = "dies",
		},
	Q577 = { -- añu
		plural = "años"
	},
	Q1811 = { -- unidá astronómica
		label = "unidá astronómica",
		plural = "unidaes astronómiques",
		ucode = "UA",
		},
	Q3710 = { -- pie
		label = "pie",
		plural = "pies",
		ucode = "ft",
		},	
	Q4917 = { -- dòlar de los Estaos Xuníos
		ucode = "$", -- reiterativu
		},
	Q5151 = { -- mes
		plural = "meses",
		},
	Q5329 = { -- decibeliu
		label = "decibeliu",
		plural = "decibelios",
		ucode = "dB", 
		},
	Q23977060 = { -- decibeliu relativu a 1 picaWatt
		label = "decibeliu relativu a 1 picaWatt",
		plural = "decibelios relativos a 1 picaWatt",
		ucode = "dB re 1pW", 
		},
	Q11229 = { -- porcentaxe
		plural = "porcentaxe",
		ucode = "%", -- reiterativu
		},
	Q11573 = { -- metru
		plural = "metros",
		ucode = "m", -- reiterativu
		},
	Q25224 = { -- llibra esterlina
		ucode = "£", -- reiterativu
		},
	Q25267 = { -- grau Celsius
		label = "grau Celsius",
		plural = "graos Celsius",
		ucode = "°C",
		},
	Q42289 = { -- grau Fahrenheit
		label = "grau Fahrenheit",
		plural = "graos Fahrenheit",
		ucode = "°F",
		},
        Q55627  = {
		label = "añu de vida axustáu por discapacidá",
		plural = "años de vida axustaos por discapacidá",
		ucode = "AVAD",
		},
	Q83327 = {-- electrón-voltiu
		label = "electrón-voltiu",
		plural = "electrón-voltios",
		ucode = "eV",		
		},
	Q128822 = { -- nudu / knot
		label = "nudu",
		plural = "nudos",
		ucode = "kn",
		},
	Q155009 = { -- Reichsmark
		ucode = "ℛℳ",
		},
	Q206037 = { -- revoluciones per minutu
		label = "revolución",
		plural = "revoluciones",
		ucode = "RPM",
		},
	Q209426 = { -- minutu d'arcu
		label = "minutu",
		plural = "minutos",
		ucode = "′",	
		},
	Q483261 = { -- unidá de masa atómica
		label = "unidá de masa atómica",
		plural = "unidaes de masa atómica",
		ucode = "uma",
		},
	Q550207 = { -- dòlar Geary-Khamis
		label = "dólar Geary-Khamis",
		plural = "dólares Geary-Khamis",
		ucode = "$",
		},
	Q712226 = { -- quilómetru cuadráu
		plural = "quilómetros cuadraos",
		ucode = "km²", -- reiterativu
		},	
	Q743895 = { --pulsaciones per minutu
		plural = "pulsaciones per minutu",
		ucode = "ppm",
		},
	Q751310 = { -- poiseuille
		plural = "poiseuilles",
		ucode = "PI",
		},
	Q794261 = { -- metru cúbicu per segundu
		plural = "metros cúbicos per segundu",
		ucode = "m³/s",
		},
	Q829073 = { -- segundu d'arcu
		label = "segundu",
		ucode = "″", -- WD con comines rectes
		},
	Q1463969 = { -- vatiu per metru-kelvin
		ucode = "W/(m·K)",
		},
	Q2080811 = { -- fracción volumètrica
		label = "porcentaxe en volume",
		plural = "porcentaxe en volume",
		ucode = "%",
		},
	Q3085309 = { -- joule per quilogramu-kelvin
		ucode = "J/Kg·K",
		},
    Q3858002 = { -- miliamperios-hora
		ucode = "mAh",
		},
	Q6859652 = { -- milímetru de mercuriu
		ucode = "mm Hg",		
		},
	Q20966435 = { -- amperios per voltiu-metru
		plural = "amperios per voltiu-metru",
		},
	Q20966455 = { -- joule per mol-kelvin
		ucode = "J/mol·K",
		},
	Q21006887 = { -- partes per millón
		label = "parte per millón",
		plural = "partes per millón",
		ucode = "ppm",
		},
	Q21127659 = { -- gramos per 100 gramos de disolvente
		label = "gramu per 100 gramos de disolvente",
		plural = "gramos per 100 gramos de disolvente",
		ucode = "g/100 g disolvente",
		},
	Q24564698 = { -- años (edá)
		plural = "años",
		},
	Q26156132 = { -- milinewton per metru
		ucode = "mN/m",
		},
	Q26484625 = { -- volta
		plural = "vueltes",
		},
	Q28739766 = { -- coulomb-metru
		ucode = "C·m",
		},
	Q1815100 = {
		plural = 'centilitros',
	},
	Q174728 = {
		label = "centímetru",
		plural = "centímetros",
		ucode = "cm",
		},
	Q828224 = {
		label = "quilómetru",
		plural = "quilómetros",
		ucode = "km",
		},
	Q253276 = { -- milla
		ucode = "mi",
		},
	Q93318 = { -- milla náutica
		label = "milla náutica",
		plural = "milles náutiques",
		ucode = "mn",
		},
	Q25343 = { -- metru cuadráu
		ucode = "m²",
		},
	Q232291 = { -- milla cuadrada
		plural = "milles cuadraes",
		ucode = "mi²",
		},
	Q35852 = { -- hectárees
		ucode = "ha",
		},
	Q5195628 = { -- hectómetros cúbicos
		label = "hectómetru cúbicu",
		plural = "hectómetros cúbicos",
		ucode = "hm³",
		},
	Q160857 = {
		label = "caballu de vapor",
		plural = "caballos de vapor",
		ucode = "CV",
		},
	Q3320608 = {
		label = "quilovatiu",
		plural = "quilovatios",
		ucode = "kw",
		},
	Q11570 = {
		label = "quilogramu",
		plural = "quilogramos",
		ucode = "kg",
		},
	Q100995 = {
		label = "llibra",
		plural = "llibres",
		ucode = "lb",
		},
	Q4916 = {
		label = "euru",
		plural = "euros",
		ucode = "€",
		},
	Q28390 = {
		label = "grau sexaxesimal",
		plural = "graos sexaxesimales",
		ucode = "°",
		},
	Q25517 = {
		label = "metru cúbicu",
		plural = "metros cúbicos",
		ucode = "m³",
		},
	Q7727 = {
		label = "minutu",
		plural = "minutos",
		ucode = "min",
		},
	Q11574 = {
		label = "segundu",
		plural = "segundos",
		ucode = "s",
		},
	Q41803 = {
		label = "gramu",
		plural = "gramos",
		ucode = "g",
		},
	Q218593 = {
		label = "pulgada",
		plural = "pulgaes",
		ucode = "″",
		},
	Q1063786 = {
		label = "pulgada cuadrada",
		plural = "pulgaes cuadraes",
		},
	Q13147228 = { -- gramos per centímetru cúbicu
		ucode = "g/cm³",
		},
	Q2719498 = {
		label = "arquéu brutu",
		ucode = "GT",
		},
	Q1781855 = {
		label = "arquéu netu",
		ucode = "NT",
		},
	Q752197 = { -- quilojoule per mol
		ucode = "KJ/mol",		
		},
	Q191118 = {
		label = "tonelada",
		plural = "tonelaes",
		ucode = "t",
		},
	Q182429 = { -- metros per segundu
		ucode = "m/s",
		},
	Q180154 = {
		plural = "quilómetros per hora",
		ucode = "km/h"
		},
	Q177974 = {
		label = "atmósfera",
		plural = "atmósferes",
		ucode = "atm",
		},
	Q174789 = {
		label = "milímetru",
		plural = "milímetros",
		ucode = "mm",
		},
	Q25235 = {
		label = "hora",
		plural = "hores",
		ucode = "h",
		},
	Q26162545 = { -- centímetros cuadraos per segundu
		ucode = "cm²/s",
		},
	Q21604951 = { -- gramos per metru cúbicu
		ucode = "g/m³",
		},
	Q21064807 = { -- quilopascales
		ucode = "kPa",
		},
	Q44395 = { -- pascales
		ucode = "Pa",
		},
	Q319604 = {
		label = "pasaxeru",
		plural = "pasaxeros",
		},
	Q6998519 = {
		label = "arquéu de rexistru netu",
		ucode = "NRT",
		},
	Q752079 = {
		label = "arquéu de rexistru brutu",
		ucode = "GRT",
		},
    Q3674704  = {
		label = "quilómetru per segundu",
		plural = "quilómetros per segundu",
		ucode = "km/s",
		},
    Q79735 = {
		label = "megabyte",
		plural = "megabytes",
		ucode = "MB",
		},
	Q2198779 = {
		label = "unidá",
		plural = "unidaes",
		},
	}

local function getUnit(amount, label, unitID, code, symbol)
	if label == nil 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 or unitID
	else
		unit_text = id_data.plural or require("Módulu:ast-flexón").plural(id_data.label or label)
	end
	return unit_text
end

local convert_default = {
	Q218593 = "Q174789", -- in > mm
	Q3710 = "Q174728", -- ft > cm
	Q482798 = "Q11573", -- yd > m
	Q253276 = "Q828224", -- mi > km
	Q232291 = "Q712226", -- mi² > km²
	Q128822 = "Q180154", -- nudos > km/h
	Q100995 = "Q11570", -- llibres > kg
}

return {
	getUnit = getUnit,
	convert_default = convert_default
}