Ugrás a tartalomhoz

Modul:Convert/text

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

Convert/text[mi ez?] • [dokumentáció: mutat, szerkeszt] • [tesztek: létrehozás]

-- Text used by Module:Convert, for en.wikipedia.org (English).
-- This is a separate module to simplify translation for use on another wiki.
-- See [[:en:Template:Convert/Transwiki guide]] if copying to another wiki.

-- l10n
local translation_table = {
	numdot = ',',
	numsep = ' ',
	plural_suffix = '',
}

-- Some units accept an SI prefix before the unit code, such as "kg" for kilogram.
local SIprefixes = {
	-- The prefix field is what the prefix should be, if different from the prefix used.
	['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 = 'hekto',              },
	['da']= { exponent =  1, name = 'deka' , prefix = 'dk'},
	['dk']= { exponent =  1, name = 'deka' ,              },
	['d'] = { exponent = -1, name = 'deci' ,              },
	['c'] = { exponent = -2, name = 'centi',              },
	['m'] = { exponent = -3, name = 'milli',              },
	['μ'] = { exponent = -6, name = 'mikro', prefix = 'µ' },  -- key = 'GREEK SMALL LETTER MU' (U+03BC) utf-8 CE BC
	['µ'] = { exponent = -6, name = 'mikro',              },  -- key = 'MICRO SIGN' (U+00B5) utf-8 C2 B5
	['u'] = { exponent = -6, name = 'mikro', prefix = 'µ' },  -- not an SI prefix, but allow for people typing this
	['n'] = { exponent = -9, name = 'nano' ,              },
	['p'] = { exponent =-12, name = 'piko' ,              },
	['f'] = { exponent =-15, name = 'femto',              },
	['a'] = { exponent =-18, name = 'atto' ,              },
	['z'] = { exponent =-21, name = 'zepto',              },
	['y'] = { exponent =-24, name = 'yocto',              },
}

-- 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 = {
	["3"]  = { "ezer", link = "1000 (szám)", exponent = 3 },
	["6"]  = { "millió", link = "Millió", exponent = 6 },
	["9"]  = { "milliárd", link = "Milliárd", exponent = 9 },
	["12"] = { "billió", link = "Billió", exponent = 12 },
	["15"] = { "billiárd", link = "Billiárd", exponent = 15 },
}

-- One of the following categories is included in the text of each message.
local all_categories = {
	unit = "[[Kategória:Convert: érvénytelen mértékegység]]",
	option = "[[Kategória:Convert: hibás bemenet]]",
}

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

-- All messages that may be displayed if a problem occurs.
local all_messages = {
	-- Message format string, %s parameters: anchor, title, text, category.
	-- 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>[[:en: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;">[[:en:Help:Convert messages#%s|<span title="Convert: %s">%s</span>]]</sup>%s',
	-- Each of following messages is a table:
	-- { [1] = 'title',         -- mouseover title text
	--   [2] = 'text',          -- link text displayed in article
	--   [3] = 'category key',  -- key to lookup category in all_categories
	--   [4] = 'anchor',        -- anchor for link to relevant section on help page
	--   regex = gsub_regex,
	--   replace = gsub_table,
	-- }                    Mouseover title text                                               Link text                    CatKey     Anchor
	cvt_bad_num        = { 'A(z) „%s” értéknek számnak kell lennie'                          , 'érvénytelen szám'          , 'option',  'invalid_number'       },
	cvt_big_prec       = { 'A(z) „%s” pontosság túl nagy'                                    , 'túl nagy pontosság'        , 'option',  'precision_too_large'  },
	cvt_invalid_num    = { 'A szám túlcsordult'                                              , 'túlcsordulás'              , 'option',  'number_overflow'      },
	cvt_no_num         = { 'Kell egy átalakítandó szám'                                      , 'szám hiányzik'             , 'option',  'needs_number'         },
	cvt_no_num2        = { 'Kell még egy szám a tartományhoz'                                , 'második szám hiányzik'     , 'option',  'needs_another_number' },
	cvt_bad_frac       = { 'A(z) „%s” nevezőnek pozitív egésznek kell lennie'                , 'érvénytelen nevező'        , 'option',  'invalid_fraction'     },
	cvt_bad_prec       = { 'A(z) „%s” pontosságnak egésznek kell lennie'                     , 'érvénytelen pontosság'     , 'option',  'invalid_precision'    },
	cvt_bad_sigfig     = { 'A(z) „%s” értékes jegyek számának pozitív egésznek kell lennie'  , 'érvénytelen értékes jegyek', 'option',  'invalid_sigfig'       },
	cvt_empty_option   = { 'Üres „%s” opció figyelmen kívül hagyva'                          , 'empty option'              , 'option',  'empty_option'         },
	cvt_deprecated     = { 'A(z) „%s” opció elavult'                                         , '*'                         , 'option',  'deprecated_option', format = 'cvt_format2' },
	cvt_no_spell       = { 'Spelling is not available'                                       , 'hiba, kérj segítséget'     , 'option',  'ask_for_help'         },
	cvt_unknown_option = { 'Érvénytelen „%s” opció figyelmen kívül hagyva'                   , 'érvénytelen opció'         , 'option',  'invalid_option'       },
	cvt_bad_default    = { 'A(z) „%s” mértékegység alapértelmezése hibás'                    , 'hiba, kérj segítséget'     , 'unit'  ,  'ask_for_help'         },
	cvt_bad_unit       = { 'A(z) „%s” mértékegység itt érvénytelen'                          , 'itt érvénytelen egység'    , 'unit'  ,  'unit_invalid_here'    },
	cvt_no_default     = { 'A(z) „%s” mértékegységnek nincs alapértelmezett kimeneti egysége', 'hiba, kérj segítséget'     , 'unit'  ,  'ask_for_help'         },
	cvt_no_unit        = { 'Szükséges a mértékegység neve'                                   , 'egység hiányzik'           , 'unit'  ,  'needs_unit_name'      },
	cvt_unknown        = { 'A(z) „%s” mértékegység ismeretlen'                               , 'ismeretlen egység'         , 'unit'  ,  'unknown_unit'         },
	cvt_should_be      = { '%s'                                                              , 'nem egyértelmű egység'     , 'unit'  ,  'ambiguous_unit', regex = unitcode_regex, replace = unitcode_replace },
	cvt_mismatch       = { '„%s” nem alakítható át „%s” egységbe'                            , 'átalakítás sikertelen'     , 'unit'  ,  'unit_mismatch'        },
	cvt_bug_convert    = { 'Hiba: Nem sikerült átalakítani a megadott mértékegységek között' , 'hiba, kérj segítséget'     , 'unit'  ,  'ask_for_help'         },
	cvt_lookup         = { 'A(z) „%s” mértékegység hibásan van definiálva'                   , 'hiba, kérj segítséget'     , 'unit'  ,  'ask_for_help'         },
}

-- Text to join input value/unit with output value/unit.
local disp_joins = {
	-- [1]=before output, [2]=after output, [3]=between outputs in a combination; default "; "
	-- [wantname] gives default abbr=off
	["or"]         = { " vagy "    , "" , " vagy ", wantname = true },
	["sqbr-sp"]    = { " ["      , "]" },
	["sqbr-nbsp"]  = { "&nbsp;[" , "]" },
	["comma"]      = { ", "      , "" , ", " },
	["slash-sp"]   = { " / "     , "" , wantname = true },
	["slash-nbsp"] = { "&nbsp;/ ", "" , wantname = true },
	["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 = {
	-- Specifying a table requires either:
	-- * "off" and "on" values (for "abbr=off" and "abbr=on"), or
	-- * "input" and "output" values (for LHS and RHS);
	-- other fields are optional.
	-- When "adj=on|abbr=off" applies, spaces in range text are replaced with hyphens.
	-- With "exception = true", that also occurs with "adj=on|abbr=on".
	-- If "adj" is defined here, that text (unchanged) is used with "adj=on".
	["+"]      = " + ",
	[","]      = ",&nbsp;",
	[", and"]  = ", és ",
	[", or"]   = ", vagy ",
	["by"]     = " by ",
	["-"]      = "–",
	["to about"] = " to about ",
	["and"]    = { off = " és ", on = " és ", exception = true },
	["and(-)"] = { input = " és ", output = "–" },
	["or"]     = { off = " vagy " , on = " vagy " , exception = true },
	["to"]     = { off = "–" , on = "–" , exception = true },
	["to(-)"]  = { input = "-", output = "–" },
	["+/-"]    = { off = "&nbsp;±&nbsp;", on = "&nbsp;±&nbsp;", adj = "&nbsp;±&nbsp;", is_range_change = true },
	["by(x)"]  = { input = "*", output = " ×&nbsp;", out_range_x = true },
	["x"]      = { off = "*", on = " ×&nbsp;", abbr_range_x = true },
	["X"]      = { off = "*", on = " ×&nbsp;" },  -- TEMPORARY and undocumented option for experiments to compare with new abbr_range_x
	["xx"]     = "&nbsp;×&nbsp;",
	["*"]      = "×",  -- use "*" to replace "x" in {{convert/2}} which is different from "x" in old {{convert}}
}

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

-- Convert accepts range text delimited with whitespace, for example, {{convert|1 to 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, 'x' after 'xx'.
local range_words = { '-', '–', 'xx', 'x', '*' }

local ranges = {
	types = range_types,
	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",
	["comma"] = "comma",
	["vessző"] = "comma",
	["debug"] = "debug",
	["disp"] = "disp",
	["frac"] = "frac",
	["lang"] = "lang",
	["lk"] = "lk",
	["near"] = "near",
	["order"] = "order",
	["round"] = "round",
	["sigfig"] = "sigfig",
	["sing"] = "adj",                   -- "sing" is an old alias for "adj"
	["sortable"] = "sortable",
	["sp"] = "sp",
	["spell"] = "spell",
	["stylein"] = "stylein",
	["styleout"] = "styleout",
}

-- Valid option values.
-- Convention: parms.opt_xxx refers to an option that is set here
-- (not intended to be set by the template which invokes this module).
-- Example: At en.wiki, "abbr" includes:
--     ["comma"] = "opt_nocomma"
-- As a result, if the template uses abbr=comma, this script sets:
--     parms["opt_nocomma"] = true
--     parms["abbr"] = nil
-- Therefore parms.abbr will be nil, or will have one of the listed 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 = {
	-- $=x is handled as a special case: x should be a currency symbol that will be used instead of "$"
	["abbr"] = {
		-- ["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")
		["h"] = "on",                   -- abbr=on + use "h" for hand unit (default)
		["hh"] = "opt_hand_hh",         -- abbr=on + use "hh" for hand 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"
		["off"] = "off",                -- use name for all units
		["on"] = "on",                  -- use symbol for all units
		["out"] = "out",                -- use symbol for RHS unit (default)
		["values"] = "opt_values",      -- show only input and output numbers, not units
		["~"] = "opt_also_symbol",      -- show input unit symbol as well as name
	},
	["adj"] = {
		["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 after input unit (between input and output)
		["nocomma"] = "opt_nocomma?",   -- no numsep in input or output numbers
		["off"] = "",                   -- ignored (off is the default)
		["on"] = "",                    -- unit name is singular and hyphenated
		["pre"] = "opt_one_preunit",    -- user-specified text before input unit
		["ri0"] = "opt_ri=0",           -- round input with precision = 0
		["ri1"] = "opt_ri=1",           -- round input with precision = 1
		["ri2"] = "opt_ri=2",           -- round input with precision = 2
		["ri3"] = "opt_ri=3",           -- round input with precision = 3
	},
	["comma"] = {
		["5"] = "opt_comma5",           -- only use numsep grouping if 5 or more digits
		["4"] = "opt_comma4",           -- do use numsep grouping for 4 digits as well
		["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?",        -- deprecated 2015-05-29, was: opt_gaps + opt_comma5
		["off"] = "opt_nocomma",        -- no numsep in input or output numbers
	},
	["debug"] = {
		["yes"] = "opt_sortable_debug", -- make the normally hidden sort key visible
	},
	["disp"] = {
		["/"] = "or?",                  -- see "slash"
		["2"] = "opt_output_only?",     -- display only output value and symbol/name (not input)
		["5"] = "opt_round=5",          -- round output value to nearest 5
		["b"] = "b",                    -- join: '(...)'
		["(or)"] = "(or)",              -- join: '(...)' with 'or' between outputs in a combination
		["br"] = "br",                  -- join: '<br />'
		["br()"] = "br()",              -- join: '<br />(...)'
		["comma"] = "comma",            -- join: ','
		["flip"] = "opt_flip",          -- reverse order of input/output
		["flip5"] = "opt_flip, opt_round=5?",  -- 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)
		["or"] = "or",                  -- join: 'or'
		["out"] = "opt_output_only",
		["output number only"] = "opt_output_number_only",
		["output only"] = "opt_output_only",
		["preunit"] = "opt_two_preunits",    -- user-specified text before input and output units
		["s"] = "or?",                  -- see "slash"
		["slash"] = "or?",              -- 2014-11-03: "disp=slash" is now equivalent to "disp=or" as slash is unhelpful
		["sqbr"] = "sqbr",              -- join: '[...]'
		["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"
		["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 or text"] = "opt_input_unit_only, opt_ignore_error", -- display input symbol/name, or given unit code if not known
		["unit2"] = "opt_output_unit_only",
		["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
	["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
	},
	["near"] = {
		["5"] = "opt_round=5?",         -- round output value to nearest 5
	},
	["order"] = {
		["flip"] = "opt_flip",          -- reverse order of input/output
	},
	["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=x is handled as a special case: x must be an integer (possibly in local language) = 1 or more
	["sortable"] = {
		["off"] = "",                   -- ignored (off is the default)
		["in"] = "opt_sortable_on?",    -- same as "on"
		["on"] = "opt_sortable_on",     -- output sort key for use in a sortable table, based on value from converting to a standard base unit
		["out"] = "opt_sortable_on?",   -- same as "on"
	},
	["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
	},
	-- stylein=x is handled as a special case: x can be any text
	-- styleout=x is handled as a special case: x can be any text
}

return {
	SIprefixes = SIprefixes,
	all_categories = all_categories,
	all_messages = all_messages,
	currency = { ['$'] = true, ['£'] = true },
	customary_units = customary_units,
	disp_joins = disp_joins,
	en_option_name = en_option_name,
	en_option_value = en_option_value,
	eng_scales = eng_scales,
	ranges = ranges,
	translation_table = translation_table
}
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy