پودمان:Numeral converter2
از EverybodyWiki Bios & Wiki
این پودمان همان کپی قسمت تبدیل رقمِ پودمان:Numeral converter است، با این تفاوت که فقط جایگزینی ارقام را انجام میدهد و نقطه را به «٫» تغییر نمیدهد، زیرا این کار شناسههایی نظیر Bibcode را دچار مشکل میکند. همچنین عبارت .
ISBN
را از سرِ رشتهها حذف میکند (این کار به دلیل داده شدن شابک با پیشوند ISBN در الگوهای قدیمی یادکرد فارسی، که در کار پودمانهای یادکرد اختلال ایجاد میکند انجام شده)
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