-- Return input text after converting any en digits and month names.

local en_digits = {
	['0'] = '०',
	['1'] = '१',
	['2'] = '२',
	['3'] = '३',
	['4'] = '४',
	['5'] = '५',
	['6'] = '६',
	['7'] = '७',
	['8'] = '८',
	['9'] = '९',
}

local en_months = {
	['January'] = 'जनवरी',
	['january'] = 'जनवरी',
	['February'] = 'फेब्रुअरी',
	['february'] = 'फेब्रुअरी',
	['March'] = 'मार्च',
	['march'] = 'मार्च',
	['April'] = 'अप्रिल',
	['april'] = 'अप्रिल',
	['May'] = 'मे',
	['may'] = 'मे',
	['June'] = 'जुन',
	['june'] = 'जुन',
	['July'] = 'जुलाई',
	['july'] = 'जुलाई',
	['August'] = 'अगस्ट',
	['august'] = 'अगस्ट',
	['September'] = 'सेप्टेम्बर',
	['september'] = 'सेप्टेम्बर',
	['October'] = 'अक्टोबर',
	['october'] = 'अक्टोबर',
	['November'] = 'नोभेम्बर',
	['november'] = 'नोभेम्बर',
	['December'] = 'डिसेम्बर',
	['december'] = 'डिसेम्बर',
}

local function _main(input)
	-- Callable from another module.
	input = input or ''
	return (input:gsub('%a+', en_months):gsub('%d', en_digits))
end

local function main(frame)
	-- Callable from #invoke or from a template.
	return _main(frame.args[1] or frame:getParent().args[1])
end

return { main = main, _main = _main }