-- Text used by Module:Convert for enwiki.
-- This is a separate module to simplify translation for use on another wiki.
-- See :en:Template:Convert/Transwiki guide if copying to another wiki.  
-- 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 = 'யொட்டா', },
['Z'] = { exponent = 21, name = 'செட்டா', },
['E'] = { exponent = 18, name = 'எக்சா' , },
['P'] = { exponent = 15, name = 'பெடா' , },
['T'] = { exponent = 12, name = 'டெரா' , },
['G'] = { exponent = 9, name = 'கிகா' , },
['M'] = { exponent = 6, name = 'மெகா' , },
['k'] = { exponent = 3, name = 'கிலோ' , },
['h'] = { exponent = 2, name = 'எக்டோ', },
['da']= { exponent = 1, name = 'டெக்கா' , name_us = 'deka' },
['d'] = { exponent = -1, name = 'டெசி' , },
['c'] = { exponent = -2, name = 'சென்டி', },
['m'] = { exponent = -3, name = 'மில்லி', },
['μ'] = { exponent = -6, name = 'மைக்ரோ', prefix = 'µ' }, -- key = 'GREEK SMALL LETTER MU' (U+03BC) utf-8 CE BC
['µ'] = { exponent = -6, name = 'மைக்ரோ', }, -- key = 'MICRO SIGN' (U+00B5) utf-8 C2 B5
['u'] = { exponent = -6, name = 'மைக்ரோ', prefix = 'µ' }, -- not an SI prefix, but allow for people typing this
['n'] = { exponent = -9, name = 'நானோ' , },
['p'] = { exponent =-12, name = 'பிகோ' , },
['f'] = { exponent =-15, name = 'பெம்டோ', },
['a'] = { exponent =-18, name = 'அட்டொ' , },
['z'] = { exponent =-21, name = 'செப்டோ', },
['y'] = { exponent =-24, name = 'யாக்டோ', },
}  
-- 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"] = { "ஆயிரம்", exponent = 3 },
["6"] = { "மில்லியன்", exponent = 6 },
["9"] = { "பில்லியன்", link = "1000000000 (எண்)", exponent = 9 },
["12"] = { "டிரில்லியன்", link = "1000000000000 (எண்)", exponent = 12 },
["15"] = { "குவாட்ரில்லியன்", link = "1000000000000000 (எண்)", exponent = 15 },
}  
local all_categories = {
unit = "",
option = "",
warning = '',
tracking = '',
}  
-- 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: $1=title, $2=text, $3=category, $4=anchor.
-- Each displayed message starts with "Convert:" so can easily locate by searching article.
cvt_format = '<sup>[<i></i>]</sup>$3<span></span>',
cvt_format2 = '<sup></sup>$3<span></span>',
cvt_format_preview = '<strong>Error in convert: $1 </strong>$3',
-- 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_input = { 'input "$1" must be a number and unit' , 'invalid input' , 'option', 'invalid_input' },
cvt_bad_num = { 'Value "$1" must be a number' , 'invalid number' , 'option', 'invalid_number' },
cvt_big_prec = { 'Precision "$1" is too large' , 'precision too large' , 'option', 'precision_too_large' },
cvt_invalid_num = { 'Number has overflowed' , 'number overflow' , 'option', 'number_overflow' },
cvt_no_num = { 'Needs the number to be converted' , 'needs a number' , 'option', 'needs_number' },
cvt_no_num2 = { 'Needs another number for a range' , 'needs another number', 'option', 'needs_another_number' },
cvt_bad_altitude = { '"$1" needs an integer' , 'invalid altitude' , 'option', 'invalid_altitude' },
cvt_bad_frac = { '"$1" needs an integer above 1' , 'invalid fraction' , 'option', 'invalid_fraction' },
cvt_bad_prec = { 'Precision "$1" must be an integer' , 'invalid precision' , 'option', 'invalid_precision' },
cvt_bad_sigfig = { '"$1" needs a positive integer' , 'invalid sigfig' , 'option', 'invalid_sigfig' },
cvt_empty_option = { 'Ignored empty option "$1"' , 'empty option' , 'option', 'empty_option' },
cvt_deprecated = { 'Option "$1" is deprecated' , '*' , 'option', 'deprecated_option', format = 'cvt_format2', nowarn = true },
cvt_no_spell = { 'Spelling is not available' , 'bug, ask for help' , 'option', 'ask_for_help' },
cvt_unknown_option = { 'Ignored invalid option "$1"' , 'invalid option' , 'option', 'invalid_option' },
cvt_wd_fail = { 'Unable to access Wikidata' , 'wikidata problem' , 'option', 'wikidata_problem' },
cvt_bad_default = { 'Unit "$1" has an invalid default' , 'bug, ask for help' , 'unit' , 'ask_for_help' },
cvt_bad_unit = { 'Unit "$1" is invalid here' , 'unit invalid here' , 'unit' , 'unit_invalid_here' },
cvt_no_default = { 'Unit "$1" has no default output unit' , 'bug, ask for help' , 'unit' , 'ask_for_help' },
cvt_no_unit = { 'Needs name of unit' , 'needs unit name' , 'unit' , 'needs_unit_name' },
cvt_unknown = { 'Unit name "$1" is not known' , 'unknown unit' , 'unit' , 'unknown_unit' },
cvt_should_be = { '$1' , 'ambiguous unit' , 'unit' , 'ambiguous_unit', regex = unitcode_regex, replace = unitcode_replace },
cvt_mismatch = { 'Cannot convert "$1" to "$2"' , 'unit mismatch' , 'unit' , 'unit_mismatch' },
cvt_bug_convert = { 'Bug: Cannot convert between specified units', 'bug, ask for help' , 'unit' , 'ask_for_help' },
cvt_lookup = { 'Unit "$1" is incorrectly defined' , 'bug, ask for help' , '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"] = { " or " , "" , " or ", 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"] = { "
" , "" , wantname = true },
["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"] = ", மற்றும் ",
[", or"] = ", அல்லது ",
["by"] = " கீழ் ",
["-"] = "–",
["to about"] = " சுமார் ",
["and"] = { off = " மற்றும் ", on = " மற்றும் ", exception = true },
["and(-)"] = { input = " மற்றும் ", output = "–" },
["or"] = { off = " அல்லது " , on = " அல்லது " , exception = true },
["to"] = { off = " முதல் " , on = " முதல் " , exception = true },
["to(-)"] = { input = "&nbsp;to ", output = "–" },
["+/-"] = { off = "&nbsp;±&nbsp;", on = "&nbsp;±&nbsp;", adj = "&nbsp;±&nbsp;", is_range_change = true },
["by(x)"] = { input = " by ", output = " ×&nbsp;", out_range_x = true },
["x"] = { off = " by ", on = " ×&nbsp;", abbr_range_x = true },
["xx"] = "&nbsp;×&nbsp;",
["*"] = "×",
["/"] = "&thinsp;/&thinsp;", -- for a table of high/low temperatures with
}