Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
-- Text used by Module:Convert for this wiki.
--[[ Text (messages) used by Module:Convert.
-- This is a separate module to simplify translation for use on another wiki.
Nearly all of the text displayed by Module:Convert is in this module
-- See [[:en:Template:Convert/Transwiki guide]].
(apart from the unit definitions in Module:Convert/data).
This is in a separate module to simplify translation for use on another wiki.
]]


-- Some units accept an SI prefix before the unit code, such as "kg" for kilogram.
-- Names when using engineering notation (a prefix of "eN" where N is a number).
local SIprefixes = {
-- key = { "name", "linked name, if link wanted" }
-- The prefix field is what the prefix should be, if different from the prefix used.
['Q'] = { exponent = 30, name = 'quetta',                },
['R'] = { exponent = 27, name = 'ronna',                  },
['Y'] = { exponent = 24, name = 'yotta',                  },
['Z'] = { exponent = 21, name = 'zetta',                  },
['E'] = { exponent = 18, name = 'exa'  ,                  },
['P'] = { exponent = 15, name = 'peta' ,                  },
['T'] = { exponent = 12, name = 'tera' ,                  },
['G'] = { exponent =  9, name = 'giga' ,                  },
['M'] = { exponent =  6, name = 'mega' ,                  },
['k'] = { exponent =  3, name = 'kilo' ,                  },
['h'] = { exponent =  2, name = 'hecto',                  },
['da']= { exponent =  1, name = 'deca' , name_us = 'deka' },
['d'] = { exponent = -1, name = 'deci' ,                  },
['c'] = { exponent = -2, name = 'centi',                  },
['m'] = { exponent = -3, name = 'milli',                  },
['μ'] = { exponent = -6, name = 'micro',                  },  -- key = 'GREEK SMALL LETTER MU' (U+03BC) utf-8 CE BC
['µ'] = { exponent = -6, name = 'micro', prefix = 'μ'    },  -- key = 'MICRO SIGN' (U+00B5) utf-8 C2 B5
['u'] = { exponent = -6, name = 'micro', prefix = 'μ'    },  -- not an SI prefix, but allow for people typing this
['n'] = { exponent = -9, name = 'nano' ,                  },
['p'] = { exponent =-12, name = 'pico' ,                  },
['f'] = { exponent =-15, name = 'femto',                  },
['a'] = { exponent =-18, name = 'atto' ,                  },
['z'] = { exponent =-21, name = 'zepto',                  },
['y'] = { exponent =-24, name = 'yocto',                  },
['r'] = { exponent =-27, name = 'ronto',                  },
['q'] = { exponent =-30, name = 'quecto',                },
}
 
-- Some units can be qualified with one of the following prefixes, when linked.
local customary_units = {
{ "US", link = "United States customary units" },
{ "U.S.", link = "United States customary units" },
{ "imperial", link = "Imperial units" },
{ "imp", link = "Imperial units" },
}
 
-- Names when using engineering notation (a prefix of "eN" where N is a number; example "e6km").
-- key = { "name", link = "article title", exponent = numeric_key_value }
-- If lk=on and link is defined, the name of the number will appear as a link.
local eng_scales = {
local eng_scales = {
["3"]  = { "thousand", exponent = 3 },
    ["3"]  = { "thousand" },
["6"]  = { "million", exponent = 6 },
    ["6"]  = { "million" },
["9"]  = { "billion", link = "1000000000 (number)", exponent = 9 },
    ["9"]  = { "billion", "[[1000000000 (number)|billion]]" },
["12"] = { "trillion", link = "1000000000000 (number)", exponent = 12 },
    ["12"] = { "trillion", "[[1000000000000 (number)|trillion]]" },
["15"] = { "quadrillion", link = "1000000000000000 (number)", exponent = 15 },
    ["15"] = { "quadrillion", "[[1000000000000000 (number)|quadrillion]]" },
}
}


local all_categories = {
local all_categories = {
unit = "[[Category:Convert errors]]",
    general = '[[Category:Convert error]]',
option = "[[Category:Convert errors]]",
    mismatch = '[[Category:Convert dimension mismatch]]',
warning = '[[Category:Convert invalid options]]',
    option = '[[Category:Convert unknown option]]',
tracking = '[[Category:Convert tracking]]',
    unknown = '[[Category:Convert unknown unit]]',
}
}


