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 used by Module:Convert, for en.wikipedia.org (English).
-- This is a separate module to simplify translation for use on another wiki.
-- This is a separate module to simplify translation for use on another wiki.
-- See [[:en:Template:Convert/Transwiki guide]].


-- Some units accept an SI prefix before the unit code, such as "kg" for kilogram.
-- Some units accept an SI prefix before the unit code, such as "kg" for kilogram.
local SIprefixes = {
local SIprefixes = {
-- The prefix field is what the prefix should be, if different from the prefix used.
-- 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',                  },
['Y'] = { exponent = 24, name = 'yotta',                  },
['Z'] = { exponent = 21, name = 'zetta',                  },
['Z'] = { exponent = 21, name = 'zetta',                  },
Line 21: Line 18:
['c'] = { exponent = -2, name = 'centi',                  },
['c'] = { exponent = -2, name = 'centi',                  },
['m'] = { exponent = -3, name = 'milli',                  },
['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 = 'GREEK SMALL LETTER MU' (U+03BC) utf-8 CE BC
['µ'] = { exponent = -6, name = 'micro', prefix = 'μ'    },  -- key = 'MICRO SIGN' (U+00B5) utf-8 C2 B5
['µ'] = { exponent = -6, name = 'micro',                 },  -- 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
['u'] = { exponent = -6, name = 'micro', prefix = 'µ'    },  -- not an SI prefix, but allow for people typing this
['n'] = { exponent = -9, name = 'nano' ,                  },
['n'] = { exponent = -9, name = 'nano' ,                  },
['p'] = { exponent =-12, name = 'pico' ,                  },
['p'] = { exponent =-12, name = 'pico' ,                  },
Line 30: Line 27:
['z'] = { exponent =-21, name = 'zepto',                  },
['z'] = { exponent =-21, name = 'zepto',                  },
['y'] = { exponent =-24, name = 'yocto',                  },
['y'] = { exponent =-24, name = 'yocto',                  },
['r'] = { exponent =-27, name = 'ronto',                  },
['q'] = { exponent =-30, name = 'quecto',                },
}
}


Line 38: Line 33:
{ "US", link = "United States customary units" },
{ "US", link = "United States customary units" },
{ "U.S.", link = "United States customary units" },
{ "U.S.", link = "United States customary units" },
{ "imperial", link = "Imperial units" },
{ "imperial", link = "Imperial unit" },
{ "imp", link = "Imperial units" },
{ "imp", link = "Imperial unit" },
}
}


Line 53: Line 48:
}
}


-- One of the following categories is included in the text of each message.
local all_categories = {
local all_categories = {
unit = "[[Category:Convert errors]]",
unit = "[[Category:Convert invalid units]]",
option = "[[Category:Convert errors]]",
option = "[[Category:Convert invalid options]]",
warning = '[[Category:Convert invalid options]]',
tracking = '[[Category:Convert tracking]]',
}
}


