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

پودمان:FarsiDate

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

توضیحات این پودمان می‌تواند در پودمان:FarsiDate/توضیحات قرار گیرد.

local getArgs = require('Module:Arguments').getArgs
local numConv = require('Module:Numeral converter').convert
local p = {}

local _solarMonths = {'فروردین ', 'اردیبهشت ', 'خرداد ', 'تیر ', 'مرداد ', 'شهریور ', 'مهر ', 'آبان ', 'آذر ', 'دی ', 'بهمن ', 'اسفند '}
local _gregorianMonths = {'ژانویهٔ ', 'فوریهٔ ', 'مارس ', 'آوریل ', 'مهٔ ', 'ژوئن ', 'ژوئیهٔ ', 'اوت ', 'سپتامبر ', 'اکتبر ', 'نوامبر ', 'دسامبر '}
local _solar = {["solar"] = true, ["خورشیدی"] = true}

function p.main(frame)
	local args = getArgs(frame, {frameOnly=true})
	return p.dateString(args[1], args[2], args[3], args[4])
end

function p.dateString(year, month, day, calendar)
	-- Main module code goes here.
	if _solar[calendar] then
		months = _solarMonths
	else
		months = _gregorianMonths
	end
  local function toString()
    if not month then
      return numConv('fa', year)
    elseif not day then
      return months[tonumber(numConv('en', month))] .. numConv('fa', year)
    else
      return string.gsub(numConv('fa', day), '^۰', '') .. ' ' .. months[tonumber(numConv('en', month))] .. numConv('fa', year)
    end
  end
  local success, result = pcall(toString)
  if success then
    return result
  else
    return '<span class="error">تاریخ ورودی نامعتبر است</span>'
  end
end

return p