ሞድዩል:Wikidata/Magnitude format
Documentation for this module may be created at ሞድዩል:Wikidata/Magnitude format/doc
local p = {}
function p.magnitudeFormat(value, options)
if not value or not value.amount then
return
end
local unitId = value.unit:match('^.-/(Q%d+)$')
local amount = tonumber(value.amount:gsub('+','') or '')
if not unitId or not amount then
return
end
return require('Module:Convert').showValue(amount, unitId, options)
end
function p.periodicityFormat(value, options, frame)
local result
--if true then return require('Module:Tables').tostring(value) end
local function noSign(value)
if value and value:sub(1,1) == '+' then
return value:sub(2,value:len())
else
return value
end
end
if value.unit == 'http://www.wikidata.org/entity/Q5151' then
if value.amount == '+1' then
result = 'ወርሓዊ'
elseif value.amount == '+2' then
result = 'ኣብ ክልተ ወርሒ'
elseif value.amount == '+3' then
result = 'ኣብ ሰለስተ ዓመት'
elseif value.amount == '+4' then
result = 'ኣብ ርብዒ ዓመት'
elseif value.amount == '+6' then
result = 'ኣብ ሽዱሽተ ወርሒ'
else
result = 'ኣብ ነፍሲ ወከፍ ' .. noSign(value.amount) .. ' ኣዋርሕ'
end
elseif value.unit == 'http://www.wikidata.org/entity/Q23387' then
if value.amount == '+1' then
result = 'ሰሙናዊ'
elseif value.amount == '+2' then
result = 'ኣብ ክልተ ሰሙን'
else
result = 'ኣብ ነፍሲ ወከፍ ' .. noSign(value.amount) .. ' ሰሙናት'
end
elseif value.unit == 'http://www.wikidata.org/entity/Q577' then
if value.amount == '+1' then
result = 'ዓመታዊ'
else
result = 'ኣብ ነፍሲ ወከፍ ' .. noSign(value.amount) .. ' ዓመታት'
end
elseif value.unit == 'http://www.wikidata.org/entity/Q573' then
if value.amount == '+1' then
result = 'መዓልታዊ'
else
result = 'ኣብ ነፍሲ ወከፍ ' .. noSign(value.amount) .. ' መዓልታት'
end
elseif value.unit == 'http://www.wikidata.org/entity/Q3955006' then
if value.amount == '+1' then
result = 'ኣብ ሽዱሽተ ወርሒ'
else
result = 'ኣብ ነፍሲ ወከፍ ' .. noSign(value.amount) .. ' መንፈቕ'
end
else
if value.amount == '+1' then
result = 'ኣብ ነፍሲ ወከፍ ' .. value.unit
else
result = 'ኣብ ነፍሲ ወከፍ ' .. noSign(value.amount) .. ' ' .. value.unit
end
end
if result and options and options['uppercase'] == 'yes' then
return mw.language.new('ti'):ucfirst(result)
else
return result
end
end
-- Alias to simplify use from the template property, for example:
-- {{Property|P2048)|data type=height}}
--
p['height'] = p.magnitudeFormat
p['área'] = p.magnitudeFormat
p['magnitude'] = p.magnitudeFormat
p['periodicity'] = p.periodicityFormat
return p