Module:Convert/text: Difference between revisions

m
1 revision imported: templates
(update from sandbox per Template talk:Convert#Module version 25)
m (1 revision imported: templates)
 
(4 intermediate revisions by 3 users not shown)
Line 6: Line 6:
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 28: Line 30:
['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 82: Line 86:
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      = { '"$1" needs 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 "$1" must be an integer'          , 'invalid precision'  , 'option',  'invalid_precision'    },
cvt_bad_prec      = { 'Precision "$1" must be an integer'          , 'invalid precision'  , 'option',  'invalid_precision'    },
Line 109: Line 114:
["sqbr-nbsp"]  = { " [" , "]" },
["sqbr-nbsp"]  = { " [" , "]" },
["comma"]      = { ", "      , "" , ", " },
["comma"]      = { ", "      , "" , ", " },
["semicolon"]  = { "; "      , ""  },
["slash-sp"]  = { " / "    , "" , wantname = true },
["slash-sp"]  = { " / "    , "" , wantname = true },
["slash-nbsp"] = { " / ", "" , wantname = true },
["slash-nbsp"] = { " / ", "" , wantname = true },
Line 174: Line 180:
["abbr"] = "abbr",
["abbr"] = "abbr",
["adj"] = "adj",
["adj"] = "adj",
["altitude_ft"] = "altitude_ft",
["altitude_m"] = "altitude_m",
["comma"] = "comma",
["comma"] = "comma",
["debug"] = "debug",
["debug"] = "debug",
Line 200: Line 208:
-- (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 enwiki, "abbr" includes:
--    ["comma"] = "opt_nocomma"
--    ["values"] = "opt_values"
-- As a result, if the template uses abbr=comma, Module:Convert 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
-- Therefore parms.abbr will be nil, or will have one of the listed values
Line 208: Line 216:
-- An option value of form "xxx?" is the same as "xxx" but shows the input as deprecated.
-- 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 = {
-- $=x is handled as a special case: x should be a currency symbol that will be used instead of "$"
["$"] = '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"
Line 233: Line 241:
["ri3"] = "opt_ri=3",          -- round input with precision = 3
["ri3"] = "opt_ri=3",          -- 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
Line 256: Line 266:
["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: ';'
["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"
Line 264: Line 275:
["x"] = "x",                    -- join: <first>...<second> (user-specified text)
["x"] = "x",                    -- join: <first>...<second> (user-specified text)
},
},
-- frac=x is handled as a special case: x must be an integer (possibly in local language) = 2 or more
["frac"] = 'INTEGER',
-- input=x is handled as a special case: x should be <value><space><unitcode> or <wikidata-property-id>
["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)
["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
["en"] = "opt_lang_en",        -- use en digits for numbers, regardless of local language
Line 280: Line 291:
["out"] = "opt_order_out",      -- do not show input; instead, use order in output combination, with the first output shown as the input
["out"] = "opt_order_out",      -- do not show input; instead, use order in output combination, with the first output shown as the input
},
},
-- qid=x is handled as a special case: x should be a Wikidata Q item identifier.
["qid"] = 'TEXT',                  -- TEXT should be a Wikidata Q item identifier
-- qual=x is handled as a special case: x 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
["0.5"] = "opt_round=0.5",      -- round output value to nearest 0.5
Line 290: Line 301:
["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=x is handled as a special case: x must be an integer (possibly in local language) = 1 or more
["sigfig"] = 'INTEGER',
["sortable"] = {
["sortable"] = {
["off"] = "",                  -- ignored (off is the default)
["off"] = "",                  -- ignored (off is the default)
Line 304: Line 315:
["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=x is handled as a special case: x can be any text
["stylein"] = 'TEXT',
-- styleout=x is handled as a special case: x can be any text
["styleout"] = 'TEXT',
-- tracking=x is handled as a special case: x can be any text
["tracking"] = 'TEXT',
}
}