Module:Convert/extra
From HandWiki
< Module:Convert
Revision as of 16:24, 23 November 2020 by imported>Jworkorg (1 revision imported)
This module can be used to quickly add a new unit for use with {{convert}}. When satisfied that a unit is working correctly, ask at Module talk:Convert for the unit to be moved to the permanent list of units.
See Template:Convert/unit sandbox for a good way to prepare unit definitions that can be copied into this page.
The following extracts from Module:Convert/data show examples that could be used to define a new unit. Any number of spaces can be used where blanks are shown in the following.
Examples for additions to
Module:Convert/extra (For the actual module code see below) |
---|
-- These are EXAMPLES on the documentation page. Scroll down to see the module content. local extra_units = { -- Similar to a redirect: "sqm" is an alias for "m2". -- {{convert|1.5|m2|sp=us}} → 1.5 square meters (16 sq ft) -- {{convert|1.5|sqm|sp=us}} → 1.5 square meters (16 sq ft) ["sqm"] = { target = "m2", }, -- A simple unit, showing the minimum that is required. -- The "ha" is the unit code used to identify the unit: -- {{convert|1.5|ha}} → 1.5 hectares (3.7 acres) ["ha"] = { name1 = "hectare", symbol = "ha", utype = "area", scale = 10000, default = "acre", }, -- A unit which accepts an SI prefix. There is no "name1" field because it -- has to be constructed (mJ gives "millijoule"; MJ gives "megajoule"). -- {{convert|125|kJ}} → 125 kilojoules (30,000 cal) ["J"] = { _name1 = "joule", _symbol = "J", utype = "energy", scale = 1, prefixes = 1, default = "cal", link = "Joule", }, -- A unit where US and plural names are required. -- {{convert|125|cm/s2}} → 125 centimetres per second squared (4.1 ft/s²) ["cm/s2"] = { name1 = "centimetre per second squared", name1_us = "centimeter per second squared", name2 = "centimetres per second squared", name2_us = "centimeters per second squared", symbol = "cm/s<sup>2</sup>", utype = "acceleration", scale = 0.01, default = "ft/s2", link = "Gal (unit)", }, -- A "per" unit is defined as the ratio of two other units. -- {{convert|125|g/cm3}} → 125 grams per cubic centimetre (4.5 lb/cu in) ["g/cm3"] = { per = { "g", "cm3" }, utype = "density", default = "lb/cuin", }, -- If the automatic "per" link is not wanted, a link can be specified. -- {{convert|125|g/cm3|lk=on|disp=unit}} → [[gram]]s per [[cubic centimetre]] -- {{convert|125|g/m3|lk=on|disp=unit}} → [[density|grams per cubic metre]] ["g/m3"] = { per = { "g", "m3" }, utype = "density", default = "lb/cuyd", link = "density", }, -- Characters "$" and "£" are recognized as currency symbols. -- {{convert|125|$/acre}} → $125 per acre ($310/ha) ["$/acre"] = { per = { "$", "acre" }, utype = "cost $ per unit area", default = "$/ha", }, -- An output unit can be defined as a combination of existing units. -- {{convert|2|ha|ft2 m2}} → 2 hectares (220,000 sq ft; 20,000 m²) -- Any number of output units can be specified. -- NOTE: There may be no need to define a combination because a convert -- can specify the output by joining unit codes with "+": -- {{convert|1.2|acre|ft2+yd2+m2}} → 1.2 acres (52,000 sq ft; 5,800 sq yd; 4,900 m²) ["ft2 m2"] = { combination = { "ft2", "m2" }, utype = "area", }, -- An output unit can be defined using subunits (from least to most significant). -- {{convert|90|in|ydftin}} → 90 inches (2 yd 1 ft 6 in) ["ydftin"] = { combination = { "in", "ft", "yd" }, multiple = { 12, 3 }, utype = "length", }, } |
Field | Description |
---|---|
symbol |
Unit identifier used when abbr=on is in effect.
|
name1 |
Singular name of the unit used when abbr=off is in effect.
|
name2 |
Plural name of the unit; not required if it is the same as name1 plus "s".
|
name1_us |
Singular name when sp=us is in effect; not required if the same as name1 .
|
name2_us |
Plural name when sp=us is in effect; not required if the same as name1_us plus "s".
|
utype |
Unit type; must be exactly the same as the utype of any other unit used in a conversion.
|
scale |
Number of base units in the unit being defined. |
default |
Unit code of the default output used when no output unit is specified in a conversion. |
target |
Unit code of an existing unit (the unit being defined "redirects" to the existing unit). |
prefixes |
Use 1 if an SI prefix is accepted; 2 is used for m2 , and 3 is used for m3 .
|
link |
Article title used when lk=on is in effect; not required if it is the same as name1 .
|
-- Extra conversion data used by Module:Convert. -- -- [[Module:Convert/data]] defines all units and is transcluded in all pages -- where [[Module:Convert]] is used. Testing new units by editing that module -- would invalidate the cache for all affected pages. -- -- For quick changes and experiments with new units, this module can be edited. -- Since this module is transcluded in only a small number of pages, changes -- should cause little server overhead and should propagate quickly. -- -- If a unit is defined in the data module, any definition here is ignored, -- so defining the same unit in both modules is not an error. -- A unit defined here can refer to units that are also defined here, and -- can refer to units defined in the data module. -- -- Periodically, those extra units that are wanted permanently can be removed -- from here after being added to [[Module:Convert/data]]. local extra_units = { ["100mi"] = { target = "mi", multiplier= 100, }, ["100miles"] = { target = "mi", symbol = "miles", multiplier= 100, }, ["g0-temp"] = { -- test how g0 will work in next release; the zero is not in italics name1 = "standard gravity", name2 = "standard gravities", symbol = "''g''<sub>0</sub>", utype = "acceleration", scale = 9.80665, default = "m/s2", }, ["g-force"] = { name2 = "''g''", symbol = "''g''", utype = "acceleration", scale = 9.80665, default = "m/s2", link = "g-force", }, ["kpm"] = { name1 = "kilopond metre", name1_us = "kilopond meter", symbol = "kp⋅m", utype = "torque", scale = 9.80665, default = "Nm lbft", link = "Kilogram metre (torque)", }, ["miyd"] = { combination= { "yd", "mi" }, multiple = { 1760 }, utype = "length", }, ["scf2"] = { name1 = "standard cubic foot", name2 = "standard cubic feet", symbol = "scf", utype = "energy", scale = 2869.2044809344, default = "kJ", link = "Standard cubic foot", }, ["scfoot2"] = { name1 = "standard cubic foot", name2 = "standard cubic foot", symbol = "scf", utype = "energy", scale = 2869.2044809344, default = "kJ", link = "Standard cubic foot", }, ["mi/kWh"] = { name1 = "miles per kiloWatt hour", per = { "mi", "kWh" }, utype = "Energy per unit length", invert = -1, default = "kWh/100km", }, } return { extra_units = extra_units }