Module:Convert/doc
CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules
This is the documentation page for Module:Convert
This module converts a value from one unit of measurement to another. For example:
{{convert|123|lb|kg}}
→ 123 pounds (56 kg)
The module is called using a template—parameters passed to the template are used by this module to control how a conversion is performed. For example, units can be abbreviated (like kg
), or displayed as names (like kilogram
), and the output value can be rounded to a specified precision. For usage information, see Help:Convert.
The template that invokes this module is:
The following modules are required:
- Module:Convert – (this module) code to convert units
- Module:Convert/data – unit definitions
- Module:Convert/text – text messages, and parameter names and values
The following modules are optional and are used only if required and if the module exists:
- Module:Convert/extra – extra (temporary) unit definitions; used if a unit is not found in Module:Convert/data
- Module:ConvertNumeric – code to spell an input value in words (only English is supported)
Many testcase pages are available. Currently, the testcases compare the output from the current Template:Convert with the output from Template:Convert/sandboxlua.
- Template:Convert/testcases – template tests
Units are defined in the wikitext of the master list of units.
- Module:Convert/documentation/conversion data/doc – master list of unit definitions
- Module:Convert/makeunits – translates wikitext from the master list to Lua
- Module talk:Convert/makeunits – makeunits results; copy the text to Module:Convert/data
Module:Convert/data is transcluded into every page using the convert module, so experimenting with a new unit in that module would involve a significant overhead. The Module:Convert/extra module is an alternative which is only transcluded on pages with a unit that is not defined in the main data module.
Sandbox
[edit]When making a change, copy the current modules to the sandbox pages, then edit the sandbox copies:
- Module:Convert/sandbox
- Module:Convert/data/sandbox
- Module:Convert/text/sandbox
- Module:Convert/extra/sandbox
Use the following template to test the results (example {{convert/sandbox|123|lb|kg}}
):
Template:Convert/sandbox invokes Module:Convert/sandbox with parameter |sandbox=on
which causes convert to use the sandbox modules rather than the normal modules.
The following should be used to test the results of editing the convert modules.
- Module:Convert/tester – module to run tests by comparing template output with fixed text
- Module:Convert/sandbox/testcases – templates to be tested, with expected outputs (uses the tester module)
- Module talk:Convert/sandbox/testcases – view test results
It is not necessary to save the testcases page before viewing test results. For example, Module:Convert/sandbox/testcases could be edited to change the tests. While still editing that page, paste "Module talk:Convert/sandbox/testcases
" (without quotes) into the page title box under "Preview page with this template", then click "Show preview".
Configuration
[edit]The template that invokes this module can define options to configure the module. For example:
{{#invoke:convert | convert | numdot = , | numsep = . }}
- Sets the decimal mark to be a comma, and the thousands separator to be a dot.
Other options, with default values, are:
maxsigfig = 14
– maximum number of significant figureswarnings = off
– on if invalid options should show a warningsandbox = off
– on if the sandbox modules should be used
Other configuration is available in the translation_table
at Module:Convert/text. For example, bn:Module:Convert/text uses:
group = 2
– group numbers 3 digits, then 2 digitsplural_suffix = ''
– disable plural unit names (do not append "s")- Tables to translate digits to and from the English digits used in calculations.
Module:Convert/text contains all text used for input parameters and for output messages and categories. For example, lk=on
may be used at en.wikipedia to link each displayed unit to its article. The text module could be edited to replace "lk
" and "on
" with any desired text.