مسابقه دانش‌دخت
اسلامیکال از تاریخ ۱۵ دی تا ۲۰ بهمن، میزبان یک همایه با موضوع زنان است. شما می‌توانید در مسابقه مقاله‌نویسی دانش‌دخت، شرکت کنید و با نگارش مقاله، از جوایز آن بهره‌مند باشید. اگر به موضوعات مربوط با زنان علاقه‌مندید، این فرصت را از دست ندهید. فهرستی از مقالات پیشنهادی جهت ایجاد یا ویرایش در اینجا وجود دارد.

پودمان:Numeral converter

از اسلامیکال
نسخهٔ تاریخ ‏۱۲ ژانویهٔ ۲۰۲۳، ساعت ۱۶:۱۱ توسط Mojtabakd (بحث | مشارکت‌ها) (ایجاد پودمان)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

توضیحات این پودمان می‌تواند در پودمان: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