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 these 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٩]", "۹")
-- text = mw.ustring.gsub(text, "ISBN ", "")
--تبدیل نقطه به «٫» را به دلیل ایجاد مشکل در فارسیسازی برخی شناسهها که نقطه دارند حذف کردم
if type(signs) ~= "nil" then
text = mw.ustring.gsub(text, "%.", "٫")
--تبدیل % به درصد فارسی ٪ را نگذاشتم چون ممکن است کدهای درصدی وارد شده به پودمان را خراب کند.
end
elseif lang == "en" 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, "٫", ".")
text = mw.ustring.gsub(text, "٪", "%")
end
return text
end
return p