-- For some error messages, the following puts the wanted style around
-- Following puts wanted style around each unit code marked like '...%{ft%}...'.
-- each unit code marked like '...%{ft%}...'.
local unitcode_regex = '%%([{}])'
local unitcode_regex = '%%([{}])'
local unitcode_replace = { ['{'] = '"', ['}'] = '"' } -- no longer need the more elaborate substitute used before 2013-09-28
local unitcode_replace = { ['{'] = '<code style="background:transparent;">', ['}'] = '</code>' }


-- All messages that may be displayed if a problem occurs.
local all_messages = {
local all_messages = {
-- Message format string: $1=title, $2=text, $3=category, $4=anchor.
    -- All output messages.
-- Each displayed message starts with "Convert:" so can easily locate by searching article.
    -- One of the following prefixes is inserted before each message.
cvt_format = '<sup class="noprint Inline-Template" style="white-space:nowrap;">[<i>[[w:Help:Convert messages#$4|<span title="Convert: $1">convert: $2</span>]]</i>]</sup>$3<span class="error"></span>',
    cvt_prefix_error = '<span style="color:black; background-color:orange;">[[Module talk:Convert|Conversion error]]:',
cvt_format2 = '<sup class="noprint Inline-Template" style="white-space:nowrap;">[[w:Help:Convert messages#$4|<span title="Convert: $1">$2</span>]]</sup>$3<span class="error"></span>',
    cvt_prefix_warning = '<span style="color:black; background-color:peachpuff;">[[Module talk:Convert|Conversion warning]]:',
cvt_format_preview = '<strong class="error">Error in convert: $1 [[w:Help:Convert messages#$4|(help)]]</strong>$3',
    -- Each of following messages is a table:
-- Each of following messages is a table:
    -- { [1] = 'error text',
-- { [1] = 'title',         -- mouseover title text
    --  [2] = 'category key',
--  [2] = 'text',         -- link text displayed in article
    --  regex = gsub_regex,
--  [3] = 'category key', -- key to lookup category in all_categories
    --  replace = gsub_table,
--  [4] = 'anchor',       -- anchor for link to relevant section on help page
    --  warning = true,       -- omit for an error message
--  regex = gsub_regex,
    -- }
--   replace = gsub_table,
     cvt_bad_default = { 'Unit "%s" has an invalid default', 'unknown' },
-- }                   Mouseover title text                          Link text              CatKey     Anchor
    cvt_bad_num = { 'Value "%s" must be a number', 'general' },
cvt_bad_input      = { 'input "$1" must be a number and unit'      , 'invalid input'       , 'option',  'invalid_input'       },
    cvt_bad_num2 = { 'Second value "%s" must be a number', 'general' },
cvt_bad_num       = { 'Value "$1" must be a number'               , 'invalid number'     , 'option',  'invalid_number'      },
    cvt_bad_prec = { 'Parameter precision "%s" must be an integer', 'general' },
cvt_big_prec      = { 'Precision "$1" is too large'                , 'precision too large' , 'option',  'precision_too_large'  },
    cvt_bad_sigfig = { 'Parameter sigfig "%s" must be an integer', 'general' },
cvt_invalid_num    = { 'Number has overflowed'                      , 'number overflow'    , 'option',  'number_overflow'      },
    cvt_bad_unit = { 'Unit "%s" is invalid here', 'unknown' },
cvt_no_num        = { 'Needs the number to be converted'          , 'needs a number'      , 'option', 'needs_number'         },
    cvt_big_prec = { 'Precision "%s" is too large', 'general' },
cvt_no_num2        = { 'Needs another number for a range'          , 'needs another number', 'option', 'needs_another_number' },
     cvt_bug_convert = { 'Bug: Cannot convert between specified units', 'general' },
cvt_bad_altitude  = { '"$1" needs an integer'                      , 'invalid altitude'    , 'option', 'invalid_altitude'     },
    cvt_empty_option = { 'Ignored empty option "%s"', 'option', warning = true },
cvt_bad_frac      = { '"$1" needs an integer above 1'              , 'invalid fraction'   , 'option',  'invalid_fraction'    },
    cvt_invalid_num = { 'Number is too large or too small', 'general' },
cvt_bad_prec      = { 'Precision "$1" must be an integer'          , 'invalid precision'  , 'option', 'invalid_precision'   },
    cvt_mismatch = { 'Cannot convert "%s" to "%s"', 'mismatch' },
cvt_bad_sigfig     = { '"$1" needs a positive integer'             , 'invalid sigfig'     , 'option',  'invalid_sigfig'      },
     cvt_no_default = { 'Unit "%s" has no default output unit', 'unknown' },
cvt_empty_option   = { 'Ignored empty option "$1"'                 , 'empty option'       , 'option',  'empty_option'        },
    cvt_no_num = { 'Need value', 'general' },
cvt_deprecated    = { 'Option "$1" is deprecated'                  , '*'                  , 'option',  'deprecated_option', format = 'cvt_format2', nowarn = true },
     cvt_no_num2 = { 'Need second value', 'general' },
cvt_no_spell      = { 'Spelling is not available'                 , 'bug, ask for help'   , 'option',  'ask_for_help'        },
    cvt_no_unit = { 'Need name of unit', 'unknown' },
cvt_unknown_option = { 'Ignored invalid option "$1"'               , 'invalid option'      , 'option',  'invalid_option'       },
    cvt_unknown_option = { 'Ignored unknown option "%s"', 'option', warning = true },
cvt_wd_fail        = { 'Unable to access Wikidata'                  , 'wikidata problem'    , 'option',  'wikidata_problem'     },
    cvt_should_be = { '%s', 'general', regex = unitcode_regex, replace = unitcode_replace },
cvt_bad_default    = { 'Unit "$1" has an invalid default'          , 'bug, ask for help'  , 'unit' , 'ask_for_help'         },
    cvt_sigfig_pos = { 'sigfig "%s" must be positive', 'general' },
cvt_bad_unit      = { 'Unit "$1" is invalid here'                 , 'unit invalid here'   , 'unit'  ,  'unit_invalid_here'    },
    cvt_unknown = { 'Unit "%s" is not known', 'unknown' },
cvt_no_default     = { 'Unit "$1" has no default output unit'      , 'bug, ask for help'   , 'unit' ,  'ask_for_help'        },
cvt_no_unit       = { 'Needs name of unit'                         , 'needs unit name'    , 'unit' ,  'needs_unit_name'      },
cvt_unknown        = { 'Unit name "$1" is not known'               , 'unknown unit'       , 'unit'  ,  'unknown_unit'        },
cvt_should_be     = { '$1'                                         , 'ambiguous unit'      , 'unit'  ,  'ambiguous_unit', regex = unitcode_regex, replace = unitcode_replace },
cvt_mismatch      = { 'Cannot convert "$1" to "$2"'                , 'unit mismatch'      , 'unit' , 'unit_mismatch'       },
cvt_bug_convert    = { 'Bug: Cannot convert between specified units', 'bug, ask for help'  , 'unit'  ,  'ask_for_help'        },
cvt_lookup        = { 'Unit "$1" is incorrectly defined'           , 'bug, ask for help'  , 'unit'  ,  'ask_for_help'         },
}
}


