Modulo:Conversione/Configurazione

La documentazione per questo modulo può essere creata in Modulo:Conversione/Configurazione/man

--[[
* Configurazione del modulo Conversione.
*
* Le unità di misura hanno come unità di riferimento:
* length: 'metre'
* area: 'square metre'
* speed: 'metre per second'
* weight: 'gram'
* pressure: 'pascal'
* flow: 'cubic metre per second'
* time: 'second'
* temperature: 'kelvin'
* angle: 'degree'
* volume: 'cubic metre'
]]--

local config = {}

config.units = {
	-- lunghezza
	millimetre = {
		type = 'length',
		scale = 0.001,
		symbol = 'mm',
		link = 'metro',
		name1 = 'millimetro',
		name2 = 'millimetri'
	},
	centimetre = {
		type = 'length',
		scale = 0.01,
		symbol = 'cm',
		link = 'metro',
		name1 = 'centimetro',
		name2 = 'centimetri'
	},
	inch = {
		type = 'length',
		scale = 0.0254,
		symbol = 'in',
		link = 'pollice (unità di misura)',
		name1 = 'pollice',
		name2 = 'pollici'
	},
	foot = {
		type = 'length',
		scale = 0.3048,
		symbol = 'ft',
		link = 'piede (unità di misura)',
		name1 = 'piede',
		name2 = 'piedi'
	},
	yard = {
		type = 'length',
		scale = 0.9144,
		symbol = 'yd',
		link = 'iarda',
		name1 = 'iarda',
		name2 = 'iarde'
	},
	metre = {
		type = 'length',
		scale = 1,
		symbol = 'm',
		link = 'metro',
		name1 = 'metro',
		name2 = 'metri'
	},
	kilometre = {
		type = 'length',
		scale = 1000,
		symbol = 'km',
		link = 'chilometro',
		name1 = 'chilometro',
		name2 = 'chilometri'
	},
	mile = {
		type = 'length',
		scale = 1609.344,
		symbol = 'mi',
		link = 'miglio (unità di misura)',
		name1 = 'miglio',
		name2 = 'miglia'
	},
	['nautical mile'] = {
		type = 'length',
		scale = 1852,
		symbol = 'nmi',
		link = 'miglio nautico',
		name1 = 'miglio nautico',
		name2 = 'miglia nautiche'
	},

	-- area
	['square metre'] = {
		type = 'area',
		scale = 1,
		symbol = 'm²',
		link = 'metro quadrato',
		name1 = 'metro quadrato',
		name2 = 'metri quadrati'
	},
	hectare = {
		type = 'area',
		scale = 10000,
		symbol = 'ha',
		link = 'ettaro',
		name1 = 'ettaro',
		name2 = 'ettari'
	},
	['square kilometre'] = {
		type = 'area',
		scale = 1000000,
		symbol = 'km²',
		link = 'chilometro quadrato',
		name1 = 'chilometro quadrato',
		name2 = 'chilometri quadrati'
	},
	['square mile'] = {
		type = 'area',
		scale = 2589988.110336,
		symbol = 'mi²',
		link = 'miglio quadro',
		name1 = 'miglio quadro',
		name2 = 'miglia quadre'
	},
	acre = {
		type = 'area',
		scale = 4046.8564224,
		symbol = 'ac',
		link = 'acro',
		name1 = 'acro',
		name2 = 'acri'
	},

	-- velocità
	['kilometre per hour'] = {
		type = 'speed',
		scale = 0.27777777777778,
		symbol = 'km/h',
		link = 'chilometro orario',
		name1 = 'chilometro orario',
		name2 = 'chilometri orari'
	},
	knot = {
		type = 'speed',
		scale = 0.51444444444444,
		symbol = 'kn',
		link = 'nodo (unità di misura)',
		name1 = 'nodo',
		name2 = 'nodi'
	},
	['metre per second'] = {
		type = 'speed',
		scale = 1,
		symbol = 'm/s',
		link = 'metro al secondo',
		name1 = 'metro al secondo',
		name2 = 'metri al secondo'
	},

	-- peso
	ounce = {
		type = 'weight',
		scale = 28.349523125,
		symbol = 'oz',
		link = 'oncia (unità di misura)',
		name1 = 'oncia',
		name2 = 'once'
	},
	pound = {
		type = 'weight',
		scale = 453.59237,
		symbol = 'lb',
		link = 'libbra',
		name1 = 'libbra',
		name2 = 'libbre'
	},
	gram = {
		type = 'weight',
		scale = 1,
		symbol = 'g',
		link = 'grammo',
		name1 = 'grammo',
		name2 = 'grammi'
	},
	kilogram = {
		type = 'weight',
		scale = 1000,
		symbol = 'kg',
		link = 'chilogrammo',
		name1 = 'chilogrammo',
		name2 = 'chilogrammi'
	},
	tonne = {
		type = 'weight',
		scale = 1000000,
		symbol = 't',
		link = 'tonnellata',
		name1 = 'tonnellata',
		name2 = 'tonnellate'
	},

	-- pressione
	pascal = {
		type = 'pressure',
		scale = 1,
		symbol = 'Pa',
		link = 'pascal (unità di misura)',
		name1 = 'pascal',
		name2 = 'pascal'
	},
	['millimeter of mercury'] = {
		type = 'pressure',
		scale = 133.322387415,
		symbol = 'mmHg',
		link = 'torr',
		name1 = 'millimetro di mercurio',
		name2 = 'millimetri di mercurio'
	},
	['pound per square inch'] = {
		type = 'pressure',
		scale = 6894.7572931684,
		symbol = 'psi',
		link = 'psi (unità di misura)',
		name1 = 'libbra per pollice quadrato',
		name2 = 'libbre per pollice quadrato'
	},
	bar = {
		type = 'pressure',
		scale = 100000,
		symbol = 'bar',
		link = 'bar (unità di misura)',
		name1 = 'bar',
		name2 = 'bar'
	},
	atmosphere = {
		type = 'pressure',
		scale = 101325,
		symbol = 'atm',
		link = 'atmosfera (unità di misura)',
		name1 = 'atmosfera',
		name2 = 'atmosfere'
	},

	-- portata
 	['cubic metre per second'] = {
		type = 'flow',
		scale = 1,
		symbol = 'm³/s',
		link = 'metro cubo al secondo',
		name1 = 'metro cubo al secondo',
		name2 = 'metri cubi al secondo'
	},
	['cubic feet per second'] = {
		type = 'flow',
		scale = 0.028316846592,
		symbol = 'cu ft/s',
		link = 'metro cubo al secondo',
		name1 = 'piede cubo al secondo',
		name2 = 'piedi cubi al secondo'
	},

	-- time
	second = {
		type = 'time',
		scale = 1,
		symbol = 's',
		link = 'secondo',
		name1 = 'secondo',
		name2 = 'secondi'
	},
	minute = {
		type = 'time',
		scale = 60,
		symbol = 'min',
		link = 'minuto',
		name1 = 'minuto',
		name2 = 'minuti'
	},
	hour = {
		type = 'time',
		scale = 3600,
		symbol = 'h',
		link = 'ora',
		name1 = 'ora',
		name2 = 'ore'
	},
	day = {
		type = 'time',
		scale = 86400,
		symbol = 'g',
		link = 'giorno',
		name1 = 'giorno',
		name2 = 'giorni'
	},

	-- angolo
	degree = {
		type = 'angle',
		scale = 1,
		symbol = '°',
		nospace = true,
		link = 'grado d\'arco',
		name1 = 'grado d\'arco',
		name2 = 'gradi d\'arco'
	},
	radiant = {
		type = 'angle',
		scale = 180 / math.pi,
		symbol = 'rad',
		link = 'radiante',
		name1 = 'radiante',
		name2 = 'radianti'
	},

	-- temperatura
	kelvin = {
		type = 'temperature',
		scale = 1,
		offset = 0,
		symbol = 'K',
		link = 'kelvin',
		name1 = 'kelvin',
		name2 = 'kelvin'
	},
	['degree Celsius'] = {
		type = 'temperature',
		scale = 1,
		offset = -273.15,
		symbol = '°C',
		link = 'grado Celsius',
		name1 = 'grado Celsius',
		name2 = 'gradi Celsius'
	},
	['degree Fahrenheit'] = {
		type = 'temperature',
		scale = 5 / 9,
		offset = 32 - 273.15 * (9 / 5),
		symbol = '°F',
		link = 'grado Fahrenheit',
		name1 = 'grado Fahrenheit',
		name2 = 'gradi Fahrenheit'
	},

	-- volume
	['cubic metre'] = {
		type = 'volume',
		scale = 1,
		symbol = 'm³',
		link = 'metro cubo',
		name1 = 'metro cubo',
		name2 = 'metri cubi'
	},
	['cubic hectometre'] = {
		type = 'volume',
		scale = 1000000,
		symbol = 'hm³',
		link = 'metro cubo',
		name1 = 'ettometro cubo',
		name2 = 'ettometri cubi'
	},
	['cubic kilometre'] = {
		type = 'volume',
		scale = 1000000000,
		symbol = 'km³',
		link = 'metro cubo',
		name1 = 'chilometro cubo',
		name2 = 'chilometri cubi'
	}
}

