このページは、[[[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:
- Template:Convert/sandboxlua
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
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
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
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.