सामग्रीमा जानुहोस्

मोड्युल:विक्रम संवत् उमेर

विकिपिडिया, एक स्वतन्त्र विश्वकोशबाट
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('ne', year)
    elseif not day then
      return months[tonumber(numConv('en', month))] .. numConv('ne', year)
    else
      return string.gsub(numConv('ne', day), '^۰', '') .. ' ' .. months[tonumber(numConv('en', month))] .. numConv('ne', year)
    end
  end
  local success, result = pcall(toString)
  if success then
    return result
  else
    return '<span class="error">गलत मिति लेखिएको थियो</span>'
  end
end

return p