config.alias = {
	-- Wikidata
	Q174789 = 'millimetre',
	Q174728 = 'centimetre',
	Q218593 = 'inch',
	Q3710 = 'foot',
	Q482798 = 'yard',
	Q11573 = 'metre',
	Q828224 = 'kilometre',
	Q253276 = 'mile',
	Q93318 = 'nautical mile',
	Q25343 = 'square metre',
	Q35852 = 'hectare',
	Q712226	= 'square kilometre',
	Q232291 = 'square mile',
	Q81292 = 'acre',
	Q180154 = 'kilometre per hour',
	Q128822 = 'knot',
	Q182429 = 'metre per second',
	Q48013 = 'ounce',
	Q100995 = 'pound',
	Q41803 = 'gram',
	Q11570 = 'kilogram',
	Q191118 = 'tonne',
	Q44395 = 'pascal',
	Q6859652 = 'millimeter of mercury',
	Q626299 = 'pound per square inch',
	Q103510 = 'bar',
	Q177974 = 'atmosphere',
	Q794261 = 'cubic metre per second',
	Q21467992 = 'cubic feet per second',
	Q11574 = 'second',
	Q7727 = 'minute',
	Q25235 = 'hour',
	Q573 = 'day',
	Q11579 = 'kelvin',
	Q28390 = 'degree',
	Q33680 = 'radiant',
	Q25267 = 'degree Celsius',
	Q42289 = 'degree Fahrenheit',
	Q25517 = 'cubic metre',
	Q5195628 = 'cubic hectometre',
	Q4243638 = 'cubic kilometre',

	-- italiano
	millimetro = 'millimetre',
	centimetro = 'centimetre',
	pollice = 'inch',
	piede = 'foot',
	iarda = 'yard',
	metro = 'metre',
	chilometro = 'kilometre',
	miglio = 'mile',
	['miglio nautico'] = 'nautical mile',
	['metro quadrato'] = 'square metre',
	ettaro = 'hectare',
	['chilometro quadrato'] = 'square kilometre',
	['miglio quadro'] = 'square mile',
	acro = 'acre',
	['chilometro orario'] = 'kilometre per hour',
	nodo = 'knot',
	['metro al secondo'] = 'metre per second',
	oncia = 'ounce',
	libbra = 'pound',
	grammo = 'gram',
	chilogrammo = 'kilogram',
	tonnellata = 'tonne',
	['millimetro di mercurio'] = 'millimeter of mercury',
	['libbra per pollice quadrato'] = 'pound per square inch',
	atmosfera = 'atmosphere',
	['metro cubo al secondo'] = 'cubic metre per second',
	['piede cubo al secondo'] = 'cubic feet per second',
	secondo = 'second',
	minuto = 'minute',
	ora = 'hour',
	giorno = 'day',
	['grado d\'arco'] = 'degree',
	radiante = 'radiant',
	['grado Celsius'] = 'degree Celsius',
	['grado Fahrenheit'] = 'degree Fahrenheit',
	['metro cubo'] = 'cubic metre',
	['ettometro cubo'] = 'cubic hectometre',
	['chilometro cubo'] = 'cubic kilometre',

	-- simbolo unità
	mm = 'millimetre',
	cm = 'centimetre',
	['in'] = 'inch',
	ft = 'foot',
	yd = 'yard',
	m = 'metre',
	km = 'kilometre',
	mi = 'mile',
	nmi = 'nautical mile',
	sqm = 'square metre',
	ha = 'hectare',
	sqkm = 'square kilometre',
	sqmi = 'square mile',
	ac = 'acre',
	['km/h'] = 'kilometre per hour',
	kn = 'knot',
	['m/s'] = 'metre per second',
	oz = 'ounce',
	lb = 'pound',
	g = 'gram',
	kg = 'kilogram',
	t = 'tonne',
	Pa = 'pascal',
	mmHg = 'millimeter of mercury',
	psi = 'pound per square inch',
	atm = 'atmosphere',
	['m3/s'] = 'cubic metre per second',
	['cuft/s'] = 'cubic feet per second',
	s = 'second',
	min = 'minute',
	h = 'hour',
	['°'] = 'degree',
	rad = 'radiant',
	K = 'kelvin',
	['°C'] = 'degree Celsius',
	['°F'] = 'degree Fahrenheit',
	m3 = 'cubic metre',
	hm3 = 'cubic hectometre',
	km3 = 'cubic kilometre',
}

return config