-- Text to join input value/unit with output value/unit.
local disp_joins = {
local disp_joins = {
-- [1]=before output, [2]=after output, [3]=between outputs in a combination; default "; "
    ['or']        = { ' or '   , ''  },
-- [wantname] gives default abbr=off
    ['sqbr-sp']    = { ' ['     , ']' },
["or"]        = { " or "   , "" , " or ", wantname = true },
    ['sqbr-nbsp']  = { '&nbsp;[' , ']' },
["sqbr-sp"]    = { " ["     , "]" },
    ['comma']      = { ', '     , '' },
["sqbr-nbsp"]  = { "&nbsp;[" , "]" },
    ['slash-sp']  = { ' / '     , ''  },
["comma"]      = { ", "     , "" , ", " },
    ['slash-nbsp'] = { '&nbsp;/ ', ''  },
["semicolon"]  = { "; "      , "" },
    ['slash-nosp'] = { '/'       , ''  },
["slash-sp"]  = { " / "     , "" , wantname = true },
    ['b']          = { ' ('     , ')' },
["slash-nbsp"] = { "&nbsp;/ ", "" , wantname = true },
    ['br']        = { '<br/>'  , '' },
["slash-nosp"] = { "/"       , "" , wantname = true },
["b"]          = { " ("     , ")" },
["(or)"]      = { " ("      , ")", " or " },
["br"]        = { "<br />" , "" , wantname = true },
["br()"]      = { "<br />(" , ")", wantname = true },
}
}


