ماژول:Numeral converter
نما
توضیحات این پودمان میتواند در ماژول:Numeral converter/توضیحات قرار گیرد.
local p = {}
-- Use this function from templates.
function p.convert_template(frame)
-- Third argument is optional; If true given, signs like dot (.) will be replaced.
frame.args[3] = frame.args[3] or nil
return p.convert(frame.args[1], frame.args[2], frame.args[3])
end
-- Use this function directly in modules.
function p.convert(lang, text, signs, virgule)
text = tostring(text)
signs = signs or nil
virgule= virgule or nil
if lang == "fa" or lang == "ur" or lang == "mzn" or lang == "glk" then -- فارسی، اردو، مازرونی و گیلکی وسّه
text = mw.ustring.gsub(text, "[0٠]", "۰")
text = mw.ustring.gsub(text, "[1١]", "۱")
text = mw.ustring.gsub(text, "[2٢]", "۲")
text = mw.ustring.gsub(text, "[3٣]", "۳")
text = mw.ustring.gsub(text, "[4٤]", "۴")
text = mw.ustring.gsub(text, "[5٥]", "۵")
text = mw.ustring.gsub(text, "[6٦]", "۶")
text = mw.ustring.gsub(text, "[7٧]", "۷")
text = mw.ustring.gsub(text, "[8٨]", "۸")
text = mw.ustring.gsub(text, "[9٩]", "۹")
if type(signs) ~= "nil" then
text = mw.ustring.gsub(text, "%.", "٫")
end
elseif lang == "ar" or lang == "ckb" or lang == "ks" then -- عربی، سورانی کوردی و کشمیری وسّه
text = mw.ustring.gsub(text, "[۰0]", "٠")
text = mw.ustring.gsub(text, "[۱1]", "١")
text = mw.ustring.gsub(text, "[۲2]", "٢")
text = mw.ustring.gsub(text, "[۳3]", "٣")
text = mw.ustring.gsub(text, "[۴4]", "٤")
text = mw.ustring.gsub(text, "[۵5]", "٥")
text = mw.ustring.gsub(text, "[۶6]", "٦")
text = mw.ustring.gsub(text, "[۷7]", "٧")
text = mw.ustring.gsub(text, "[۸8]", "٨")
text = mw.ustring.gsub(text, "[۹9]", "٩")
elseif lang and lang ~= "" then -- تموم ِدیگه زوونون وسّه
text = mw.ustring.gsub(text, "[۰٠]", "0")
text = mw.ustring.gsub(text, "[۱١]", "1")
text = mw.ustring.gsub(text, "[۲٢]", "2")
text = mw.ustring.gsub(text, "[۳٣]", "3")
text = mw.ustring.gsub(text, "[۴٤]", "4")
text = mw.ustring.gsub(text, "[۵٥]", "5")
text = mw.ustring.gsub(text, "[۶٦]", "6")
text = mw.ustring.gsub(text, "[۷٧]", "7")
text = mw.ustring.gsub(text, "[۸٨]", "8")
text = mw.ustring.gsub(text, "[۹٩]", "9")
text = mw.ustring.gsub(text, "٫", ".")
if type(virgule) ~= "nil" then
text = mw.ustring.gsub(text, "،", ",")
end
end
return text
end
return p