پودمان:Numeral converter: تفاوت میان نسخه‌ها

از ایران پدیا
پرش به ناوبری پرش به جستجو
بدون خلاصۀ ویرایش
جز (۱ نسخه واردشده)
 
(۴ نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد)
خط ۲۰: خط ۲۰:
   text = mw.ustring.gsub(text, "جنوبی", "S")
   text = mw.ustring.gsub(text, "جنوبی", "S")
   text = mw.ustring.gsub(text, "غربی", "W")
   text = mw.ustring.gsub(text, "غربی", "W")
  return text
end
function p.convert_Fa_cordination(text)
  text = tostring(text)
  text = mw.ustring.gsub(text,"N", "شمالی")
  text = mw.ustring.gsub(text,"E", "شرقی")
  text = mw.ustring.gsub(text,  "S","جنوبی")
  text = mw.ustring.gsub(text, "W","غربی")
   return text
   return text
end
end

نسخهٔ کنونی تا ‏۱۴ ژانویهٔ ۲۰۱۹، ساعت ۲۰:۴۴

توضیحات این پودمان می‌تواند در پودمان: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 these function directly in modules.

function p.convert_cordination_template(frame)
  return p.convert('en',p.convert_cordination(frame.args[1]))
end

function p.convert_cordination(text)
  text = tostring(text)
  text = mw.ustring.gsub(text, "شمالی", "N")
  text = mw.ustring.gsub(text, "شرقی", "E")
  text = mw.ustring.gsub(text, "جنوبی", "S")
  text = mw.ustring.gsub(text, "غربی", "W")
  return text
end

function p.convert_Fa_cordination(text)
  text = tostring(text)
  text = mw.ustring.gsub(text,"N", "شمالی")
  text = mw.ustring.gsub(text,"E", "شرقی")
  text = mw.ustring.gsub(text,  "S","جنوبی")
  text = mw.ustring.gsub(text, "W","غربی")
  return text
end

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, "[.]", "٫")
    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, "٫", ".")
    text = mw.ustring.gsub(text, "٪", "%")
    if type(virgule) ~= "nil" then
      text = mw.ustring.gsub(text, "،", ",")
      text = mw.ustring.gsub(text, "٪", "%")
    end
  end

  return text
end

return p