-- Text to separate values in a range.
local range_types = { -- text to separate values in a range
local range_types = {
    ['by']    = ' by ',
-- Specifying a table requires either:
    ['-']      = '',
-- * "off" and "on" values (for "abbr=off" and "abbr=on"), or
    ['to about'] = ' to about ',
-- * "input" and "output" values (for LHS and RHS);
    ['and']    = { ['off'] = ' and ', ['on'] = ' and ', exception = true },
-- other fields are optional.
    ['or']    = { ['off'] = ' or ' , ['on'] = ' or ' , exception = true },
-- When "adj=on|abbr=off" applies, spaces in range text are replaced with hyphens.
    ['to']    = { ['off'] = ' to ' , ['on'] = ' to ' , exception = true },
-- With "exception = true", that also occurs with "adj=on|abbr=on".
    ['xx']    = '&nbsp;×&nbsp;',
-- If "adj" is defined here, that text (unchanged) is used with "adj=on".
    ['to(-)']  = { ['off'] = '&nbsp;to ', ['on'] = '' },
["+"]      = " + ",
    ['+/-']    = { ['off'] = '&nbsp;±&nbsp;', ['on'] = '&nbsp;±&nbsp;', ['adj'] = '&nbsp;±&nbsp;' },
[","]      = ",&nbsp;",
    ['x']     = { ['off'] = ' by ', ['on'] = ' ×&nbsp;', is_range_x = true },
[", and"]  = ", and ",
[", or"]  = ", or ",
["by"]    = " by ",
["-"]      = "",
["to about"] = " to about ",
["and"]    = { off = " and ", on = " and ", exception = true },
["and(-)"] = { input = " and ", output = "–" },
["or"]    = { off = " or " , on = " or " , exception = true },
["to"]    = { off = " to " , on = " to " , exception = true },
["to(-)"]  = { input = "&nbsp;to ", output = "" },
["+/-"]    = { off = "&nbsp;±&nbsp;", on = "&nbsp;±&nbsp;", adj = "&nbsp;±&nbsp;", is_range_change = true },
["by(x)"] = { input = " by ", output = " ×&nbsp;", out_range_x = true },
["x"]     = { off = " by ", on = " ×&nbsp;", abbr_range_x = true },
["xx"]    = "&nbsp;×&nbsp;",
["*"]      = "×",
["/"]      = "&thinsp;/&thinsp;",  -- for a table of high/low temperatures with {{convert|83|/|63|F|disp=br()|abbr=values}}
}
}


local range_aliases = {
local range_aliases = {
-- ["alternative name for a range"] = "standard range name"
    ['and(-)']  = 'and',
[""]       = "-",
    ['&']       = 'and',
["&ndash;"] = "-",
    ['']       = '-',
["×"]       = "x",
    ['&ndash;'] = '-',
["&times;"] = "x",
    ['to-']     = 'to(-)',
["±"]        = "+/-",
    ['×']       = 'x',
["&plusmn;"] = "+/-",
    ['±']       = '+/-',
}
}


-- Convert accepts range text delimited with whitespace, for example, {{convert|1 to 2|ft}}.
local local_option_name = {
-- In addition, the following "words" are accepted without spaces, for example, {{convert|1-2|ft}}.
    -- ["en name used in this module"] = "local text for option name"
-- Words must be in correct order for searching, for example, 'x' after 'xx'.
    ["abbr"] = "abbr",
local range_words = { '-', '–', 'xx', 'x', '*' }
    ["adj"]  = "adj",
 
    ["disp"] = "disp",
local ranges = {
    ["lk"]  = "lk",
types = range_types,
    ["sing"] = "sing",
aliases = range_aliases,
words = range_words,
}
}


