وحدة:Wikidata.Ca/Units
المظهر
توثيق الوحدة [أنشئ] [محو الاختزان][استخدامات] [قوالب]
local convert_default = {
Q218593 = "Q174789", -- in > mm
Q3710 = "Q174728", -- ft > cm
Q482798 = "Q11573", -- yd > m
Q253276 = "Q828224", -- mi > km
Q232291 = "Q712226", -- mi² > km²
Q128822 = "Q180154", -- nus > km/h
Q48013 = "Q41803", -- ounce > gram
}
local wikidata_units = {
Q11573 = {
label = 'متر',
ucode = 'م',
},
Q174789 = {
label = 'ميليمتر',
ucode = 'مم',
},
Q174728 = {
label = 'سنتيمتر',
ucode = 'سم',
},
Q828224 = {
label = 'كيلومتر',
ucode = 'كم',
},
Q712226 = {
label = 'كيلومتر مربع',
ucode = 'كم²',
},
Q25343 = {
label = 'متر مربع',
ucode = 'م²',
},
}
local function getUnit(amount, label, unitID, code)
local id_data = wikidata_units[unitID] or {}
local unit_text = ''
amount= tonumber(amount)
if code then
unit_text = id_data.ucode or id_data.label or label
else
unit_text = id_data.label or label
end
return unit_text
end
function convert2M(value)
local xmath_round = require("Module:Math").round
value = tonumber(value)
if value == 0 then
return value
end
if (math.abs(value) > 1E15) then
return xmath_round({precision = 3, value = value / 1E15}) , " [[كوادريليون|بليار]]"
elseif (math.abs(value) > 1E12) then
return xmath_round({precision = 3, value = value / 1E12}) , " [[تريليون]]"
elseif (math.abs(value) > 1E9) then
return xmath_round({precision = 3, value = value / 1E9}) , " [[بليون]]"
elseif (math.abs(value) > 1E6) then
return xmath_round({precision = 3, value = value / 1E6}) , " [[مليون]]"
elseif (math.abs(value) > 1E3) then
return xmath_round({precision = 3, value = value / 1E3}) , " ألف"
end
return xmath_round({precision = 3, value = value}),""
end
return {
getUnit = getUnit,
convert_default = convert_default,
convert2M = convert2M
}