Template:Infobox person/weight/locate

From Anarchy Online Wiki [AOWiki]

{{#switch:0

 |000=
 
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |
 
       |[convert: needs a number]
 
  }}
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |
 
       |[convert: needs a number]
 
     }}
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |
 
       |[convert: needs a number]
 
     }}
 |0={{#iferror:{{#expr:
 +
 }}
       |
 
       |[convert: needs a number]
 
     }}
 |
 

}}

Template documentation[view] [edit] [history] [purge]

{{#ifeq:locate |doc

    | 

{{#ifeq:show |show

|
        }}{{#if: |
         |   {{#ifexist:Template:Infobox person/weight
                  | [[Category:{{#switch:Template |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]]
                  |
                 }}
        }}
    | 
   }}

Template:Infobox person/weight is one of three templates used to automatically add conversions of weight measurements displayed by Template:Infobox person and other infoboxes with a |{{#if:weight|weight=}} parameter.

  1. Template:Infobox person/weight changes text for units of weight to the abbreviations "kg", "lb", or "st", then passes the string to:
  2. Template:Infobox person/weight/locate which replaces any instances of   with a space, and determines the positions of "kg", "lb", or "st" within that string, all of which is passed to:
  3. Template:Infobox person/weight/switch which does the conversion

Usage[edit]

  • {{Template:Infobox person/weight/locate|108 kg}} → {{#switch:0
 |500=108 kg
 
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg
 
       |[convert: invalid number]108 kg
 
  }}
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg
 
       |[convert: invalid number]108 kg
 
     }}
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg
 
       |[convert: invalid number]108 kg
 
     }}
 |5={{#iferror:{{#expr:108 kg
 +108 kg
 }}
       |108 kg
 
       |[convert: invalid number]108 kg
 
     }}
 |108 kg
 

}}

  • {{Template:Infobox person/weight/locate|108 kg}} → {{#switch:0
 |500=108 kg
 
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg
 
       |[convert: invalid number]108 kg
 
  }}
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg
 
       |[convert: invalid number]108 kg
 
     }}
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg
 
       |[convert: invalid number]108 kg
 
     }}
 |5={{#iferror:{{#expr:108 kg
 +108 kg
 }}
       |108 kg
 
       |[convert: invalid number]108 kg
 
     }}
 |108 kg
 

}}

  • {{Template:Infobox person/weight/locate|238 lb}} → {{#switch:0
 |050=238 lb
 
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb
 
       |[convert: invalid number]238 lb
 
  }}
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb
 
       |[convert: invalid number]238 lb
 
     }}
 |05={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb
 
       |[convert: invalid number]238 lb
 
     }}
 |0={{#iferror:{{#expr:238 lb
 +238 lb
 }}
       |238 lb
 
       |[convert: invalid number]238 lb
 
     }}
 |238 lb
 

}}

  • {{Template:Infobox person/weight/locate|238 lb}} → {{#switch:0
 |050=238 lb
 
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb
 
       |[convert: invalid number]238 lb
 
  }}
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb
 
       |[convert: invalid number]238 lb
 
     }}
 |05={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb
 
       |[convert: invalid number]238 lb
 
     }}
 |0={{#iferror:{{#expr:238 lb
 +238 lb
 }}
       |238 lb
 
       |[convert: invalid number]238 lb
 
     }}
 |238 lb
 

}}

  • {{Template:Infobox person/weight/locate|17 st}} → {{#switch:0
 |004=17 st
 
 |04={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st
 
       |[convert: invalid number]17 st
 
  }}
 |04={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st
 
       |[convert: invalid number]17 st
 
     }}
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st
 
       |[convert: invalid number]17 st
 
     }}
 |0={{#iferror:{{#expr:17 st
 +17 st
 }}
       |17 st
 
       |[convert: invalid number]17 st
 
     }}
 |17 st
 

}}

  • {{Template:Infobox person/weight/locate|17 st}} → {{#switch:0
 |004=17 st
 
 |04={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st
 
       |[convert: invalid number]17 st
 
  }}
 |04={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st
 
       |[convert: invalid number]17 st
 
     }}
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st
 
       |[convert: invalid number]17 st
 
     }}
 |0={{#iferror:{{#expr:17 st
 +17 st
 }}
       |17 st
 
       |[convert: invalid number]17 st
 
     }}
 |17 st
 

}}

  • {{Template:Infobox person/weight/locate|108 kg (2012)}} → {{#switch:0
 |500=108 kg (2012)
 
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (2012)
 
       |108 kg ([convert: unknown unit])108 kg (2012)
 
  }}
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (2012)
 
       |108 kg ([convert: unknown unit])108 kg (2012)
 
     }}
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (2012)
 
       |108 kg ([convert: unknown unit])108 kg (2012)
 
     }}
 |5={{#iferror:{{#expr:108 kg (2012)
 +108 kg (2012)
 }}
       |108 kg (2012)
 
       |108 kg ([convert: unknown unit])108 kg (2012)
 
     }}
 |108 kg (2012)
 

}}

  • {{Template:Infobox person/weight/locate|108&nbsp;kg (2012)<ref>citation goes here</ref>}} → {{#switch:0
 |500=108 kg (2012)<ref>citation goes here</ref>
 
 |00={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (2012)<ref>citation goes here</ref>
 
       |108 kg ([convert: unknown unit])108 kg (2012)<ref>citation goes here</ref>
 
  }}
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (2012)<ref>citation goes here</ref>
 
       |108 kg ([convert: unknown unit])108 kg (2012)<ref>citation goes here</ref>
 
     }}
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (2012)<ref>citation goes here</ref>
 
       |108 kg ([convert: unknown unit])108 kg (2012)<ref>citation goes here</ref>
 
     }}
 |5={{#iferror:{{#expr:108 kg (2012)<ref>citation goes here</ref>
 +108 kg (2012)<ref>citation goes here</ref>
 }}
       |108 kg (2012)<ref>citation goes here</ref>
 
       |108 kg ([convert: unknown unit])108 kg (2012)<ref>citation goes here</ref>
 
     }}
 |108 kg (2012)<ref>citation goes here</ref>
 

}}

<references />

Exceptions[edit]

Does not replace numbers in hard-coded conversions (examples intentionally show incorrect conversions):

  • {{Template:Infobox person/weight/locate|108 kg (229 lb)}} → {{#switch:0
 |5130=108 kg (229 lb)
 
 |130={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (229 lb)
 
       |108 kg ([convert: unknown unit])108 kg (229 lb)
 
  }}
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (229 lb)
 
       |108 kg ([convert: unknown unit])108 kg (229 lb)
 
     }}
 |513={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (229 lb)
 
       |108 kg ([convert: unknown unit])108 kg (229 lb)
 
     }}
 |5={{#iferror:{{#expr:108 kg (229 lb)
 +108 kg (229 lb)
 }}
       |108 kg (229 lb)
 
       |108 kg ([convert: unknown unit])108 kg (229 lb)
 
     }}
 |108 kg (229 lb)
 

}}

  • {{Template:Infobox person/weight/locate|238 lb (119 kg)}} → {{#switch:0
 |1350=238 lb (119 kg)
 
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb (119 kg)
 
       |238 lb ([convert: unknown unit])238 lb (119 kg)
 
  }}
 |130={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb (119 kg)
 
       |238 lb ([convert: unknown unit])238 lb (119 kg)
 
     }}
 |135={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb (119 kg)
 
       |238 lb ([convert: unknown unit])238 lb (119 kg)
 
     }}
 |13={{#iferror:{{#expr:238 lb (119 kg)
 +238 lb (119 kg)
 }}
       |238 lb (119 kg)
 
       |238 lb ([convert: unknown unit])238 lb (119 kg)
 
     }}
 |238 lb (119 kg)
 

}}

  • {{Template:Infobox person/weight/locate|17 st (229 lb; 119 kg)}} → {{#switch:0
 |20124=17 st (229 lb; 119 kg)
 
 |124={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st (229 lb; 119 kg)
 
       |17 st ([convert: unknown unit])17 st (229 lb; 119 kg)
 
  }}
 |204={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st (229 lb; 119 kg)
 
       |[convert: invalid number]17 st (229 lb; 119 kg)
 
     }}
 |2012={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st (229 lb; 119 kg)
 
       |17 st ([convert: unknown unit])17 st (229 lb; 119 kg)
 
     }}
 |20={{#iferror:{{#expr:17 st (229 lb; 119 kg)
 +17 st (229 lb; 119 kg)
 }}
       |17 st (229 lb; 119 kg)
 
       |17 st ([convert: unknown unit])17 st (229 lb; 119 kg)
 
     }}
 |17 st (229 lb; 119 kg)
 

}}

Does not replace numeric output of conversion templates such as {{convert}} (examples have precision different than usual):

  • {{Template:Infobox person/weight/locate|{{convert|108|kg|lb|1|abbr=on}}}} → {{#switch:0
 |5150=108 kg (238.1 lb)
 
 |150={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (238.1 lb)
 
       |108 kg ([convert: unknown unit])108 kg (238.1 lb)
 
  }}
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (238.1 lb)
 
       |108 kg ([convert: unknown unit])108 kg (238.1 lb)
 
     }}
 |515={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |108 kg (238.1 lb)
 
       |108 kg ([convert: unknown unit])108 kg (238.1 lb)
 
     }}
 |5={{#iferror:{{#expr:108 kg (238.1 lb)
 +108 kg (238.1 lb)
 }}
       |108 kg (238.1 lb)
 
       |108 kg ([convert: unknown unit])108 kg (238.1 lb)
 
     }}
 |108 kg (238.1 lb)
 

}}

  • {{Template:Infobox person/weight/locate|{{convert|238|lb|kg|2|abbr=on}}}} → {{#switch:0
 |1650=238 lb (107.95 kg)
 
 |50={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb (107.95 kg)
 
       |238 lb ([convert: unknown unit])238 lb (107.95 kg)
 
  }}
 |160={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb (107.95 kg)
 
       |238 lb ([convert: unknown unit])238 lb (107.95 kg)
 
     }}
 |165={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |238 lb (107.95 kg)
 
       |238 lb ([convert: unknown unit])238 lb (107.95 kg)
 
     }}
 |16={{#iferror:{{#expr:238 lb (107.95 kg)
 +238 lb (107.95 kg)
 }}
       |238 lb (107.95 kg)
 
       |238 lb ([convert: unknown unit])238 lb (107.95 kg)
 
     }}
 |238 lb (107.95 kg)
 

}}

  • {{Template:Infobox person/weight/locate|{{convert|17|st|3|abbr=on}}}} → {{#switch:0
 |28164=17 st (238.000 lb; 107.955 kg)
 
 |164={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st (238.000 lb; 107.955 kg)
 
       |17 st ([convert: unknown unit])17 st (238.000 lb; 107.955 kg)
 
  }}
 |284={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st (238.000 lb; 107.955 kg)
 
       |[convert: invalid number]17 st (238.000 lb; 107.955 kg)
 
     }}
 |2816={{#iferror:{{#expr:Lua error: bad argument #1 to 'gsub' (string is not UTF-8).}}
       |17 st (238.000 lb; 107.955 kg)
 
       |17 st ([convert: unknown unit])17 st (238.000 lb; 107.955 kg)
 
     }}
 |28={{#iferror:{{#expr:17 st (238.000 lb; 107.955 kg)
 +17 st (238.000 lb; 107.955 kg)
 }}
       |17 st (238.000 lb; 107.955 kg)
 
       |17 st ([convert: unknown unit])17 st (238.000 lb; 107.955 kg)
 
     }}
 |17 st (238.000 lb; 107.955 kg)
 

}}

Technical details[edit]

The following examples show how the template works:

kg[edit]

{{Infobox person/weight/switch
  |108&nbsp;kg
  |{{#invoke:String|replace|108&nbsp;kg|&nbsp;| }}
  |k={{#invoke:String|find|{{#invoke:String|replace|108&nbsp;kg|&nbsp;| }}|kg}}
  |s={{#invoke:String|find|{{#invoke:String|replace|108&nbsp;kg|&nbsp;| }}|st}}
  |l={{#invoke:String|find|{{#invoke:String|replace|108&nbsp;kg|&nbsp;| }}|lb}}
}}

Result:
{{Infobox person/weight/switch |108&nbsp;kg |108 kg |k=5 |s=0 |l=0 }}

lb[edit]

{{Infobox person/weight/switch
  |238&nbsp;lb
  |{{#invoke:String|replace|238&nbsp;lb|&nbsp;| }}
  |k={{#invoke:String|find|{{#invoke:String|replace|238&nbsp;lb|&nbsp;| }}|kg}}
  |s={{#invoke:String|find|{{#invoke:String|replace|238&nbsp;lb|&nbsp;| }}|st}}
  |l={{#invoke:String|find|{{#invoke:String|replace|238&nbsp;lb|&nbsp;| }}|lb}}
}}

Result:
{{Infobox person/weight/switch |238&nbsp;lb |238 lb |k=0 |s=0 |l=5 }}

st[edit]

{{Infobox person/weight/switch
  |17&nbsp;st
  |{{#invoke:String|replace|17&nbsp;st|&nbsp;| }}
  |k={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st|&nbsp;| }}|kg}}
  |s={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st|&nbsp;| }}|st}}
  |l={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st|&nbsp;| }}|lb}}
}}

Result:
{{Infobox person/weight/switch |17&nbsp;st |17 st |k=0 |s=4 |l=0 }}

st/lb[edit]

{{Infobox person/weight/switch
  |17&nbsp;st&nbsp;7&nbsp;lb
  |{{#invoke:String|replace|17&nbsp;st&nbsp;7&nbsp;lb|&nbsp;| }}
  |k={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st&nbsp;7&nbsp;lb|&nbsp;| }}|kg}}
  |s={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st&nbsp;7&nbsp;lb|&nbsp;| }}|st}}
  |l={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st&nbsp;7&nbsp;lb|&nbsp;| }}|lb}}
}}

Result:
{{Infobox person/weight/switch |17&nbsp;st&nbsp;7&nbsp;lb |17 st 7 lb |k=0 |s=4 |l=9 }}

See also[edit]

{{#ifeq:locate|sandbox | |

}}

{{#if:|

[[Category:Template documentation pages{{#translation:}}]] }}