-- Valid option names.
local en_option_name = {
-- ["local text for option name"] = "en name used in this module"
["$"] = "$",
["abbr"] = "abbr",
["adj"] = "adj",
["altitude_ft"] = "altitude_ft",
["altitude_m"] = "altitude_m",
["comma"] = "comma",
["debug"] = "debug",
["disp"] = "disp",
["frac"] = "frac",
["input"] = "input",
["lang"] = "lang",
["lk"] = "lk",
["order"] = "order",
["qid"] = "qid",
["qual"] = "qual",
["qualifier"] = "qual",
["round"] = "round",
["sigfig"] = "sigfig",
["sing"] = "adj",                  -- "sing" is an old alias for "adj"
["sortable"] = "sortable",
["sp"] = "sp",
["spell"] = "spell",
["stylein"] = "stylein",
["styleout"] = "styleout",
["tracking"] = "tracking",
}
-- Valid option values.
-- Convention: parms.opt_xxx refers to an option that is set here
-- Convention: parms.opt_xxx refers to an option that is set here
-- (not intended to be set by the template which invokes this module).
-- (not intended to be set by the template which invokes this module).
-- Example: At enwiki, "abbr" includes:
-- Example: The option named "abbr" in this module can be assigned the value
--     ["values"] = "opt_values"
-- "comma" at en.wiki (abbr=comma). In that case, this script sets:
-- As a result, if the template uses abbr=values, Module:Convert sets:
--    parms["opt_nocomma"] = true
--    parms["opt_values"] = true
--    parms["abbr"] = nil
--    parms["abbr"] = nil
-- Therefore parms.abbr will be nil, or will have one of the listed values
-- The last line means that parms.abbr will be nil, or will have
-- that do not start with "opt_".
-- one of the values that do not start with "opt_".
-- An option value of form "xxx?" is the same as "xxx" but shows the input as deprecated.
local en_option_value = {
local en_option_value = {
["$"] = 'TEXT',                    -- TEXT should be a currency symbol that will be used instead of "$"
    ["abbr"] = {
["abbr"] = {
        -- ["local text for option value"] = "en value used in this module"
-- ["local text for option value"] = "en value used in this module"
        ["comma"] = "opt_nocomma",     -- no numsep in input or output numbers
["def"] = "",                   -- ignored (some wrapper templates call convert with "abbr=def" to mean "default abbreviation")
        ["in"] = "in",                 -- use symbol for LHS unit
["h"] = "on",                   -- abbr=on + use "h" for hand unit (default)
        ["mos"] = "mos",               -- in range, repeat the input unit (no longer used)
["hh"] = "opt_hand_hh",         -- abbr=on + use "hh" for hand unit
        ["none"] = "off",              -- old name for "off"
["in"] = "in",                 -- use symbol for LHS unit
        ["off"] = "off",                -- use name for all units
["none"] = "off",              -- old name for "off"
        ["on"] = "on",                  -- use symbol for all units
["off"] = "off",                -- use name for all units
        ["out"] = "out",                -- use symbol for RHS unit (default)
["on"] = "on",                  -- use symbol for all units
        ["values"] = "opt_values",      -- show only input and output numbers, not units
["out"] = "out",                -- use symbol for RHS unit (default)
        ["~"] = "opt_extra",           -- show input unit symbol as well as name
["unit"] = "unit",              -- abbr=on but abbreviate units only: e6km → million km (not ×10⁶ km)
    },
["values"] = "opt_values",      -- show only input and output numbers, not units
    ["adj"] = {
["~"] = "opt_also_symbol",     -- show input unit symbol as well as name
        ["1"] = "opt_singular",        -- unit name is singular when value satisfies: (-1 <= v and v < 0) or (0 < v and v <= 1)
},
        ["flip"] = "opt_flip",          -- reverse order of input/output
["adj"] = {
        ["j"] = "opt_use_nbsp",        -- "join": use "&nbsp;" instead of " " between value and unit name
["mid"] = "opt_adjectival, opt_adj_mid", -- adj=on with user-specified text after input unit (between input and output)
        ["mid"] = "opt_adj_mid",       -- adj=on with user-specified text before input unit
["off"] = "",                  -- ignored (off is the default)
        ["nocomma"] = "opt_nocomma",    -- no numsep in input or output numbers
["on"] = "opt_adjectival",      -- unit name is singular and hyphenated
        ["off"] = "",                  -- ignored (adj=off is the default)
["pre"] = "opt_one_preunit",    -- user-specified text before input unit
        ["on"] = "opt_adjectival",      -- unit name is singular and hyphenated
["ri0"] = "opt_ri=0",          -- round input with precision = 0
        ["pre"] = "opt_one_preunit",    -- user-specified text before input unit
["ri1"] = "opt_ri=1",           -- round input with precision = 1
        ["ri1"] = "ri1",               -- round input with precision = 1
["ri2"] = "opt_ri=2",           -- round input with precision = 2
        ["ri2"] = "ri2",               -- round input with precision = 2
["ri3"] = "opt_ri=3",           -- round input with precision = 3
        ["ri3"] = "ri3",               -- round input with precision = 3
},
    },
["altitude_ft"] = 'INTEGER',
    ["disp"] = {
["altitude_m"] = 'INTEGER',
        ["/"] = "slash",               -- join: '/'
["comma"] = {
        ["2"] = "opt_output_only",
["5"] = "opt_comma5",           -- only use numsep grouping if 5 or more digits
        ["5"] = "opt_round5",           -- round output value to nearest 5
["gaps"] = "opt_gaps",         -- use gaps, not numsep, to separate groups of digits
        ["b"] = "b",                    -- join: '(...)'
["gaps3"] = "opt_gaps, opt_gaps3",  -- group only in threes rather than default of no gap before a single digit after decimal mark
        ["br"] = "br",                 -- join: '<br/>'
["off"] = "opt_nocomma",        -- no numsep in input or output numbers
        ["comma"] = "comma",           -- join: ','
},
        ["flip"] = "opt_flip",         -- reverse order of input/output
["debug"] = {
        ["flip5"] = "special_flip5",   -- combine disp=flip + disp=5
["yes"] = "opt_sortable_debug", -- make the normally hidden sort key visible
        ["nocomma"] = "opt_nocomma",   -- no numsep in input or output numbers
},
        ["number"] = "opt_output_number_only",
["disp"] = {
        ["or"] = "or",                  -- join: 'or'
["5"] = "opt_round=5?",         -- round output value to nearest 5
        ["out"] = "opt_output_only",
["b"] = "b",                    -- join: '(...)'
        ["output number only"] = "opt_output_number_only",
["(or)"] = "(or)",             -- join: '(...)' with 'or' between outputs in a combination
        ["output only"] = "opt_output_only",
["br"] = "br",                 -- join: '<br />'
        ["preunit"] = "opt_two_preunits",    -- user-specified text before input and output units
["br()"] = "br()",             -- join: '<br />(...)'
        ["s"] = "slash",                -- join: '/'
["comma"] = "comma",           -- join: ','
        ["slash"] = "slash",           -- join: '/'
["flip"] = "opt_flip",         -- reverse order of input/output
        ["sqbr"] = "sqbr",              -- join: '[...]'
["number"] = "opt_output_number_only", -- display output value (not input, and not output symbol/name)
        ["table"] = "opt_table",        -- output suitable for a table cell with align="right"
["or"] = "or",                  -- join: 'or'
        ["tablecen"] = "opt_tablecen",  -- output suitable for a table cell with align="center"
["out"] = "opt_output_only",
        ["u2"] = "opt_output_unit_only",
["output number only"] = "opt_output_number_only",
        ["unit"] = "opt_input_unit_only",
["output only"] = "opt_output_only",
        ["unit2"] = "opt_output_unit_only",
["preunit"] = "opt_two_preunits",    -- user-specified text before input and output units
        ["x"] = "x",                    -- join: 'by...×'
["semicolon"] = "semicolon",   -- join: ';'
    },
["sqbr"] = "sqbr",              -- join: '[...]'
    ["lk"] = {
["table"] = "opt_table",        -- output is suitable for a table cell with align="right"
        ["in"] = "in",                  -- link LHS unit name or symbol
["tablecen"] = "opt_tablecen",  -- output is suitable for a table cell with align="center"
        ["off"] = "",                   -- ignored (lk=off is the default)
["unit"] = "opt_input_unit_only", -- display input symbol/name (not output, and not input value)
        ["on"] = "on",                  -- link all unit names or symbols
["unit or text"] = "opt_input_unit_only, opt_ignore_error", -- display input symbol/name, or given unit code if not known
        ["out"] = "out",                -- link RHS unit name or symbol
["unit2"] = "opt_output_unit_only",
     },
["x"] = "x",                    -- join: <first>...<second> (user-specified text)
},
["frac"] = 'INTEGER',
["input"] = 'TEXT',                -- TEXT should be value><space><unitcode> or <wikidata-property-id>
["lang"] = {                        -- language for output digits (both en and local digits are always accepted for input)
["en"] = "opt_lang_en",        -- use en digits for numbers, regardless of local language
["local"] = "opt_lang_local",  -- use local digits for numbers (default, although config can change default to en)
},
["lk"] = {
["in"] = "in",                  -- link LHS unit name or symbol
["off"] = "off",               -- do not link: same as default except for hand unit
["on"] = "on",                  -- link all unit names or symbols (but not twice for the same unit)
["out"] = "out",                -- link RHS unit name or symbol
},
["order"] = {
["flip"] = "opt_flip",          -- reverse order of input/output
["out"] = "opt_order_out",      -- do not show input; instead, use order in output combination, with the first output shown as the input
},
["qid"] = 'TEXT',                  -- TEXT should be a Wikidata Q item identifier
["qual"] = 'TEXT',                  -- TEXT should be a Wikidata Q item identifier
["round"] = {
["0.5"] = "opt_round=0.5",      -- round output value to nearest 0.5
["5"] = "opt_round=5",          -- round output value to nearest 5
["10"] = "opt_round=10",        -- round output value to nearest 10 (same as but clearer than "|-1")
["25"] = "opt_round=25",        -- round output value to nearest 25
["50"] = "opt_round=50",        -- round output value to nearest 50
["each"] = "opt_round_each",    -- using default precision in a range, round each output separately (default uses highest precision of each item in range)
},
["sigfig"] = 'INTEGER',
["sortable"] = {
["off"] = "",                  -- ignored (off is the default)
["on"] = "opt_sortable_on",     -- output sort key for use in a sortable table, based on value from converting to a standard base unit
["debug"] = "opt_sortable_on, opt_sortable_debug",  -- |sortable=debug is the same as |sortable=on|debug=yes
},
["sp"] = {
["us"] = "opt_sp_us",          -- use U.S. spelling (like "meter" instead of default "metre")
},
["spell"] = {                      -- only English spelling is supported; not scientific notation; only some fractions
["in"] = "opt_spell_in",        -- spell input value in words
["In"] = "opt_spell_in, opt_spell_upper",                -- spell input value in words with first letter uppercase
["on"] = "opt_spell_in, opt_spell_out",                  -- spell input and output values in words
["On"] = "opt_spell_in, opt_spell_out, opt_spell_upper", -- same, with first letter of first word in result uppercase
["us"] = "opt_sp_us",          -- use U.S. spelling; same as sp=us so spell=us also works
},
["stylein"] = 'TEXT',
["styleout"] = 'TEXT',
["tracking"] = 'TEXT',
}
 
local titles = {
["frac"] = "Fraction/styles.css",
["sfrac"] = "Sfrac/styles.css",
}
}


return {
return {
SIprefixes = SIprefixes,
    all_categories = all_categories,
all_categories = all_categories,
    all_messages = all_messages,
all_messages = all_messages,
    disp_joins = disp_joins,
currency = { ['$'] = true, ['£'] = true, ['€'] = true, ['₱'] = true, ['₽'] = true, ['¥'] = true },
    en_option_value = en_option_value,
customary_units = customary_units,
    eng_scales = eng_scales,
disp_joins = disp_joins,
    local_option_name = local_option_name,
en_option_name = en_option_name,
    range_aliases = range_aliases,
en_option_value = en_option_value,
    range_types = range_types,
eng_scales = eng_scales,
ranges = ranges,
titles = titles,
}
}
Please note that all contributions to skyHow are considered to be released under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) (see skyHow:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)

Template used on this page: