Module:Wd/i18n: Difference between revisions
From Zoophilia Wiki
Jump to navigationJump to search
meta>Thayts Added "decimal-mark", expanded instructions in comment |
meta>Thayts Renaming function |
||
Line 81: | Line 81: | ||
function p.addDecimalMarks(n) | function p.addDecimalMarks(n) | ||
return p.addDelimiters(n) | |||
end | |||
function p.addDelimiters(n) | |||
local left, num, right = string.match(n, "^([^%d]*%d)(%d*)(.-)$") | local left, num, right = string.match(n, "^([^%d]*%d)(%d*)(.-)$") | ||
return left .. (num:reverse():gsub("(%d%d%d)", "%1" .. p['numeric']['delimiter']):reverse()) .. right | return left .. (num:reverse():gsub("(%d%d%d)", "%1" .. p['numeric']['delimiter']):reverse()) .. right |
Revision as of 19:38, 10 May 2017
Documentation for this module may be created at Module:Wd/i18n/doc
-- The values and functions in this submodule should be localized per wiki.
local p = {
["errors"] = {
["unknown-data-type"] = "Unknown or unsupported datatype '$1'.",
["missing-required-parameter"] = "No required parameters defined, needing at least one",
["extra-required-parameter"] = "Parameter '$1' must be defined as optional",
["no-function-specified"] = "You must specify a function to call", -- equal to the standard module error message
["main-called-twice"] = 'The function "main" cannot be called twice',
["no-such-function"] = 'The function "$1" does not exist' -- equal to the standard module error message
},
["numeric"] = {
["decimal-mark"] = ".",
["delimiter"] = ","
},
["datetime"] = {
["prefixes"] = {
["decade-period"] = ""
},
["suffixes"] = {
["decade-period"] = "s",
["millennium"] = " millennium",
["century"] = " century",
["million-years"] = " million years",
["billion-years"] = " billion years",
["year"] = " year",
["years"] = " years"
},
["julian-calendar"] = "Julian calendar", -- linked page title
["julian"] = "Julian",
["BCE"] = "BCE",
["CE"] = "CE",
["common-era"] = "Common Era" -- linked page title
},
["coord"] = {
["latitude-north"] = "N",
["latitude-south"] = "S",
["longitude-east"] = "E",
["longitude-west"] = "W",
["degrees"] = "°",
["minutes"] = "'",
["seconds"] = '"',
["separator"] = ", "
},
["values"] = {
["unknown"] = "unknown",
["none"] = "none"
},
["cite"] = {
["cite-web"] = "Cite web", -- title of template equivalent to [[:en:Template:Cite web]], leave empty ("") to use default rendering
["url"] = "url",
["title"] = "title",
["date"] = "date",
["access-date"] = "access-date",
["archive-url"] = "archive-url",
["archive-date"] = "archive-date",
["author"] = "author",
["publisher"] = "publisher",
["quote"] = "quote",
["language"] = "language"
}
}
function p.getOrdinalSuffix(num)
if tostring(num):sub(-2,-2) == '1' then
return "th" -- 10th, 11th, 12th, 13th, ... 19th
end
num = tostring(num):sub(-1)
if num == '1' then
return "st"
elseif num == '2' then
return "nd"
elseif num == '3' then
return "rd"
else
return "th"
end
end
function p.addDecimalMarks(n)
return p.addDelimiters(n)
end
function p.addDelimiters(n)
local left, num, right = string.match(n, "^([^%d]*%d)(%d*)(.-)$")
return left .. (num:reverse():gsub("(%d%d%d)", "%1" .. p['numeric']['delimiter']):reverse()) .. right
end
return p