Jump to content

Module:Convert/doc: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
~~~*
Tags: Replaced Reverted
Undid revision 1254958892 by 45.229.178.19 (talk)
Line 1: Line 1:
{{Transwiki guide|text=See [[Template:Convert/Transwiki guide|'''how to copy the convert template''']] for information on copying this module and modifying it for use on another wiki.}}
[[Special:Contributions/45.229.178.19|45.229.178.19]] ([[User talk:45.229.178.19|talk]])000!-
{{High-risk}}
{{Module rating|p}}
{{cascade-protected template|page=module}}
{{Lua|Module:Convert/data|Module:Convert/text|Module:Convert/wikidata|Module:Convert/wikidata/data|Module:Convert/extra|Module:ConvertNumeric|noprotcat=yes}}
{{Uses TemplateStyles|Template:Fraction/styles.css|Template:Sfrac/styles.css|noprotcat=yes}}
This module converts a value from one unit of measurement to another. For example:
* <code><nowiki>{{convert|123|lb|kg}}</nowiki></code> → 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 <code>kg</code>), or displayed as names (like <code>kilogram</code>), and the output value can be rounded to a specified precision. For usage information, see [[Help:Convert]].

== Templates and modules ==
Templates that invoke this module are:
* {{t|convert}}
* {{t|cvt}} {{green|1=(convert with abbr=on)}}

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; however, see [[:vi:Module:ConvertNumeric]])

For Wikidata support the following modules are required:
* [[Module:Convert/wikidata]]
* [[Module:Convert/wikidata/data]]

The following help pages are available:
* [[Help:Convert]] – overview
* [[Help:Convert messages]] – describes error and warning messages; messages link to this page so it is required when the module is copied to another wiki
* [[Help:Convert units]] – overview of units

A page containing a convert error is added to the following hidden category, providing the page is in a specified [[WP:Namespace|namespace]] (articles, by default):
* {{clc|Convert errors}}

Units are defined in the wikitext of the master list of units.
* [[Module:Convert/documentation/conversion data]] – 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.

[[Module talk:Convert/show]] lists all unit links so they can be checked.

== Sandbox ==
When making a change, copy the current modules to the sandbox pages, then edit the sandbox copies:
{{#invoke:convert/tester|compare}}

Use the following template to test the results (example <code><nowiki>{{convert/sandbox|123|lb|kg}}</nowiki></code>):
* [[Template:Convert/sandbox]]

[[Template:Convert/sandbox]] invokes [[Module:Convert/sandbox]] with parameter {{para|sandbox|sandbox}} 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.
* [[Template:Convert/testcases#Sandbox testcases]] – links to testcases
* [[Module:Convert/tester]] – module to run tests by comparing template output with fixed text

It is not necessary to save a testcases page before viewing test results. For example, [[Template:Convert/testcases/sandbox4]] could be edited to change the tests. While still editing that page, paste {{nowrap|"<code>Template talk:Convert/testcases/sandbox4</code>"}} (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:
* <code><nowiki>{{#invoke:convert|convert|numdot=,|numsep=.}}</nowiki></code>
:Sets the [[decimal mark]] to be a comma, and the thousands separator to be a dot.

Other options, with default values, are:
* <code>|maxsigfig=14</code> – maximum number of significant figures
* <code>|nscat=0</code> – [[WP:Namespace|namespaces]] (comma separated) in which an error or warning adds a category to the page
* <code>|warnings=0</code> – 0 (zero) disables warnings; 1 shows important warnings; 2 shows all warnings

An option in the template can specify that the sandbox versions of the modules be used. If specified, the text on the right-hand side of the equals sign must be the name of the subpage for each sandbox module.
* <code>|sandbox=sandbox</code> – omit for normal operation

All text used for input parameters and for output messages and categories can be customized. For example, at enwiki the option <code>|lk=on</code> can be used to link each displayed unit to its article. The "<code>lk</code>" and "<code>on</code>" can be replaced with any desired text. In addition, input and output numbers can be formatted and can use digits in the local language. See the [[Template:Convert/Transwiki guide/translate|translation guide]] for more information.

== To do ==
Document the modules to access Wikidata!

== Module version history ==
* [[Template talk:Convert/Archive December 2013#Request to switch to Module:Convert|Version 1]] December 2013
* [[Template talk:Convert/Archive January 2014#Module v2 soon|Version 2]] January 2014
* [[Template talk:Convert/Archive April 2014#Module version 3|Version 3]] April 2014
* [[Template talk:Convert/Archive July 2014#Module version 4|Version 4]] July 2014
* [[Template talk:Convert/Archive September 2014#Module version 5|Version 5]] September 2014
* [[Template talk:Convert/Archive November 2014#Module version 6|Version 6]] November 2014
* [[Template talk:Convert/Archive December 2014#Module version 7|Version 7]] December 2014
* [[Template talk:Convert/Archive February 2015#Module version 8|Version 8]] February 2015
* [[Template talk:Convert/Archive February 2015#Module version 9|Version 9]] February 2015
* [[Template talk:Convert/Archive May 2015#Module version 10|Version 10]] May 2015
* [[Template talk:Convert/Archive June 2015#Module version 11|Version 11]] June 2015
* [[Template talk:Convert/Archive August 2015#Module version 12|Version 12]] August 2015
* [[Template talk:Convert/Archive March 2016#Module version 13|Version 13]] March 2016
* [[Template talk:Convert/Archive June 2016#Module version 14|Version 14]] June 2016 {{green|(introduced handling of Wikidata)}}
* [[Template talk:Convert/Archive September 2016#Module version 15|Version 15]] September 2016
* [[Template talk:Convert/Archive January 2017#Module version 16|Version 16]] January 2017
* [[Template talk:Convert/Archive May 2017#Module version 17|Version 17]] May 2017
* [[Template talk:Convert/Archive July 2017#Module version 18|Version 18]] July 2017
* [[Template talk:Convert/Archive August 2017#Module version 19|Version 19]] August 2017
* [[Template talk:Convert/Archive December 2017#Module version 20|Version 20]] December 2017 {{green|(changed symbols for dot and micro)}}
* [[Template talk:Convert/Archive January 2018#Module version 21|Version 21]] January 2018 {{green|(remove many deprecated options)}}
* [[Template talk:Convert/Archive February 2018#Module version 22|Version 22]] February 2018 {{green|(many unit link changes)}}
* [[Template talk:Convert/Archive June 2018#Module version 23|Version 23]] June 2018 {{green|1=(warnings for ignored numbered parameters; adj=pre/disp=preunit changes; currency units removed)}}
* [[Template talk:Convert/Archive May 2019#Module version 24|Version 24]] May 2019 {{green|1=(hidden sort key uses data-sort-value; avoid using the extra data module)}}
* [[Template talk:Convert/Archive 2#Module version 25|Version 25]] May 2021 {{green|1=(use templatestyles [[Template:Fraction/styles.css]] or [[Template:Sfrac/styles.css]] for fractions)}}
* [[Template talk:Convert/Archive 2#Module version 26|Version 26]] June 2021 {{green|1=(many unit link changes)}}
* [[Template talk:Convert/Archive 2#Module version 27|Version 27]] February 2022 {{green|1=(enhance Mach parameters; use spaced en dash when needed; unit tweaks)}}
* [[Template talk:Convert/Archive 3#Module version 28|Version 28]] April 2023 {{green|1=(new SI prefixes; add disp=semicolon; unit adjustments including fixing scales of mpge and BTU/lb)}}
* [[Template talk:Convert/Archive 3#Module version 29|Version 29]] May 2023 {{green|1=(liter/litre fix to show symbol 'L' rather than 'l' per MOS)}}
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
[[Category:Modules that add a tracking category]]
}}</includeonly>
<noinclude>
[[Category:Module documentation pages]]
</noinclude>

Revision as of 18:28, 2 November 2024

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.

Templates and modules

Templates that invoke this module are:

The following modules are required:

The following modules are optional and are used only if required and if the module exists:

For Wikidata support the following modules are required:

The following help pages are available:

A page containing a convert error is added to the following hidden category, providing the page is in a specified namespace (articles, by default):

Units are defined in the wikitext of the master list of units.

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.

Module talk:Convert/show lists all unit links so they can be checked.

Sandbox

When making a change, copy the current modules to the sandbox pages, then edit the sandbox copies:

Use the following template to test the results (example {{convert/sandbox|123|lb|kg}}):

Template:Convert/sandbox invokes Module:Convert/sandbox with parameter |sandbox=sandbox 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.

It is not necessary to save a testcases page before viewing test results. For example, Template:Convert/testcases/sandbox4 could be edited to change the tests. While still editing that page, paste "Template talk:Convert/testcases/sandbox4" (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 figures
  • |nscat=0namespaces (comma separated) in which an error or warning adds a category to the page
  • |warnings=0 – 0 (zero) disables warnings; 1 shows important warnings; 2 shows all warnings

An option in the template can specify that the sandbox versions of the modules be used. If specified, the text on the right-hand side of the equals sign must be the name of the subpage for each sandbox module.

  • |sandbox=sandbox – omit for normal operation

All text used for input parameters and for output messages and categories can be customized. For example, at enwiki the option |lk=on can be used to link each displayed unit to its article. The "lk" and "on" can be replaced with any desired text. In addition, input and output numbers can be formatted and can use digits in the local language. See the translation guide for more information.

To do

Document the modules to access Wikidata!

Module version history