Line 67: Line 61:
-- All messages that may be displayed if a problem occurs.
-- 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.
-- Message format string, %s parameters: anchor, title, text, category.
-- Each displayed message starts with "Convert:" so can easily locate by searching article.
-- Each displayed message starts with "Convert:" so can easily locate by searching article.
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_format = '<sup class="noprint Inline-Template" style="white-space:nowrap;">[<i>[[Help:Convert messages#%s|<span title="Convert: %s">convert: %s</span>]]</i>]</sup>%s',
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_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] = 'title',        -- mouseover title text
-- { [1] = 'title',        -- mouseover title text
Line 80: Line 72:
--  replace = gsub_table,
--  replace = gsub_table,
-- }                    Mouseover title text                          Link text              CatKey    Anchor
-- }                    Mouseover title text                          Link text              CatKey    Anchor
cvt_bad_input      = { 'input "$1" must be a number and unit'      , 'invalid input'      , 'option',  'invalid_input'        },
cvt_bad_num        = { 'Value "%s" must be a number'                , 'invalid number'      , 'option',  'invalid_number'      },
cvt_bad_num        = { 'Value "$1" must be a number'                , 'invalid number'      , 'option',  'invalid_number'      },
cvt_big_prec      = { 'Precision "%s" is too large'                , 'precision too large' , 'option',  'precision_too_large'  },
cvt_big_prec      = { 'Precision "$1" is too large'                , 'precision too large' , 'option',  'precision_too_large'  },
cvt_invalid_num    = { 'Number has overflowed'                      , 'number overflow'    , 'option',  'number_overflow'      },
cvt_invalid_num    = { 'Number has overflowed'                      , 'number overflow'    , 'option',  'number_overflow'      },
cvt_no_num        = { 'Needs the number to be converted'          , 'needs a number'      , 'option',  'needs_number'        },
cvt_no_num        = { 'Needs the number to be converted'          , 'needs a number'      , 'option',  'needs_number'        },
cvt_no_num2        = { 'Needs another number for a range'          , 'needs another number', 'option',  'needs_another_number' },
cvt_no_num2        = { 'Needs another number for a range'          , 'needs another number', 'option',  'needs_another_number' },
cvt_bad_altitude  = { '"$1" needs an integer'                      , 'invalid altitude'    , 'option',  'invalid_altitude'    },
cvt_bad_frac      = { 'frac "%s" must be an integer above 1'       , 'invalid fraction'    , 'option',  'invalid_fraction'    },
cvt_bad_frac      = { '"$1" needs an integer above 1'             , 'invalid fraction'    , 'option',  'invalid_fraction'    },
cvt_bad_prec      = { 'Precision "%s" must be an integer'          , 'invalid precision'  , 'option',  'invalid_precision'    },
cvt_bad_prec      = { 'Precision "$1" must be an integer'          , 'invalid precision'  , 'option',  'invalid_precision'    },
cvt_bad_sigfig    = { 'sigfig "%s" must be a positive integer'     , 'invalid sigfig'      , 'option',  'invalid_sigfig'      },
cvt_bad_sigfig    = { '"$1" needs a positive integer'             , 'invalid sigfig'      , 'option',  'invalid_sigfig'      },
cvt_empty_option  = { 'Ignored empty option "%s"'                  , 'empty option'        , 'option',  'empty_option'        },
cvt_empty_option  = { 'Ignored empty option "$1"'                  , 'empty option'        , 'option',  'empty_option'        },
cvt_deprecated    = { 'Option "$1" is deprecated'                  , '*'                  , 'option',  'deprecated_option', format = 'cvt_format2', nowarn = true },
cvt_no_spell      = { 'Spelling is not available'                  , 'bug, ask for help'  , 'option',  'ask_for_help'        },
cvt_no_spell      = { 'Spelling is not available'                  , 'bug, ask for help'  , 'option',  'ask_for_help'        },
cvt_unknown_option = { 'Ignored invalid option "$1"'                , 'invalid option'      , 'option',  'invalid_option'      },
cvt_unknown_option = { 'Ignored invalid option "%s"'                , 'invalid option'      , 'option',  'invalid_option'      },
cvt_wd_fail        = { 'Unable to access Wikidata'                  , 'wikidata problem'    , 'option',  'wikidata_problem'    },
cvt_bad_default    = { 'Unit "%s" has an invalid default'          , 'bug, ask for help'  , 'unit'  ,  'ask_for_help'        },
cvt_bad_default    = { 'Unit "$1" has an invalid default'          , 'bug, ask for help'  , 'unit'  ,  'ask_for_help'        },
cvt_bad_unit      = { 'Unit "%s" is invalid here'                  , 'unit invalid here'  , 'unit'  ,  'unit_invalid_here'    },
cvt_bad_unit      = { 'Unit "$1" is invalid here'                  , 'unit invalid here'  , 'unit'  ,  'unit_invalid_here'    },
cvt_no_default    = { 'Unit "%s" has no default output unit'      , 'bug, ask for help'  , 'unit'  ,  'ask_for_help'        },
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_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_unknown        = { 'Unit name "%s" is not known'                , 'unknown unit'        , 'unit'  ,  'unknown_unit'        },
cvt_should_be      = { '$1'                                        , 'ambiguous unit'      , 'unit'  ,  'ambiguous_unit', regex = unitcode_regex, replace = unitcode_replace },
cvt_should_be      = { '%s'                                        , 'ambiguous unit'      , 'unit'  ,  'ambiguous_unit', regex = unitcode_regex, replace = unitcode_replace },
cvt_mismatch      = { 'Cannot convert "$1" to "$2"'                , 'unit mismatch'      , 'unit'  ,  'unit_mismatch'        },
cvt_mismatch      = { 'Cannot convert "%s" to "%s"'                , 'unit mismatch'      , 'unit'  ,  'unit_mismatch'        },
cvt_bug_convert    = { 'Bug: Cannot convert between specified units', 'bug, ask for help'  , 'unit'  ,  'ask_for_help'        },
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'        },
cvt_lookup        = { 'Unit "%s" is incorrectly defined'          , 'bug, ask for help'  , 'unit'  ,  'ask_for_help'        },
}
}


-- Text to join input value/unit with output value/unit.
-- 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
["or"]        = { " or "    , "" , " or ", wantname = true },
["sqbr-sp"]    = { " ["      , "]" },
["sqbr-sp"]    = { " ["      , "]" },
["sqbr-nbsp"]  = { "&nbsp;[" , "]" },
["sqbr-nbsp"]  = { "&nbsp;[" , "]" },
["comma"]      = { ", "      , "" , ", " },
["comma"]      = { ", "      , ""  },
["semicolon"]  = { "; "      , ""  },
["slash-sp"]  = { " / "    , "" },
["slash-sp"]  = { " / "    , "" , wantname = true },
["slash-nbsp"] = { "&nbsp;/ ", "" },
["slash-nbsp"] = { "&nbsp;/ ", "" , wantname = true },
["slash-nosp"] = { "/"      , "" },
["slash-nosp"] = { "/"      , "" , wantname = true },
["b"]          = { " ("      , ")" },
["b"]          = { " ("      , ")" },
["(or)"]      = { " ("      , ")", " or " },
["br"]        = { "<br/>"   , "" },
["br"]        = { "<br />" , "" , wantname = true },
["br()"]      = { "<br />(" , ")", wantname = true },
}
}


-- Text to separate values in a range.
-- Text to separate values in a range.
local range_types = {
local range_types = {
-- Specifying a table requires either:
-- Specifying a table requires "off" and "on" values (for "abbr=off" and "abbr=on");
-- * "off" and "on" values (for "abbr=off" and "abbr=on"), or
-- * "input" and "output" values (for LHS and RHS);
-- other fields are optional.
-- other fields are optional.
-- When "adj=on|abbr=off" applies, spaces in range text are replaced with hyphens.
-- Normally, "adj=on" uses hyphens with unabbreviated units (names, not symbols).
-- With "exception = true", that also occurs with "adj=on|abbr=on".
-- However, "exception = true" means hyphens are also used with "adj=on|abbr=on".
-- If "adj" is defined here, that text (unchanged) is used with "adj=on".
-- If "adj" is defined here, that text is used with "adj=on" (without hyphens).
["+"]      = " + ",
["+"]      = " + ",
[","]      = ",&nbsp;",
[","]      = ",&nbsp;",
Line 141: Line 122:
["to about"] = " to about ",
["to about"] = " to about ",
["and"]    = { off = " and ", on = " and ", exception = true },
["and"]    = { off = " and ", on = " and ", exception = true },
["and(-)"] = { input = " and ", output = "–" },
["or"]    = { off = " or " , on = " or " , exception = true },
["or"]    = { off = " or " , on = " or " , exception = true },
["to"]    = { off = " to " , on = " to " , exception = true },
["to"]    = { off = " to " , on = " to " , exception = true },
["to(-)"]  = { input = "&nbsp;to ", output = "–" },
["to(-)"]  = { off = "&nbsp;to ", on = "–" },
["+/-"]    = { off = "&nbsp;±&nbsp;", on = "&nbsp;±&nbsp;", adj = "&nbsp;±&nbsp;", is_range_change = true },
["+/-"]    = { 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;", is_range_x = true },
["x"]      = { off = " by ", on = " ×&nbsp;", abbr_range_x = true },
["xx"]    = "&nbsp;×&nbsp;",
["xx"]    = "&nbsp;×&nbsp;",
["*"]      = "×",
["*"]      = "×", -- use "*" to replace "x" in {{convert/2}} which is different from "x" in old {{convert}}
["/"]      = "&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"
-- ["alternative name for a range"] = "standard range name"
["and(-)"]  = "and",
["&"]        = "and",
["–"]        = "-",
["–"]        = "-",
["&ndash;"]  = "-",
["&ndash;"]  = "-",
["to-"]      = "to(-)",
["×"]        = "x",
["×"]        = "x",
["&times;"]  = "x",
["&times;"]  = "x",
Line 163: Line 144:
}
}


-- Convert accepts range text delimited with whitespace, for example, {{convert|1 to 2|ft}}.
-- The following "words" are accepted to make a simple range, for example, {{convert|1-2|ft}}.
-- In addition, the following "words" are accepted without spaces, for example, {{convert|1-2|ft}}.
-- Words must be in correct order for searching, for example, '-' after '+/-' and 'x' after 'xx'.
-- Words must be in correct order for searching, for example, 'x' after 'xx'.
local range_words = { '+/-', 'to(-)', '-', 'xx', 'x', '*', 'by', 'to', 'or' }
local range_words = { '-', '', 'xx', 'x', '*' }


local ranges = {
local ranges = {
Line 177: Line 157:
local en_option_name = {
local en_option_name = {
-- ["local text for option name"] = "en name used in this module"
-- ["local text for option name"] = "en name used in this module"
["$"] = "$",
["abbr"] = "abbr",
["abbr"] = "abbr",
["adj"] = "adj",
["adj"] = "adj",
["altitude_ft"] = "altitude_ft",
["altitude_m"] = "altitude_m",
["comma"] = "comma",
["comma"] = "comma",
["debug"] = "debug",
["debug"] = "debug",
["disp"] = "disp",
["disp"] = "disp",
["frac"] = "frac",
["frac"] = "frac",
["input"] = "input",
["lang"] = "lang",
["lang"] = "lang",
["lk"] = "lk",
["lk"] = "lk",
["near"] = "near",
["order"] = "order",
["order"] = "order",
["qid"] = "qid",
["qual"] = "qual",
["qualifier"] = "qual",
["round"] = "round",
["round"] = "round",
["sigfig"] = "sigfig",
["sigfig"] = "sigfig",
Line 199: Line 173:
["sp"] = "sp",
["sp"] = "sp",
["spell"] = "spell",
["spell"] = "spell",
["stylein"] = "stylein",
["styleout"] = "styleout",
["tracking"] = "tracking",
}
}


Line 207: Line 178:
-- 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: At en.wiki, "abbr" includes:
--    ["values"] = "opt_values"
--    ["comma"] = "opt_nocomma"
-- As a result, if the template uses abbr=values, Module:Convert sets:
-- As a result, if the template uses abbr=comma, this script sets:
--    parms["opt_values"] = true
--    parms["opt_nocomma"] = true
--    parms["abbr"] = nil
--    parms["abbr"] = nil
-- Therefore parms.abbr will be nil, or will have one of the listed values
-- Therefore parms.abbr will be nil, or will have one of the listed values
-- that do not start with "opt_".
-- 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")
["def"] = "",                  -- ignored (some wrapper templates call convert with "abbr=def" to mean "default abbreviation")
["h"] = "on",                  -- abbr=on + use "h" for hand unit (default)
["h"] = "on",                  -- abbr=on + use "h" for hand unit (default)
["hh"] = "opt_hand_hh",        -- abbr=on + use "hh" for hand unit
["hh"] = "opt_hand_hh",        -- abbr=on + use "hh" for hand unit
["in"] = "in",                  -- use symbol for LHS unit
["in"] = "in",                  -- use symbol for LHS unit
["mos"] = "mos",                -- in a range, repeat the input unit (no longer used)
["none"] = "off",              -- old name for "off"
["none"] = "off",              -- old name for "off"
["off"] = "off",                -- use name for all units
["off"] = "off",                -- use name for all units
["on"] = "on",                  -- use symbol for all units
["on"] = "on",                  -- use symbol for all units
["out"] = "out",                -- use symbol for RHS unit (default)
["out"] = "out",                -- use symbol for RHS unit (default)
["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
["values"] = "opt_values",      -- show only input and output numbers, not units
["~"] = "opt_also_symbol",      -- show input unit symbol as well as name
["~"] = "opt_also_symbol",      -- show input unit symbol as well as name
},
},
["adj"] = {
["adj"] = {
["mid"] = "opt_adjectival, opt_adj_mid", -- adj=on with user-specified text after input unit (between input and output)
["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
["j"] = "opt_use_nbsp",        -- "join": use "&nbsp;" instead of " " between value and unit name
["mid"] = "opt_adj_mid",       -- adj=on with user-specified text before input unit
["nocomma"] = "opt_nocomma",    -- no numsep in input or output numbers
["off"] = "",                  -- ignored (off is the default)
["off"] = "",                  -- ignored (off is the default)
["on"] = "opt_adjectival",      -- unit name is singular and hyphenated
["on"] = "opt_adjectival",      -- unit name is singular and hyphenated
["pre"] = "opt_one_preunit",    -- user-specified text before input unit
["pre"] = "opt_one_preunit",    -- user-specified text before input unit
["ri0"] = "opt_ri=0",           -- round input with precision = 0
["ri0"] = "ri0",               -- round input with precision = 0
["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',
["altitude_m"] = 'INTEGER',
["comma"] = {
["comma"] = {
["5"] = "opt_comma5",          -- only use numsep grouping if 5 or more digits
["5"] = "opt_comma5",          -- only use numsep grouping if 5 or more digits
["gaps"] = "opt_gaps",          -- use gaps, not numsep, to separate groups of digits
["gaps"] = "opt_gaps",          -- use gaps, not numsep, to separate groups of digits
["gaps3"] = "opt_gaps, opt_gaps3",  -- group only in threes rather than default of no gap before a single digit after decimal mark
["gaps5"] = "opt_gaps, opt_comma5",  -- opt_gaps + opt_comma5
["off"] = "opt_nocomma",        -- no numsep in input or output numbers
},
},
["debug"] = {
["debug"] = {
Line 253: Line 224:
},
},
["disp"] = {
["disp"] = {
["5"] = "opt_round=5?",         -- round output value to nearest 5
["/"] = "slash",                -- join: '/'
["2"] = "opt_output_only",      -- display only output value and symbol/name (not input)
["5"] = "opt_round5",           -- round output value to nearest 5
["b"] = "b",                    -- join: '(...)'
["b"] = "b",                    -- join: '(...)'
["(or)"] = "(or)",              -- join: '(...)' with 'or' between outputs in a combination
["br"] = "br",                  -- join: '<br/>'
["br"] = "br",                  -- join: '<br />'
["br()"] = "br()",              -- join: '<br />(...)'
["comma"] = "comma",            -- join: ','
["comma"] = "comma",            -- join: ','
["flip"] = "opt_flip",          -- reverse order of input/output
["flip"] = "opt_flip",          -- reverse order of input/output
["flip5"] = "opt_flip, opt_round5",  -- disp=flip + disp=5
["nocomma"] = "opt_nocomma",    -- no numsep in input or output numbers
["number"] = "opt_output_number_only",  -- display output value (not input, and not output symbol/name)
["number"] = "opt_output_number_only",  -- display output value (not input, and not output symbol/name)
["or"] = "or",                  -- join: 'or'
["or"] = "or",                  -- join: 'or'
Line 266: Line 239:
["output only"] = "opt_output_only",
["output only"] = "opt_output_only",
["preunit"] = "opt_two_preunits",    -- user-specified text before input and output units
["preunit"] = "opt_two_preunits",    -- user-specified text before input and output units
["semicolon"] = "semicolon",   -- join: ';'
["s"] = "slash",               -- join: '/'
["slash"] = "slash",            -- join: '/'
["sqbr"] = "sqbr",              -- join: '[...]'
["sqbr"] = "sqbr",              -- join: '[...]'
["table"] = "opt_table",        -- output is suitable for a table cell with align="right"
["table"] = "opt_table",        -- output is suitable for a table cell with align="right"
["tablecen"] = "opt_tablecen",  -- output is suitable for a table cell with align="center"
["tablecen"] = "opt_tablecen",  -- output is suitable for a table cell with align="center"
["u2"] = "opt_output_unit_only",  -- display output symbol/name (not input, and not output value)
["unit"] = "opt_input_unit_only", -- display input symbol/name (not output, and not input value)
["unit"] = "opt_input_unit_only", -- display input symbol/name (not output, and not input value)
["unit or text"] = "opt_input_unit_only, opt_ignore_error", -- display input symbol/name, or given unit code if not known
["unit or text"] = "opt_input_unit_only, opt_ignore_error", -- display input symbol/name, or given unit code if not known
Line 275: Line 250:
["x"] = "x",                    -- join: <first>...<second> (user-specified text)
["x"] = "x",                    -- join: <first>...<second> (user-specified text)
},
},
["frac"] = 'INTEGER',
-- frac=x is handled as a special case: x must be an integer (possibly in local language) = 1 or more
["input"] = 'TEXT',                -- TEXT should be value><space><unitcode> or <wikidata-property-id>
["lang"] = {
["lang"] = {                       -- language for output digits (both en and local digits are always accepted for input)
["en"] = "opt_lang_en",        -- use en digits for output, regardless of local language
["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"] = {
["lk"] = {
Line 286: Line 259:
["on"] = "on",                  -- link all unit names or symbols (but not twice for the same unit)
["on"] = "on",                  -- link all unit names or symbols (but not twice for the same unit)
["out"] = "out",                -- link RHS unit name or symbol
["out"] = "out",                -- link RHS unit name or symbol
},
["near"] = {
["5"] = "opt_round5",          -- round output value to nearest 5
},
},
["order"] = {
["order"] = {
["flip"] = "opt_flip",          -- reverse order of input/output
["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"] = {
["round"] = {
["0.5"] = "opt_round=0.5",      -- round output value to nearest 0.5
["5"] = "opt_round5",           -- round output value to nearest 5
["5"] = "opt_round=5",         -- round output value to nearest 5
["25"] = "opt_round25",         -- round output value to nearest 25
["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)
["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',
-- sigfig=x is handled as a special case: x must be an integer (possibly in local language) = 1 or more
["sortable"] = {
["sortable"] = {
["off"] = "",                  -- ignored (off is the default)
["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
["in"] = "opt_sortable_in",    -- output numeric hidden sort field for use in a sortable table, based on input
["debug"] = "opt_sortable_on, opt_sortable_debug", -- |sortable=debug is the same as |sortable=on|debug=yes
["on"] = "opt_sortable_in",     -- same
["out"] = "opt_sortable_out",   -- same, based on output
},
},
["sp"] = {
["sp"] = {
Line 315: Line 286:
["on"] = "opt_spell_in, opt_spell_out",                  -- spell input and output values in words
["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
["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",
}
}


Line 331: Line 293:
all_categories = all_categories,
all_categories = all_categories,
all_messages = all_messages,
all_messages = all_messages,
currency = { ['$'] = true, ['£'] = true, ['€'] = true, ['₱'] = true, ['₽'] = true, ['¥'] = true },
currency = { ['$'] = true, ['£'] = true },
customary_units = customary_units,
customary_units = customary_units,
disp_joins = disp_joins,
disp_joins = disp_joins,
Line 338: Line 300:
eng_scales = eng_scales,
eng_scales = eng_scales,
ranges = ranges,
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: